KR102333272B1 - System and methods for using cipher objects to protect data - Google Patents
System and methods for using cipher objects to protect data Download PDFInfo
- Publication number
- KR102333272B1 KR102333272B1 KR1020217000496A KR20217000496A KR102333272B1 KR 102333272 B1 KR102333272 B1 KR 102333272B1 KR 1020217000496 A KR1020217000496 A KR 1020217000496A KR 20217000496 A KR20217000496 A KR 20217000496A KR 102333272 B1 KR102333272 B1 KR 102333272B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- icto
- access
- identity
- transfer object
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
지능형 암호 전달 객체(intelligent cipher transfer object)를 구축 및 활용하도록 구성된 시스템들, 방법들, 및 장치들이 제공된다. 지능형 암호 전달 객체는 클로킹 패턴들로 보호된 참가물들의 세트를 포함한다. 보호되는 참가물들의 세트에 대한 액세스를 관리하기 위한 실행가능 코드를 포함하는 휴대용 동적 규칙 세트는 지능형 암호 전달 객체에 포함된다. 주어진 사용자에 대해서, 지능형 암호 전달 객체는, 그것 내의 휴대용 동적 규칙 세트에 기초하여 다른 참가물들에 대한 액세스는 금지하면서, 참가물들 중 몇몇에 대한 액세스를 제공할 수 있다.Systems, methods, and apparatus configured to build and utilize an intelligent cipher transfer object are provided. An intelligent cryptographic transfer object contains a set of participants protected by cloaking patterns. A portable dynamic rule set comprising executable code for managing access to a set of protected participants is included in the intelligent password delivery object. For a given user, an intelligent cryptographic transfer object can provide access to some of the participants while barring access to others based on a portable dynamic rule set within it.
Description
이 출원은 또한 2014년 4월 17일에 제출된 미국 가출원 번호 제61/980,617호의 우선권을 주장하고, 전체적으로 또는 부분적으로 우선권에 대한 출원일에 자격이 주어진다. 미국 가출원 번호 제61/980,617호의 명세들, 도면들, 및 완전한 개시들은 모든 목적을 위해 구체적인 참조로 본 명세서에 통합된다.This application also claims priority to U.S. Provisional Application No. 61/980,617, filed on April 17, 2014, and is entitled in whole or in part as of the filing date for priority. The specifications, drawings, and complete disclosures of US Provisional Application No. 61/980,617 are incorporated herein by specific reference for all purposes.
발명의 분야field of invention
이 발명은 지능형 암호 전달 객체의 사용을 포함하는 (이에 제한되는 것은 아님) 자기-암호화 및 자기-관리를 사용하여 데이터를 보호 및 관리하기 위한 시스템 및 관련 방법들에 관한 것이다.The present invention relates to systems and related methods for protecting and managing data using self-encryption and self-management, including but not limited to the use of an intelligent cryptographic transfer object.
현재의 데이터 보호 기술들은 어떤 단점들을 갖고 있다. 정보가 안전한 네트워크와 같은 신뢰적인 환경 밖에 있으면, 네트워크 IAM 및 PAC 애플리케이션들과 같은 다른 보안 장치들이 그 정보의 사용을 더이상 관리하지 못하므로, 그 정보는 전형적으로 크게 암호화에 의해 보호된다. 현재의 기술들에서, 암호화된 데이터가 유용하게 되도록, 암호화 키들이 애플리케이션 내에 존재해야하거나 사용자들에 의해서 또는 애플리케이션을 통해 노출되거나 교환되어야 하며, 그에 따라서 잠재적으로 보호와 비밀성이 절충된다. 암호화 키들은 발견 또는 APT 공격으로 도난당할 수 있거나 사회공학 또는 다른 수단을 통해 절충될 수 있다. 게다가, 암호화 키(또는 비밀번호)가 공유되고 데이터가 언로크(unlock)되면, 데이터에 대한 제어를 잃게 된다. 데이터가 방화벽 뒤 등과 같은 신뢰적인 환경 내에 있더라도, 파일들은 그들의 저장 위치에 대한 액세스를 갖는 어떤 이에게 사용이 가능하므로, 그 데이터는 공격 또는 오용에 취약하다. 정보 보호는 전형적으로 네트워크들, BYOD, 원격통신, 서버들, 및 애플리케이션들에 대한 전문 지식을 갖는 사람들의 팀들이 일정 수준의 보안을 달성하기 위해 그들 모두를 통합하고, 기업 스케일로 노력들을 조정하는 것을 필요로 하고 그럼에도 불구하고 이러한 수준은 복잡한 통합들에 고유한 결함들 및 틈들을 활용하여 절충될 수 있다.Current data protection technologies have certain drawbacks. Once the information is outside a trusted environment, such as a secure network, the information is typically protected largely by encryption, as other security devices such as network IAM and PAC applications no longer manage its use. In current technologies, for encrypted data to be useful, encryption keys must reside within the application or be exposed or exchanged by or through the application, thus potentially compromising protection and confidentiality. Encryption keys may be discovered or stolen in an APT attack or may be negotiated through social engineering or other means. Moreover, once the encryption key (or password) is shared and the data is unlocked, control over the data is lost. Even if the data is within a trusted environment, such as behind a firewall, the files are available to anyone who has access to their storage location, making the data vulnerable to attack or misuse. Information protection typically involves teams of people with expertise in networks, BYOD, telecommunications, servers, and applications, unifying them all to achieve a level of security, and coordinating efforts at an enterprise scale. However, this level can be compromised by exploiting the flaws and gaps inherent in complex integrations.
전형적인 데이터 암호화는 암호화하기 위한 미리결정된 시퀀스(sequence)로 동작한 후 복호화하기 위해 반대의 시퀀스로 동작하는 알고리즘들에 의존한다. 또한 데이터 조각을 클로킹하기 위한 고정 패턴으로 데이터 조각들을 움직인 후, 완벽하고 암호해제된 파일을 드러내기 위해 그 처리를 반대로 하는 처리가 있을 수 있다. 이 종래-기술 방법에서는, 데이터를 암호화하기 위기 위해 사용된 암호화 알고리즘을 알고 있는 공격자가 암호화 처리를 반대로 함으로써 암호를 풀 수 있다.Typical data encryption relies on algorithms operating in a predetermined sequence to encrypt and then operating in the reverse sequence to decrypt. There may also be a process that moves the data pieces in a fixed pattern for cloaking the data pieces, and then reverses the process to reveal the perfect decrypted file. In this prior-art method, an attacker who knows the encryption algorithm used to encrypt the data can crack the encryption by reversing the encryption process.
완전 동형 암호화(fully homomorphic encryption)는 관계의 신뢰적인 양태를 없애도록 시도하여, 당사자들 간의 신뢰를 무관한 것으로 만들었다. 예를 들어, 하나의 당사자는 수탁자가 그들의 데이터로 할 수 있는 것을 신뢰하지 않으면서 그들의 데이터를 저장 또는 처리를 위해 수탁자에 송신할 수 있는데, 이는 수탁자에게는 복호화를 필요로 하지 않는 처리를 수행하기 위해 데이터의 암호화된 버전에 대한 액세스만이 제공되기 때문이다. 그러나, 완전 동형 암호화는 실행하기에는 너무 번거롭다.Fully homomorphic encryption attempts to remove the trustworthy aspect of a relationship, rendering trust between parties irrelevant. For example, one party may transmit their data to a fiduciary for storage or processing without trusting what the fiduciary can do with their data, which may cause the fiduciary to perform processing that does not require decryption. This is because only access to the encrypted version of the data is provided. However, fully homomorphic encryption is too cumbersome to implement.
또 다른 종래의 데이터 보호 기술은 동적 제어들을 사용하는 것이다. 동적 제어들은 Adobe® 등에 의해 만들어진 문서 보기 및 편집 소프트웨어에 의해 만들어지고 사용되는 비밀번호로 보호된 PDF 파일들과 같이 애플리케이션 종속적이다. 종래의 동적 제어들은 애플리케이션에 종속되거나, 애플리케이션 내에 존재한다. 규칙들은 애플리케이션에 의해 실행된다. 전술된 바와 같이 키 (비밀번호) 교환에 또한 종속하지만, 이 방법의 또 다른 단점은 애플리케이션-종속 규칙들이 (Adobe® Acrobat® 으로 열리는 보호된 PDF의 예에서처럼) 무시될 수 있거나, 개발자가 저작 애플리케이션에 의해 부여된 규칙들을 무시하는 애플리케이션들을 작성할 수 있다는 것이다.Another conventional data protection technique is to use dynamic controls. Dynamic controls are application dependent, such as password protected PDF files created and used by document viewing and editing software created by Adobe ® and the like. Conventional dynamic controls are application dependent or exist within the application. Rules are executed by the application. Although it also relies on key (password) exchange as described above, another disadvantage of this method is that application-dependent rules can be overridden (as in the example of a protected PDF opened with Adobe ® Acrobat ®), or that the developer It is possible to write applications that override the rules imposed by
이에 따라, 자기-보호하고 자기-관리하며 기능을 유지하면서, 인증에 대한 키들 및 비밀번호들에 대해서, 예측가능한 보호를 위한 가역적인 암호화 시퀀스들에 대해서 및, 외부 실행 애플리케이션들에대해 덜 종속적이고, 보안 환경 내에서 및 외부에서 정지중인 및 전송중인 데이터에 대해서 효율적인 데이터 보증 솔루션이 필요하다. Thus, while self-protecting, self-managing and maintaining functionality, it is less dependent on keys and passwords for authentication, on reversible encryption sequences for predictable protection, and on externally executing applications, There is a need for an efficient data assurance solution for data at rest and in transit within and outside a secure environment.
개념들의 선택을 아래의 상세한 설명에 더욱 설명된 단순화된 형태로 소개하기 위해 이 요약이 제공된다. 이 요약은 청구된 주제에 대한 핵심 특징들을 나타내기 위한 것도 아니고, 청구된 주제의 범위를 결정하는 것을 돕기 위해 이용되도록 의도된 것도 아니다.This summary is provided to introduce a selection of concepts in a simplified form that is further described below in the Detailed Description. This Summary is not intended to represent key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
몇몇의 예시적인 실시예들에서, 본 발명은 컴퓨터-판독가능 매체에 저장될 수 있는, 자기-보호하고, 자기-제어하는 지능형 암호 전달 객체(intelligent cipher transfer object; ICTO)를 포함한다. ICTO는 휴대용 동적 규칙 세트(portable dynamic rule set; PDRS)를 포함하는 참가물들의 세트를 포함한다. 컴퓨팅 장치의 하나 이상의 프로세서들 또는 마이크로프로세서들에 의한 실행에 응답하여, PDRS는 컴퓨팅 장치가 다음을 포함하는 (이에 제한되는 것은 아니지만) 동작들을 수행하게 한다: 에이전트(agent)로부터, 참가물들의 세트 중 한 참가물의 부분에 대한 액세스에 대한 요청을 수신하는 것; 에이전트가 요청된 참가물 부분에 액세스하도록 인가됐는지를 검증하는 것; 및 참가물들의 세트 중 다른 부분들에 대한 액세스를 에이전트에게 제공하지 않으면서, 요청된 참가물 부분에 대한 액세스만을 에이전트에게 제공하는 것. 이러한 ICTO를 생성하는 컴퓨터-구현 방법 및 이러한 ICTO의 실행가능 부분들을 실행되게 야기하도록 구성된 컴퓨팅 장치가 또한 제공된다.In some exemplary embodiments, the present invention comprises a self-protecting, self-controlling intelligent cipher transfer object (ICTO), which may be stored on a computer-readable medium. The ICTO includes a set of participants including a portable dynamic rule set (PDRS). In response to execution by the one or more processors or microprocessors of the computing device, the PDRS causes the computing device to perform operations including, but not limited to: from an agent, a set of participants. receiving a request for access to a portion of one of the entries; verifying that the agent is authorized to access the requested portion of the participant; and providing the agent access to only the requested portion of the participation, without providing the agent access to other portions of the set of participants. A computer-implemented method of generating such an ICTO and a computing device configured to cause executable portions of such an ICTO to be executed are also provided.
하나의 예시적인 실시예에서, 본 발명은 액세스에 대한 요청에 응답하여 ICTO를 활성화시키는, 컴퓨터 칩들, 스위치들, 제어 패널들, FGPA들 등을 포함하지만 이에 제한되는 것은 아닌 ICTO-인식 애플리케이션(ICTO-aware application), 운영 체제, 또는 장치를 포함한다. ICTO는, 소유자 데이터 및 PDRS를 포함하지만 이에 제한되는 것은 아닌 참가물들의 세트를 포함한다. ICTO 내의 동적 참가물 제어기(dynamic participant controller; DPC)가 원격으로 또는 국부적으로 활성화되면, 보호된 객체가 닫힐 때까지 (즉, 비활성화 또는 휴지 때까지) ICTO 내의 PDRS가 ICTO의 제어를 취하고 유지한다. 동적 참가물 제어기를 통해 참가물 데이터 중 몇몇 또는 모두에 대한 에이전트 액세스 요청에 응답하는 PDRS는 에이전트가 진짜이고 보호된 데이터 세트 중 몇몇 또는 모두에 액세스하는 것이 인가되었거나 또는 아무것도 액세스할 수 없음을 검증한다. 검증되면, 에이전트는 보호된 데이터 세트의 인가된 부분들만을 액세스할 수 있는 반면, ICTO 내의 나머지 보호된 데이터는 에이전트에게 액세스불가능하게 남아있는다. 이러한 ICTO의 실행가능 부분들을 활성화하기 위해 ICTO-인식 애플리케이션, 운영 체제, 또는 장치를 활용하여 이러한 ICTO를 생성하는 컴퓨터-구현 방법이 또한 제공된다.In one exemplary embodiment, the present invention provides an ICTO-aware application (ICTO), including but not limited to computer chips, switches, control panels, FGPAs, etc., that activates an ICTO in response to a request for access. -aware application), operating system, or device. ICTO includes a set of entries including but not limited to owner data and PDRS. When a dynamic participant controller (DPC) in the ICTO is activated remotely or locally, the PDRS in the ICTO takes and maintains control of the ICTO until the protected object is closed (i.e., deactivated or dormant). The PDRS, which responds to an agent access request to some or all of the participant data via the dynamic participant controller, verifies that the agent is genuine and authorized to access some or all of the protected data set or has no access to it. . Once verified, the agent can only access authorized portions of the protected data set, while the rest of the protected data in the ICTO remains inaccessible to the agent. A computer-implemented method of creating such an ICTO utilizing an ICTO-aware application, operating system, or device to activate executable portions of such an ICTO is also provided.
추가의 실시예에서, 참가물들의 세트를 보호하는 컴퓨터-구현 방법이 제공된다. 보호될 참가물들의 세트는 컴퓨팅 장치에 의해 획득된다. 참가물들의 세트를 보호하기 위한 하나 이상의 클로킹 패턴들이 결정된다. 제1 클로킹 패턴은 참가물들의 세트의 제1 하위세트를 보호 또는 혼합하기 위해 사용되고, 제1 클로킹 패턴과 상이한 제2 클로킹 패턴은 참가물들의 세트의 제2 하위세트를 보호 또는 혼합하기 위해 사용된다. 결정된 클로킹 패턴들은, 클로킹 또는 혼합된 참가물들의 세트를 생성하기 위해, 컴퓨팅 장치에 의해 참가물들의 세트에 적용된다. 클로킹된 참가물들의 세트는 컴퓨팅 장치에 의해 ICTO에 추가된다. 이 방법을 실행하도록 구성된 컴퓨팅 장치 및 컴퓨팅 장치의 하나 이상의 프로세서들에의한 실행에 응답하여, 컴퓨팅 장치가 이러한 방법을 수행하게 하는 컴퓨터-실행가능 명령들이 저장된 컴퓨터-판독가능 매체가 또한 제공된다.In a further embodiment, a computer-implemented method of protecting a set of participants is provided. The set of participants to be protected is obtained by the computing device. One or more cloaking patterns for protecting the set of participants are determined. The first cloaking pattern is used to protect or blend a first subset of the set of participants, and a second cloaking pattern different from the first cloaking pattern is used to protect or blend a second subset of the set of participants . The determined cloaking patterns are applied to the set of participants by the computing device to produce a set of cloaked or mixed participants. The set of cloaked participants is added to the ICTO by the computing device. Also provided is a computing device configured to carry out the method and a computer-readable medium having stored thereon computer-executable instructions that, in response to execution by one or more processors of the computing device, cause the computing device to perform the method.
또 다른 실시예에서, 본 발명은 참가물들의 세트를 보호하기 위해 이 방법을 활용하는 ICTO-인식 애플리케이션, 운영 체제, 또는 장치를 포함한다. 참가물들의 세트는 중간 패턴 ICTO를 생성하기 위해 ICTO-인식 애플리케이션, 운영 체제, 또는 장치를 통해 모아지는데, 이 중간 패턴 ICTO는, ICTO가 완벽하게 구현되기 전까지, 암호 엔진 또는 동적 참가물 제어기에 의해 제공된 임시 또는 "시작" 규칙 세트 및 참가물들의 세트를 포함한다. 중간 패턴 ICTO는 동적 참가물 제어기 의해 동적으로 선택 또는 생성되어 적용되는 하나 이상의 클로킹 패턴들에 의해 클로킹된다. 임시 규칙 세트는 추후에 소유자에 의해 정의되는 하나 이상의 특정한 또는 고유한 규칙 세트들로 대체되고, 하나 이상의 클로킹 패턴들은 ICTO 내의 PDRS에 의해 각각의 ICTO를 위해 동적으로 그리고 무작위로 선택 또는 생성된다. 클로킹 패턴들은 참가물들의 부분 중 몇몇 또는 모두에 무작위로 적용될 수 있고 동시에 각각의 ICTO에 대해 참가물들의 고유한 클로킹된 세트를 생성하기 위해, 추가적인 클로킹 패턴들이 참가물들의 부분 중 몇몇 또는 모두에 무작위로 적용될 수 있다.In another embodiment, the present invention includes an ICTO-aware application, operating system, or device that utilizes this method to secure a set of participants. A set of participants is assembled via an ICTO-aware application, operating system, or device to create an intermediate pattern ICTO, which, until the ICTO is fully implemented, is driven by a cryptographic engine or dynamic participant controller. It includes a set of provisional or “starting” rules and a set of entries provided. The intermediate pattern ICTO is clocked by one or more clocking patterns that are dynamically selected or created and applied by the dynamic participant controller. The temporary rule set is replaced with one or more specific or unique rule sets later defined by the owner, and one or more cloaking patterns are dynamically and randomly selected or generated for each ICTO by the PDRS within the ICTO. The cloaking patterns can be applied randomly to some or all of the parts of the participants while additional cloaking patterns are randomly applied to some or all of the parts to create a unique cloaked set of entries for each ICTO. can be applied as
또 다른 실시예에서, ICTO에 의해 보호 또는 관리되는 데이터에 액세스하도록 구성된 컴퓨팅 장치가 제공된다. ICTO에 저장 또는 혼합된 참가물 부분에 액세스하고자하는 에이전트로부터의 액세스 요청이 컴퓨팅 장치에 의해 수신된다. ICTO 내의 PDRS가 컴퓨팅 장치에 의해 활성화된다. PDRS 내의 적어도 하나의 규칙이, 액세스 요청을 평가하기 위해, 컴퓨팅 장치에 의해 실행된다. 그 액세스 요청이 허용된다는 결정에 응답하여, 에이전트에 의해 요청된 참가물 부분에 대한 액세스는, 다른 참가물 부분들에 대한 액세스를 제공하지 않으면서, 제공된다.In yet another embodiment, a computing device configured to access data protected or managed by an ICTO is provided. An access request is received by the computing device from an agent wishing to access a portion of an entry stored or mixed in the ICTO. The PDRS in the ICTO is activated by the computing device. At least one rule in the PDRS is executed by the computing device to evaluate the access request. In response to determining that the access request is allowed, access to the part of the participant requested by the agent is provided without providing access to other parts of the participant.
또 다른 실시예에서, 본 발명은, 에이전트로부터의 액세스 요청의 수신시에 ICTO를 활성화하는, ICTO-인식 애플리케이션, 운영 체제, 또는 장치를 포함한다. ICTO 내의 동적 참가물 제어기가 활성화되고, 활성화되면, 임베딩된(embedded) PDRS가 ICTO의 제어를 취하고 유지한다. PDRS의 적어도 하나의 규칙은, 보호된 데이터 중 몇몇 또는 모두에 액세스할 수 있거나, 또는 어느 것에도 액세스할 수 없는, 에이전트의 인증 및 인가를 평가하기 위해 실행된다. 에이전트가 보호된 데이터 중 몇몇 또는 모두에 액세스하도록 허락되었으면, 액세스에 대해 인가되지 않은 보호된 데이터는 보호된 채로 남아있어, 액세스하는 에이전트에게는 보이지 않는다. 비활성화된 ICTO는 ICTO-인식 애플리케이션, 운영 체제, 또는 장치 없이는 액세스 불가능하다.In yet another embodiment, the present invention includes an ICTO-aware application, operating system, or device that activates an ICTO upon receipt of an access request from an agent. The dynamic participant controller in the ICTO is activated, and when activated, the embedded PDRS takes and maintains control of the ICTO. At least one rule in the PDRS is executed to evaluate the authentication and authorization of an agent, which may or may not have access to some or all of the protected data. Once an agent has been allowed to access some or all of the protected data, the protected data that is not authorized for access remains protected and is invisible to the accessing agent. A disabled ICTO is inaccessible without an ICTO-aware application, operating system, or device.
앞의 양태들 및 본 개시사항의 실시예들의 수반되는 많은 이점들은, 다음의 상세한 설명을 참조하여 첨부된 도면들과 함께 취해질 때 더욱 잘 이해될 것이므로, 보다 용이하게 인식될 것이다.
도 1은 본 발명의 다양한 양태들에 따른 데이터 관리의 예시적인 실시예를 나타내는 개략도.
도 2는 본 발명의 다양한 양태들에 따라 ICTO를 구성하는 방법의 예시적인 실시예를 나타내는 흐름도.
도 3은 본 발명의 다양한 양태들에 따라 ICTO에 의해 보호된 데이터에 액세스하는 방법의 예시적인 실시예를 나타내는 흐름도.
도 4는 본 발명의 실시예에 대한 예시적인 사용 사례를 나타내는 개략도.
도 5는 본 발명의 실시예에 대한 예시적인 작업흐름의 양태들을 나타내는 개략도.
도 6은 본 발명의 실시예들과 함께 사용하기에 적합한 컴퓨팅 장치의 예시적인 하드웨어 구조를 나타내는 블록도.
도 7은 본 발명의 또 다른 예시적인 실시예에 따른 데이터 관리의 예시적인 실시예를 나타내는 개략도.
도 8은 본 발명의 또 다른 예시적인 실시예에 따라 ICTO를 생성하는 예시적인 실시예를 나타내는 흐름도.
도 9는 본 발명의 또 다른 예시적인 실시예에 따라 ICTO에 액세스하는 예시적인 실시예를 나타내는 흐름도.
도 10은 본 발명의 또 다른 예시적인 실시예에 따른 휴대용 신원 어플라이언스 시스템(portable identity appliance system)의 뷰를 나타내는 도면.
도 11은 보호된 객체를 생성하기 위해 사용되는 휴대용 신원 어플라이언스를 나타내는 도면.
도 12는 보호된 객체의 안전한 메시징을 용이하게 하기 위해 사용되는 휴대용 신원 어플라이언스를 나타내는 도면.
도 13은 웹사이트들, 포털들, 네트워크들, 또는 다른 자원들에 대한 액세스를 감시하기 위해 사용되는 휴대용 신원 어플라이언스를 나타내는 도면.BRIEF DESCRIPTION OF THE DRAWINGS The preceding aspects and many attendant advantages of embodiments of the present disclosure will be more readily appreciated as they become better understood when taken in conjunction with the accompanying drawings with reference to the following detailed description.
1 is a schematic diagram illustrating an exemplary embodiment of data management in accordance with various aspects of the present invention;
2 is a flow diagram illustrating an exemplary embodiment of a method for configuring an ICTO in accordance with various aspects of the present invention.
3 is a flow diagram illustrating an exemplary embodiment of a method of accessing data protected by an ICTO in accordance with various aspects of the present invention;
4 is a schematic diagram illustrating an exemplary use case for an embodiment of the present invention;
5 is a schematic diagram illustrating aspects of an exemplary workflow for an embodiment of the present invention;
6 is a block diagram illustrating an exemplary hardware architecture of a computing device suitable for use with embodiments of the present invention.
Fig. 7 is a schematic diagram showing an exemplary embodiment of data management according to another exemplary embodiment of the present invention;
Fig. 8 is a flowchart showing an exemplary embodiment of generating an ICTO according to another exemplary embodiment of the present invention;
Fig. 9 is a flowchart illustrating an exemplary embodiment of accessing an ICTO according to another exemplary embodiment of the present invention;
Fig. 10 is a diagram showing a view of a portable identity appliance system according to another exemplary embodiment of the present invention;
11 shows a portable identity appliance used to create a protected object;
12 is a diagram illustrating a portable identity appliance used to facilitate secure messaging of protected objects;
13 illustrates a portable identity appliance used to monitor access to websites, portals, networks, or other resources.
몇몇의 예시적인 실시예들에서, 본 발명은 컴퓨터-판독가능 매체에 저장될 수 있는, 자기-포함되고, 자기-보호하고, 자기-제어하는 지능형 암호 전달 객체(ICTO)를 포함한다. ICTO는 휴대용 동적 규칙 세트(PDRS)를 포함하는 참가물들의 세트를 포함한다. 이러한 ICTO를 생성, 액세스, 및 사용하는 컴퓨터-구현 방법들 및 이러한 ICTO의 실행가능 부분들을 실행하도록 구성된 컴퓨팅 장치가 또한 제공된다.In some exemplary embodiments, the present invention comprises a self-contained, self-protecting, self-controlling Intelligent Cryptographic Transfer Object (ICTO), which may be stored on a computer-readable medium. The ICTO includes a set of participants including a Portable Dynamic Rule Set (PDRS). Computer-implemented methods of creating, accessing, and using such an ICTO and a computing device configured to execute executable portions of such an ICTO are also provided.
다양한 실시예들에서, 본 발명은 종래의 데이터 보호 시스템들 및 방법들이 갖는 치명적인 결함들을 처리한다. 기존의 보호 방식들은 구내 방어들, 사용자 액세스(사용자들 및 그들의 장치들 모두), 및 비정상행위 탐지에 대해서는 다루지만 데이터 자체에는 의미를 두지 않기 때문에, 본 발명은 기존의 보호 방식들에 있는 틈을 메운다. 종래-기술 암호화가 활용되면, 키 코드 관리에 대한 부담이 생산성을 떨어뜨리거나, 마찬가지로 보호될 필요가 있는 키들의 노출에 의한 결함들이 또 다른 취약점을 만들 수 있다.In various embodiments, the present invention addresses critical deficiencies with conventional data protection systems and methods. Because existing protection schemes address premises defenses, user access (both users and their devices), and anomaly detection, but not the data itself, the present invention fills the gap in existing protection schemes. fill in When prior-art encryption is utilized, the burden on key code management reduces productivity, or defects in the exposure of keys that likewise need to be protected may create another vulnerability.
본 게시사항의 실시예들은 자기-포함되고, 자기-보호하고, 자기-관리하고, 데이터-중심인 솔루션을 제공하는데, 이는 데이터 관리, 보호, 및 경영을 위한 제어들이 각각의 데이터 세트에 접목되고 그것의 일부가 되어, 데이터 세트의 액세스 및 사용을 직접 감독하는 것을 의미한다. 본 게시사항의 몇몇의 실시예들에서, 몇몇의 데이터들이 인가된 에이전트에 의한 분석 또는 사용을 위해 보호가 해제될 수 있지만, 보호를 해제하는 방법은 보호 메커니즘 또는 메커니즘들의 반대가 아니기 때문에, 예측이 불가능하다. 본 발명은, 데이터 존재 수명에 걸친 동적인, 휴대용인, 독립적인, 지속적인, 지능형 데이터 관리를 유지하기 위해, 예측 불가능하고 불가역성인 시스템 및 연관 방법들을 포함한다. 이 시스템은, 데이터가 저장되어있거나 전송중일 때, 및 신뢰적는 데이터 사용자들 또는 신뢰적이지 않은 데이터 사용자들의 손에 있을 때, 데이터를 보호할 수 있다.Embodiments of this disclosure provide a self-contained, self-protecting, self-managing, data-centric solution, in which controls for data management, protection, and management are grafted onto each data set and Being part of it means directly overseeing the access and use of data sets. In some embodiments of this publication, some data may be released from protection for analysis or use by an authorized agent, but since the method of releasing protection is not the protection mechanism or the reverse of the mechanisms, the prediction is unpredictable. impossible. The present invention encompasses unpredictable and irreversible systems and associated methods for maintaining dynamic, portable, independent, continuous, intelligent data management over the life of the data existence. The system can protect data when it is stored or in transit, and when it is in the hands of trusted or untrusted data users.
본 발명의 몇몇의 실시예들에서, 데이터 보호 방식은 데이터-세트에 임베딩, 접목, 및 유지된다. 이 데이터 보호 방식은 또한 데이터에 액세스하기 위한 시도들에 대한 감사 추적(audit trail)을 생성할 수 있다. 알려진 또는 인가된 데이터 사용자들은 임베딩된 로그에 기록되는 한편, 데이터에 액세스하고자 하는 알려지지 않은 당사자들 또는 다른 비인가된 시도들은 마찬가지로 임베딩된 로드에 기록되지만 데이터 소유자에게 실시간으로 전달 및 표시될 수 있다. 비인가된 당사자가 데이터에 액세스하려고 시도하면, 자기-보호하는 데이터는 자신을 방어하고, 그 침입에 대해 공격적인 동작을 취하고, 데이터 소유자에게 그 비인가된 시도를 알리고, 및/또는 임의의 다른 적절한 동작을 취할 수 있다.In some embodiments of the present invention, the data protection scheme is embedded, grafted, and maintained in the data-set. This data protection scheme can also create an audit trail for attempts to access data. Known or authorized data users are recorded in the embedded log, while unknown parties or other unauthorized attempts to access the data are likewise recorded in the embedded load but can be communicated and displayed in real time to the data owner. If an unauthorized party attempts to access the data, the self-protecting data will defend itself, take aggressive action against the intrusion, inform the data owner of the unauthorized attempt, and/or take any other appropriate action. can take
데이터 소유자는 데이터에 대한 당사자들의 관계를 계속 검사하는 간단하고 가벼운 관리 도구로서 이 보호 방식을 활용한다. 모든 인가된 당사자가 보호 방식에 통합된 자신의 구축된 신원을 가지기 때문에, 공격자의 시점에서, 시스템은 예측 불가능하다. 소유자, 사용자, 및 데이터 세트에 대한 각각의 조합에 대해서 고유한 보호 방식이 제공될 수 있는데; 이는, 인가된 당사자 A에게 데이터가 공개되는 방법이, 인가된 당사자 B에게 데이터가 공개되는 방법과 다를 수 있다는 것을 의미한다.Data owners leverage this protection as a simple, lightweight management tool that continually examines the parties' relationships to their data. From the attacker's point of view, the system is unpredictable, as every authorized party has its own established identity integrated into the protection scheme. A unique protection scheme may be provided for each combination of owner, user, and data set; This means that the way data is disclosed to authorized party A may be different from the way data is disclosed to authorized party B.
게다가, 소유자, 사용자, 데이터 세트, 및 규칙 세트의 조합에 제공될 수 있는 고유한 보호 방식은, 같은 조합이 추후에 보호될 때, 마찬가지로 자신에게 고유할 것이다. 즉, 매번 소유자, 사용자, 데이터 세트, 및 규칙 세트의 조합이 여기서 설명된 바와 같이 보호되고, 같은 조합이든 또는 상이한 조합이든, ICTO는 고유하게 보호되는 ICTO일 것이다.Moreover, the unique protection schemes that can be provided to a combination of owner, user, data set, and rule set will be unique to themselves as well when the same combination is later protected. That is, each time a combination of owner, user, data set, and rule set is protected as described herein, the ICTO, whether the same combination or a different combination, will be a uniquely protected ICTO.
몇몇의 실시예들에서, 데이터를 보호하고 보호된 데이터에 액세스하기 위해 상이한 기술들이 사용될 수 있다. 예를 들어, 불가역적인 보호 스킴이 다수의 데이터 조각들을 단일의 디지털 혼합체에 조합하기 위해 사용될 수 있으며, 이러한 선택적인 회수(retrieve) 방식은 단일의 디지털 혼합체의 다른 보호된 데이터에 대한 액세스는 획득하지 않으면서 단일의 디지털 혼합체로부터 데이터 조각들을 선택적으로 회수하는데 사용될 수 있다. 이러한 실시예에서, 데이터가 올바르게 액세스되면, 그것은 인가된 수신자에 대한 소유자의 바램에 기초하여 선택적으로 공개된다. 정보를 공개하기 위한 경로는 본래의 단계들을 추적하는 기능은 아니고, 다수의 데이터 조각들을 조합하기 위해 사용된 본래의 보호 방식은 개별적으로 요청된 데이터 조각들에 관련해서 외에는 불가역적일 수 있다. 즉, 보호 방식으로 저장된 데이터 조각들이 액세스되더라도, 디지털 혼합체 전체는, 본래의 콘텐츠들 전체를 재구성하는 방법으로는 액세스 불가능하다. 본 게시사항의 실시예들은 정당한 참가물로 또는 아니라고 포함된 임의의 사용자 또는 엔티티 신원를 긍정적으로 식별하도록 구성되고, 데이터 소유자는 식별된 정당한 사용자들이 액세스를 가질 수 있는 데이터 부분들 또는 조각들을 제어한다. 의도된 수신자 또는 의도된 수신자의 네트워크 내부에 있던 또는 외부에 있던, 비인가된 당사자들은 보호되지 않은 형태의 데이터에 액세스할 수 없다. 본 게시사항의 실시예들은 데이터 보안을 보증하기 위해 액세스를 제공하기 전에 신뢰적인 당사자의 신원을 확실히 확인한다. 보호 방법의 역행 또는 리버스 엔지니어링은 원래의 결과를 이루어낼 수 없다.In some embodiments, different techniques may be used to protect data and access protected data. For example, an irreversible protection scheme may be used to assemble multiple pieces of data into a single digital mixture, and this selective retrieval scheme does not gain access to other protected data of the single digital mixture. It can be used to selectively retrieve pieces of data from a single digital complex without In such an embodiment, once data is accessed correctly, it is selectively disclosed based on the owner's wishes to authorized recipients. The path to disclosing information is not a function of tracing the original steps, and the original protection scheme used to assemble multiple data pieces may be irreversible except with respect to the individually requested data pieces. That is, even if pieces of data stored in a protected manner are accessed, the entire digital mixture is inaccessible in a way that reconstructs all of the original contents. Embodiments of this disclosure are configured to positively identify any user or entity identity included as or not a legitimate participant, the data owner controlling the portions or pieces of data to which the identified legitimate users may have access. Unauthorized parties, whether inside or outside the intended recipient or the intended recipient's network, cannot access data in unprotected form. Embodiments of this disclosure explicitly verify the identity of a trusted party prior to providing access to ensure data security. Reverse or reverse engineering of protection methods cannot achieve the original result.
본 발명의 몇몇의 실시예들에서, 규칙들은 디지털 혼합체의 실행가능 부분에 의해 실행되므로, 데이터 소유자의 확실한 바램들이 제삼자 또는 외부 엔티티 또는 애플리케이션 또는 운영 체제에 의존하지 않고 시행됨이 확실하다. 이 보호 방식은 데이터를 보호/보호해제하기 위한 애플리케이션 또는 운영 체제에 의존하지 않는데: 데이터는 자기-보호 및 자기-제어한다. 보호 방식은 운영 체제, 환경, 및 애플리케이션(즉, 외부 또는 중앙집중식 또는 서버 키 관리, 비밀번호 관리, 및 신원 관리 애플리케이션들)에 독립적이다. 프로토콜 내에서의 방법들은 데이터 혼합체에 저장된 실행가능 코드로 구현되고, 구성된 API를 통해 데이터에 액세스하고자하는 사용자에 의한 요청을 탐지한 것에 응답하여 실행된다. 게다가, 데이터는 임의의 유형(예를 들어, 텍스트, 오디오, 비디오, 또는 그들의 조합)일 수 있고, 임의의 종류의 컨테이너(container), 데이터베이스, 또는 환경(예를 들어, 버퍼, 디렉터리, 파일, 또는 그들의 조합들)에 있을 수 있다. API 또는 본 명세서에 설명된 다른 수단을 통하는 것 이외에 데이터에 액세스하고자 하는 어떤 시도도 적용된 클로킹 패턴들에 의해 좌절될 것이고, 이는 API를 구현하는 구성요소들 외부의 또는 그외의 임의의 구성요소들에 의해서는 결정될 수 없다. API 또는 본 명세서에 설명된 다른 수단을 통해 데이터에 액세스하고자 시도하면, 보호 방식은, 정당한 사용자들만이 데이터 소유자에 의해 허락되어 데이터에 액세스할 수 있다는 것을 보증한다.In some embodiments of the present invention, the rules are executed by the executable part of the digital mixture, thus ensuring that the clear wishes of the data owner are enforced without dependence on a third party or external entity or application or operating system. This protection scheme does not depend on the application or operating system to protect/unprotect the data: the data is self-protecting and self-controlling. The protection scheme is independent of the operating system, environment, and application (ie, external or centralized or server key management, password management, and identity management applications). Methods within the protocol are implemented as executable code stored in a data mixture, and executed in response to detecting a request by a user to access data through a configured API. Moreover, the data can be of any type (eg, text, audio, video, or a combination thereof), and can be any kind of container, database, or environment (eg, buffer, directory, file, or combinations thereof). Any attempt to access data other than through the API or other means described herein will be thwarted by the cloaking patterns applied, which may be thwarted by any components outside or otherwise of those implementing the API. cannot be determined by When attempting to access data through APIs or other means described herein, the safeguards ensure that only legitimate users are permitted to access the data as authorized by the data owner.
API, 또는 다른 ICTO-인식 애플리케이션, 장치, 또는 운영 체제를 통해 개시되는 다른 방법들은 처음에 ICTO를 검사한다. 이어서, 외부 클로킹 기술이 디지털 혼합체 내에 저장된 실행가능 코드, 암호 엔진, 또는 혼합기의 위치를 찾아낸다. 액세스 요청은 에이전트 대신에 API 또는 다른 ICTO-인식 애플리케이션, 장치, 또는 운영 체제를 통해 실행가능 코드에 의해 수신된다. 자기-관리되는 데이터 객체가 닫히거나 비활성화되기 전까지, 실행가능 코드는, 휴대용 동적 규칙 세트가 제어를 취하고 유지할 때 활성화되거나(energized) "깨워"진다. 실행가능 코드가 활성화되지 않고서는 자기-보호하고 자기-제어하는 디지털 혼합체에 액세스하고자 하는 어떠한 시도도 성공할 수 없다.APIs, or other methods initiated through other ICTO-aware applications, devices, or operating systems, initially examine the ICTO. An external cloaking technique then locates the executable code, cryptographic engine, or mixer stored within the digital mixture. The access request is received by the executable code through an API or other ICTO-aware application, device, or operating system on behalf of the agent. Until the self-managed data object is closed or deactivated, the executable code is energized or “awakened” as the portable dynamic rule set takes and maintains control. No attempt to access the self-protecting and self-controlling digital mixture can be successful without the executable code being activated.
도 1은 본 발명의 다양한 양태들에 따른, 자기-관리하는 데이터의 예시적인 실시예를 나타내는 개략도이다. 동적 참가물 제어기(110) 또는 "혼합기"는, 아래에 더욱 설명된, 인가된 에이전트들, 장치 위치들, 데이터 사용 규칙들, 및/또는 다른 요소들에 대한 설명을 포함하는 디지털 구성요소들("참가물들")(101)의 세트를 식별한다. 이들 구성요소들을 혼합하여, 혼합기(110)는 클로킹된 엔티티, 지능형 암호 전달 객체, 또는 ICTO(115)를 형성한다. ICTO(115)는 또한 "디지털 혼합체"로 불릴 수 있다. 본 명세서에 설명된 바와 같이, 당업자는, "ICTO" 및 "디지털 혼합체" 및 "자기-관리하는 데이터"란 용어들이 상호 교환 가능하게 사용될 수 있다는 것을 인식할 것이다. ICTO(115)를 직접 보고있는 비인가된 엔티티 또는 제삼자에게, ICTO(115)는 단순히 데이터 세트로 보일 수 있다. ICTO(115)는 외부에는, 본래의 구성요소들을 닮거나 노출시키지 않는 동형 혼합체로 보인다. 그러나, (혼합기(110), ICTO-인식 클라이언트 애플리케이션(나타내지 않음), 및/또는 등과 같은) API를 구현하는 애플리케이션을 통해 액세스될 때, ICTO(115)에 의해 관리되는 데이터에 대한 액세스를 제공하기 위해 ICTO(115)의 실행가능 부분들이 액세스될 수 있다.1 is a schematic diagram illustrating an exemplary embodiment of self-managing data, in accordance with various aspects of the present invention. The
몇몇의 실시예들에서, 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)의 실행가능 부분들의 위치도 마찬가지로 비밀이 유지될 수 있다.In some embodiments, the executable portions of the
참가물들의 세트(101)는 객체 설명들(102), 혼합물 메타데이터(104), 소유자 데이터(106), 클로킹 패턴들(107), 신원 모듈(109), 및 지능 모듈(111)을 포함할 수 있다. 몇몇 실시예들에서, 신원 모듈(109) 및 지능 모듈(111)의 조합은 함께 휴대용 동적 규칙 세트(108)로 고려될 수 있다. 객체 설명들(102)은 소유자-제공 및 소유자-정의 특징들, 데이터 식별자들, 및/또는 속성들을 포함할 수 있다. 소유자 데이터(106)는 문서, 파일, 버퍼, 디렉터리, 원격으로 저장된 데이터에 대한 포인터, 데이터베이스, 및/또는 등과 같은, ICTO(115) 내에 보호되는 데이터를 포함할 수 있다. 몇몇의 실시예들에서, ICTO(115)가 단지, 예를 들어, 아래에 서명된 데이터에 연관되지 않는 서명 검증 방법을 위해 사용되었으면, 소유자 데이터(106)는 선택적인 것일 수 있다. 몇몇의 실시예들에서는, 다수의 소유자 데이터(106) 조각들이 단일의 ICTO(115) 내에 포함될 수 있다. 몇몇의 실시예들에서는, 다수의 소유자들로부터의 소유자 데이터(106)가 단일의 ICTO(115)에 포함될 수 있다.The set of
클로킹 패턴들(107)은 혼합기(110)에 의해 지원되는 데이터 보호 및 액세스 기술들의 다양한 조합들을 특정한다. 클로킹 패턴들(107)에 포함된 데이터 보호 및 액세스 기술들은 산업 표준 검증 암호화, 압축, 무작위화, 정규화, 및/또는 다른 기술들과 같은 기술들을 포함할 수 있다. 클로킹 패턴들(107)로 사용하기에 적합한 기술들은 현재 알려진 기술들에만 제한되는 것이 아니라, 지금 알려져있거나 미래에 개발될 임의의 개인적으로 또는 공개적으로 사용가능한 부호화 및/또는 복호화 기술을 포함할 수 있다. 데이터를 보호 및/또는 액세스하기 위해 클로킹 패턴(107)을 사용하는 것은 클로킹 패턴(107)에 특정된 데이터 보호 및/또는 액세스 기술들의 조합을 데이터에 적용하는 것을 수반한다.Clocking
혼합물 메타데이터(104)는 디렉터리들, 키 코드들, 사용자 파일들, 서명들, 및/또는 등을 포함하는 가상 파일 시스템 데이터와 같은 디지털 혼합체(115)에 대한 조직 정보를 제공한다.
신원 모듈(109)은 트랜잭션(transaction) 내의 보호된 에이전트들을 고유하게 식별하는 동적 신원 속성들을 포함할 수 있다. 몇몇의 실시예들에서, 신원 모듈(109)은 보호된 객체에 관련하여 어떤 권리들이 주어질 수 있는 컴퓨팅 장치의 구성을 나타내는 데이터를 포함할 수 있다. 신원 모듈(109)은 컴퓨팅 장치를 식별하는데 사용될 수 있는, 컴퓨팅 장치에 설치된 하드웨어 또는 소프트웨어 구성들에 대한 특정한 정보를 포함할 수 있다. 신원 모듈(109)은 모델 번호들, 코어들의 개수, 속도, 및/또는 등을 포함하는 CPU 정보; 샤시 시리얼 번호(chassis serial number); 제조일자; 휘발성 메모리 크기; 비휘발성 메모리 크기; 하나 이상의 저장 장치 시리얼 번호들, 및/또는 모델 번호들; 설치된 소프트웨어 이름들, 및/또는 버전 번호들, 및/또는 등을 포함하는 데이터를 포함할 수 있지만, 이에 제한된 것은 아니다.
몇몇의 실시예들에서, 트랜잭션은 하나 이상의 에이전트들이 주어진 콘텍스트에서 및 특정한 의도로 데이터를 안전하게 교환하는, ICTO(115)를 사용하는 원자 동작이다. 인가된 에이전트들은 사람 사용자, 고유한 기계, 고유한 전자 장치, 고유한 소프트웨어 또는 프로그램 객체, 및/또는 등과 같은 사람 및 시람이-아닌 엔티티를 포함할 수 있다. ICTO(115)에 포함된 동적 신원 속성들은 ICTO(115)와의 상호작용 과정 내에서 또는 그동안 지능 모듈(111)에 의해 수정될 수 있고, 애플리케이션-특정 식별자들, 계정 식별자들, 생체 서명들, 장치, 및/또는 위치 서명들, 임시 데이터, 암호 키들, 및/또는 등을 포함할 수 있다. 몇몇의 실시예들에서, 위치 서명은 GPS, GSM 네트워크 위치확인, IP 주소 위치확인, 추측 항법, 및/또는 등과 같은 위치정보 기술로부터의 데이터를 포함할 수 있다. 위치 서명은 경도, 위도, 고도, 대략의 도로 주소, 및/또는 등을 포함할 수 있다. 도로, 도시, 주, 나라, 우편번호, 및/또는 등과 같은 추가적인 위치 데이터가 또한 존재할 수 있다. 몇몇의 실시예들에서, 임시 데이터는 규칙들 또는 다른 지능형 코드가 타이머들, 만료들, 동적 키들, 및/또는 등을 시행하게 할 수 있는 타임스탬프 및/또는 등을 포함할 수 있다. 임시 데이터는 간단한 날짜/시간 값을 포함할 수 있거나, 타임스탬프 범위들 및/또는 다른 스케줄링 안내들을 포함하는 복잡한 스케줄을 포함할 수도 있다.In some embodiments, a transaction is an atomic operation using the
몇몇의 실시예들에서, 각각의 ICTO(115)는 적어도 하나의 디지털 서명 키를 포함한다. 디지털 서명 키는 혼합기(110)에 사용가능한 외부 디지털 증명서를 사용하여 검증될 수 있다. ICTO(115)의 액세스 동안, 혼합기(110)는 외부 디지털 증명서를 사용하여 디지털 서명키를 검증하고, 현재 ICTO(115)에 액세스하고 있는 에이전트에 대해서 이 디지털 서명 키가 유효하다는 것을 검증한다. 몇몇의 실시예들에서는, 다수의 에이전트들이 ICTO(115)를 승인할 수 있다. 이러한 실시예에서, ICTO(115)는 서명 키들의 체인(chain)을 포함할 수 있는데, 여기서 각각의 서명 키는 검사용의 개별적인 외부 디지털 증명서와 연관될 수 있다. 예를 들어, ICTO(115)는 다수의 에이전트들에게 전달할 보호된 파일을 생성하기 위해 사용자에 의해 사용될 수 있는데, 여기서, 각각의 에이전트는 파일 전체가 아닌 상이한 파일 섹션들에 동시에 또는 연속적으로 액세스할 수 있다. 소유자 및 에이전트들은 트랜잭션을 처리하기 위해 유효한 디지털 서명들을 제공해야할 수 있다.In some embodiments, each
지능 모듈(111)은, ICTO(115)를 보호하기 위한 동작들을 수행하도록 구성 가능한 기능을 제공하는 지능형 코드를 따라, 액세스 데이터 및 다른 관련 이력을 기록 및 통신할 수 있는 동적 규칙 세트들을 포함할 수 있다. 규칙들은 객체 생성시에 제공될 수 있다. 그러나, 몇몇의 실시예들에서, 규칙은 자신 또는 이전에 생성된 ICTO(115)의 다른 규칙들을 수정하는 능력을 가질 수 있다. 몇몇의 실시예들에서, 규칙은 추가적인 규칙들을 생성하는 능력을 가질 수 있다. 예를 들어, 규칙은 신원 데이터로부터, 주어진 ICTO(115)를 위해 추가적인 보호가 필요하다고 결정할 수 있다. 그 후 규칙은 적용할, 추가적인 암호화 및/또는 암호해제 규칙들을 생성할 수 있다. 규칙들은 ICTO(115)에 보호 및 포함된다. 몇몇의 실시예들에서, 규칙들은 지능 모듈(111)의 실행가능 부분에 의해서만 실행될 수 있고/있거나, 사유 언어(proprietary language)로 작성되어 컴파일링된 형태 또는 이진 형태로 저장될 수 있다. 신원 모듈(109)의 규칙들 및 요구사항들에 기초하여, 지능 모듈(111)은 자신의 규칙들 및 요구사항들에 따라 동작한다. 애플리케이션-특정 식별자들은 액세스별로 다양할 수 있고, 에이전트 유형에 따라 다양할 수 있다. 예를 들어, 사람 사용자에 대해서, 애플리케이션-특정 식별자들은 계정 키들, 트랜잭션 정보, 콘텍스트 키들(context keys), 연관된 의도들, 및/또는 등을 포함할 수 있다. 전자 장치, 디지털 자산, 또는 임의의 다른 잠재적인 에이전트에 대해서, 애플리케이션-특정 식별자들은 또한 IP 주소, URL, 파일 명세, 및/또는 등을 포함할 수 있다.The intelligence module 111 may include dynamic rule sets capable of recording and communicating access data and other relevant histories, along with intelligent code that provides configurable functionality to perform actions to protect the
몇몇의 실시예들에서, 참가물들(101)은 ICTO(115)에 의해 보호되어 있지만, 임베딩된 휴대용 동적 규칙 세트 또는 세트들은 임베딩된 참가물들(101)에 대한 읽기/쓰기 액세스를 갖는다. 즉, 규칙은 ICTO(115)의 혼합물 메타데이터(104) 및 소유자 데이터(106)에 대해서 데이터를 읽고 쓸 수 있다. 이는 날짜, 시간, 위치 등과 같은 액세스 정보를 기록하고/하거나 공격이 탐지되면 데이터를 파괴하는데 유용할 수 있다. 규칙들 내의 지능형 코드에 의해 내려지고 취해지는 결정들 또는 동작들의 몇몇의 예들은: 타당성을 위해 객체 콘텐츠 및 콘텍스트 평가하기; 신원을 증명하기 위해 에이전트 시험하기; 클라이언트 코드와 상호작용하기; 검사하기 위해 서버와 접촉하기; ICTO(115)를 자기-파괴되게 하기; 객체 액세스 이력 유지하기 및 서버에 이력 정보 송신하기; 온-라인 및/또는 오프-라인 객체 액세스 허용하기; 동적 서버 갱신들에 기초하여 새로운 규칙들 생성하기; 데이터 암호화 및 암호해제하기; 데이터 맹글링(mangling) 및 언맹글링(unmangling)하기; 및/또는 등을 포함할 수 있지만, 이에 제한된 것은 아니다.In some embodiments, the
휴대용 동적 규칙들의 사용은 다양한 이점들을 가질 수 있다. 예를 들어, 사전-암호화 및 사전-암호해독 규칙들은 참가물-특정 기준에 기초하여 동적 솔트(salt) 및 암호 키들을 제공할 수 있다. 이러한 동적 키들은 임시 데이터, 환경 데이터, 또는 사전-암호화 규칙에 특정된 임의의 다른 알고리즘에 기초할 수 있다. 또 다른 예로서, 비인가된 사용자들에게 보호되지 않은 데이터를 노출시키지 않으면서 에이전트를 검사하기 위해, 규칙들은 ICTO(115) 내의 암호화된 신원 아티펙트(artifact)들에 액세스할 수 있다. 또 다른 예로서, 규칙들이 휴대용이고, 따라서 ICTO(115)에 포함되므로, ICTO(115)를 오프-라인 또는 외부-네트워크이더라도 비인가된 액세스로부터 완벽히 보호하는 방식으로, 규칙들이 작성될 수 있다. 추가의 예로서, 규칙들은 내포된(nested) 보호를 추가할 수 있다. ICTO(115)가 생성된지 1시간 내에 단일의 에이전트에 의해 읽혀져야 하는 문서를 보호하고 있다면, 규칙은 타이머를 구현하고 자기-파괴 메커니즘을 생성할 수 있다.The use of portable dynamic rules can have various advantages. For example, pre-encryption and pre-decryption rules may provide dynamic salt and cryptographic keys based on participant-specific criteria. These dynamic keys may be based on temporary data, environmental data, or any other algorithm specified in the pre-encryption rule. As another example, rules may access encrypted identity artifacts within the
전술된 바와 같이, 임베딩된 혼합기(110)는 임베딩된 휴대용 동적 규칙 세트(108)를 사용하여, 자기-보호하고 자기-관리하는 ICTO(115)를 포함하는, 객체 설명들(102), 혼합물 메타데이터(104), 소유자 데이터(106), 클로킹 패턴들(107), 신원 모듈(109), 및 지능 모듈(111)의 혼합체를 형성한다. 몇몇의 실시예들에서, ICTO(115)의 다양한 구성요소들에는 부당변경(tampering)을 탐지하기 위해 부호화된 체크썸(checksum)들이 표시될 수 있다. 예를 들어, 전체 ICTO(115), 규칙들, 소유자 데이터, 및/또는 사용자 데이터는 임베딩된 체크썸으로 각각 검증될 수 있다. 체크썸은 체크썸 목표의 콘텐츠들에 기초하여 생성된 해시 값일 수 있다. 몇몇의 실시예들에서, 체크썸을 생성하는데 사용되는 알고리즘은 심지어 큰 데이터-세트 중에서 단일의 비트 값에서의 변경도 신뢰적으로 탐지하기에 충분히 민감하다. 임의의 다른 적합한 알고리즘이 사용될 수 있지만, 몇몇의 적합한 알고리즘에는 MD5 및 SHA가 포함된다. 각각의 체크썸은 체크썸 목표에 첨부되거나, 덧붙여지거나, 이와 달리 조합되어 저장될 수 있거나, 또는 개별적인 위치에 저장될 수도 있다.As described above, an embedded
도 7은 본 발명의 추가적인 실시예들에 따른 자기-포함되고, 자기-제어하고, 자기-관리하는 데이터 보호의 또 다른 예시적인 실시예를 나타내는 개략도이다. API 또는 다른 ICTO-인식 애플리케이션, 장치, 또는 운영 체제는 동적 참가물 제어기 또는 실행가능 혼합기(702)에게 디지털 참가물들(701)의 세트를 보호하기 위한 요청을 개시하고, 그에 의해 는 동적 참가물 제어기 또는 실행가능 혼합기(702)가 활성화된다. 디지털 참가물들은, 아래에 더욱 설명된, 인가된 에이전트들, 장치들, 위치들, 데이터 사용 규칙들, 및/또는 다른 디지털 구성요소들을 포함하지만, 이에 제한된 것은 아니며, 이들은 모여서 자기-보호하고, 자기-관리하는 데이터 객체(즉, 디지털 혼합체 또는 ICTO)(710)에 포함된다. 동적 참가물 제어기(702)는 활성화되면, 상기 객체가 구성되는 동안, 임시 또는 "시작" 규칙 세트를 활용하여 중간 암호 객체(703)를 생성한다. 중간 암호 객체(703)는 혼합기(702)에 의해 생성된 알고리즘에 의해 선택, 생성, 또는 만들어진 하나 이상의 외부 클로킹 패턴들(704)을 사용하여 클로킹된다.7 is a schematic diagram illustrating another exemplary embodiment of self-contained, self-controlling, self-managing data protection in accordance with further embodiments of the present invention. An API or other ICTO-aware application, device, or operating system initiates a request to the dynamic participant controller or executable mixer 702 to protect the set of digital participants 701 , thereby causing the dynamic participant controller or the executable mixer 702 is activated. Digital Participants include, but are not limited to, Authorized Agents, devices, locations, data usage rules, and/or other digital components, which are collectively self-protecting and self-protecting, as further described below. - Included in the managed data object (ie, digital composite or ICTO) 710 . The dynamic participation controller 702, when activated, creates an intermediate cryptographic object 703 utilizing a temporary or “start” rule set while the object is being constructed. The intermediate cryptographic object 703 is cloaked using one or more
몇몇의 사례들에서, ICTO(710)의 하나 이상의 실행가능 부분들을 ICTO(710) 내의 가변적인 위치들에 저장함으로써 추가적인 보호 또는 기능들이나 그들의 조합들이 적용될 수 있다. ICTO(710)의 실행가능 부분들에 대한 초기 진입 지점은 단지 ICTO 인식 애플리케이션, 운영 체제, 또는 장치에 의해 계산되고 위치가 찾아질 수 있다. 실행가능 또는 DPC(702)가 위치가 알려지고 깨어나면, ICTO(710)가 활성화되는 동안 제어를 취하고 유지하는 ICTO(710) 내의 휴대용 동적 규칙 세트(711)의 위치를 알아내기 위해, 고유한 오프셋 표가 DPC(702)에게 사용가능해진다.In some instances, additional protection or functions or combinations thereof may be applied by storing one or more executable portions of the ICTO 710 in variable locations within the ICTO 710 . The initial entry point for executable portions of the ICTO 710 may only be computed and located by an ICTO-aware application, operating system, or device. Once the executable or DPC 702 is located and wakes up, a unique offset to locate the portable dynamic rule set 711 within the ICTO 710 that takes and maintains control while the ICTO 710 is active The table is made available to 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에 혼합될 수 있다.The set of digital participants 701 includes
내부 클로킹 패턴들(707)은 휴대용 동적 규칙 세트(711)에 명시된 소유자의 규칙들에 의해 결정되고 동적 참가물 제어기 또는 혼합기(702)에 의해 지원되는 데이터 보호 및 액세스 기술들의 다양한 조합들을 특정한다. 내부 클로킹 패턴들(707)에 포함된 데이터 보호 및 액세스 기술들은 산업 표준 암호화, 사유 암호화, 압축, 무작위화, 정규화 등과 같은 기술들을 포함할 수 있지만, 이에 제한된 것은 아니다. 내부 클로킹 패턴들(707)로 사용하기에 적합한 기술들은 현재 알려진 기술들에만 제한되는 것이 아니라, 지금 알려져있거나 미래에 개발될 임의의 개인적으로 또는 공개적으로 사용가능한 부호화 및/또는 복호화 기술을 포함할 수 있다. 데이터를 보호 및/또는 액세스하기 위해 내부 클로킹 패턴(707)을 사용하는 것은 휴대용 동적 규칙 세트(711)에 특정된 데이터 보호 및/또는 액세스 기술들의 조합을 데이터 및 다른 참가물들에 적용하는 것을 수반할 수 있다.The
외부 클로킹 패턴들(704)은 중간 암호 객체(703)를 생성하기 위한 중간 규칙 세트를 활용하여 동적 참가물 제어기(702)에 의해 계산, 사용, 또는 생성되는 하나 이상의 알고리즘들을 통해 선택된 데이터 보호 및 액세스 기술들의 다양한 조합들을 특정한다. 외부 클로킹 패턴들(704)에 포함된 데이터 보호 및 액세스 기술들은 산업 표준 검증된 암호화, 압축, 무작위화, 정규화 등과 같은 기술들을 포함할 수 있지만, 이에 제한된 것은 아니다. 외부 클로킹 패턴들(704)로 사용하기에 적합한 기술들은 현재 알려진 기술들에만 제한되는 것이 아니라, 지금 알려져있거나 미래에 개발될 임의의 개인적으로 또는 공개적으로 사용가능한 부호화 및/또는 복호화 기술을 포함할 수 있다. 데이터를 보호 및/또는 액세스하기 위해 외부 클로킹 패턴(704)을 사용하는 것은 동적 참가물 제어기(702)에 의해 계산되고 중간 규칙 세트에 의해 특정된 데이터 보호의 조합을 적용하는 것을 수반할 수 있다. 혼합물 메타데이터(705)는, 이에 제한된 것은 아니지만, 디렉터리들, 사용자 파일들 등을 포함하는 가상 파일 시스템 데이터와 같은 디지털 혼합체(710)에 대한 조직 정보를 제공한다.
신원 모듈(708)은 트랜잭션 내의 정당한 에이전트들을 고유하게 식별하는 동적 신원 속성들을 포함할 수 있다. 동적 신원 속성들은, 이에 제한된 것은 아니지만, 위치, 장치, 및 액세스 동작과 같은 PDRS 내의 신원 모듈에 추가되는 학습된 정보일 수 있다. 학습된 정보는 수집되어 미래의 액세스 요청 세션에서 활용될 수 있으므로, 추가적인 지능 및 결정 지점들이 추가된다. 추가로, 동적 신원 속성들은 또한 변동적인 (즉, 예측불가능한) 세부사항들일 수 있다. 그들은, ICTO에 대한 액세스를 요청하는 에이전트의 정당한 신원을 결정할 때, 인증 처리 동안, 홀로 또는 개인 신원 속성들과 함께 조합하여 제시될 수 있다.
몇몇의 실시예들에서, 신원 모듈(708)은 보호된 객체에 관련하여 어떤 권리들이 주어질 수 있는 컴퓨팅 장치의 구성을 나타내는 데이터를 포함할 수 있다. 신원 모듈(708)은 컴퓨팅 장치를 식별하는데 사용될 수 있는, 컴퓨팅 장치에 설치된 하드웨어 또는 소프트웨어 구성들에 대한 특정한 정보를 포함할 수 있다. 신원 모듈(708)은 모델 번호들, 코어들의 개수, 속도, 및/또는 등을 포함하는 CPU 정보; 샤시 시리얼 번호; 제조일자; 휘발성 메모리 크기; 비휘발성 메모리 크기; 하나 이상의 저장 장치 시리얼 번호들, 및/또는 모델 번호들; 설치된 소프트웨어 이름들, 및/또는 버전 번호들, 및/또는 등을 포함하는 데이터를 포함할 수 있지만, 이에 제한된 것은 아니다.In some embodiments, the
몇몇의 실시예들에서, 트랜잭션은 하나 이상의 적당한 및 인가된 에이전트들이 주어진 상황에서 및 특정된 의도로 데이터 또는 정보를 안전하게 교환하는, ICTO(710)를 사용하는 원자 동작이다. 적당한 인가된 에이전트들은 사람 사용자, 고유한 기계, 고유한 전자 장치, 고유한 소프트웨어 또는 프로그램 객체, 및/또는 등과 같은 사람 및 시람이-아닌 엔티티들을 포함할 수 있다. ICTO(710)에 포함된 동적 신원 속성들은 ICTO(710)와의 상호작용 과정 내에서 또는 그동안 지능 모듈(709)에 의해 수정될 수 있고, 애플리케이션-특정 식별자들, 계정 식별자들, 생체 서명들, 장치, 및/또는 위치 서명들, 임시 데이터, 암호 키들 또는 데이터 등을 포함할 수 있지만, 이에 제한된 것은 아니다. 몇몇의 실시예들에서, 위치 서명은 GPS, GSM 네트워크 위치확인, IP 주소 위치확인, 추측 항법 등과 같은 위치정보 기술로부터의 데이터를 포함할 수 있다. 위치 서명은 경도, 위도, 고도, 대략의 도로 주소 등을 포함할 수 있다. 도로, 도시, 주, 나라, 우편번호 등과 같은 추가적인 위치 데이터가 또한 존재할 수 있다. 몇몇의 실시예들에서, 임시 데이터는 규칙 또는 다른 지능형 코드가 타이머들, 만료들, 동적 키들 등을 시행하게 할 수 있는 타임스탬프 또는 유사한 정보를 포함할 수 있다. 임시 데이터는 간단한 날짜/시간 값을 포함할 수 있거나, 타임스탬프 범위들 및/또는 다른 스케줄링 안내들을 포함하는 복잡한 스케줄을 포함할 수도 있다.In some embodiments, a transaction is an atomic operation using the ICTO 710 in which one or more suitable and authorized agents securely exchange data or information in a given context and with a specified intent. Suitable authorized agents may include human and non-human entities such as human users, unique machines, unique electronic devices, unique software or program objects, and/or the like. Dynamic identity attributes contained in the ICTO 710 may be modified by the
몇몇의 실시예들에서, 각각의 ICTO(710)는 사람 또는 사람이 아닌 하나 이상의 디지털 서명 요청들을 포함할 수 있다. ICTO(710)에 의한 인증 동안, 휴대용 동적 규칙 세트(711)는 PDRS(711)에 의해 관리되는 정보에 대한 액세스를 요청하는 정당한 에이전트에 대해서 디지털 서명이 유효하다고 결정한다. 몇몇의 실시예들에서, 다수의 정당한 에이전트들은 다른 정당한 에이전트들의 인가를 검증할 수 있다. 이러한 실시예에서, PDRS(711)는 디지털 서명 요구사항들의 체인을 시행할 수 있는데, 여기서 각각의 디지털 서명은 개별적인 정당한 에이전트와 연관될 수 있다. 예를 들어, ICTO(710)는 다수의 정당한 에이전트들에 승인, 서명, 및 전송될 자기-관리하는 파일을 생성하기 위해 소유자에 의해 사용될 수 있는데, 여기서, 각각의 정당한 에이전트는 파일 전체가 아닌 상이한 파일 섹션들에 동시에 또는 연속적으로 액세스할 수 있다. 소유자 및 정당한 에이전트들은 트랜잭션을 처리하기 위해 유효한 디지털 서명들을 제공해야 할 수 있다.In some embodiments, each ICTO 710 may include one or more digital signature requests, either human or non-human. During authentication by the ICTO 710 , the portable dynamic rule set 711 determines that the digital signature is valid for legitimate agents requesting access to information managed by the
지능 모듈(709)은 ICTO(710)를 관리하기 위한 동작들을 수행하도록 구성가능한 기능을 제공하는 지능형 코드를 따라, 액세스 데이터 및 다른 관련 이벤트들을 기록 및 통신할 수 있는 동적 규칙 세트들을 포함할 수 있다. 규칙들은 객체 생성시에 제공될 수 있다. 그러나, 몇몇의 실시예들에서, 규칙은 자신을 수정하거나 또는 대신 주어진 ICTO(710)의 다른 규칙을 수정할 수 있다. 몇몇의 실시예들에서, 규칙은 추가적인 규칙들을 생성할 수 있다. 예를 들어, 규칙은, 정당한 에이전트의 인증 동안, 주어진 ICTO(710)를 위해 추가적인 보호가 필요하다고 결정할 수 있다. 그 후, 규칙은 추가적인 액세스, 방어, 클로킹 등과 같은 요구사항들을 생성할 수 있다. 몇몇의 실시예들에서, 규칙들은 단지 동적 참가물 제어기(702)에 의해서만 실행될 수 있거나, ICTO의 참가물로서 이진 형태로 저장될 수 있거나, 이 둘의 조합일 수 있다. 신원 모듈(708)의 규칙들 및 요구사항들에 기초하여, 지능 모듈(709)은 소유자 에이전트에 의해 적용된 그것의 규칙들 및 요구사항들에 따라 동작한다. 휴대용 동적 규칙 세트(711) 식별자들은 액세스별로 다양할 수 있고, 에이전트 유형에 따라 다양할 수 있다. 예를 들어, 사람 사용자에 대해서, 휴대용 동적 규칙 세트(711) 특정 식별자들은 계정 키들, 트랜잭션 정보, 콘텍스트 키들, 연관된 의도들 등을 포함할 수 있다. 전자 장치, 디지털 자산, 또는 임의의 다른 잠재적인 에이전트에 대해서, 휴대용 동적 규칙들 세트(711) 식별자들은 또한 IP 주소, URL, 파일 명세 등을 포함할 수 있다.The
몇몇의 실시예들에서, 디지털 참가물들(701)이 ICTO(710)에 의해 보호되는 동안에도, 규칙들은 디지털 참가물들(701)에 대한 읽기/쓰기 액세스를 갖는다. 즉, 규칙은 ICTO(710)의 혼합물 메타데이터(705) 및 소유자 데이터(706)에 대해서 데이터를 읽기 및 쓰기할 수 있다. 이는 날짜, 시간, 위치 등과 같은 액세스 정보를 기록하고 공격이 탐지되면 데이터를 파괴하는데 유용할 수 있다. 지능 모듈(709)에 의해 내려지고 취해지는 결정들 또는 동작들의 몇몇의 예들은: 타당성을 위해 객체 콘텐츠 및 콘텍스트 평가하기; 신원을 증명하기 위해 에이전트 시험하기; 클라이언트 코드와 상호작용하기; 신뢰 검증을 위해 서버와 접촉하기; ICTO(710)를 자기-파괴되게 하기; 객체 액세스 이력 유지하기 및 이메일, SMS, FTP로 서버에 이력 정보 송신하거나 ICTO(710)와 함께 저장하기; 온-라인 및/또는 오프-라인 객체 액세스 허용하기; 동적 서버 갱신들에 기초하여 새로운 규칙들 생성하기; 데이터의 클로킹 및 디클로킹하기; 데이터 맹글링 및 디맹글링하기를 포함할 수 있지만, 이에 제한된 것은 아니다.In some embodiments, the rules have read/write access to the digital participants 701 even while the digital participants 701 are protected by the ICTO 710 . That is, the rule can read and write data to and to the
상기 휴대용 동적 규칙 세트들의 사용은 다양한 이점들 및 목적들을 갖는다. 일 예시적인 실시예에서, 액세스 규칙들은 소유자-특정 기준에 기초하여 내부에서 생성되고 내부에서 관리되는 고유한 키들을 활용할 수 있다. 상기 고유한 키들은 임시 데이터, 환경 데이터, 또는 소유자의 규칙 세트에 의해 특정된 임의의 다른 알고리즘에 기초할 수 있다. 또 다른 예로서, 보호된 데이터를 세상에 노출시키지 않으면서 에이전트를 인증 및 검사하기 위해, 상기 규칙들은 ICTO(710) 내의 보호된 신원 아티펙트들에 액세스할 수 있다. 또 다른 예로서, 상기 규칙들이 자기-포함되고 휴대용이고 플랫폼 독립적이고, 그에 따라 ICTO(710)에 포함되므로, ICTO(710)를 오프-라인이더라도 비인가된 액세스로부터 완벽히 보호되는 방식으로, 규칙들이 작성될 수 있다. The use of the portable dynamic rule sets has various advantages and objectives. In one exemplary embodiment, access rules may utilize internally generated and internally managed unique keys based on owner-specific criteria. The unique keys may be based on temporary data, environmental data, or any other algorithm specified by the owner's rule set. As another example, the rules may access protected identity artifacts in the ICTO 710 to authenticate and inspect an agent without exposing the protected data to the world. As another example, rules are written in such a way that they are self-contained, portable, platform independent, and thus included in ICTO 710, so that ICTO 710 is completely protected from unauthorized access even off-line. can be
추가의 예로서, 규칙들은 내포된 보호를 추가할 수 있다. 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시간 동안 단일의 정당한 에이전트에 의해 액세스되어야하는 문서를 보호하고 있다면, 규칙은 타이머를 구현하고 만료 이후의 자기-파괴 메커니즘을 생성할 수 있다. As a further example, rules may add nested protection. If the ITO 710 protects one or more ICTOs 710 in the current or external ITO 710 , then the external ITO 710 manages one or more ICTOs 710 as part of the
전술된 바와 같이, 휴대용 동적 규칙 세트(711)를 활용하는 동적 참가물 제어기(702) 또는 혼합기는 ICTO(710)을 구성하는 외부 클로킹 패턴들(704), 혼합물 메타데이터(705), 소유자 데이터(706), 내부 클로킹 패턴들(707), 신원 모듈(708), 및 지능 모듈(709)의 혼합체를 생성한다. 몇몇의 실시예들에서, ICTO(710)의 다양한 구성요소들은 부당변경을 탐지하기 위해 부호화된 체크썸들을 위해 조합될 수 있다. 예를 들어, 전체 ICTO(710), 규칙들, 소유자 데이터, 및/또는 참가물 데이터는 체크썸(712)으로 각각 검사될 수 있다. 체크썸(712)은 체크썸(712) 목표들의 콘텐츠들에 기초하여 생성된 해시 값일 수 있다. 몇몇의 실시예들에서, 체크썸을 생성하는데 사용되는 알고리즘은 심지어 큰 문서 중에서 단일의 비트 값에서의 변경도 신뢰적으로 탐지하기에 충분히 민감하다. 임의의 다른 적합한 알고리즘이 사용될 수 있지만, 몇몇의 적합한 알고리즘에는 MD5 및 SHA가 포함된다. 각각의 체크썸(712)은 체크썸 목표에 첨부되거나, 덧붙여지거나, 이와 달리 조합되어 저장될 수 있거나, 개별적인 위치에 저장될 수도 있다.As described above, a dynamic participant controller 702 or mixer utilizing a portable dynamic rule set 711 can include
도 2는 본 발명의 다양한 양태들에 따라 ICTO(115)를 구성하는 방법의 예시적인 실시예를 나타내는 흐름도이다. 나타낸 방법(200)은 비교적 간단한 ICTO(115)의 생성을 설명하지만, 당업자는 유사한 기술들이 훨씬 보다 복잡한 ICTO들(115)을 생성하는데 사용될 수 있다는 것을 이해할 것이다. 몇몇의 실시예들에서, 혼합기(110)가 방법(200)을 수행하기 위해 구성된다. 몇몇의 실시예들에서는, 후술된 바와 같이, 방법(200)은 혼합기(110)의 기능을 제공하도록 구성된 컴퓨팅 장치에 의해 수행된다. 당업자는, ICTO(115)의 구성 및 활용은 상기 컴퓨팅 장치의 유형에도 상기 컴퓨팅 장치에 연관된 어떤 운영 체제의 유형에도 종속되지 않고, 대신 임의의 적합한 수단들을 통해 구성 및 활용될 수 있다는 것을 인식할 것이다.2 is a flow diagram illustrating an exemplary embodiment of a method for configuring an
시작 블록에서부터, 방법(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)의 액세스 보호 특징들은 사용자 신원들을 검증하고/하거나 사용자들로부터 서명들을 획득하기 위해 사용될 수 있다.From the starting block, the
방법(200)은, 혼합기(110)가 휴대용 동적 규칙 세트(108)가 실행되게 야기하는 블록(208)으로 진행된다. 블록(210)에서는, 휴대용 동적 규칙 세트(108)의 지능 모듈(111)이 참가물들(101)을 보호하는데 사용되는 하나 이상의 신원-기반 클로킹 패턴들을 결정하고, 블록(212)에서는, 혼합기(110)가 참가물들(101)에게 하나 이상의 클로킹 패턴들을 적용하여, 클로킹된 참가물들의 세트를 생성한다.
휴대용 동적 규칙 세트(108)는 보호되는 데이터의 소유자의 바램들에 기초하여 각각의 참가물(101)에 적용될 클로킹 패턴을 결정한다. 상이한 클로킹 패턴들이 각각의 참가물(101)에게 적용될 수 있다. 추가로, 각각의 참가물(101)는 상이한 에이전트들에 의한 액세스를 위해 개별적인 클로킹 패턴들을 사용하여 보호될 수 있다. 즉, 소유자 데이터(106)와 같은 참가물(101)는 제1 에이전트에 의한 액세스를 위해서는 제1 클로킹 패턴으로 보호될 수 있고, 제2 에이전트에 의한 액세스를 위해서는 제2 클로킹 패턴으로 보호될 수 있다. 클로킹 패턴들의 선택은 보호되는 참가물(101)의 속성, 데이터에 대한 액세스가 주어진 에이전트의 속성, 위치, 의도, 및/또는 임의의 다른 적합한 정보 조각에 기초할 수 있다. 클로킹 패턴의 선택은 기존의 클로킹 패턴으로부터 선택하는 것을 포함할 수 있고/있거나, 혼합기(110)에 의해 지원되는 보호 기술들의 조합으로부터 새로운 클로킹 패턴을 생성하는 것을 포함할 수 있다. 적용된 클로킹 패턴들에 대한 기록들은 혼합물 메타데이터(104)에 저장될 수 있다.The portable dynamic rule set 108 determines the cloaking pattern to be applied to each
클로킹 패턴들은 ICTO(115) 내에서 참가물(101)를 보호하기 위해 참가물(101)에게 적용되는 변형들, 및 이러한 변형들이 참가물(101)에 액세스하기 위해 역행되는 방법을 설명한다. 변형들은 데이터 압축, 데이터 정규화, 및 암호화/암호해제를 포함할 수 있지만, 이에 제한된 것은 아니다. 주어진 클로킹 패턴은 이들 기술들 중 하나 이상 또는 본 명세서에 나열되지 않은 다른 기술들을 포함할 수 있다. 데이터 압축은 ICTO(115)의 전체 크기를 줄일 수 있어, 추후에 전송 시간 및 대역폭 사용을 향상시킨다. 데이터 압축은 DEFLATE, LZW, LZR, LZX, JBIG, DjVu, 및/또는 등을 포함하지만, 이에 제한되는 것은 아닌, 임의의 적합한 손실없는 압축 알고리즘에 의해 수행될 수 있다. 데이터 정규화는 데이터를 효율적으로 처리될 수 있는 형태로 위치시키는 임의의 적합한 처리에 의해 수행된다. 몇몇의 실시예들에서, 데이터는 이진 또는 텍스트 포맷인 데이터를 정규화된 영숫자 스트링으로 변환시키기 위해 Base64 부호화 알고리즘이 행해질 수 있다. 이것은 일례일 뿐, 제한하는 것으로 고려되어서는 안된다. 다른 실시예들에서, 데이터를 정규화하기 위해 다른 알고리즘들이 사용될 수 있다.The cloaking patterns describe the modifications applied to the
몇몇의 실시예들에서, 클로킹 패턴은, 신원 모듈(109) 및 지능 모듈(111)이 참가물들(101)의 상이한 구성요소들에 개별적인 암호화 기술들을 적용하게 할 수 있다. 예를 들어, 제1 암호화 규칙은, 실행될 때, 암호화된 디지털 혼합체(115)의 제2 부분은 변경시키지 않으면서, 암호화된 디지털 혼합체(115)의 제1 부분은 식별하고 암호화할 수 있다. 따라서, 제2 암호화 규칙은, 실행될 때, 상이한 암호화 알고리즘, 상이한 암호화 키, 및/또는 등을 사용하여 암호화된 디지털 혼합체(115)의 제2 부분을 식별하고 암호화할 수 있다.In some embodiments, the cloaking pattern may cause the
몇몇의 실시예들에서, 클로킹 패턴들 및/또는 휴대용 동적 규칙 세트(108)는 2 이상의 내포된 암호화 계층들을 구축할 수 있다. 예를 들어, 제1 암호화 규칙의 실행은 암호화된 디지털 혼합체(115)의 제1 부분을 암호화할 수 있다. 따라서, 제2 암호화 규칙의 실행은, 제1 암호화 규칙 및 대응하는 제1 암호해제 규칙에 따라, 암호화된 디지털 혼합체(115)의 암호화된 제1 부분이 또다시 암호화하게 되게 할 수 있다. 따라서, 암호화된 디지털 혼합체(115)의 제1 부분에 나중에 액세스하기 위해, 제2 암호화 규칙에 대응하는 제2 복호화 규칙은 암호화된 디지털 혼합체(115)의 두번 암호화된 제1 부분을 복호화하고 제1 복호화 규칙을 획득하기 위해 실행된다. 그 후 제1 복호화 규칙은 디지털 혼합체(115)의 제1 부분의 일반 텍스트 버전을 생성하기 위해 암호화된 디지털 혼합체(115)의 제1 부분을 복호화하도록 실행된다.In some embodiments, the cloaking patterns and/or portable dynamic rule set 108 may build two or more nested encryption layers. For example, execution of the first encryption rule may encrypt the first portion of the encrypted
클로킹 패턴들이 클로킹된 참가물들의 세트를 생성하기 위해 참가물들(101)에 적용되면, 방법(200)은, 혼합기(110)가 디지털 혼합체(ICTO)(115)를 생성하고 은페된 참가물들의 세트를 디지털 혼합체(115)에 추가하는, 블록(214)으로 진행된다. 몇몇의 실시예들에서, 데이터 셔플링(shuffling), 추가적인 암호화 또는 디지털 서명들, 및/또는 등과 같은 추가적인 보호가 디지털 혼합체(115) 전체에 적용될 수 있다. 그 후 방법(200)은 끝 블록으로 진행되어 종료된다. Once the cloaking patterns are applied to the
당업자는, 설명을 용이하게 하기 위해, 도 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 내에 내포된다. A person skilled in the art will understand that, for ease of explanation, certain steps are omitted in FIG. 2 . However, other steps not expressly shown in FIG. 2 may also be included in
도 8은 본 발명의 다양한 양태들을 따라 ICTO(710)를 구성하는 방법(800)의 대안적인 예시적 실시예를 나타내는 처리흐름도이다. 나타낸 방법(800)은 간단한 ICTO(710)의 생성을 설명하지만; 그러나, 유사한 기술들을 활용하여 복잡한 ICTO를 구성할 수 있다. 몇몇의 실시예들에서, ICTO-인식 애플리케이션, 장치, 또는 운영 체제가 방법(800)을 개시 및 활용하기 위해 구성된다. 간단한 또는 복잡한 ICTO(710)의 구성 및 활용은 특정한 운영 체제 또는 장치에 종속되지 않는다.8 is a process flow diagram illustrating an alternative exemplary embodiment of a
시작(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)의 액세스 보호 기능은 정당한 에이전트 신원들을 검증하고/하거나 정당한 에이전트 서명들을 위해 활용될 수 있다.From
방법(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)를 생성할 수도 있다.The
지능 모듈(709)에 의해 생성된 다른 내부 구성요소들을 및 고유한 수들로서의 시간을 무작위로 적용하지만, 하나 이상의 알고리즘들을 사용하는 혼합기(702)는 어떤 내부 클로킹 패턴들(707)이 각각의 디지털 참가물(701)에게 적용되는지를 결정한다. 그후, 내부 클로킹 패턴들(707)을 선택하기 위해 혼합기(702)에 의해 활용되는 알고리즘들은 신원 모듈(708)에 추가되어, 내부적으로 관리되고, ICTO(710)의 외부적으로 공유/교환/노출되지 않는다. 각각의 참가물(701)는 디지털 혼합체(710) 내의 다른 참가물들(701)을 보호하는 하나 이상의 내부 클로킹 패턴들(707)과 근본적으로 상이할 수 있는 하나 이상의 내부 클로킹 패턴들(707)을 활용하여 보호될 수 있다. 예를 들어, 소유자 데이터(706)와 같은 참가물은 신원 모듈(708)을 보호하기 위해 활용된 하나 이상의 내부 클로킹 패턴들(707) 및 내부 규칙들과 근본적으로 상이한 하나 이상의 클로킹 패턴들 및 내부 규칙들로 보호될 수 있다. 게다가, 하나 이상의 내부 클로킹 패턴들(707)의 활용과, 내부 규칙들 및 고유한 수들로서의 시간의 무작위한 사용은 추후에 각각의 참가물(701)에 대한 신원 모듈(708)에 추가되는 고유한 클로킹 패턴들을 생성한다. 지능 모듈(708)에 임베딩되는 내부 규칙들은 위치, 시간, 인가 요구사항들 등과 같은 것들을 포함할 수 있지만, 이에 제한되는 것은 아니다.Mixer 702, using one or more algorithms, randomly applying time as unique numbers and other internal components generated by
내부 클로킹 패턴들(707)은 ICTO(710) 내에서 참가물(701)를 보호하기 위해 참가물(701)에게 적용되는 변형들, 및 이러한 변형들 중 몇몇이 참가물(701) 중 일부 또는 그 모두에 액세스하기 위해 역행되는 방법을 설명한다. 변형은 데이터 압축, 데이터 정규화, 및 암호화를 포함하지만, 이에 제한된 것은 아니다. 주어진 내부 클로킹 패턴(707)은 이들 기술들 중 하나 이상 및/또는 다른 기술들을 포함할 수 있다. 데이터 압축은 ICTO(710)의 전체 크기를 줄일 수 있어, 추후에 전송 시간 및 대역폭 사용을 향상시킨다. 데이터 압축은 DEFLATE, LZW, LZR, LZX, JBIG, DjVu, 및/또는 등을 포함하지만, 이에 제한되는 것은 아닌, 임의의 적합한 손실없는 압축 알고리즘에 의해 수행될 수 있다. 데이터 정규화는 데이터를 효율적으로 처리될 수 있는 형태로 위치시키는 임의의 적합한 처리에 의해 수행된다. 몇몇의 실시예들에서, 데이터에는, 이진 또는 텍스트 포맷인 데이터를 정규화된 영숫자 스트링으로 변환시키기 위한 Base64 부호화 알고리즘이 행해질 수 있다. 이것은 일례일 뿐, 제한하는 것으로 고려되어서는 안된다. 다른 실시예들에서, 데이터를 정규화하기 위해 다른 알고리즘들이 사용될 수 있다.The
내부 클로킹 패턴들(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 부분에 클로킹 패턴을 식별 및 적용할 수 있다.In some embodiments, a rule specified in
몇몇의 실시예들에서, 휴대용 동적 규칙 세트(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 부분을 디클로킹하도록 실행된다. In some embodiments, the
내부 클로킹 패턴들(707)이 클로킹된 참가물들(720)의 세트를 생성하기 위해 참가물들(701)에 적용되면, 방법(800)은, 혼합기(702)가 디지털 혼합체(즉, ICTO)(710)의 구성을 완료하는 블록(808)으로 진행된다. 몇몇의 실시예들에서, 데이터 셔플링, 추가적인 클로킹 및/또는 등과 같은 추가적인 보호가 디지털 혼합체(710) 전체에 적용될 수 있다. 그 후 방법(800)은 끝 블록으로 진행되어 종료된다. Once the
도 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 내에 내포된다. Other steps not explicitly shown in FIG. 8 may also be included in
도 3은 본 게시사항의 다양한 양태들에 따라 ICTO(115)에 의해 보호된 데이터에 액세스하는 방법(300)의 예시적인 실시예를 나타내는 흐름도이다. ICTO(115)가 활성화된 후, ICTO(115)는 휴대용 동적 규칙 세트(108)에 포함된 규칙 세트에 특정된 것처럼, 그것의 현재 환경, 액세스 시도들, 인가된 에이전트들, 및 다른 조건들을 검사 및 검증하기 시작한다. 이 검사 및 검증은 시작시마다 1번, 활성 기간 동안 계속, 활성 기간 동안 주기적으로, 또는 임의의 다른 적합한 간격으로, 또는 임의의 적합한 상태 변경에 응답하여 수행될 수 있다. 규칙들 및 에이전트 신원이 긍정적으로 확인되면, ICTO(115)는 혼합체의 동형 본질을 유지하고 나머지 데이터는 보호하면서, 자신의 인가된 부분들에 대한 액세스를 허용한다. 3 is a flow diagram illustrating an example embodiment of a
전술된 방법(200)에서와 같이, 몇몇의 실시예들에서, 혼합기(110)는 방법(300)을 수행하도록 구성된다. 몇몇의 실시예들에서, 컴퓨팅 장치의 하나 이상의 프로세서들이, 컴퓨팅 장치가 그렇게 하게 하는 컴퓨터 실행가능 명령들을 실행하면, 방법(300)이 컴퓨팅 장치에 의해 수행된다. 당업자에 의해 이해될 바와 같이, ICTO(115)의 구성 및 활용은 상기 컴퓨팅 장치들의 유형에도 상기 컴퓨팅 장치들에 연관된 어떠한 운영 체제들에도 종속되지 않는다. 데이터 보호 프로토콜이 데이터 세트에 임베딩된다. 활성화된 ICTO(115)는 데이터의 수명 동안 데이터 소유자와 (액세스 시도들, 비인가된 위치들 또는 비인가된 에이전트들에 대한 경보들, 자기-파괴 또는 자기-재생성에 대한 통보와 같은 정보를) 통신할 수 있다. 게다가, ICTO(115) 내의 규칙들은 그들 자신들 및 ICTO(115)의 다른 부분들을 갱신할 수 있으므로, ICTO(115)는 자신의 환경으로부터 학습을 하고, 그 학습에 기초하여 자신의 미래의 동작을 변경할 수 있다. 보호 프로토콜은 맞춤화될 수 있고, 클로킹 패턴들에 특정된 바와 같이 각각의 소유자, 데이터 세트, 및 사용자 조합에 고유하다.As with
시작 블록에서부터, 방법(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)에 액세스하려고 시도하는 에이전트가 그들의 정당성을 다시 구축할 수 없으면, 방어적인 또는 공격적인 동작들이 호출될 수 있다. 에이전트가 새로운 도전 세트를 만족시킬 수 있으면, 액세스는 진행되거나 계속되게 허용될 것이다.From a starting block, the
몇몇의 실시예들에서, 사전-액세스 규칙들은 단지 신원 또는 인증 데이터에 대해 허용된 판독 액세스이지만, 몇몇의 실시예들에서는, 사전-액세스 규칙들이, 예를 들어, ICTO(115)를 열 때(또는 열고자 시도할 때) 액세스 시도 속성들을 기록하기 위해 사용될 수 있는 쓰기 액세스를 또한 가질수도 있다.In some embodiments, the pre-access rules are only read access allowed to identity or authentication data, but in some embodiments the pre-access rules are, for example, when opening the ICTO 115 ( or when attempting to open it) may also have write access, which can be used to record access attempt attributes.
방법(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)을 개시하고 용이하게 하기 위해 구성된다.9 is a flow diagram illustrating an alternative embodiment of a
시작 블록(901)에서부터, 방법(900)은, 디지털 혼합체 또는 ICTO(710)에 액세스하고자 하는 에이전트에 의한 요청에 응답하여, 보호된 디지털 혼합체 또는 ICTO(710) 내의 동적 참가물 제어기(702)가 ICTO-인식 애플리케이션, 장치, 또는 운영 체제에 의해 활성화되는, 블록(902)으로 진행된다. 몇몇의 실시예들에서, 소유자/에이전트 신원 및/또는 하나 이상의 에이전트 신원들은 ICTO(710)에 임베딩된 신원 모듈(708)에 포함되고, ICTO(710)에 액세스하고자 시도하는 에이전트의 신원, 인증, 및 정당성을 검증하기 위한 기준, 에이전트의 정당성을 검사하고 데이터의 현재 상태를 결정하는 지능형 인식을 제공하기 위한 동적 규칙들, 및 클로킹 패턴들에 특정된 바대로 데이터를 클로킹하는 알고리즘을 포함한다. 도전/응답 쌍들, 외부 인가들, 생체 정보, 및/또는 등과 같은 검증 기준이 에이전트의 신원을 인증, 검사, 및/또는 검증하는데 사용될 수 있다. 블록(903)에서, 휴대용 동적 규칙 세트(711)를 활용하여, 요청하는 에이전트들은 효율적인, 완벽한, 완성된, 및 관련된 콘텍스트에서 검증되고, 디지털 혼합체(710)에 대한 액세스가 허락된다.Starting at a
방법(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의 비인가된 움직임 등이 포함되지만, 이에 제한된 것은 아니다.Other steps not explicitly shown in FIG. 9 may also be included in
따라서, 본 발명은 자기-포함되고, 자기-제어하고, 자기-관리하는 ICTO를 결과로 갖는다. 모든 액세스 권리들, 업무 규칙들, 어플라이언스 규칙들, 감사 요구사항들, 및 데이터 소유자에 의해 결정된 유사한 규칙들 및 제한사항들은 PDRS에 포함되고 ICTO에 임베딩되어, 데이터 소유자 대신 PDRS에 의해 제어되고(온라인이든 오프라인이든, 제어는 ICTO에 유지됨), PDRS에 의해 실행된다. PDRS는, ICTO의 생성시에 및 그 일생 동안, 자기-관리하고 제어하기 위한 수단이다. 그것은 ICTO와 함께 이동하고, 데이터 소유자에 의해 구축된 규칙들을 항상 준수하고, 이에 제한되는 것은 아니지만 (위치, 시간, 및 장치와 같은) 환경에 기초하여 적응할 수 있으므로(즉, 동적임), 학습된 정보에 기초하여 자가 관리하고 결정을 내린다. PDRS는 제어 및 관리를 유지하기 위해 어떠한 외부 소스들(예를 들어, IAM 또는 SIEM 시스템) 또는 특정한 운영 환경들을 요구하지 않는다. PDRS는 ICTO 내에서의 ICTO의 완벽한 관리를 제어한다. PDRS는 영구적으로 ICTO에 임베딩되고, ICTO와 함께 이동하므로, 자기-포함되고, 자기-제어되고, 자기-관리하는 엔티티를 생성한다.Thus, the present invention results in a self-contained, self-regulating, self-managing ICTO. All access rights, business rules, appliance rules, audit requirements, and similar rules and restrictions determined by the data owner are included in the PDRS and embedded in the ICTO, controlled by the PDRS on behalf of the data owner (online Whether or not offline, control remains in the ICTO), implemented by the PDRS. The PDRS is a means for self-management and control, at the time of creation and during the life of the ICTO. It moves with the ICTO, always obeys the rules established by the data owner, and can adapt (i.e. dynamic) based on the environment (such as, but not limited to location, time, and device) (i.e. it is dynamic), Self-manage and make informed decisions. PDRS does not require any external sources (eg, IAM or SIEM system) or specific operating environments to maintain control and management. The PDRS controls the complete management of the ICTO within the ICTO. The PDRS is permanently embedded in the ICTO and moves with the ICTO, creating a self-contained, self-controlled, self-managing entity.
도 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)에 포함시킨다.4 is a schematic diagram illustrating an exemplary use case for an embodiment of this disclosure. Those of ordinary skill in the art will recognize that while this use case is illustrative only and is presented to illustrate certain features of the disclosure, this use case may not utilize or represent all features of the technology disclosed herein. In FIG. 4 , a
제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)에 액세스하도록 허용하지 않는다.The
대안적인 처리 흐름에서는, 제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)에 액세스하도록 허락되지 않는다.In an alternative processing flow, the
인증 서비스들을 제공하는 신뢰적인 서비스(409)가 설명되었지만, 다른 유형들의 신뢰적인 서비스들이 사용될 수 있다. 예를 들어, 단지 주어진 시간 기간 동안만 액세스를 허용한다는 규칙이 ICTO(408)에 포함되어 있으면, 신뢰되는 날짜-시간 값을 제공하는 신뢰적인 서비스(409)가 사용될 수 있다. 또 다른 예로서, ICTO(408)가 에이전트에게 액세스를 허용받았는지를 결정하는 동안, 신뢰적인 서비스(409)는 다른 사용자들로부터의 입력을 얻고자 할 수 있다. 나타낸 바와 같이, 신뢰적인 서비스(409)는 이메일, SMS, 또는 임의의 다른 적합한 기술을 통해 제1 사용자(418)에게 액세스 시도를 알릴 수 있으며, 제1 사용자(418)로부터 대응하는 승인이 수신되기 전까지 시도된 액세스가 허용되기를 기다릴 수 있다.Although a trusted
이 사용 사례는 본 게시사항의 몇몇의 이점들을 나타낸다. 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)는 액세스로부터 보호된다.This use case illustrates some of the benefits of this posting. Once the
이 단순한 사용 사례가 본 게시사항의 몇몇의 특징들을 나타내지만, 보다 훨씬 복잡한 사용 사례들이 또한 가능하다. 예를 들어, 도 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는 감사가 또한 로그되면 파괴된다.Although this simple use case represents some of the features of this post, much more complex use cases are also possible. For example, FIG. 5 is a schematic diagram illustrating aspects of an exemplary workflow for an embodiment of this disclosure. A first user (“User A”), while maintaining confidentiality throughout the transaction, provides access to a second user (“User B”), a third user (“User C”), and a fourth user (“User D”). may have a set of documents (“Documents X, Y, and Z”) to be approved and signed by Document X needs to be signed by user B. Document Y needs to be signed by user B and user C only after document X is signed. Document Z needs to be signed by user D only after documents X and Y have been signed. Additionally, Document X and Document Y must be signed during business hours (eg, 9:00 am to 5:00 pm) to ensure compliance with local company policies, and Document Z (working draft of Document Y) must be As soon as the signatures of X and Y are approved, they must be signed, the audit is loaded, after which document Z is destroyed if the audit is also logged.
본 게시사항의 실시예들은 이러한 작업흐름을 지원할 것이다. 사용자 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는 처리를 모니터할 수 있다. 규칙들 각각은 각각의 사용자가 식별되는 방법, 관련 특권들, 사용자들이 문서들에 액세스하도록 허용된 장치들, 및 사용자들이 문서들에 액세스하도록 허용된 위치들을 특정할 수 있다.Embodiments of this disclosure will support this workflow. User A creates an ICTO comprising documents X, Y, and Z. User A creates an access rule for document X that allows user B to review and sign document X. User A creates an access rule for document Y that allows user B and user C to review and sign document Y once a signature for document X is obtained. user A creates an access rule on document X that allows user C to verify document X to verify a signature (or an access rule on document X may detect a signature provided on document X); When a signature is detected, it is possible to dynamically update the access rules for document Y that allow document Y to be signed. User A creates an access rule for document Z that checks signatures for documents X and Y, and if these signatures are detected, user D is allowed to sign document Z. Each of these rules also enforces the associated time requirements and disallows access unless the time requirements are met. User A can also create a rule to report any access to any documents to user A, so that user A can monitor the processing. Each of the rules may specify how each user is identified, associated privileges, devices from which users are permitted to access documents, and locations from which users are permitted to access documents.
예를 들어, 사용자 B가 ICTO를 수신하면, 사용자 B는 ICTO 내의 실행가능 코드를 활성화하도록 구성된 애플리케이션을 호출한다. 실행가능 코드는 신뢰적인 신원 서비스르 참조하거나, 규칙에 포함된 도전에 대한 응답을 확인하거나, 또는 임의의 다른 방법으로 사용자 B의 신원을 결정한다. 신원, 시간, 위치, 및 다른 요구사항들이 만족되면, 사용자 B는 문서 X에 액세스하도록 허락되지만, 임의의 다른 문서들에는 액세스하지 못한다. 사용자 B가 문서 X에 서명한 후, ICTO는 다음 사용자에게 전달되고, ICTO가 나머지 작업 흐름을 지나면서, 문서들에 대한 보호들이 시행된다.For example, when user B receives an ICTO, user B invokes an application configured to activate executable code within the ICTO. The executable code determines the identity of user B by referencing a trusted identity service, verifying a response to a challenge contained in a rule, or in any other way. If identity, time, location, and other requirements are met, user B is allowed to access document X, but not to any other documents. After user B signs document X, the ICTO is passed on to the next user, and as the ICTO goes through the rest of the workflow, the protections for the documents are enforced.
대안적으로, 예를 들어, 사용자 B는 ICTO를 수신하고, 사용자 B는 ICTO 내의 PDRS를 활성화하는 ICTO 인식 애플리케이션을 호출한다. 실행가능 코드는 다수의 도전/응답 쌍들 및/또는 외부 인가들 코드들을 나타내는, ICTO에 저장된 신원 증명서들을 활용하여 사용자 B의 신원을 결정한다. 신원, 시간, 위치, 및 다른 요구사항들이 만족되면, 사용자 B는 문서 X에 액세스하도록 허용되지만, 임의의 다른 문서들에는 액세스하지 못한다. 사용자 B가 문서 X에 서명한 후, ICTO는 다음 사용자에게 전달되고, ICTO가 나머지 작업 흐름을 지나면서, 문서들에 대한 보호들이 시행된다.Alternatively, for example, user B receives the ICTO, and user B invokes the ICTO-aware application that activates the PDRS in the ICTO. The executable code determines the identity of User B utilizing identity credentials stored in the ICTO, representing multiple challenge/response pairs and/or external authorization codes. If identity, time, location, and other requirements are met, user B is allowed to access document X, but not to any other documents. After user B signs document X, the ICTO is passed on to the next user, and as the ICTO goes through the rest of the workflow, the protections for the documents are enforced.
또 다른 예시적인 실시예에서, 보호 프로토콜이 휴대용 신원 어플라이언스(portable identity appliance; PIA)에 도입된다. PIA는 반사적이고 자동적인 인증 방법을 사용하여 휴대용의 및 이산적인 디지털 신원을 정의한다. PIA는 궁극적으로 통합 ICTO 프로토콜을 구현하므로, 자체가 지능형 객체가 된다. 몇몇의 실시예들에서, PIA는 소유자 데이터(예를 들어, 파일들, 이미지들 등)를 포함하지 않는 ICTO이다. PIA는 소유자에 대한 공개적으로 사용가능한 추가 정보(명함이나 공개 디렉터리에 기재된 정보와 유사함)에 따라 PDRS를 활용하는 ICTO를 포함하지만, 그러나 소유자 데이터를 반드시 포함하는 것은 아니다. 따라서, PIA는 소유자 신원을 반박의 여지 없이 나타내는 목적을 갖는, 자기-보호하고, 자기-제어하고, 자기-관리하는 ICTO이다.In another exemplary embodiment, a protection protocol is introduced into a portable identity appliance (PIA). PIA defines portable and discrete digital identities using reflective and automatic authentication methods. The PIA ultimately implements a unified ICTO protocol, thus becoming an intelligent object in itself. In some embodiments, the PIA is an ICTO that does not contain owner data (eg, files, images, etc.). PIAs include ICTOs that utilize PDRS based on additional publicly available information about the owner (similar to information on business cards or public directories), but do not necessarily include owner data. Thus, the PIA is a self-protecting, self-regulating, self-managing ICTO with the purpose of undisputed representation of the owner's identity.
도 10-13에 나타낸 바와 같이, 보호된 PIA가 생성되면, 그것은 보호된 데이터 객체를 생성하고, 하나 이상의 당사자들 간의 안전한 메시지 전송을 용이하게 하고(예를 들어, 송신자 및 수신자 정당성 및 데이터 무결성을 검사하고 유지함), 웹 사이트들, 포털들, 네트워크들, 또는 다른 자원들을 보증하거나 감시하는데 사용될 수 있는 안전하고 믿을만한 신원을 제공하기 위한 데이터와 조합될 수 있다.10-13, once a protected PIA is created, it creates a protected data object, facilitates secure message transmission between one or more parties (e.g., enforces sender and receiver legitimacy and data integrity) data to provide a secure and trusted identity that can be used to endorse or monitor web sites, portals, networks, or other resources.
따라서 PIA는 기존의 서명 기술들에 상당한 이점들을 제공한다. 기존의 서명 기술들은 전형적으로 인증 기관으로부터 구매한 증명서에 기초한다. 증명서들은 누가 그 증명서를 가지고 있는지 및 누가 그 증명서를 발행했는지에 기초하여 신뢰할만한 가치가 있다고 고려된다. 그러나, 증명서들은 도난되고, 스푸핑되고(spoofed), 고유하게 정의된 신원에 기초하지 않을 수 있다. Thus, PIA provides significant advantages over existing signature technologies. Existing signature technologies are typically based on certificates purchased from a certificate authority. Certificates are considered worthy of trust based on who has the certificate and who issued the certificate. However, credentials may be stolen, spoofed, and not based on a uniquely defined identity.
따라서, ICTO는 "서명"이 요구되는 신원에 대한 반박의 여지가 없는 검증을 위해 사용될 수 있다. 서명 ICTO들은 완벽한 신원 검증을 요구하는 법률 문서들을 포함하는 ICTO와 관련된 외부 신원 검증으로 활용될 수 있다. 서명 ICTO(들)는 본래의 ICTO에 포함된 "최종" 법률 문서들의 (임베딩된) 부분이 될 수 있다. 게다가, 서명 ICTO(들)은 서명을 필요로하는 소유자 문서들에 추가하여 추가적인 보호된 데이터 구성요소들로서 ICTO 내에 포함(즉, 내포)될 수 있으므로, 문서들과 함께 이동하는 요구된 서명자들을 사전-정의하고 사전-검증을 제공한다. 서명 ICTO(들)은 또한 ICTO에는 포함되지 않지만 ICTO 인식 애플리케이션에는 포함되는, 문서들 내의 반박의 여지가 없는 신원 검증으로 사용될 수 있다. 예를 들어, 그들은 전자적으로 조건들의 수용을 제공하거나 개인 정보 고지들에 대한 인지를 제공하는데 사용될 수 있다.Thus, the ICTO can be used for undisputed verification of the identity for which a "signature" is required. Signatory ICTOs can be used as external identity verifications associated with ICTOs, including legal documents requiring full identity verification. The signature ICTO(s) may be (embedded) part of the "final" legal documents contained in the original ICTO. Moreover, the signature ICTO(s) can be included (ie nested) within the ITO as additional protected data elements in addition to the owner documents requiring a signature, thus pre-pre-receiving the requested signers traveling with the documents. Define and provide pre-validation. The signature ICTO(s) can also be used as an irrefutable identity verification in documents that are not included in ICTO but are included in ICTO-aware applications. For example, they may be used to electronically provide for acceptance of conditions or to provide acknowledgment of privacy notices.
서명 ICTO들은, 문서 서명 콘텍스트에서, "법적으로 검증 및 공증"되지만 또한 반박의 여지가 없는 디지털 버전의 소유자라고 고려될 수 있다. 소유자 데이터를 갖는 ICTO와 같이, 각각의 서명 ICTO는 고유하므로, 서명 ICTO의 실제 소유자인척하는 사람 또는 엔티티에 의해 "스푸핑"되지 않는다. 추가적으로, 서명 ICTO는 사람을 나타내서는 않되고; 그것은 기계를 나타낼 수 있으므로, 디지털 처리 흐름은 처리될 인가의 타당성을 확인하기 위한 방식을 따라 서명들을 요청하고; 이 서명은 문서화되야 한다. 서명 ICTO들은, 오늘날 표준 디지털 서명이 요구되는 어느 곳에서나 사용될 수 있지만, 오늘날 디지털 서명들이 사용되는 방법에만 제한되지는 않는다. 전술된 바와 같이, 몇몇의 실시예들에서는, 사용하기 위해 사전에 필요한 것으로 ICTO-인식이 있어야만 한다.Signing ICTOs, in the context of document signing, can be considered "legally verified and notarized" but also the owners of the indisputable digital version. As with ICTOs with owner data, each signature ICTO is unique and therefore is not "spoofed" by a person or entity pretending to be the real owner of the signature ICTO. Additionally, the signature ICTO must not represent a person; As it may represent a machine, the digital processing flow requests signatures along the way to validate the authorization to be processed; This signature must be documented. Signature ICTOs can be used wherever standard digital signatures are required today, but are not limited to how digital signatures are used today. As mentioned above, in some embodiments it must be ICTO-aware as a prerequisite to use.
당업자는, 상기 사용 사례들은 단지 예시적인 것일 뿐, 본 명세서에 게시된 주제에 대한 많은 다른 사용 사례들이 가능하다는 것을 인식할 것이다. 예를 들어, 휴대용 동적 규칙 세트들은 실행가능 코드를 포함하므로, ICTO는 ICTO의 보안 검사들을 만족할 때에만 실행가능한, 실행가능 콘텐츠를 보호할 수 있다. 또한, ICTO가 임의의 규칙에 대한 성공 또는 실패에 응답하여 이러한 콘텐츠를 실행할 수 있으므로, ICTO는 성공한 액세스들을 로그시키거나 데이터 소유자에게 경보하는 것과 같은 동작을 취하여, 비인가된 액세스 시도를 탐지하면, 자기-파괴 시퀀스 또는 다른 동작들을 개시한다. Those of skill in the art will recognize that the above use cases are exemplary only, and that many other use cases for the subject matter disclosed herein are possible. For example, since portable dynamic rule sets contain executable code, an ICTO can protect executable, executable content only when it meets the security checks of the ICTO. In addition, since the ICTO can execute such content in response to success or failure to any rule, the ICTO can take actions such as logging successful accesses or alerting the data owner, so that when it detects an unauthorized access attempt, it can self - Initiate a destruction sequence or other actions.
대안적으로, 본 명세서에 게시된 주제에 대한 많은 다른 사용 사례들이 있다. 예를 들어, ICTO는 독립적인 자기-관리를 위한 실행가능 코드를 포함하므로, ICTO는 ICTO에 포함되고 데이터 소유자에 의해 명시된 액세스에 대한 규칙들 및 보안 검사들을 만족할 때만 액세스가능한 콘텐츠를 보호할 수 있다. 또한, ICTO는 임의의 규칙에 대한 성공 또는 실패에 응답하여, 그러한 액세스들을 로그시키고/시키거나 데이터 소유자에게 경보하는 것과 같은 동작을 취하여, 비인가된 액세스 시도를 탐지하면, 자기-파괴 시퀀스 또는 다른 동작들을 개시한다. Alternatively, there are many other use cases for the subject matter published herein. For example, since the ICTO contains executable code for independent self-management, the ICTO can only protect accessible content when it is included in the ICTO and meets the rules and security checks for access specified by the data owner. . In addition, in response to the success or failure of any rule, the ICTO may take actions such as logging such accesses and/or alerting the data owner to detect an unauthorized access attempt, a self-destructive sequence or other action. start them
도 6은 본 게시사항의 실시예들과 함께 사용하기에 적합한 컴퓨팅 장치(500)의 예시적인 하드웨어 구조를 나타내는 블록도이다. 당업자들 및 다른 이들은, 컴퓨팅 장치(500)가, 이에 제한된 것은 아니지만, 데스크톱 컴퓨터들, 서버 컴퓨터들, 랩 톱 컴퓨터들, 임베딩된 컴퓨팅 장치들, ASIC(application specific integrated circuit)들, 스마트폰들, 테이블 컴퓨터들, 및/또는 등을 포함하는 현재 사용가능하거나 아직 개발중인, 임의의 개수의 장치들 중 임의의 하나일 수 있다는 것을 인식할 것이다. 그것의 가장 기본적인 구성에서, 컴퓨팅 장치(500)는 통신 버스(506)에 의해 연결된 적어도 하나의 프로세서(502) 및 시스템 메모리(504)를 포함한다. 장치의 정확한 구성 및 유형에 따라, 시스템 메모리(504)는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), EEPROM, 플래시 메모리, 또는 유사한 메모리 기술과 같은 휘발성 또는 비휘발성 메모리일 수 있다. 당업자들 및 다른 이들은, 시스템 메모리(504)가 전형적으로, 프로세서(502)에 의해 즉시 액세스될 수 있고/있거나 현재 동작되고 있는 데이터 및/또는 프로그램 모듈들을 저장하고 있다는 것을 인식할 것이다. 이에 대하여, 프로세서(502)는 명령들의 실행은 지원함으로써 컴퓨팅 장치(500)의 컴퓨터적인 중심으로서 동작한다.6 is a block diagram illustrating an exemplary hardware architecture of a
도 6에 더욱 나타낸 바와 같이, 컴퓨팅 장치(500)는 네트워크를 통해 다른 장치들과 통신하기 위한 하나 이상의 구성요소들을 포함하는 네트워크 인터페이스(510)를 포함할 수 있다. 본 게시사항의 실시예들은 보통의 네트워크 프로토콜들을 사용하여 통신을 수행하기 위해 네트워크 인터페이스(510)를 활용하는 기본적인 서비스들에 액세스할 수 있다. 도 6에 나타낸 예시적인 실시예에서, 컴퓨팅 장치(500)는 또한 저장 매체(508)를 포함한다. 그러나, 서비스들은 데이터를 국부적인 저장 매체에 지속시키기 위한 수단들을 포함하지 않는 컴퓨팅 장치를 사용하여 액세스될 수도 있다. 이에 따라, 도 6에 나타낸 저장 매체(508)는 저장 매체(508)가 선택적이라는 것을 나타내기 위해 점선으로 나타나있다. 아무튼, 저장 매체(508)는, 이에 제한된 것은 아니지만, 하드 드라이브, 고체 상태 드라이브, CD ROM, DVD, 또는 다른 디스트 저장소, 자기 카세트들, 자기 테이프, 자기 디스크 저장소 등과 같은 정보를 저장할 수 있는 임의의 기술을 사용하여 구현된, 휘발성 또는 비휘발성, 분리형 또는 비분리형일 수 있다.As further shown in FIG. 6 ,
본 명세서에 사용된 바와 같이, "컴퓨터 판독가능 매체"란 용어는 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보를 저장할 수 있는 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성 및 분리형 및 비분리형 매채를 포함한다. 이에 관련하여, 도 6에 나타낸 시스템 메모리(504) 및 저장 매체(508)는 단지 컴퓨터 판독가능 매체의 예들일 뿐이다.As used herein, the term "computer readable medium" refers to volatile embodied in any method or technology that can store information, such as computer readable instructions, data structures, program modules, or other data. and non-volatile and separable and non-removable media. In this regard, the
프로세서(502), 시스템 메모리(504), 통신 버스(506), 저장 매체(508), 및 네트워크 인터페이스(510)를 포함하는 컴퓨팅 장치들에 대한 적합한 구현들이 알려져있고 상업적으로 구매가능하다. 용이하게 나타내기 위해, 그리고 주장된 주제를 이해하는데 중요하지 않으므로, 도 6에는 많은 컴퓨팅 장치들의 전형적인 구성요소들 중 몇몇은 나타내지 않았다. 이에 관련하여, 컴퓨팅 장치(500)는 키보드, 마우스, 마이크로폰, 터치 입력 장치, 및/또는 등과 같은 입력 장치들을 포함할 수 있다. 마찬가지로, 컴퓨팅 장치(500)는 또한 표시 장치, 스피커들, 프린터 및/또는 등과 같은 출력 장치들을 포함할 수 있다. 모든 이들 장치들은 본 기술에 잘 알려져 있으므로, 그들은 본 명세서에 더욱 설명되지 않는다.Suitable implementations for computing devices including a
따라서, 본 명세서에 설명된 실시예들 및 예들은, 당업자가 특정 사용들을 위해 적합하다고 고려되는 다양한 실시예들에서 및 다양한 변형들과 함께 본 발명을 가장 잘 활용하게 하기 위해, 본 발명의 원리들 및 그것의 실제 응용을 가장 잘 나타내기 위해 선택되고 설명된 것임이 이해되어야 한다. 이 발명에 대한 특정 실시예들이 설명되었지만, 그들이 완벽한 것으로 고려되어서는 안된다. 당업자들에게 명확한 여러 변형들이 존재한다.Accordingly, the embodiments and examples described herein are in accordance with the principles of the present invention to enable those skilled in the art to best utilize the invention in various embodiments and with various modifications considered suitable for the particular use. and it is to be understood that it has been chosen and described to best represent its practical application. While specific embodiments of this invention have been described, they should not be considered exhaustive. There are several variations that will be apparent to those skilled in the art.
102: 객체 설명
104: 혼합물 메타데이터
106: 소유자 데이터
107: 클로킹 패턴들
109: 신원 모듈102: object description
104: mixture metadata
106: owner data
107: clocking patterns
109: identity module
Claims (21)
하나 이상의 외부 클로킹 패턴들에 의해 보호되는 기계 실행가능 코드를 포함한 휴대용 동적 규칙 세트를 포함하는 컴퓨터-기반의 지능형 암호 전달 객체를 제공하는 단계;
상기 기계 실행가능 코드를 검색하기 위해 외부 클로킹 패턴들을 역행하는 단계;
상기 기계 실행가능 코드를 실행하고, 이에 응답하여:
상기 휴대용 동적 규칙 세트를 사용하여, 외부 에이전트의 신원을 확인하는 단계;
상기 외부 에이전트의 신원을 확인할 때, 상기 컴퓨터-기반의 지능형 암호 전달 객체에 상기 외부 에이전트의 신원을 나타내는 데이터를 저장하는 단계; 및
하나 이상의 내부 클로킹 패턴들을 사용하여 상기 외부 에이전트의 신원을 나타내는 데이터를 보호하는 단계를 포함하는, 컴퓨터-구현된 데이터 보안 방법.A computer-implemented method of data security comprising:
providing a computer-based intelligent cryptographic transfer object comprising a portable dynamic rule set comprising machine-executable code protected by one or more external cloaking patterns;
reversing external clocking patterns to retrieve the machine executable code;
Execute the machine executable code, in response to:
using the portable dynamic rule set to verify the identity of a foreign agent;
when verifying the identity of the foreign agent, storing data indicative of the identity of the foreign agent in the computer-based intelligent cryptographic transfer object; and
and protecting data indicative of the identity of the foreign agent using one or more internal cloaking patterns.
하나 이상의 외부 클로킹 패턴들에 의해 보호되는 기계 실행가능 코드를 포함한 휴대용 동적 규칙 세트를 포함하는 컴퓨터-기반의 지능형 암호 전달 객체를 제공하는 것;
상기 기계 실행가능 코드를 검색하기 위해 외부 클로킹 패턴들을 역행하는 것;
상기 기계 실행가능 코드를 실행하고, 이에 응답하여:
상기 휴대용 동적 규칙 세트를 사용하여, 외부 에이전트의 신원을 확인하는 것;
상기 외부 에이전트의 신원을 확인할 때, 상기 컴퓨터-기반의 지능형 암호 전달 객체에 상기 외부 에이전트의 신원을 나타내는 데이터를 저장하는 것; 및
하나 이상의 내부 클로킹 패턴들을 사용하여 상기 외부 에이전트의 신원을 나타내는 데이터를 보호하는 것을 포함하는 동작들을 수행하도록 프로그램된 하나 이상의 컴퓨터 프로세서들을 포함하는, 시스템.In the system:
providing a computer-based intelligent cryptographic transfer object comprising a portable dynamic rule set comprising machine-executable code protected by one or more external cloaking patterns;
reversing external clocking patterns to retrieve the machine executable code;
Execute the machine executable code, in response to:
using the portable dynamic rule set to verify the identity of a foreign agent;
when verifying the identity of the foreign agent, storing data indicative of the identity of the foreign agent in the computer-based intelligent cryptographic transfer object; and
and one or more computer processors programmed to perform operations comprising protecting data indicative of the identity of the foreign agent using one or more internal cloaking patterns.
하나 이상의 컴퓨터 프로세서들에 의해 실행될 때, 상기 컴퓨터 프로세서들로 하여금:
하나 이상의 외부 클로킹 패턴들에 의해 보호되는 기계 실행가능 코드를 포함한 휴대용 동적 규칙 세트를 포함하는 컴퓨터-기반의 지능형 암호 전달 객체를 제공하는 것;
상기 기계 실행가능 코드를 검색하기 위해 외부 클로킹 패턴들을 역행하는 것;
상기 기계 실행가능 코드를 실행하고, 이에 응답하여:
상기 휴대용 동적 규칙 세트를 사용하여, 외부 에이전트의 신원을 확인하는 것;
상기 외부 에이전트의 신원을 확인할 때, 상기 컴퓨터-기반의 지능형 암호 전달 객체에 상기 외부 에이전트의 신원을 나타내는 데이터를 저장하는 것; 및
하나 이상의 내부 클로킹 패턴들을 사용하여 상기 외부 에이전트의 신원을 나타내는 데이터를 보호하는 것을 포함하는 동작들을 수행하게 하는, 명령들이 저장된 비일시적 컴퓨터-판독가능 매체.A non-transitory computer-readable medium having instructions stored thereon:
When executed by one or more computer processors, the computer processors cause:
providing a computer-based intelligent cryptographic transfer object comprising a portable dynamic rule set comprising machine-executable code protected by one or more external cloaking patterns;
reversing external clocking patterns to retrieve the machine executable code;
Execute the machine executable code, in response to:
using the portable dynamic rule set to verify the identity of a foreign agent;
when verifying the identity of the foreign agent, storing data indicative of the identity of the foreign agent in the computer-based intelligent cryptographic transfer object; and
A non-transitory computer-readable medium having stored thereon instructions for performing operations comprising protecting data indicative of the identity of the foreign agent using one or more internal cloaking patterns.
Applications Claiming Priority (4)
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 |
KR1020207027532A KR102202775B1 (en) | 2014-04-17 | 2015-04-17 | System and methods for using cipher objects to protect data |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207027532A Division KR102202775B1 (en) | 2014-04-17 | 2015-04-17 | System and methods for using cipher objects to protect data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210006021A KR20210006021A (en) | 2021-01-15 |
KR102333272B1 true KR102333272B1 (en) | 2021-12-02 |
Family
ID=55020076
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167032120A KR102161975B1 (en) | 2014-04-17 | 2015-04-17 | System and methods for using cipher objects to protect data |
KR1020207027532A KR102202775B1 (en) | 2014-04-17 | 2015-04-17 | System and methods for using cipher objects to protect data |
KR1020217000496A KR102333272B1 (en) | 2014-04-17 | 2015-04-17 | System and methods for using cipher objects to protect data |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167032120A KR102161975B1 (en) | 2014-04-17 | 2015-04-17 | System and methods for using cipher objects to protect data |
KR1020207027532A KR102202775B1 (en) | 2014-04-17 | 2015-04-17 | System and methods for using cipher objects to protect data |
Country Status (10)
Country | Link |
---|---|
EP (1) | EP3132565A4 (en) |
JP (3) | JP6646281B2 (en) |
KR (3) | KR102161975B1 (en) |
AU (1) | AU2015284773A1 (en) |
CA (2) | CA3094011C (en) |
IL (1) | IL248427B (en) |
MX (1) | MX2016013622A (en) |
RU (1) | RU2016144756A (en) |
SG (1) | SG11201608679RA (en) |
WO (1) | WO2016003527A2 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130152160A1 (en) | 2011-12-09 | 2013-06-13 | Echarge2 Corporation | Systems and methods for using cipher objects to protect data |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3788201B2 (en) * | 2000-06-07 | 2006-06-21 | 日本電信電話株式会社 | Information capsule management method and storage medium storing information capsule management program |
JP2002353953A (en) * | 2001-05-24 | 2002-12-06 | Nippon Telegr & Teleph Corp <Ntt> | Contents-providing system having utilization form control function, contents utilization form control method, program for provider device, program for user device, recording medium for program for the provider device, recording medium for program for the user device and partial vending system for contents |
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 (en) * | 2004-09-30 | 2006-04-13 | Toshiba Corp | Distribution information reproduction device, program and method |
JP2009252120A (en) * | 2008-04-09 | 2009-10-29 | Nec System Technologies Ltd | Program accounting management device and capsule execution processing device |
GB2467580B (en) * | 2009-02-06 | 2013-06-12 | Thales Holdings Uk Plc | System and method for multilevel secure object management |
-
2015
- 2015-04-17 MX MX2016013622A patent/MX2016013622A/en unknown
- 2015-04-17 CA CA3094011A patent/CA3094011C/en active Active
- 2015-04-17 WO PCT/US2015/026405 patent/WO2016003527A2/en active Application Filing
- 2015-04-17 KR KR1020167032120A patent/KR102161975B1/en active IP Right Grant
- 2015-04-17 AU AU2015284773A patent/AU2015284773A1/en not_active Abandoned
- 2015-04-17 SG SG11201608679RA patent/SG11201608679RA/en unknown
- 2015-04-17 CA CA2946141A patent/CA2946141C/en active Active
- 2015-04-17 KR KR1020207027532A patent/KR102202775B1/en active Application Filing
- 2015-04-17 JP JP2016563135A patent/JP6646281B2/en active Active
- 2015-04-17 RU RU2016144756A patent/RU2016144756A/en not_active Application Discontinuation
- 2015-04-17 KR KR1020217000496A patent/KR102333272B1/en active IP Right Grant
- 2015-04-17 EP EP15814143.2A patent/EP3132565A4/en not_active Ceased
-
2016
- 2016-10-20 IL IL248427A patent/IL248427B/en active IP Right Grant
-
2019
- 2019-12-25 JP JP2019234053A patent/JP6741852B2/en active Active
-
2020
- 2020-07-27 JP JP2020126695A patent/JP6982142B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
---|---|
WO2016003527A3 (en) | 2016-04-07 |
SG11201608679RA (en) | 2016-11-29 |
JP6741852B2 (en) | 2020-08-19 |
IL248427B (en) | 2018-11-29 |
RU2016144756A3 (en) | 2018-11-07 |
JP2020184374A (en) | 2020-11-12 |
KR20170037881A (en) | 2017-04-05 |
CA2946141A1 (en) | 2016-01-07 |
KR20210006021A (en) | 2021-01-15 |
JP6646281B2 (en) | 2020-02-14 |
JP2020064655A (en) | 2020-04-23 |
KR102202775B1 (en) | 2021-01-14 |
JP2017514229A (en) | 2017-06-01 |
RU2016144756A (en) | 2018-05-21 |
KR20200113035A (en) | 2020-10-05 |
AU2015284773A1 (en) | 2016-11-24 |
JP6982142B2 (en) | 2021-12-17 |
WO2016003527A2 (en) | 2016-01-07 |
CA3094011C (en) | 2023-01-24 |
MX2016013622A (en) | 2017-06-23 |
BR112016024193A2 (en) | 2017-10-10 |
NZ726067A (en) | 2021-04-30 |
KR102161975B1 (en) | 2020-10-07 |
CA3094011A1 (en) | 2016-01-07 |
NZ763404A (en) | 2021-06-25 |
CA2946141C (en) | 2020-11-17 |
EP3132565A2 (en) | 2017-02-22 |
EP3132565A4 (en) | 2017-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12008117B2 (en) | System and methods for using cipher objects to protect data | |
JP6542962B2 (en) | Delayed data access | |
US20130152160A1 (en) | Systems and methods for using cipher objects to protect data | |
US20240265120A1 (en) | System and methods for using cipher objects to protect data | |
KR102333272B1 (en) | System and methods for using cipher objects to protect data | |
Kamble | Data Sharing and Privacy Preserving Access Policy of Cloud Computing Using Security Dhanashri Kamble, Rajni Patel, and Prajakta Deshmukh | |
Kamble et al. | Data Sharing and Privacy Preserving Access Policy of Cloud Computing Using Security | |
NZ726067B2 (en) | System and methods for using cipher objects to protect data | |
NZ763404B2 (en) | System and methods for using cipher objects to protect data | |
BR112016024193B1 (en) | SYSTEM AND METHODS FOR USING ENCRYPTION OBJECTS TO PROTECT DATA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |