KR102037656B1 - Data files protection - Google Patents
Data files protection Download PDFInfo
- Publication number
- KR102037656B1 KR102037656B1 KR1020177031893A KR20177031893A KR102037656B1 KR 102037656 B1 KR102037656 B1 KR 102037656B1 KR 1020177031893 A KR1020177031893 A KR 1020177031893A KR 20177031893 A KR20177031893 A KR 20177031893A KR 102037656 B1 KR102037656 B1 KR 102037656B1
- Authority
- KR
- South Korea
- Prior art keywords
- data file
- user
- file
- stub
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/6272—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 by registering files or documents with a third party
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- H04L29/00—
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
데이터 파일들의 보호가 개시되고, 상기 데이터 파일들의 보호는: 데이터가 클라이언트 디바이스에 의해 생성되었다는 표시에 응답하여, 데이터 파일과 연관된 보안 분류를 결정하는 단계; 데이터 파일과 연관된 보안 분류가 기밀 파일을 포함하는 것을 결정하는 단계; 지정된 가상 저장 영역에 데이터 파일을 저장하는 단계; 및 데이터 파일의 원래 저장 위치에서 스터브 파일을 생성하는 단계를 포함하고, 스터브 파일은 데이터 파일과 연관된 뷰잉 허가 및 지정된 가상 저장 영역에 데이터 파일의 저장 위치를 포함한다. Protection of the data files is initiated, the protection of the data files comprising: in response to an indication that the data was generated by the client device, determining a security classification associated with the data file; Determining that the security classification associated with the data file includes a confidential file; Storing a data file in a designated virtual storage area; And generating a stub file at the original storage location of the data file, wherein the stub file includes a viewing permission associated with the data file and a storage location of the data file in the designated virtual storage area.
Description
본 출원은 모든 목적을 위해 참조로서 여기에 통합된 2015년 6월 2일에 출원된 발명의 명칭이 "데이터 파일들을 보호하기 위한 방법, 장치 및 단말 장비"인 중화 인민 공화국 출원 번호 제 201510295401.9 호에 대한 우선권을 주장한다.This application is incorporated by reference in the People's Republic of China Application No. 201510295401.9, entitled "Methods, Devices and Terminal Equipment for Protecting Data Files," filed June 2, 2015, incorporated herein by reference for all purposes. Insist on priority.
본 출원은 인터넷 기술의 분야에 관한 것이다. 특히, 본 출원들은 데이터 파일들을 보호하기 위한 기술들에 관한 것이다.This application relates to the field of Internet technology. In particular, the present applications are directed to techniques for protecting data files.
인터넷의 자유롭고 개방적인 환경에서, 데이터 사용, 저장, 및 송신 모두는 누설들의 위험을 제공한다. 종래에, 데이터는 투명한 파일 암호 및 복호 방법들에 의해 보호된다. 특히, 데이터 보호의 종래 기술의 일 예는 다음을 포함한다: 클라이언트 디바이스 운영 시스템이 기저 레벨 처리를 수행하는 동안, 데이터 파일은 암호화 처리가 된다. 사용자가 데이터 파일을 검색할 때, 운영 체계는 데이터 파일을 복호화하고 이후 사용자의 사용을 위해 그를 메모리에 배치한다. 사용자가 데이터 파일을 저장할 필요가 있을 때, 운영 시스템은 데이터 파일을 암호화하고 그를 자기 디스크로 기록하고, 그에 의해 사용자가 데이터 파일에 대해 수행된 암호 및 복호 동작들을 완전히 인식하지 못한다. 따라서, 종래에는, 데이터 누설들이 암호화된 데이터가 자기 디스크에 기록하고 메모리에서 데이터의 암호를 수행함으로써 방지된다.In the free and open environment of the Internet, data use, storage, and transmission all provide the risk of leakage. Conventionally, data is protected by transparent file encryption and decryption methods. In particular, one prior art example of data protection includes the following: While the client device operating system performs base level processing, the data file is encrypted. When a user retrieves a data file, the operating system decrypts the data file and then places it in memory for use by the user. When a user needs to store a data file, the operating system encrypts the data file and writes it to a magnetic disk, whereby the user is not fully aware of the encryption and decryption operations performed on the data file. Thus, conventionally, data leaks are prevented by writing encrypted data to a magnetic disk and encrypting the data in memory.
그러나, 이들 종래 기술들은 메모리 내의 파일이 누설되지 않는 것을 보장하지 않는다.However, these prior arts do not guarantee that files in memory will not leak.
본 발명은 장치; 시스템; 물질의 조성; 컴퓨터 판독 가능한 저장 매체상에 구현된 컴퓨터 프로그램 제품; 및/또는 프로세서에 연결된 메모리상에 저장되고 및/또는 그에 의해 제공된 명령들을 실행하도록 구성된 프로세서와 같은, 프로세서를 프로세스로서 포함하는 다수의 방식들로 구현될 수 있다. 본 명세서에서, 이들 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술들이라고 칭해질 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 언급되지 않으면, 태스크를 수행하도록 구성되는 것으로 설명되는 프로세서 또는 메모리와 같은 구성 요소는 태스크를 수행하도록 제작되는 특정한 구성 요소 또는 주어진 시간에 태스크를 수행하도록 시간적으로 구성되는 일반적인 구성 요소로서 구현될 수 있다. 여기에서 사용된 바와 같은, 용어 '프로세서'는 컴퓨터 프로그램 명령들과 같은 데이터를 처리하도록 구성된 하나 이상의 디바이스들, 회로들, 및/또는 처리 코어들을 지칭한다.The present invention is an apparatus; system; Composition of the substance; A computer program product implemented on a computer readable storage medium; And / or a processor as a process, such as a processor stored on and / or configured to execute instructions provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of the disclosed processes may vary within the scope of the present invention. Unless stated otherwise, a component such as a processor or memory that is described as being configured to perform a task may be implemented as a particular component that is designed to perform a task or as a general component that is configured in time to perform a task at a given time. have. As used herein, the term 'processor' refers to one or more devices, circuits, and / or processing cores configured to process data, such as computer program instructions.
본 발명의 하나 이상의 실시예들의 상세한 설명은 본 발명의 원리들을 예시하는 첨부하는 도면들과 함께 이하에 제공된다. 본 발명은 이러한 실시예와 함께 설명되지만, 본 발명은 임의의 실시예로 한정되지 않는다. 본 발명의 범위는 청구항들에 의해서만 한정되고, 본 발명은 다수의 대안들, 변경들, 및 동등물들을 포함한다. 다수의 상세한 설명들은 본 발명의 완전한 이해를 제공하기 위해 다음의 상세한 설명에서 설명된다. 이들 상세들은 예시의 목적들을 위해 제공되고 본 발명은 이들 특정한 상세들의 일부 또는 전부 없이 청구항들에 따라 실시될 수 있다. 명확성의 목적을 위해, 본 발명에 관련된 기술 분야들에서 알려진 기술적인 자료는 본 발명이 불필요하게 모호해지지 않도록 상세하게 설명되지 않는다.A detailed description of one or more embodiments of the invention is provided below in conjunction with the accompanying drawings that illustrate the principles of the invention. Although the present invention is described in conjunction with these embodiments, the present invention is not limited to any embodiment. It is intended that the scope of the invention only be limited by the claims, and the invention shall include many alternatives, modifications, and equivalents. Numerous details are set forth in the following detailed description to provide a thorough understanding of the present invention. These details are provided for the purpose of illustration and the invention may be practiced according to the claims without some or all of these specific details. For purposes of clarity, technical material known in the technical fields related to the present invention has not been described in detail so as not to unnecessarily obscure the present invention.
예시적인 실시예들이 여기에 상세히 설명될 것이다. 그의 예들은 도면들에 나타내진다. 다음의 설명들은 도면들에 관련하는 경우들에, 상이한 도면들의 동일한 번호들은 달리 표시되지 않으면 동일하거나 유사한 요소들을 나타낸다. 예시적인 실시예들에 설명된 구현들은 본 출원과 일치하는 구현들 모두를 나타내지는 않는다. 반대로, 그들은 단순히 청구항들에서 상세히 설명되는 본 출원의 일부 양태들과 일치하는 디바이스들 및 방법들의 예들이다.Example embodiments will be described in detail herein. Examples thereof are shown in the drawings. The following descriptions refer to the same or similar elements in the different figures that refer to the same figures unless otherwise indicated. The implementations described in the example embodiments do not represent all implementations consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application described in detail in the claims.
본 출원에서 사용된 용어들은 단순히 특정한 실시예들을 설명하는 역할을 하고, 본 출원을 제한하도록 의도되지 않는다. 본 출원 및 첨부된 청구항들에서 사용되는 단일 형태들은 또한 문맥에서 달리 명확하게 표시되지 않으면 복수 형태들을 포함하도록 의도된다. 또한, 본 문서에서 사용된 용어 "및/또는"이 하나 이상의 연관된 요소들 중 어느 하나 또는 모든 가능한 조합들을 지칭하고 그를 포함한다는 것을 이해해야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. Single forms used in the present application and appended claims are also intended to include the plural forms unless specifically indicated otherwise in the context. In addition, it is to be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more associated elements.
본 출원은 다양한 정보를 설명하기 위해 용어들 "제 1", "제 2", "제 3" 등을 채용하지만, 이러한 정보는 이들 용어들에 의해 한정되지 않아야 한다는 것을 이해해야 한다. 이들 용어들은 단순히 동일한 카테고리의 정보의 부분들을 구별하는 역할을 한다. 예를 들면, 그들이 본 출원의 범위 내에 있는 한, 정보의 제 1 부분은 정보의 제 2 부분이라고 불릴 수 있다. 유사하게, 정보의 제 2 부분은 정보의 제 1 부분이라고 불릴 수 있다. 문맥에 따라, 예를 들면, 여기에 사용된 용어 "~인 경우"는 "~때" 또는 "~가 확인되면"이라고 해석될 수 있다.This application employs the terms “first”, “second”, “third”, etc. to describe various information, but it should be understood that this information should not be limited by these terms. These terms simply serve to distinguish parts of information of the same category. For example, as long as they are within the scope of the present application, the first part of the information may be called the second part of the information. Similarly, the second portion of the information may be referred to as the first portion of the information. Depending on the context, for example, the term "if" used herein may be interpreted as "when" or "if is confirmed".
데이터 파일들을 보호하는 것의 실시예들이 여기에 설명된다. 클라이언트 디바이스에서 데이터 파일들의 생성의 표시에 응답하여, 데이터 파일과 연관된 보안 분류가 결정된다. 데이터 파일과 연관된 보안 분류는 기밀 파일(classified file)인지가 결정된다. 데이터 파일은 이후 지정된 가상 저장 영역에 저장된다. 예를 들면, 지정된 가상 저장 영역은 클라우드 서버의 일부분이다. 다양한 실시예들에서, "클라우드 서버"는 하나 이상의 서비스들을 제공하기 위해 협력하여 작동하는 하나 이상의 서버들을 지칭한다. 스터브 파일은 데이터 파일의 원래의 저장 위치에 생성된다. 또한, 데이터 파일의 사본은 클라이언트 디바이스로부터 제거/삭제된다. 스터브 파일은 데이터 파일과 연관된 뷰잉 허가(viewing permission) 및 지정된 가상 저장 영역 내의 데이터 파일의 저장 위치를 포함하지만, 데이터 파일의 실제 콘텐트가 아니다. 스터브 파일이 데이터 파일 자체로부터의 임의의 데이터를 포함하지 않기 때문에, 클라이언트 디바이스의 스터브 파일에 대해 사용자에 의해 수행된 임의의 동작들은 클라우드 서버에 저장되는 데이터 파일에 어떤 영향도 주지 않을 것이다.Embodiments of protecting data files are described herein. In response to the indication of the creation of the data files at the client device, a security classification associated with the data file is determined. The security classification associated with the data file is determined whether it is a classified file. The data file is then stored in the designated virtual storage area. For example, the designated virtual storage area is part of the cloud server. In various embodiments, a "cloud server" refers to one or more servers working in concert to provide one or more services. The stub file is created in the original storage location of the data file. In addition, a copy of the data file is removed / deleted from the client device. The stub file includes the viewing permissions associated with the data file and the storage location of the data file within the designated virtual storage area, but is not the actual content of the data file. Since the stub file does not contain any data from the data file itself, any operations performed by the user on the stub file of the client device will not have any effect on the data file stored on the cloud server.
도 1은 데이터 파일들을 보호하기 위한 시스템의 일 실시예를 도시하는 도면.
도 2는 데이터 파일들을 보호하기 위한 프로세스의 일 실시예를 도시하는 흐름도.
도 3은 보호된 데이터 파일을 공유하기 위한 프로세스의 일 실시예를 도시하는 흐름도.
도 4는 보호된 데이터 파일을 사용하기 위한 프로세스의 일 실시예를 도시하는 흐름도.
도 5는 보호된 데이터 파일에 액세스하기 위한 프로세스의 일 예를 도시하는 흐름도.
도 6은 데이터 파일들을 보호하기 위한 일 예시적인 클라이언트 디바이스를 도시하는 도면.
도 7은 데이터 파일들을 보호하기 위한 일 예시적인 클라이언트 디바이스를 도시하는 도면.
도 8은 데이터 파일들을 보호하기 위한 일 예시적인 클라이언트 디바이스를 도시하는 도면.
도 9는 일 예시적인 데이터 파일 검색 디바이스를 도시하는 도면.
도 10은 일 예시적인 데이터 파일 검색 디바이스를 도시하는 도면.
도 11은 데이터 파일들을 보호하기 위해 프로그래밍된 컴퓨터 시스템을 도시하는 기능도.1 illustrates one embodiment of a system for protecting data files.
2 is a flow diagram illustrating one embodiment of a process for protecting data files.
3 is a flow diagram illustrating one embodiment of a process for sharing a protected data file.
4 is a flow diagram illustrating one embodiment of a process for using a protected data file.
5 is a flow diagram illustrating an example of a process for accessing a protected data file.
6 illustrates an example client device for protecting data files.
7 illustrates an example client device for protecting data files.
8 illustrates an example client device for protecting data files.
9 illustrates an exemplary data file retrieval device.
10 illustrates an example data file retrieval device.
11 is a functional diagram illustrating a computer system programmed for protecting data files.
본 발명의 다양한 실시예들이 다음의 상세한 설명 및 첨부하는 도면들에서 개시된다.Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
도 1은 데이터 파일들을 보호하기 위한 시스템의 일 실시예를 도시하는 도면이다. 예에서, 시스템(100)은 클라이언트 디바이스(102), 네트워크(104), 및 클라우드 서버(106)를 포함한다. 일부 실시예들에서, 네트워크(104)는 고속 네트워크들 및/또는 원격 통신 네트워크들을 포함한다.1 is a diagram illustrating one embodiment of a system for protecting data files. In an example,
클라이언트 디바이스(102)는 데이터 파일을 생성한다. 클라이언트 디바이스(102)의 예들은 이동 장치, 스마트 폰들, 랩탑 컴퓨터, 데스크톱 컴퓨터, 태블릿 장치, 또는 임의의 컴퓨팅 장치를 포함한다. 일부 실시예들에서, 클라이언트 디바이스(102)는 다른 클라이언트 디바이스로부터 데이터 파일을 수신함으로써 데이터 파일을 생성한다. 일부 실시예들에서, 클라이언트 디바이스(102)는 데이터 파일을 클라이언트 디바이스(102)에서 수신된 메시지로부터의 첨부로서 다운로딩 및 웹사이트로부터 데이터 파일을 다운로딩함으로써 데이터 파일을 생성할 수 있다. 데이터 파일은 임의의 적절한 방식으로 클라이언트 디바이스(102)에 생성될 수 있다. 클라이언트 디바이스(102)는 수신된 데이터 파일과 연관된 보안 분류를 결정한다. 보안 분류는 데이터 파일이 기밀 파일인 것을 나타낸다. 데이터 파일이 기밀 파일이라는 것을 결정하는 것에 응답하여, 클라이언트 디바이스(102)는 지정된 가상 저장 영역에 데이터 파일을 저장하도록 구성된다. 다양한 실시예들에서, 지정된 저장 영역은 클라우드 서버(106)의 디스크(또는 고체 상태) 저장 장치이다. 클라이언트 디바이스(102)가 네트워크(104)를 통해 데이터 파일을 클라우드 서버(106)로 전송한 후, 클라이언트 디바이스(102)는 데이터 파일과 연관된 스터브 파일을 생성하고, 데이터 파일의 그의 사본을 제거하고, 클라이언트 디바이스(102)의 데이터 파일의 원래의 저장 위치에 스터브 파일을 저장한다. 이와 같이, 클라이언트 디바이스(102)가 클라우드 서버(106)에 데이터 파일을 업로딩하면, 클라이언트 디바이스(102)는 더 이상 데이터 파일의 사본을 보유하지 않고 데이터 파일과 연관되는 스터브 파일만을 보유한다. 클라우드 서버(106)가 데이터 파일을 성공적으로 저장하면, 클라우드 서버(106)는 네트워크(104)를 통해 지정된 가상 저장 영역에서의 데이터 파일의 저장 위치를 클라이언트 디바이스(102)로 전송하도록 구성된다. 다양한 실시예들에서, 스터브 파일은 데이터 파일과 연관된 뷰잉 허가 및 클라우드 서버(106)의 지정된 가상 저장 영역에서의 데이터 파일의 저장 위치를 포함한 데이터 파일과 연관된 다양한 정보를 기록한다. 데이터 파일과 연관된 뷰잉 허가는 어느 개별적인 사용자들 및/또는 사용자 역할들이 데이터 파일에 액세스(예를 들면, 판독, 기록, 판독 및 기록)할 수 있는지를 특정한다.
데이터 파일에 액세스하기 위해, 클라이언트 디바이스(102)의 사용자는 클라이언트 디바이스(102)에서 실행하는 가상화된 제어 및 관리 애플리케이션을 사용하여 스터브 파일을 선택하도록 구성된다. 예를 들면, 클라이언트 디바이스(102)의 사용자는 클라이언트 디바이스(102)에서 가상화된 제어 및 관리 애플리케이션을 통해 클라우드 서버(106)에 저장되는 데이터 파일들의 스터브 파일들을 브라우징할 수 있다. 클라이언트 디바이스(102)의 사용자는 액세스할 데이터 파일에 대응하는 스터브 파일을 선택할 수 있다. 스터브 파일을 공유하기 위한 사용자의 선택에 응답하여, 가상화된 제어 및 관리 애플리케이션은 클라이언트 디바이스(102)의 사용자가 선택된 스터브 파일에 기록되는 뷰잉 허가와 사용자의 식별 정보를 비교함으로써 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부를 결정하도록 구성된다. 예를 들면, 사용자의 식별 정보가 선택된 스터브 파일에 의해 스터브 파일을 판독할 것이 적어도 허가되도록 특정된 경우, 가상화된 제어 및 관리 애플리케이션은 액세스 동작을 허가하도록 구성된다. 사용자가 데이터 파일에 액세스할 수 있다고 결정되는 경우, 가상 애플리케이션은 클라이언트 디바이스(102)에서 론칭/실행하고 클라우드 서버(106)와 접속을 확립하도록 구성된다. 클라이언트 디바이스(102)의 사용자는 데이터 파일에 대해 단어 처리 동작들을 수행함으로써 포함하는 클라우드 서버(106)에 저장된 데이터 파일에 액세스하기 위해 클라이언트 디바이스(102)에서 실행하는 가상 애플리케이션을 사용할 수 있다. 가상 애플리케이션은 클라이언트 디바이스(102)의 운영 시스템으로부터 분리되고, 이는 가상 애플리케이션 내에 수행된 동작들이 클라이언트 디바이스(102)의 저장 장치 및/또는 클라이언트 디바이스(102)의 메모리로부터 분리된다는 것을 의미한다. To access the data file, a user of
일부 실시예들에서, 클라이언트 디바이스(102)의 사용자는 클라이언트 디바이스(102)에서 실행하는 가상화된 제어 및 관리 애플리케이션을 사용하여 다른 클라이언트 디바이스(도면에 도시되지 않음)와 데이터 파일을 공유할 수 있다. 클라이언트 디바이스(102)의 사용자는 다른 클라이언트 디바이스와 연관된 사용자와 공유할 데이터 파일에 대응하는 스터브 파일을 선택할 수 있다. 스터브 파일을 공유하기 위한 사용자의 선택에 응답하여, 가상화된 제어 및 관리 애플리케이션은 데이터 파일이 공유될 다른 사용자가 선택된 스터브 파일에 기록되는 뷰잉 허가와 다른 사용자의 식별 정보를 비교함으로써 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부를 결정하도록 구성된다. 예를 들면, 사용자의 식별 정보가 선택된 스터브 파일에 의해 스터브 파일을 판독할 것이 적어도 허가되도록 특정되는 경우, 가상화된 제어 및 관리 애플리케이션은 공유 동작을 허가하도록 구성된다. 다른 사용자가 데이터 파일에 액세스할 수 있다는 것이 결정되는 경우, 가상화된 제어 및 관리 애플리케이션이 데이터 파일이 공유될 사용자의 클라이언트 디바이스에 명령을 전송하도록 구성된다. 전송된 명령은 다른 사용자가 스터브 파일을 사용하여 클라우드 서버(106)의 데이터 파일에 액세스할 수 있도록 데이터 파일이 공유될 사용자의 클라이언트 디바이스에 선택된 스터브 파일의 사본을 생성하도록 구성된다.In some embodiments, a user of
이와 같이, 클라이언트 디바이스(102)로부터 액세스를 제공하면서 클라우드 서버(106)의 지정된 가상 저장 영역에 기밀 데이터 파일을 저장하는 것은 따라서 가상 환경에서 데이터 파일에 대해 수행된 동작들을 분리할 수 있다. 따라서, 가상 환경의 사용은 적절한 액세스 허가들 없이 또는 클라이언트 디바이스(102)를 조작함으로써 사용자 및/또는 프로그램에 의해 클라이언트 디바이스(102)의 데이터 파일에 임의의 악의적인 액세스들을 방지할 수 있다. 스터브 파일이 데이터 파일에 대한 뷰잉 허가 및 지정된 가상 저장 영역에서 데이터 파일의 저장 위치를 기록하지만 데이터 파일 자체로부터 어떠한 데이터도 포함하지 않기 때문에, 클라이언트 디바이스(102)에 저장되는 스터브 파일에 대해 사용자에 의해 수행된 임의의 동작들은 클라우드 서버(106)에 저장된 데이터 파일에 대해 어떠한 효과도 갖지 않을 것이다. As such, storing the confidential data file in a designated virtual storage area of the
도 2는 데이터 파일들을 보호하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(200)는 도 1의 시스템(100)에서 구현된다.2 is a flow diagram illustrating one embodiment of a process for protecting data files. In some embodiments,
202에서, 데이터 파일이 클라이언트 디바이스에 의해 생성되었다는 표시에 응답하여, 데이터 파일과 연관된 보안 분류가 결정된다.At 202, in response to an indication that the data file was created by the client device, a security classification associated with the data file is determined.
예를 들면, 데이터 파일은 새로운 파일을 복사하거나, 새로운 파일을 다운로딩하거나, 새로운 파일을 생성하는 것을 통해 클라이언트 디바이스에서 생성될 수 있다.For example, a data file can be created at a client device through copying a new file, downloading a new file, or creating a new file.
다양한 실시예들에서, 데이터 파일의 보안 분류는 예를 들면 파일을 생성한 사용자와 같은 사용자에 의해 설정된다. 일부 실시예들에서, 데이터 파일의 보안 분류는 데이터 파일의 비밀 등급을 포함한다. 예를 들면, 보안 분류는 레벨 0, 레벨 1, 또는 레벨 2로 설정될 수 있고, 각각의 레벨은 데이터 파일에 관하여 상이한 비밀 등급을 나타낸다. 예를 들면, 레벨 0은 사용자가 데이터 파일에 대한 보안 수단을 채용할 필요가 없다는 것을 나타내고, 레벨 1은 사용자가 데이터 파일에 대한 보안 수단을 취할 필요가 있다는 것을 나타낸다. 다른 예에서, 레벨 0은 사용자가 데이터 파일에 대해 보안 수단을 채용할 필요가 없다는 것을 나타내고, 레벨 1은 사용자가 클라이언트 디바이스상의 데이터 파일에 대한 보안 수단을 채용할 필요가 있다는 것을 나타내고, 레벨 2는 사용자가 클라이언트 디바이스 및 클라우드 서버상의 데이터 파일에 대한 보안 수단을 채용할 필요가 있다는 것을 나타낸다.In various embodiments, the security classification of the data file is set by the user, for example, the user who created the file. In some embodiments, the security classification of the data file includes a secret rating of the data file. For example, the security classification can be set to level 0, level 1, or level 2, each level representing a different level of secrecy with respect to the data file. For example, level 0 indicates that the user does not need to employ security measures for the data file, and level 1 indicates that the user needs to take security measures for the data file. In another example, level 0 indicates that the user does not need to employ security means for the data file, level 1 indicates that the user needs to employ security means for the data file on the client device, and level 2 Indicates that the user needs to employ security measures for data files on the client device and the cloud server.
일부 실시예들에서, 데이터 파일의 콘텐트 정보는 데이터 파일과 연관된 보안 분류를 결정할 것이 먼저 결정될 수 있다. 예를 들면, 데이터 파일의 콘텐트 정보는 제 1 미리 설정된 상태에 대해 매칭될 수 있고, 데이터 파일의 보안 분류는 제 1 매칭 결과에 따라 결정된다. 예를 들면, 제 1 미리 설정된 상태는 다수의 주요 어구들, 예컨대 "암호화된", "사적인", 또는 "비공개적인"을 포함할 수 있다. 시스템이 데이터 파일의 콘텐트 정보가 "암화화된" 또는 "사적인" 것과 같은 콘텐트를 포함한다는 것을 검출할 때, 제 1 매칭 결과에 따라 데이터 파일의 보안 분류는 레벨 1인 것으로 결정되고, 이는 사용자가 데이터 파일에 대한 보안 수단을 취할 필요가 있다는 것을 나타낸다. 콘텐트 정보가 전술한 주요 어구들을 포함하지 않는 경우, 제 1 매칭 결과에 따라 데이터의 분류 레벨이 레벨 0인 것을 결정하는 것이 가능하고, 레벨 0은 사용자가 데이터 파일에 대한 보안 수단을 취할 필요가 없다는 것을 나타낸다. 제 2 예에서, 데이터 파일의 파일명은 제 2 미리 설정된 상태에 대해 매칭될 수 있고, 데이터 파일의 보안 분류는 제 2 매칭 결과에 따라 결정된다. 예를 들면, 제 2 미리 설정된 상태는 "비밀" 또는 "암호화된" 것과 같은 다수의 주요 어구들을 포함할 수 있다. 시스템이 데이터 파일의 파일명이 "비밀" 또는 "암호화된" 것과 같은 콘텐트를 포함한다는 것을 검출한 경우, 제 1 매칭 결과에 따른 데이터 파일의 보안 분류는 레벨 1로 결정될 수 있고, 레벨 1은 사용자가 데이터 파일에 대해 보안 수단이 필요하다는 것을 나타낸다. 파일명이 전술한 주요 어구들을 포함하지 않는 경우, 제 2 매칭 결과에 따른 데이터의 분류 레벨이 레벨 0인 것을 결정할 수 있고, 레벨 0은 사용자가 데이터 파일에 대한 보안 수단을 취할 필요가 없다는 것을 나타낸다.In some embodiments, the content information of the data file may first be determined to determine a security classification associated with the data file. For example, the content information of the data file can be matched against the first preset state, and the security classification of the data file is determined according to the first matching result. For example, the first preset state may include a number of key phrases, such as "encrypted", "private", or "private." When the system detects that the content information of the data file includes content such as "encrypted" or "private", the security classification of the data file is determined to be level 1 according to the first matching result, which means that the user Indicates that you need to take security measures for the data file. If the content information does not include the aforementioned key phrases, it is possible to determine that the classification level of the data is level 0 according to the first matching result, and level 0 does not require the user to take security measures for the data file. Indicates. In a second example, the file name of the data file may be matched for a second preset state, and the security classification of the data file is determined according to the second matching result. For example, the second preset state may include a number of key phrases such as "secret" or "encrypted." If the system detects that the file name of the data file contains content such as "secret" or "encrypted," the security classification of the data file according to the first matching result may be determined as level 1, and level 1 is determined by the user. Indicates that security measures are required for the data file. If the file name does not include the aforementioned key phrases, it can be determined that the classification level of the data according to the second matching result is level 0, which indicates that the user does not need to take security measures for the data file.
204에서, 데이터 파일과 연관된 보안 분류가 기밀 파일을 포함한다는 것이 결정된다.At 204, it is determined that the security classification associated with the data file includes a confidential file.
데이터 파일과 연관된 보안 분류는 상기에 설명된 것과 같은 기술에 기초하여 결정되고, 데이터 파일이 보안 분류에 기초한 기밀 파일임이 결정된다.The security classification associated with the data file is determined based on the technique as described above, and it is determined that the data file is a confidential file based on the security classification.
데이터 파일이 기밀이 아닌 파일(예를 들면, 보안 수단이 요구되지 않은 파일)인 것이 결정된 경우, 데이터 파일은 일반적으로 저장되고 및/또는 사용자에게 일반적으로 제공될 수 있다. 기밀이 아닌 파일들의 저장 및/또는 사용은 더 설명되지 않을 것이다.If it is determined that the data file is a non-confidential file (eg, a file for which no security measures are required), the data file is generally stored and / or generally provided to the user. The storage and / or use of non-confidential files will not be described further.
206에서, 데이터 파일은 지정된 가상 저장 영역에 저장된다.At 206, the data file is stored in the designated virtual storage area.
기밀 파일인 것이 결정되는 데이터 파일은 지정된 가상 저장 영역에 저장된다. 일부 실시예들에서, 가상 저장 영역은 클라이언트 디바이스의 자기 디스크상에 있고 보안 수단을 요구하는 데이터 파일들(예를 들면, 기밀 파일들)을 저장하기 위한 특정한 자기 디스크 어레이 섹션일 수 있다. 사용자가 가상 저장 영역에 저장된 데이터 파일에 액세스할 필요가 있을 때, 클라이언트 디바이스 운영 시스템으로부터 분리되는(및 저장 분리 및 메모리 분리, 등을 포함할 수 있는) 가상 애플리케이션은 클라이언트 디바이스에서 개시되고, 클라이언트 디바이스의 가상 저장 영역에 저장된 데이터 파일은 가상 애플리케이션을 통해 액세스될 수 있다.The data file determined to be a confidential file is stored in the designated virtual storage area. In some embodiments, the virtual storage area may be a specific magnetic disk array section for storing data files (eg, confidential files) that are on a magnetic disk of a client device and require security measures. When a user needs to access a data file stored in a virtual storage area, a virtual application that is separated from the client device operating system (and may include storage detachment and memory detachment, etc.) is launched on the client device, and the client device Data files stored in the virtual storage area of can be accessed through the virtual application.
일부 실시예들에서, 가상 저장 영역은 (예를 들면, 원격) 클라우드 서버의 자기 디스크상에 있고 보안 수단을 요구하는 데이터 파일들(예를 들면, 기밀 파일들)을 저장하기 위한 특정한 자기 디스크 어레이 섹션일 수 있다. 사용자의 클라이언트 디바이스가 데이터 파일을 저장할 수 없거나 데이터 파일을 위한 보안 수단을 채택할 수 없을 때, 클라이언트 디바이스 운영 시스템으로부터 분리되는(및 저장 분리, 메모리 분리 등을 포함할 수 있는) 가상 애플리케이션이 클라이언트 디바이스에서 개시되고 클라우드 서버의 가상 저장 영역에 저장된 데이터 파일은 가상 애플리케이션을 통해 액세스될 수 있다. 따라서, 가상 환경 내의 클라우드 서버상의 가상 저장 영역에 저장된 데이터 파일에 대해 수행된 임의의 동작들을 분리하고 데이터 파일이 누설되는 것을 방지하는 것이 가능하다. In some embodiments, the virtual storage area is on a magnetic disk of a (eg, remote) cloud server and is a specific magnetic disk array for storing data files (eg, confidential files) that require security measures. It may be a section. When a user's client device cannot store a data file or adopt security measures for the data file, the virtual device that is separated from the client device operating system (and may include storage detachment, memory detachment, etc.) Data files that are initiated at and stored in the virtual storage area of the cloud server can be accessed through the virtual application. Thus, it is possible to separate any operations performed on the data file stored in the virtual storage area on the cloud server in the virtual environment and to prevent the data file from leaking.
208에서, 스터브 파일은 데이터 파일의 원래의 저장 위치에 생성되고, 스터브 파일은 데이터 파일과 연관된 뷰잉 허가 및 지정된 가상 저장 영역 내 데이터 파일의 저장 위치를 포함한다.At 208, a stub file is created in the original storage location of the data file, and the stub file includes a viewing permission associated with the data file and a storage location of the data file within the designated virtual storage area.
데이터 파일은 지정된 가상 저장 영역에서 저장 위치에 저장되기 전에 원래의 저장 위치에(예를 들면, 클라이언트 디바이스와 연관된 저장 장치에) 저장된다. 다양한 실시예들에서, 데이터 파일이 지정된 가상 저장 영역에 저장되면, 데이터 파일의 사본은 원래의 저장 위치로부터 삭제되고 스터브 파일이 대신 원래의 저장 위치에 저장된다. 다양한 실시예들에서, 스터브 파일은 데이터 파일과 연관된 뷰잉 허가(들) 및 지정된 가상 저장 영역에서의 데이터 파일의 저장 위치를 기록한다. 다양한 실시예들에서, 데이터 파일과 연관된 뷰잉 허가(들)는 데이터 파일에 액세스(예를 들면, 판독, 기재, 판독 및 기재)하도록 허용된 지정된 하용자들 및/또는 사용자들의 역할들(예를 들면, 관리자 사용자들, 게스트 사용자들, 특정 그룹의 사용자들의 게스트들)을 특정한다.The data file is stored in its original storage location (eg, in a storage device associated with the client device) before being stored in the storage location in the designated virtual storage area. In various embodiments, if a data file is stored in a designated virtual storage area, a copy of the data file is deleted from the original storage location and the stub file is stored in the original storage location instead. In various embodiments, the stub file records the viewing permission (s) associated with the data file and the storage location of the data file in the designated virtual storage area. In various embodiments, the viewing permission (s) associated with the data file may include the roles of the designated users and / or users who are allowed to access (eg, read, write, read and write) the data file (eg, For example, administrator users, guest users, guests of a particular group of users).
다양한 실시예들에서, 사용자가 클라이언트 디바이스에서 스터브 파일을 선택할 때, 데이터 파일의 원래의 저장 위치에 저장된 스터브 파일은 선택한 사용자가 뷰잉 허가를 갖는지의 여부를 결정하기 위해 클라이언트 디바이스(의 운영 시스템)에 의해 판독될 것이다. 데이터 파일은, 선택한 사용자가 데이터 파일에 액세스하기 위한 뷰잉 허가를 갖는다고 결정되는 경우에만 지정된 가상 저장 영역의 저장 위치로부터 검색될 수 있다. 그래서, 데이터 파일은 지정된 가상 저장 영역의 저장 위치로부터 뷰잉된다. 이하에 더 상세히 설명되는 바와 같이, 지정된 가상 저장 시스템으로부터의 데이터 파일에 액세스하는 것은 (예를 들면, 클라우드 서버의) 지정된 가상 저장 영역 내 데이터 파일에 대한 액세스를 제공하는 가상화된 환경을 구동하는 것을 포함한다. 그러나, 선택한 사용자가 뷰잉 허가를 갖지 않는 경우, 선택한 사용자는 지정된 가상 저장 영역 내 데이터 파일에 대한 액세스가 거부된다.In various embodiments, when a user selects a stub file at the client device, the stub file stored in the original storage location of the data file is sent to the client device (operating system) to determine whether the selected user has viewing permission. Will be read by. The data file can be retrieved from the storage location of the designated virtual storage area only if it is determined that the selected user has viewing permission to access the data file. Thus, the data file is viewed from the storage location of the designated virtual storage area. As described in more detail below, accessing data files from a designated virtual storage system is intended to drive a virtualized environment that provides access to data files within a designated virtual storage area (eg, from a cloud server). Include. However, if the selected user does not have viewing permission, the selected user is denied access to the data file in the designated virtual storage area.
도 3은 보호된 데이터 파일을 공유하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(300)는 도 1의 시스템(100)에서 구현된다. 3 is a flow diagram illustrating one embodiment of a process for sharing a protected data file. In some embodiments,
302에서, 제 1 명령은 제 2 사용자와 데이터 파일을 공유하기 위해 제 1 사용자로부터 수신된다.At 302, a first command is received from a first user to share a data file with a second user.
일부 실시예들에서, 제 1 사용자는 지정된 다른 사용자와 스터브 파일을 공유하기를 개시하기 위해 클라이언트 디바이스 애플리케이션 또는 스터브 파일-공유 키를 사용함으로써 다른 사용자와 데이터 파일을 공유할 수 있다. 일부 실시예들에서, 공유될 데이터 파일은 이미 클라우드 서버에 업로드되고, 데이터 파일에 대응하는 스터브 파일만이 다른 사용자와 데이터 파일을 공유하기를 원하는 사용자의 클라이언트 디바이스에 저장된다. In some embodiments, the first user can share the data file with another user by using a client device application or stub file-sharing key to initiate sharing the stub file with another designated user. In some embodiments, the data file to be shared is already uploaded to the cloud server, and only the stub file corresponding to the data file is stored on the client device of the user who wants to share the data file with another user.
304에서, 제 2 사용자와 연관된 사용자 정보가 결정된다. 일부 실시예들에서, 사용자 정보는 클라이언트 애플리케이션에서 다른 사용자의 계정 번호를 포함할 수 있거나, 다른 사용자가 데이터 파일을 수신할 수 있는 이메일 어드레스를 포함할 수 있다. 다시 말해서, 본 출원은 데이터 파일들이 공유될 수 있는 사용자 정보에 포함된 어드레스에 관련하는 제한들을 부과하지 않는다. 필요한 것은 다른 사용자가 데이터 파일을 수신할 수 있게 되는 것이다. At 304, user information associated with a second user is determined. In some embodiments, the user information may include the account number of the other user in the client application, or may include an email address from which the other user can receive the data file. In other words, the present application does not impose restrictions relating to the addresses contained in user information with which data files can be shared. What is needed is that other users can receive the data file.
306에서, 제 2 사용자가 제 2 사용자와 연관된 사용자 정보에 적어도 부분적으로 기초하여 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부가 결정된다. 제 2 사용자가 데이터 파일에 액세스하기 위한 허가를 갖는 것이 결정되는 경우, 제어는 308로 이동된다. 그와 달리, 제 2 사용자가 데이터 파일에 액세스하기 위한 허가를 갖지 않는 것이 결정되는 경우, 제 2 사용자는 데이터 파일에 대한 액세스가 거부되고(예를 들면, 데이터 파일이 그/그녀와 공유될 수 없다는 메시지가 제 2 사용자에게 전송된다), 프로세스(300)는 종료한다.At 306, it is determined whether the second user has permission to access the data file based at least in part on user information associated with the second user. If it is determined that the second user has permission to access the data file, control passes to 308. Alternatively, if it is determined that the second user does not have permission to access the data file, then the second user is denied access to the data file (eg, the data file may be shared with him / her). Message is sent to the second user), the
제 2 사용자와 연관된 사용자 정보는 제 2 사용자가 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부를 결정하기 위해 데이터 파일의 스터브 파일에 포함되는 데이터 파일과 연관된 뷰잉 허가와 비교된다. 예를 들면, 제 2 사용자와 연관된 사용자 정보는 제 2 사용자와 연관된 식별 정보 및 제 2 사용자와 연관된 역할들을 포함할 수 있다.The user information associated with the second user is compared with the viewing permission associated with the data file included in the stub file of the data file to determine whether the second user has permission to access the data file. For example, user information associated with the second user may include identification information associated with the second user and roles associated with the second user.
308에서, 데이터 파일은 클라우드 서버의 지정된 가상 저장 영역에 업로드되고 그에 저장된다.At 308, the data file is uploaded to and stored in the designated virtual storage area of the cloud server.
일부 실시예들에서, 데이터 파일의 사본이 (예를 들면, 백업 저장을 위해) 클라우드 서버의 지정된 가상 저장 영역에 미리 업로딩되고 저장되지 않은 경우, 데이터 파일의 사본은 클라우드 서버의 지정된 가상 저장 영역에 업로딩된다. 예를 들면, 제 2 사용자와 데이터 파일을 공유하기를 원하는 제 1 사용자는 클라우드 서버에 데이터 파일을 업로딩하기 위해 클라이언트 디바이스 애플리케이션 또는 스터브 파일 업로드 키를 사용할 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은 클라이언트 디바이스상에 설치된 가상화된 제어 및 관리 소프트웨어일 수 있다.In some embodiments, if a copy of the data file has not been uploaded and stored in a designated virtual storage area of the cloud server (eg, for backup storage), the copy of the data file is stored in the designated virtual storage area of the cloud server. Uploaded. For example, a first user who wants to share a data file with a second user can use a client device application or stub file upload key to upload the data file to the cloud server. In some embodiments, the client application can be virtualized control and management software installed on the client device.
310에서, 제 2 명령은 제 2 사용자와 연관된 클라이언트 디바이스로 전송되고, 제 2 명령은 제 2 사용자와 연관된 클라이언트 디바이스에 데이터 파일에 대응하는 스터브 파일을 생성하도록 구성된다.At 310, the second command is sent to the client device associated with the second user, and the second command is configured to generate a stub file corresponding to the data file on the client device associated with the second user.
일부 실시예들에서, 제 2 사용자와 연관된 식별 정보는 제 2 사용자와 연관된 사용자 정보로부터 결정된다. 제 2 사용자가 대응하는 클라이언트 디바이스를 통해 제 2 명령을 수신한 후, 제 2 사용자의 클라이언트 디바이스상의 데이터 파일에 대한 스터브 파일은 제 2 명령에 기초하여 생성된다. 예를 들면, 스터브 파일의 생성된 사본은 데이터 파일이 제 2 사용자의 클라이언트 디바이스에 저장된 원래의 위치에 저장된다. 제 2 사용자의 클라이언트 디바이스는 이후 클라우드 서버의 지정된 가상 저장 영역으로부터 데이터 파일을 획득하기 위한 것이 기초로서 스터브 파일을 사용할 수 있다. 상기에 기술되는, 다양한 실시예들에서, 스터브 파일은 데이터 파일과 연관된 뷰잉 허가(들) 및 지정된 가상 저장 영역에서의 데이터 파일의 저장 위치를 기록한다.In some embodiments, identification information associated with the second user is determined from user information associated with the second user. After the second user receives the second command via the corresponding client device, a stub file for the data file on the client device of the second user is generated based on the second command. For example, the generated copy of the stub file is stored in its original location where the data file is stored on the client device of the second user. The client device of the second user may then use the stub file as the basis for obtaining the data file from the designated virtual storage area of the cloud server. In various embodiments, described above, the stub file records the viewing permission (s) associated with the data file and the storage location of the data file in the designated virtual storage area.
프로세스(300)에서 설명된 바와 같이, 데이터 파일을 공유할 필요가 있을 때, 제 2 명령은 사용자 정보에 따라 제 2 사용자에게 전송된다. 제 2 사용자가 그들의 클라이언트 디바이스를 통해 데이터 파일의 수신을 확인한 후, 데이터 파일 스터브 파일은 제 2 사용자의 클라이언트 디바이스상에 생성된다. 따라서, 비밀이 유지될 필요가 있는 데이터 파일의 공유는 스터브 파일을 공유함으로써 가상으로 공유된다. 데이터 파일의 기본 데이터가 제 2 사용자에게 전송되지 않고 공유된 스터브 파일이 저장 위치 및 가상 저장 영역 내 데이터 파일의 뷰잉 허가를 단지 저장하고 데이터 파일 자체의 어떠한 데이터 정보도 포함하지 않기 때문에, 스터브 파일의 그 또는 그녀의 사본에 대해 제 2 사용자에 의해 수행된 임의의 동작들은 데이터 파일에 대해 어떠한 효과도 갖지 않을 것이다. 이는 비밀 정보가 공유 프로세스에서 데이터 파일로부터 누설되지 않을 것을 보장한다.As described in
도 4는 보호된 데이터 파일을 사용하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(400)는 도 1의 시스템에서 구현된다.4 is a flow diagram illustrating one embodiment of a process for using a protected data file. In some embodiments,
402에서, 스터브 파일과 연관된 사용자 선택이 클라이언트 디바이스에 수신된다.At 402, a user selection associated with the stub file is received at the client device.
스터브 파일과 연관된 사용자 선택이 클라이언트 디바이스에 수신된다. 다양한 실시예들에서, 스터브 파일은 클라우드 서버의 지정된 가상 저장 영역에 저장되고 도 2의 프로세스(200) 또는 도 3의 프로세스(300)와 같은 프로세스에 기초하여 생성되는 데이터 파일에 대응한다. 예를 들면, 스터브 파일은 클라이언트 디바이스에서 실행하고 있는 파일 브라우저 애플리케이션에 디스플레이된다. 일부 실시예들에서, 스터브 파일은 클라우드 서버의 지정된 가상 저장 영역 대신에 클라이언트 디바이스에 로컬로 저장된 연관되는 데이터 파일이 디스플레이되는 것과 동일한 방식으로 파일 브라우저 애플리케이션에 디스플레이된다. The user selection associated with the stub file is received at the client device. In various embodiments, the stub file corresponds to a data file stored in a designated virtual storage area of the cloud server and generated based on a process such as
일부 실시예들에서, 클라이언트 디바이스상에 설치된 클라이언트 애플리케이션은 스터브 파일-관련 클릭 이벤트들에 대해 모니터링하기 위해 사용될 수 있다. 일부 실시예들에서, 사용자는 이미 사용자의 자격들을 사용하여 클라이언트 애플리케이션에 로그온하였다. 일부 실시예들에서, 클릭 이벤트는 스터브 파일에 대한 더블-클릭 이벤트일 수 있거나 표시된 메뉴 또는 파일 브라우저 애플리케이션상에 디스플레이될 때 스터브 파일에 대한 클릭 이벤트일 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은 스터브 파일들을 기록할 수 있고 따라서 클릭된 파일이 스터브 파일인지 원래의 데이터 파일인지를 결정할 수 있다.In some embodiments, a client application installed on a client device can be used to monitor for stub file-related click events. In some embodiments, the user has already logged on to the client application using the user's credentials. In some embodiments, the click event may be a double-click event for a stub file or may be a click event for a stub file when displayed on a displayed menu or file browser application. In some embodiments, the client application can record stub files and thus determine whether the clicked file is a stub file or an original data file.
404에서, 사용자 선택과 연관된 사용자가 스터브 파일에 포함되는 데이터 파일과 연관된 뷰잉 허가에 적어도 부분적으로 기초하여 스터브 파일과 연관된 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부가 결정된다. 사용자 선택과 연관된 사용자가 데이터 파일에 액세스하기 위한 허가를 갖는 경우, 제어는 406으로 이동한다. 그와 달리, 사용자 선택과 연관된 사용자가 데이터 파일에 액세스하기 위한 허가를 갖지 않는 경우, 사용자는 데이터 파일에 대한 액세스가 거부되고 프로세스(400)는 종료한다.At 404, it is determined whether the user associated with the user selection has permission to access the data file associated with the stub file based at least in part on the viewing permission associated with the data file included in the stub file. If the user associated with the user selection has permission to access the data file, control passes to 406. Alternatively, if the user associated with the user selection does not have permission to access the data file, the user is denied access to the data file and the
상기에 기술된 바와 같이, 스터브 파일은 대응하는 데이터 파일의 뷰잉 허가 및 클라우드 서버의 지정된 가상 저장 영역에 데이터 파일의 저장 위치를 기록한다. 스터브 파일을 선택한 사용자와 연관된 사용자 정보는 선택과 연관된 사용자가 데이터 파일의 뷰잉 허가를 갖는 사용자인지의 여부를 결정하기 위해 스터브 파일에 포함된 뷰잉 허가들과 비교된다.As described above, the stub file records the viewing permission of the corresponding data file and the storage location of the data file in the designated virtual storage area of the cloud server. The user information associated with the user who selected the stub file is compared with the viewing permissions included in the stub file to determine whether the user associated with the selection is a user with the viewing permission of the data file.
406에서, 데이터 파일에 대응하는 가상 애플리케이션은 클라이언트 디바이스에서 개시된다.At 406, the virtual application corresponding to the data file is launched at the client device.
408에서, 지정된 가상 저장 영역의 데이터 파일에 대한 액세스가 가상 애플리케이션을 사용하여 제공된다.At 408, access to the data file of the designated virtual storage area is provided using the virtual application.
다양한 실시예들에서, 가상 애플리케이션은 클라이언트 디바이스상에 설치된 가상화된 제어 및 관리 소프트웨어 애플리케이션이다. 다양한 실시예들에서, 가상 애플리케이션은 클라이언트 디바이스의 운영 시스템으로부터 분리된다. 다양한 실시예들에서, 운영 시스템으로부터의 가상 애플리케이션의 분리는 운영 시스템으로부터 저장 장치 분리를 포함할 수 있고, 이는 또한 운영 시스템으로부터의 메모리 분리를 포함할 수 있다. 따라서, 가상 애플리케이션은 데이터 파일에 대해 사용자에 의해 수행된 임의의 동작이 가상 애플리케이션에 의해 제공되는 가상 환경 내에서 분리되고, 그에 의해 가상 애플리케이션에 대해 승인된 액세스가 아닌 악의적인 사용자들이 가상 애플리케이션 내로부터 임의의 데이터 자원들을 획득하는 것을 방지한다. 일부 실시예들에서, 가상 애플리케이션을 통한 데이터 파일에 대한 사용자의 액세스는 예를 들면, 일반적인 판독, 편집, 및 클립보드들의 사용을 포함할 수 있다. 일부 실시예들에서, 데이터 파일에 대한 사용자에 의해 수행된 동작들은 스터브 파일이 저장된 클라이언트 디바이스상에서가 아닌 데이터 파일이 저장된 클라우드 서버에서 실행될 것이다. 다양한 실시예들에서, 가상 애플리케이션은 스터브 파일에 포함되는 데이터 파일의 저장 위치를 사용하여 클라우드 서버의 지정된 가상 저장 영역에 저장된 데이터 파일의 위치를 찾도록 구성된다. 도 5는 이하에 클라우드 서버의 지정된 가상 저장 영역에 저장된 데이터 파일에 액세스하기 위해 가상 애플리케이션을 사용하는 일 예를 도시한다.In various embodiments, the virtual application is a virtualized control and management software application installed on a client device. In various embodiments, the virtual application is separate from the operating system of the client device. In various embodiments, the separation of the virtual application from the operating system can include separating storage from the operating system, which can also include separating memory from the operating system. Thus, the virtual application is separated within the virtual environment in which any action performed by the user on the data file is provided by the virtual application, thereby allowing malicious users who are not authorized access to the virtual application from within the virtual application. Prevents obtaining any data resources. In some embodiments, a user's access to a data file via a virtual application may include, for example, general reading, editing, and use of clipboards. In some embodiments, the operations performed by the user on the data file will be executed on the cloud server where the data file is stored rather than on the client device where the stub file is stored. In various embodiments, the virtual application is configured to locate the data file stored in the designated virtual storage area of the cloud server using the storage location of the data file included in the stub file. 5 illustrates an example of using a virtual application to access a data file stored in a designated virtual storage area of a cloud server below.
도 5는 보호된 데이터 파일에 액세스하기 위한 프로세스의 일 예를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(500)는 도 1의 시스템(100)에서 구현된다.5 is a flow diagram illustrating an example of a process for accessing a protected data file. In some embodiments,
다양한 실시예들에서, (예를 들면, 기밀) 데이터 파일에 대응하는 스터브 파일은 클라이언트 디바이스상에 저장되고, 반면에 데이터 파일은 클라우드 서버상에 지정된 가상 저장 영역에 저장된다. 프로세스(500)는 스터브 파일이 클라이언트 디바이스에서 선택된 후(예를 들면, 상기에서 도 4의 프로세스(400)에 설명되는 바와 같이) 가상 애플리케이션을 사용하여 클라우드 서버상의 지정된 가상 저장 영역으로부터 데이터 파일을 획득하기 위한 프로세스의 일 예이다.In various embodiments, stub files corresponding to (eg, confidential) data files are stored on the client device, while the data files are stored in a designated virtual storage area on the cloud server.
502에서, 클라이언트 디바이스는 데이터 파일이 데이터 파일과 연관된 스터브 파일에 포함된 정보에 적어도 부분적으로 기초하여 저장되는 클라우드 서버에 연결된 원격 데스크톱 프로토콜(RDP) 구성 요소를 개시한다.At 502, the client device initiates a Remote Desktop Protocol (RDP) component connected to a cloud server where the data file is stored based at least in part on information included in the stub file associated with the data file.
사용자가 (예를 들면, 상기에서 도 4의 프로세스(400)와 같은 프로세스를 사용하여) 클라이언트 디바이스의 스터브 파일을 선택했다는 것을 검출한 후, 클라이언트 디바이스는 스터브 파일에 기록된 정보에 따라 원격 데스크톱 프로토콜(RDP) 구성 요소를 시작한다. RDP 구성 요소는 데이터 파일이 액세스되는 클라우드 서버에서의 데이터 파일에 액세스하기 위해 사용될 수 있는 예시적인 가상 애플리케이션이다. RDP 구성 요소는 데이터 파일이 저장되는 클라우드 서버에 연결하기 위해 사용된다.After detecting that the user has selected the stub file of the client device (e.g., using a process such as
504에서, 클라이언트 디바이스는 RDP 구성 요소를 통해 스터브 파일에 포함된 정보를 클라우드 서버에 송신한다.At 504, the client device sends the information contained in the stub file to the cloud server via the RDP component.
일부 실시예들에서, 스터브 파일에 기록된 모든 데이터 정보는 클라이언트 애플리케이션에 의해 암호화된다. 암호화된 데이터 애플리케이션은 스터브 파일에 대응하는 데이터 파일과 연관된 정보를 기록하고, 상기 연관된 정보는 예를 들면: 클라우드 서버의 지정된 가상 저장 영역에서의 데이터 파일의 저장 위치, 데이터 파일에 대한 사용자 허가들, 데이터 파일-공유 절차, 및 데이터 파일의 사용에 대한 이력 기록들, 중 하나 이상을 포함한다. 일부 실시예들에서, 클라이언트 디바이스로부터 클라우드 서버로 송신되는 스터브 파일에 포함된 정보는, 예를 들면: 데이터 파일이 저장된 클라우드 서버의 지정된 가상 저장 영역의 저장 위치, 클라이언트 애플리케이션 사용자 허가들, 사용자가 확인할 필요가 있는 정보, 및 열리게 될 데이터 파일에 대한 서버에 대한 서버상의 가상 저장 경로, 중 하나 이상을 포함한다.In some embodiments, all data information recorded in the stub file is encrypted by the client application. The encrypted data application records information associated with the data file corresponding to the stub file, the associated information being for example: a storage location of the data file in the designated virtual storage area of the cloud server, user permissions for the data file, One or more of a data file-sharing procedure, and historical records of the use of the data file. In some embodiments, the information contained in the stub file sent from the client device to the cloud server may include, for example: storage location of the designated virtual storage area of the cloud server where the data file is stored, client application user permissions, One or more of the information needed, and a virtual storage path on the server to the server for the data file to be opened.
506에서, 클라우드 서버가 송신된 정보를 확인한 후, 클라우드 서버는 클라이언트 디바이스상에 원격 가상화 프로그램을 시작하고 스터브 파일에 포함된 지정된 가상 저장 영역 저장 위치에 따라 클라우드 서버상에 데이터 파일을 연다.At 506, after the cloud server verifies the information sent, the cloud server starts a remote virtualization program on the client device and opens the data file on the cloud server according to the designated virtual storage area storage location included in the stub file.
508에서, 클라우드 서버는 클라이언트 디바이스상에 문서 편집기 프로그램을 맵핑한다.At 508, the cloud server maps a document editor program on the client device.
일부 실시예들에서, 클라우드 서버는 문서 편집기 프로그램(예를 들면, 마이크로소프트 워드)를 사용하여 새로운 편집 가능한 파일을 확립할 수 있고 이후 클라이언트 디바이스상에 편집 가능한 파일에 대한 전체 가시적인 윈도우를 송신한다. 따라서, 원격 문서 편집기는 클라이언트 디바이스상에 맵핑될 수 있다. 일부 실시예들에서, 클라이언트 디바이스상에 문서 편집기를 맵핑하는 것은 클라이언트 디바이스에 표시될 문서 편집기의 사용자 인터페이스를 전송하는 것을 포함한다.In some embodiments, the cloud server can establish a new editable file using a text editor program (eg, Microsoft Word) and then send a full visible window for the editable file on the client device. . Thus, the remote text editor can be mapped on the client device. In some embodiments, mapping the text editor on the client device includes sending a user interface of the text editor to be displayed on the client device.
510에서, 클라이언트 디바이스는 클라우드 서버상에 저장된 데이터 파일에 대해 동작들을 수행하기 위해 문서 편집기 프로그램을 사용한다.At 510, the client device uses a text editor program to perform operations on data files stored on the cloud server.
일부 실시예들에서, 클라이언트 디바이스상에 클라우드 서버에 의해 맵핑되는 문서 편집기 프로그램을 사용하여 데이터 파일에 수행할 사용자로부터 클라이언트 디바이스에 수신되는 동작들은 예를 들면, 데이터 파일 콘텐트들을 뷰잉하거나 편집하는 것 및 데이터 파일을 복사하는 것을 포함할 수 있다. 클라이언트 디바이스에서 문서 편집기 프로그램 사용자 인터페이스를 통해 수행된 사용자 동작들은 클라우드 서버에 전송되고 이후 클라우드 서버의 데이터 파일에 대해 실행된다. 본 출원은 데이터 파일에 관하여 특정한 동작들에 관한 제한들을 부과하지 않는다.In some embodiments, the operations received at the client device from a user to perform on the data file using a text editor program mapped by the cloud server on the client device may include, for example, viewing or editing the data file contents; Copying the data file. User actions performed via the document editor program user interface at the client device are sent to the cloud server and then executed on the data file of the cloud server. This application does not impose restrictions on specific operations with respect to a data file.
제 1 예에서, 제 1 사용자가 제 2 사용자와 (예를 들면, 기밀 데이터 파일) 공유한 후(예를 들면, 도 3의 프로세스(300)와 같은 프로세스를 사용하여), 제 2 사용자는 데이터 파일 자체의 사본보다 오히려 사용자의 클라이언트 디바이스에서의 스터브 파일만을 수신한다. 제 2 사용자가 클라우드 서버로부터 데이터 파일을 획득하는 것에 기초하여 스터브 파일을 사용할 필요가 있을 때, 제 2 사용자는 제 2 사용자의 클라이언트 디바이스에 저장된 스터브 파일을 선택할 수 있고, 도 4의 프로세스(400) 및 도 5의 프로세스(500)와 같은 프로세스들은 클라우드 서버의 지정된 가상 저장 영역에 저장되는 데이터 파일에 대한 사용자 액세스를 제공하기 위해 사용될 수 있다.In a first example, after a first user has shared with a second user (eg, a confidential data file) (eg, using a process such as
제 2 예에서, 데이터 파일이 클라이언트 디바이스 자기 디스크가 한정된 저장 공간을 갖거나 가상 저장 영역에 의해 설정되지 않기 때문에 클라우드 서버의 지정된 가상 저장 영역에 저장되는 경우, 도 4의 프로세스(400) 및 도 5의 프로세스(500)와 같은 프로세스들은, 사용자가 스터브 파일에 기초하여 클라우드 서버로부터 데이터 파일을 획득할 필요가 있을 때, 클라이언트 디바이스의 사용자에게 클라우드 서버의 가상 영역으로부터의 데이터 파일에 대한 액세스를 제공하기 위해 사용될 수 있다.In a second example, if the data file is stored in the designated virtual storage area of the cloud server because the client device magnetic disk has limited storage space or is not set by the virtual storage area, the
제 3 예에서, 사용자가 상이한 클라이언트 디바이스를 통해 클라우드 서버로부터 데이터 파일에 대한 동작들을 수행할 필요가 있을 때, 도 4의 프로세스(400) 및 도 5의 프로세스(500)는 데이터 파일에 대한 액세스를 원격으로 제공하기 위해 사용될 수 있다. 예를 들면, 클라이언트 디바이스 A의 사용자는 데이터 파일에 대한 스터브 파일을 생성하고 클라이언트 디바이스 A의 가상 영역에 데이터 파일을 저장한다. 사용자가 클라이언트 디바이스 A로부터 클라이언트 디바이스 B로 스터브 파일을 전송할 때, 및 클라이언트 디바이스 A가 데이터 파일을 클라우드 서버에 업로드한 후, 사용자는, 사용자가 클라이언트 디바이스 B로부터 데이터 파일을 검색할 필요가 있는 경우, 클라우드 서버로부터의 데이터 파일에 대한 동작들을 수행하기 위해 도 4의 프로세스(400) 및 도 5의 프로세스(500)를 사용할 수 있다. In a third example, when a user needs to perform operations on a data file from a cloud server via a different client device,
Citrix XenApp과 같은 애플리케이션들 및 다른 이러한 애플리케이션들의 가상화 비용은 꽤 클 수 있다. 따라서, 상기에 설명된 바와 같이, 본 출원은, 예를 들면, RDP 기반 애플리케이션 가상화 방식을 채용함으로써 윈도우 운영 시스템을 사용할 수 있다. RDP 제어 구성 요소, 메시지 후크(message hook), 및 윈도우 클립핑 기술을 사용함으로써, 원격 애플리케이션 가상화 기술이 달성될 수 있고, 따라서, 클라이언트 디바이스의 자체 운영 시스템에 대한 의존을 피하고 클라우드 서버가 임의의 윈도우 운영 시스템을 채용하게 하고, 이는 데이터 파일의 사용자에 대해 더 융통성이 있다.Applications such as Citrix XenApp and other such applications can be quite expensive. Thus, as described above, the present application can use the Windows operating system, for example, by employing an RDP-based application virtualization scheme. By using RDP control components, message hooks, and window clipping techniques, remote application virtualization techniques can be achieved, thus avoiding the dependency of the client device's own operating system and allowing the cloud server to run any window. Adopt a system, which is more flexible for the user of the data file.
다음의 예는 상기 설명된 실시예들에 기초한다: 데이터 파일이 사용자에 의한 동작들을 경험하게 될 때, 클라이언트 디바이스상에 설치된 클라이언트 애플리케이션은 또한 데이터 파일에 대해 사용자에 의해 수행된 동작들을 모니터링하기 위해 사용될 수 있다. 일부 실시예들에서, 데이터 파일에 대해 사용자에 의해 수행된 동작들은 클라이언트 디바이스에 대해 수행될 수 있거나, 그들은 클라우드 서버로부터 클라이언트 디바이스상에 맵핑된 문서 편집기를 통해 사용자에 의해 데이터 파일에 대해 수행될 수 있고, 따라서, 데이터 파일 열기, 조작, 플로잉, 및 사용자에 의해 수행되는 모든 다른 데이터 파일 관련 동작들의 효과적인 모니터링 및 관리를 허용한다.The following example is based on the embodiments described above: When a data file experiences operations by a user, a client application installed on the client device may also be used to monitor the operations performed by the user on the data file. Can be used. In some embodiments, the operations performed by the user on the data file may be performed on the client device or they may be performed on the data file by the user via a text editor mapped on the client device from the cloud server. And thus allows for the effective monitoring and management of data file opening, manipulation, flow, and all other data file related operations performed by the user.
도 6은 데이터 파일들을 보호하기 위한 일 예시적인 클라이언트 디바이스를 도시하는 도면이다. 예에 도시된 바와 같이, 클라이언트 디바이스는 프로세서, 내부 버스, 네트워크 포트들, 내부 메모리, 및 비휘발성 메모리를 포함한다. 특히, 클라이언트 디바이스는 또한 비지니스 서비스들을 수행하기 위해 필요할 때 다른 하드웨어를 포함할 수 있다. 프로세서는 비휘발성 메모리로부터 내부 메모리로 대응하는 컴퓨터 프로그램을 획득할 수 있고, 이후 그를 실행한다. 데이터 파일 보호 디바이스는 로직 층에 형성된다. 본 출원은 소프트웨어 구현들 외에 다른 구현들, 예를 들면 로직 디바이스 또는 조합된 소프트웨어/하드웨어 형태를 배제하지 않는다. 다시 말해서, 상기에 설명되는 프로세스들을 실행하는 엔티티는 다양한 로직 유닛들로 한정될 필요는 없고, 하드웨어, 소프트웨어, 또는 그 둘의 조합일 수 있다.6 is a diagram illustrating an example client device for protecting data files. As shown in the example, the client device includes a processor, an internal bus, network ports, internal memory, and nonvolatile memory. In particular, the client device may also include other hardware when needed to perform business services. The processor may obtain a corresponding computer program from nonvolatile memory to internal memory and then execute it. The data file protection device is formed in the logic layer. The present application does not exclude other implementations besides software implementations, for example a logic device or combined software / hardware form. In other words, the entity executing the processes described above need not be limited to various logic units, but may be hardware, software, or a combination of both.
도 7은 데이터 파일들을 보호하기 위한 일 예시적인 클라이언트 디바이스를 도시하는 도면이다. 예에서, 디바이스(700)는 제 1 결정 모듈(71), 저장 모듈(72), 및 스터브 생성 모듈(73)을 포함한다.7 is a diagram illustrating an example client device for protecting data files. In an example,
모듈들 및 유닛들은 프로그래밍 가능한 로직 디바이스들과 같은 하드웨어로서, 하나 이상의 프로세서들상에 실행하는 소프트웨어 구성 요소들로서 구현될 수 있고, 및/또는 소자들이 설계된 주문형 집적 회로들은 컴퓨터 디바이스(예컨대 개인용 컴퓨터들, 서버들, 네트워크 장비, 등)이 본 발명의 실시예들에서 설명된 방법들을 구현하게 하기 위한 다수의 명령들을 포함하는 비휘발성 저장 매체(예컨대 광 디스크, 플래시 저장 디바이스, 모바일 하드 디스크 등)에 저장될 수 있는 소프트웨어 제품들의 일 형태에 의해 구현될 수 있다. 모듈들 및 유닛들은 단일 디바이스상에 구현되거나 다수의 디바이스들에 걸쳐 분포될 수 있다.Modules and units may be implemented as hardware, such as programmable logic devices, as software components executing on one or more processors, and / or custom integrated circuits on which the elements are designed may be computer devices (eg, personal computers, Servers, network equipment, etc.) stored on a nonvolatile storage medium (e.g., optical disk, flash storage device, mobile hard disk, etc.) that includes a plurality of instructions for implementing the methods described in embodiments of the present invention. It may be implemented by one form of software products that can be. Modules and units may be implemented on a single device or distributed across multiple devices.
제 1 결정 모듈(71)은 클라이언트 디바이스상에 데이터 파일의 생성에 응답하여 데이터 파일의 원래의 저장 위치 및 데이터 파일의 보안 분류를 결정하도록 구성된다.The first determining
저장 모듈(72)은 제 1 결정 모듈에 의해 결정된 보안 분류가 데이터 파일이 기밀 파일인 것을 나타내는 경우 지정된 가상 저장 영역에 데이터 파일을 저장하도록 구성된다.The
스터브 생성 모듈(73)은 제 1 결정 모듈(71)에 의해 결정된 원래의 저장 위치에 스터브 파일을 생성하도록 구성된다. 스터브 파일은 지정된 가상 저장 영역의 데이터 파일의 저장 위치 및 데이터 파일에 대한 뷰잉 허가를 기록하도록 구성된다.The
도 8은 데이터 파일들을 보호하기 위한 일 예시적인 클라이언트 디바이스를 도시하는 도면이다. 일부 실시예들에서, 디바이스(800)는 도 7의 디바이스(700)의 일 예시적인 구현이다. 디바이스(800)의 예에서, 디바이스(700)의 제 1 결정 모듈(71)은 제 1 결정 유닛(711), 제 1 매칭 유닛(712), 제 2 결정 유닛(173), 및 제 2 매칭 유닛(714)을 포함한다. 디바이스(800)는 모니터링 모듈(78), 저장 모듈(72), 제 2 결정 모듈(74), 전송 모듈(75), 제 3 결정 모듈(76), 업로딩 모듈(77), 및 스터브 생성 모듈(73)을 포함한다.8 is a diagram illustrating an example client device for protecting data files. In some embodiments,
제 1 결정 유닛(711)은 데이터 파일의 콘텐트 정보를 결정하도록 구성된다.The first determining
일부 실시예들에서, 제 1 매칭 유닛(712)은 제 1 미리 설정된 상태에 대해 제 1 결정 유닛(711)에 의해 결정된 콘텐트 정보를 매칭하고 제 1 매칭 결과에 따라 데이터 파일의 보안 분류를 결정하도록 구성된다.In some embodiments, the
일부 실시예들에서, 제 2 결정 유닛(173)은 데이터 파일의 파일명을 결정하도록 구성된다.In some embodiments, the second determining unit 173 is configured to determine the file name of the data file.
제 2 매칭 유닛(714)은 제 2 미리 설정된 상태에 대해 제 2 결정 유닛(713)에 의해 결정된 파일명을 매칭하고 제 2 매칭 결과에 따라 데이터 파일의 보안 분류를 결정하도록 구성된다.The
제 2 결정 모듈(74)은 제 1 사용자가 저장 모듈(72)에 의해 저장된 데이터 파일을 제 1 사용자에 의해 지정되는 제 2 사용자의 클라이언트 디바이스와 공유할 것을 선택한 것을 나타내는 제 1 명령을 검출하면 제 2 사용자에 대한 사용자 정보를 결정하도록 구성된다.The second determining
전송 모듈(75)은 제 2 사용자에게 데이터 파일을 수신할 것을 명령하기 위해 제 2 명령을 제 2 사용자에게 전송하는 것에 기초하여 제 2 결정 모듈(74)에 의해 결정된 사용자 정보를 사용하도록 구성된다. 제 2 사용자가 대응하는 클라이언트 디바이스를 통해 데이터 파일을 수신한 후, 전송 모듈(75)은 제 2 사용자의 클라이언트 디바이스 상에 데이터 파일에 대한 스터브 파일을 생성하도록 구성된다.The sending
제 3 결정 모듈(76)은 제 2 사용자가 데이터 파일에 대한 뷰잉 허가를 갖는지의 여부를 결정한 것에 기초하여 제 2 결정 모듈(74)에 의해 결정된 사용자 정보를 사용하도록 구성된다.The
업로딩 모듈(77)은 제 2 사용자가 데이터 파일에 대한 뷰잉 허가를 갖는다는 결정에 연관된 제 3 결정 모듈(76)로부터의 표시를 수신하도록 구성된다. 상기 표시에 응답하여, 업로딩 모듈(77)은 데이터 파일을 클라우드 서버로 업로딩하고 이를 저장하도록 구성되어 상기 결과는 제 2 사용자가 클라우드 서버로부터 데이터 파일을 획득하는 것에 기초하여 스터브 파일을 사용할 수 있는 것이다.The
모니터링 모듈(78)은 데이터 파일에 대해 사용자에 의해 수행되는 사용자 동작들을 모니터링하기 위해 클라이언트 디바이스상에 설치된 클라이언트 애플리케이션을 사용하도록 구성된다.The
도 9는 일 예시적인 데이터 파일 검색 디바이스를 도시하는 도면이다. 예에서, 디바이스(900)는 제 4 결정 모듈(91), 시작 모듈(92), 및 액세싱 모듈(93)을 포함한다.9 is a diagram illustrating an example data file retrieval device. In an example,
제 4 결정 모듈(91)은 스터브 파일을 선택하는 것과 연관된 사용자가 스터브 파일에 의해 기록된 뷰잉 허가에 따라 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부를 결정하도록 구성된다.The
제 4 결정 모듈(91)이 사용자가 데이터 파일에 액세스하기 위한 허가를 갖는 것을 결정하는 경우, 시작 모듈(92)은 데이터 파일에 대응하는 가상 애플리케이션을 개시하도록 구성된다.When the
액세싱 모듈(93)은 스터브 파일에 의해 기록된 지정된 가상 저장 영역 저장 위치에 저장된 데이터 파일에 액세스하기 위해 시작 모듈(92)에 의해 시작된 가상 애플리케이션을 사용하도록 구성된다.The accessing
도 10은 일 예시적인 데이터 파일 검색 디바이스를 도시하는 도면이다. 일부 실시예들에서, 도 9의 디바이스(900)는 디바이스(1000)의 예를 사용하여 구현될 수 있다. 디바이스(1000)의 예에서, 액세싱 모듈(93)은 네트워크 접속 유닛(931), 송신 유닛(932), 및 운영 유닛(933)을 포함한다.10 is a diagram illustrating an exemplary data file retrieval device. In some embodiments,
네트워크 접속 유닛(931)은 액세스될 데이터 파일과 연관된 스터브 파일에 의해 기록된 정보에 기초하여 원격 데스크톱 프로토콜 구성 요소를 통해 클라우드 서버에 접속하도록 구성된다.The
송신 유닛(932)은, 클라우드 서버가 저장 파일에 의해 기록된 정보를 성공적으로 검증한 후, 클라우드 서버가 클라이언트 디바이스상에 원격 가상 프로그램을 개시하고 클라우드 서버상에 저장된 데이터 파일을 편집하기 위한 문서 편집기 프로그램을 클라이언트 디바이스에 맵핑하는 것에 기초하여 스터브 파일에 의해 기록된 지정된 가상 저장 위치를 사용한다. The sending
운영 유닛(933)은 문서 편집기를 통해 클라우드 서버상에 저장된 데이터 파일에 대한 동작들을 수행하도록 구성된다.The
도 11은 데이터 파일들을 보호하기 위해 프로그램된 컴퓨터 시스템의 일 예시적인 실시예를 도시하는 기능도이다. 명백한 바와 같이, 다른 컴퓨터 시스템 아키텍처들 및 구성들이 데이터 파일들을 보호하기 위해 사용될 수 있다. 이하에 설명되는 다양한 서브시스템들을 포함하는 컴퓨터 시스템(1100)은 적어도 하나의 마이크로프로세서 서브시스템(프로세서 또는 중앙 처리 장치(CPU)라고도 지칭됨)(1102)을 포함한다. 예를 들면, 프로세서(1102)는 단일칩 프로세서에 의해 또는 다수의 프로세서들에 의해 구현될 수 있다. 일부 실시예들에서, 프로세서(1102)는 컴퓨터 시스템(1100)의 동작을 제어하는 범용 디지털 프로세서이다. 메모리(1100)로부터 검색된 명령들을 사용하여, 프로세서(1102)는 입력 데이터의 수신 및 조작, 및 출력 디바이스들(예를 들면, 디스플레이(1118))상에 데이터의 출력 및 디스플레이를 제어한다.11 is a functional diagram illustrating one exemplary embodiment of a computer system programmed to protect data files. As should be clear, other computer system architectures and configurations can be used to protect data files.
프로세서(1102)는 제 1 주기억 영역, 일반적으로 랜덤 액세스 메모리(RAM), 및 제 2 주기억 영역, 일반적으로 판독 전용 메모리(ROM)를 포함할 수 있는 메모리(1110)와 양방향 결합된다. 본 기술에 잘 알려진 바와 같이, 주 기억 장치는 범용 기억 영역으로서 및 스크래치-패드 메모리로서 사용될 수 있고, 입력 데이터 및 처리된 데이터를 저장하기 위해 또한 사용될 수 있다. 주기억 장치는 또한 프로세서(1102)상에 동작하는 프로세스들을 위한 명령들 및 다른 데이터 외에 데이터 객체들 및 텍스트 객체들의 형태로 프로그래밍 명령들 및 데이터를 저장할 수 있다. 또한 본 기술에서 잘 알려진 바와 같이, 주기억 장치는 일반적으로 그의 기능들을 수행하기 위해 프로세서(1102)에 의해 사용된 기본 동작 명령들, 프로그램 코드, 데이터, 및 객체들(예를 들면, 프로그램된 명령들)을 포함한다. 예를 들면, 메모리(1110)는, 예를 들면, 데이터 액세스가 양방향일 필요가 있는지 단방향일 필요가 있는지에 따라, 이하에 설명된 임의의 적절한 컴퓨터 판독 가능한 저장 매체를 포함할 수 있다. 예를 들면, 프로세서(1102)는 또한 캐시 메모리(도시되지 않음)에 자주 필요한 데이터를 직접 및 매우 빠르게 검색하고 그를 저장할 수 있다. The
제거 가능한 대용량 저장 디바이스(1112)는 컴퓨터 시스템(1100)에 대한 추가의 데이터 저장 용량을 제공하고, 프로세서(1102)에 양방향(판독/기록) 또는 단방향(판독 전용)으로 결합된다. 예를 들면, 저장 장치(1112)는 또한 자기 테이프, 플래시 메모리, PC-CARD들, 이동식 대용량 저장 디바이스들, 홀로그래픽 저장 디바이스들, 및 다른 저장 디바이스들과 같은 컴퓨터 판독 가능한 매체를 포함할 수 있다. 고정식 대용량 저장 장치(1120)는 또한, 예를 들면, 추가의 데이터 기억 용량을 제공할 수 있다. 고정식 대용량 저장 장치(1120)의 가장 일반적인 예는 하드 디스크 드라이브이다. 대용량 저장 장치들(1112, 1120)은 통상 프로세서(1102)에 의해 활성으로 사용되지 않는 추가의 프로그래밍 명령들, 데이터 등을 저장한다. 저장 장치들(1112, 1120) 내 보유된 정보는, 필요한 경우, 가상 메모리로서 메모리(1110)(예를 들면, RAM)의 일부로서 표준 방식으로 통합될 수 있다는 것이 이해될 것이다. Removable
프로세서(1102)에 저장 서브시스템들에 대한 액세스를 제공하는 것 외에, 버스(1114)는 또한 다른 서브시스템들 및 디바이스들에 대한 액세스를 제공하기 위해 사용될 수 있다. 도시된 바와 같이, 이들은 디스플레이(1118), 네트워크 인터페이스(1116), 키보드(1104), 및 포인팅 디바이스(1108), 뿐만 아니라 보조 입/출력 디바이스 인터페이스, 사운드 카드, 스피커들, 및 필요에 따른 다른 서브시스템들을 포함할 수 있다. 예를 들면, 포인팅 디바이스(1108)는 마우스, 스타일러스, 트랙볼, 또는 태블릿일 수 있고, 그래픽 사용자 인터페이스와 인터페이스하기에 유용하다. In addition to providing
네트워크 인터페이스(1116)는 프로세서(1102)가 다른 컴퓨터, 컴퓨터 네트워크, 또는 도시된 네트워크 접속을 사용하는 원격 통신 네트워크에 결합되게 한다. 예를 들면, 네트워크 인터페이스(1116)를 통해, 프로세서(1102)는 방법/프로세스 단계들을 수행하는 과정으로 다른 네트워크로부터의 정보(예를 들면, 데이터 객체들 또는 프로그램 명령들)를 수신하거나 또는 다른 네트워크로 출력 정보를 출력할 수 있다. 프로세서상에 실행될 일련의 명령들로서 종종 나타내지는 정보는 다른 네트워크로부터 수신되고 그로 출력될 수 있다. 인터페이스 카드 또는 유사한 디바이스 및 프로세서(1102)(예를 들면, 그에 실행된/수행된)에 의해 구현된 적절한 소프트웨어는 컴퓨터 시스템(1100)을 외부 네트워크에 접속하고 표준 프로토콜들에 따라 데이터를 이동시키기 사용될 수 있다. 예를 들면, 여기에 개시된 다양한 프로세스 실시예들은 프로세서(1102)상에 실행될 수 있거나, 처리의 일부를 공유하는 원격 프로세서와 함께, 인터넷, 인트라넷 네트워크들, 또는 근거리 네트워크들과 같은 네트워크를 거쳐 수행될 수 있다. 추가의 대용량 저장 장치들(도시되지 않음)는 또한 네트워크 인터페이스(1116)를 통해 프로세서(1102)에 접속될 수 있다. The
보조 I/O 디바이스 인터페이스(도시되지 않음)는 컴퓨터 시스템(1100)과 함께 사용될 수 있다. 보조 I/O 디바이스 인터페이스는 프로세서(1102)가 마이크로폰들, 터치 감응식 디스플레이들, 트랜스듀서 카드 판독기들, 테이프 판독기들, 음성 또는 필기 인식기들, 생체 측정 판독기들, 카메라들, 이동식 대용량 저장 장치들, 및 다른 컴퓨터들과 같은 다른 디바이스들로부터 데이터를 전송 및 더 일반적으로 수신하게 하는 범용 및 맞춤화된 인터페이스들을 포함할 수 있다.A secondary I / O device interface (not shown) may be used with the
상기 다양한 실시예들에 설명된 바와 같이, 데이터 파일이 기밀 파일임이 결정될 때, 데이터 파일은 지정된 가상 저장 영역에 저장된다. 따라서, 지정된 가상 저장 영역에 저장된 데이터 파일에 대한 사용자 동작들은 가상 환경 내에서 분리되고 데이터 파일이 액세스되는 클라이언트 디바이스에서 악의적인 사용자들 및/또는 프로그램들에 의해 조작되는 것을 방지할 수 있다. 스터브 파일은 클라이언트 디바이스에 데이터 파일의 원래의 저장 위치에서 생성된다. 스터브 파일은 데이터 파일에 대한 뷰잉 허가 및 가상 저장 영역에서 데이터 파일의 저장 위치만을 기록하고 데이터 파일 자체로부터의 임의의 파일을 포함하지 않기 때문에, 스터브 파일에 대해 사용자에 의해 수행된 임의의 동작들은 데이터 파일에 대해 어떠한 영향도 갖지 않을 것이다. As described in the various embodiments above, when it is determined that the data file is a confidential file, the data file is stored in the designated virtual storage area. Thus, user actions on the data file stored in the designated virtual storage area can be prevented from being manipulated by malicious users and / or programs in the client device to which the data file is separated and accessed in the virtual environment. The stub file is created in the original storage location of the data file on the client device. Since the stub file only records the viewing permission of the data file and the storage location of the data file in the virtual storage area and does not include any file from the data file itself, any operations performed by the user on the stub file are It will not have any effect on the file.
여기에 개시된 발명을 고려하면, 설명 및 실시에서 당업자가 본 출원을 구현하기 위한 다른 방식들을 쉽게 생각할 것이다. 본 출원은 본 출원의 임의의 변형, 사용, 또는 적응을 포함하는 것을 의도하고, 이들 변형들, 사용들, 또는 적응들은 본 출원의 일반 원리들을 준수하고 본 출원에 의해 개시되지 않은 본 기술에서 공개적인 지식 또는 통상적인 기술적인 수단을 포함한다. 설명 및 실시예들은 단순히 예시적인 것으로 간주된다. 본 출원의 진실한 범위 및 정신은 이하의 청구항들에 의해 나타내진다.Given the invention disclosed herein, those skilled in the art and the description will readily conceive other ways to implement the present application. This application is intended to cover any adaptations, uses, or adaptations of the present application, which variations, uses, or adaptations are disclosed in the present technology which conforms to the general principles of the present application and is not disclosed by the present application. General knowledge or conventional technical means. The description and examples are to be considered merely illustrative. The true scope and spirit of this application is indicated by the following claims.
용어 "포함한다" 또는 "포함하는" 또는 임의의 그들의 변형들이 그들의 배제되지 않은 의미로 취해진다는 것을 또한 주의하라. 따라서, 프로세스들, 방법들, 물품, 또는 일련의 요소들을 포함하는 장비는 이들 요소들을 포함할 뿐만 아니라 명백하게 나열되지 않은 다른 요소들 또는 이러한 프로세스들, 방법들, 물품, 또는 장비에 고유한 요소들을 또한 포함한다. 다른 한정들이 없는 경우, 어구 "...를 포함한다"에 의해 한정된 요소들은 프로세스들, 방법들, 물품, 또는 상기 요소들을 포함하는 장비에서 추가의 동일한 요소들의 존재를 배제하지 않는다.Also note that the terms "comprises" or "comprising" or any of their variations are taken in their non-excluded meaning. Thus, an equipment comprising processes, methods, article, or series of elements includes not only these elements but also other elements not explicitly listed or elements unique to such processes, methods, articles, or equipment. Also includes. In the absence of other limitations, the elements defined by the phrase "comprise ..." do not exclude the presence of additional identical elements in processes, methods, articles, or equipment that includes the elements.
본 출원의 바람직한 실시예들이 단순히 상기에 설명되고 이는 본 출원을 한정하는 역할을 하지 않는다. 수행되는 임의의 변형들, 동등한 대체들, 또는 개선들은 본 출원의 보호 범위 내에 포함될 것이다. Preferred embodiments of the present application are merely described above and do not serve to limit the present application. Any modifications, equivalent substitutions, or improvements made will fall within the protection scope of the present application.
다음의 실시예들은 이해의 명확성을 위해 일부 상세히 설명되었지만, 본 발명은 제공된 상세들로 한정되지 않는다. 본 발명을 구현하는 많은 대안적인 방식들이 존재한다. 개시된 실시예들은 예시적이고 제한적이 아니다.The following examples have been described in some detail for clarity of understanding, but the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
Claims (20)
하나 이상의 프로세서들을 사용하여, 데이터 파일이 제 1 클라이언트 디바이스에 의해 생성되었다는 표시에 응답하여, 상기 데이터 파일과 연관된 보안 분류를 결정하는 단계;
상기 하나 이상의 프로세서들을 사용하여, 상기 데이터 파일과 연관된 상기 보안 분류가 기밀 파일(classified file)을 포함하는지를 결정하는 단계;
상기 하나 이상의 프로세서들을 사용하여, 지정된 가상 저장 영역에 상기 데이터 파일을 저장하는 단계;
상기 데이터 파일의 원래 저장 위치에 제 1 스터브 파일(stub file)을 생성하는 단계로서, 상기 제 1 스터브 파일은 상기 데이터 파일과 연관된 뷰잉 허가 및 상기 지정된 가상 저장 영역 내의 상기 데이터 파일의 저장 위치를 포함하는, 상기 제 1 스터브 파일을 생성하는 단계;
제 2 사용자와 상기 데이터 파일을 공유하기 위해 제 1 사용자로부터 제 1 명령을 수신하는 단계;
상기 제 2 사용자와 연관된 사용자 정보를 결정하는 단계;
상기 제 2 사용자가 상기 제 2 사용자와 연관된 상기 사용자 정보에 적어도 부분적으로 기초하여 상기 데이터 파일에 액세스하기 위한 허가를 갖는지를 결정하는 단계; 및
상기 제 2 사용자와 연관된 제 2 클라이언트 디바이스에 제 2 명령을 전송하는 단계로서, 상기 제 2 명령은 상기 제 2 사용자와 연관된 상기 제 2 클라이언트 디바이스에서 상기 데이터 파일에 대응하는 제 2 스터브 파일을 생성하도록 구성되고, 상기 제 2 스터브 파일은 상기 지정된 가상 저장 영역 내의 상기 데이터 파일을 얻기 위해 사용되는, 상기 제 2 명령을 전송하는 단계를 포함하는, 방법.In the way:
Using one or more processors, in response to an indication that the data file was generated by the first client device, determining a security classification associated with the data file;
Using the one or more processors to determine if the security classification associated with the data file includes a classified file;
Using the one or more processors, storing the data file in a designated virtual storage area;
Generating a first stub file at an original storage location of the data file, the first stub file including a viewing permission associated with the data file and a storage location of the data file within the designated virtual storage area; Generating the first stub file;
Receiving a first command from a first user to share the data file with a second user;
Determining user information associated with the second user;
Determining whether the second user has permission to access the data file based at least in part on the user information associated with the second user; And
Transmitting a second command to a second client device associated with the second user, wherein the second command generates a second stub file corresponding to the data file at the second client device associated with the second user. And the second stub file is used to obtain the data file in the designated virtual storage area.
상기 지정된 가상 저장 영역은 클라우드 서버와 연관되는, 방법.The method of claim 1,
And the designated virtual storage area is associated with a cloud server.
상기 데이터 파일과 연관된 상기 보안 분류를 결정하는 단계는:
미리 설정된 조건에 대하여 상기 데이터 파일과 연관된 콘텐트 정보를 비교하는 단계; 및
상기 비교의 결과에 적어도 부분적으로 기초하여 상기 보안 분류를 결정하는 단계를 포함하는, 방법.The method of claim 1,
Determining the security classification associated with the data file includes:
Comparing content information associated with the data file against a preset condition; And
Determining the security classification based at least in part on a result of the comparison.
상기 데이터 파일과 연관된 상기 보안 분류는 제 3 사용자에 의해 설정되는, 방법.The method of claim 1,
The security classification associated with the data file is set by a third user.
상기 데이터 파일과 연관된 상기 원래 저장 위치에 상기 제 1 스터브 파일을 저장하는 단계를 더 포함하는, 방법.The method of claim 1,
Storing the first stub file in the original storage location associated with the data file.
상기 데이터 파일에 액세스하기 위해 상기 제 1 스터브 파일과 연관된 사용자 선택을 수신하는 단계;
상기 사용자 선택과 연관된 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부를 결정하는 단계;
상기 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는 경우, 상기 데이터 파일에 대응하는 가상 애플리케이션을 실행하는 단계; 및
상기 가상 애플리케이션을 사용하여 상기 지정된 가상 저장 영역에 상기 데이터 파일에 대한 액세스를 제공하는 단계를 더 포함하는, 방법. The method of claim 1,
Receiving a user selection associated with the first stub file to access the data file;
Determining whether a third user associated with the user selection has permission to access the data file;
If the third user has permission to access the data file, executing a virtual application corresponding to the data file; And
Using the virtual application to provide access to the data file to the designated virtual storage area.
상기 데이터 파일에 액세스하기 위해 상기 제 1 스터브 파일과 연관된 사용자 선택을 수신하는 단계;
상기 사용자 선택과 연관된 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부를 결정하는 단계;
상기 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는 경우, 상기 데이터 파일에 대응하는 가상 애플리케이션을 실행하는 단계; 및
상기 지정된 가상 저장 영역과 연관된 클라우드 서버에 상기 제 1 스터브 파일에 포함된 정보를 송신하고, 상기 클라우드 서버로부터 문서 편집기 프로그램과 연관된 사용자 인터페이스를 수신함으로써, 상기 가상 애플리케이션을 사용하여 상기 지정된 가상 저장 영역의 상기 데이터 파일에 대한 액세스를 제공하는 단계를 더 포함하는, 방법.The method of claim 1,
Receiving a user selection associated with the first stub file to access the data file;
Determining whether a third user associated with the user selection has permission to access the data file;
If the third user has permission to access the data file, executing a virtual application corresponding to the data file; And
Sending information included in the first stub file to a cloud server associated with the designated virtual storage area and receiving a user interface associated with a text editor program from the cloud server, thereby using the virtual application to access the specified virtual storage area. Providing access to the data file.
상기 데이터 파일에 액세스하기 위해 상기 제 1 스터브 파일과 연관된 사용자 선택을 수신하는 단계;
상기 사용자 선택과 연관된 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부를 결정하는 단계;
상기 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는 경우, 상기 데이터 파일에 대응하는 가상 애플리케이션을 실행하는 단계; 및
상기 지정된 가상 저장 영역과 연관된 클라우드 서버에 상기 제 1 스터브 파일에 포함된 정보를 송신하고, 상기 클라우드 서버로부터 문서 편집기 프로그램과 연관된 사용자 인터페이스를 수신하고, 상기 사용자 인터페이스를 통해 상기 데이터 파일에 대해 수행될 동작을 수신하고, 상기 클라우드 서버에 상기 동작을 전송함으로써 포함하는 상기 가상 애플리케이션을 사용하여 상기 지정된 가상 저장 영역의 상기 데이터 파일에 대한 액세스를 제공하는 단계를 더 포함하는, 방법.The method of claim 1,
Receiving a user selection associated with the first stub file to access the data file;
Determining whether a third user associated with the user selection has permission to access the data file;
If the third user has permission to access the data file, executing a virtual application corresponding to the data file; And
Send information included in the first stub file to a cloud server associated with the designated virtual storage area, receive a user interface associated with a text editor program from the cloud server, and perform the data file via the user interface. Receiving an operation and providing access to the data file of the designated virtual storage area using the virtual application that includes by sending the operation to the cloud server.
상기 컴퓨터 명령들은:
데이터 파일이 제 1 클라이언트 디바이스에 의해 생성되었다는 표시에 응답하여, 상기 데이터 파일과 연관된 보안 분류를 결정하고;
상기 데이터 파일과 연관된 상기 보안 분류가 기밀 파일을 포함하는지를 결정하고;
지정된 가상 저장 영역에 상기 데이터 파일을 저장하고;
상기 데이터 파일의 원래의 저장 위치에 제 1 스터브 파일을 생성하는 것으로서, 상기 제 1 스터브 파일은 상기 지정된 가상 저장 영역에 상기 데이터 파일의 저장 위치 및 상기 데이터 파일과 연관된 뷰잉 허가를 포함하는, 상기 제 1 스터브 파일을 생성하고;
상기 데이터 파일을 제 2 사용자와 공유하기 위해 제 1 사용자로부터 제 1 명령을 수신하고;
상기 제 2 사용자와 연관된 사용자 정보를 결정하고;
상기 제 2 사용자가 상기 제 2 사용자와 연관된 상기 사용자 정보에 적어도 부분적으로 기초하여 상기 데이터 파일에 액세스하기 위한 허가를 갖는지를 결정하고;
상기 제 2 사용자와 연관된 제 2 클라이언트 디바이스에 제 2 명령을 전송하는 것으로서, 상기 제 2 명령은 상기 제 2 사용자와 연관된 상기 제 2 클라이언트 디바이스에서 상기 데이터 파일에 대응하는 제 2 스터브 파일을 생성하도록 구성되고, 상기 제 2 스터브 파일은 상기 지정된 가상 저장 영역 내의 상기 데이터 파일을 얻기 위해 사용되는, 상기 제 2 명령을 전송하는 것을 위한 것인, 비-일시적 컴퓨터 판독 가능 저장 매체. A non-transitory computer readable storage medium having stored thereon a computer program comprising computer instructions, the method comprising:
The computer instructions are:
In response to an indication that the data file was created by the first client device, determine a security classification associated with the data file;
Determine whether the security classification associated with the data file includes a confidential file;
Store the data file in a designated virtual storage area;
Creating a first stub file at an original storage location of the data file, the first stub file including a storage location of the data file and a viewing permission associated with the data file in the designated virtual storage area; Create a stub file;
Receive a first command from a first user to share the data file with a second user;
Determine user information associated with the second user;
Determine whether the second user has permission to access the data file based at least in part on the user information associated with the second user;
Sending a second command to a second client device associated with the second user, wherein the second command is configured to generate a second stub file corresponding to the data file at the second client device associated with the second user. And the second stub file is for transmitting the second command, used to obtain the data file in the designated virtual storage area.
상기 지정된 가상 저장 영역은 클라우드 서버와 연관되는, 비-일시적 컴퓨터 판독 가능 저장 매체.The method of claim 10,
And the designated virtual storage area is associated with a cloud server.
상기 데이터 파일과 연관된 상기 보안 분류를 결정하는 것은:
미리 설정된 상태에 대해 상기 데이터 파일과 연관된 콘텐트 정보를 비교하는 것; 및
상기 비교의 결과에 적어도 부분적으로 기초하여 상기 보안 분류를 결정하는 것을 포함하는, 비-일시적 컴퓨터 판독 가능 저장 매체.The method of claim 10,
Determining the security classification associated with the data file is:
Comparing the content information associated with the data file against a preset state; And
And determining the security classification based at least in part on a result of the comparison.
상기 데이터 파일과 연관된 상기 보안 분류는 제 3 사용자에 의해 설정되는, 비-일시적 컴퓨터 판독 가능 저장 매체.The method of claim 10,
And the security classification associated with the data file is set by a third user.
상기 데이터 파일과 연관된 상기 원래의 저장 위치에 상기 제 1 스터브 파일을 저장하는 것을 더 위한 것인, 비-일시적 컴퓨터 판독 가능 저장 매체.The method of claim 10,
Non-transitory computer readable storage medium further for storing the first stub file in the original storage location associated with the data file.
상기 데이터 파일에 액세스하기 위해 상기 제 1 스터브 파일과 연관된 사용자 선택을 수신하고;
상기 사용자 선택과 연관된 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부를 결정하고;
상기 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는 경우, 상기 데이터 파일에 대응하는 가상 애플리케이션을 실행하고; 및
상기 가상 애플리케이션을 사용하여 상기 지정된 가상 저장 영역의 데이터 파일에 대한 액세스를 제공하는 것을 더 위한 것인, 비-일시적 컴퓨터 판독 가능 저장 매체.The method of claim 10,
Receive a user selection associated with the first stub file to access the data file;
Determine whether a third user associated with the user selection has permission to access the data file;
If the third user has permission to access the data file, execute a virtual application corresponding to the data file; And
And providing access to a data file of the designated virtual storage area using the virtual application.
상기 데이터 파일에 액세스하기 위해 상기 제 1 스터브 파일과 연관된 사용자 선택을 수신하고;
상기 사용자 선택과 연관된 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부를 결정하고;
상기 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는 경우, 상기 데이터 파일에 대응하는 가상 애플리케이션을 실행하고; 및
상기 지정된 가상 저장 영역과 연관된 클라우드 서버에 상기 제 1 스터브 파일에 포함된 정보를 송신하고, 상기 클라우드 서버로부터 문서 편집기 프로그램과 연관된 사용자 인터페이스를 수신하는 것을 포함하는 상기 가상 애플리케이션을 사용하여 상기 지정된 가상 저장 영역의 상기 데이터 파일에 대한 액세스를 제공하는 것을 더 위한 것인, 비-일시적 컴퓨터 판독 가능 저장 매체.The method of claim 10,
Receive a user selection associated with the first stub file to access the data file;
Determine whether a third user associated with the user selection has permission to access the data file;
If the third user has permission to access the data file, execute a virtual application corresponding to the data file; And
Sending the information included in the first stub file to a cloud server associated with the designated virtual storage area and receiving a user interface associated with a text editor program from the cloud server using the virtual application. Non-transitory computer readable storage medium further for providing access to the data file of the region.
상기 데이터 파일에 액세스하기 위해 상기 제 1 스터브 파일과 연관된 사용자 선택을 수신하고;
상기 사용자 선택과 연관된 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는지의 여부를 결정하고;
상기 제 3 사용자가 상기 데이터 파일에 액세스하기 위한 허가를 갖는 경우, 상기 데이터 파일에 대응하는 가상 애플리케이션을 실행하고; 및
상기 지정된 가상 저장 영역과 연관된 클라우드 서버로 상기 제 1 스터브 파일에 포함된 정보를 송신하고, 상기 클라우드 서버로부터 문서 편집기 프로그램과 연관된 사용자 인터페이스를 수신하고, 상기 사용자 인터페이스를 통해 상기 데이터 파일에 대해 수행될 동작을 수신하고, 상기 클라우드 서버에 상기 동작을 전송하는 것을 포함하는 상기 가상 애플리케이션을 사용하여 상기 지정된 가상 저장 영역의 상기 데이터 파일에 대한 액세스를 제공하는 것을 더 위한 것인, 비-일시적 컴퓨터 판독 가능 저장 매체.The method of claim 10,
Receive a user selection associated with the first stub file to access the data file;
Determine whether a third user associated with the user selection has permission to access the data file;
If the third user has permission to access the data file, execute a virtual application corresponding to the data file; And
Send information included in the first stub file to a cloud server associated with the designated virtual storage area, receive a user interface associated with a text editor program from the cloud server, and perform the data file via the user interface. And further providing access to the data file of the designated virtual storage area using the virtual application comprising receiving an action and sending the action to the cloud server. Storage media.
하나 이상의 프로세서들을 포함하고,
상기 하나 이상의 프로세서들은:
데이터 파일이 제 1 클라이언트 디바이스에 의해 생성되었다는 표시에 응답하여, 상기 데이터 파일과 연관된 보안 분류를 결정하고;
상기 데이터 파일과 연관된 상기 보안 분류가 기밀 파일을 포함하는지를 결정하고;
지정된 가상 저장 영역에 상기 데이터 파일을 저장하고;
상기 데이터 파일의 원래의 저장 위치에 제 1 스터브 파일을 생성하는 것으로서, 상기 제 1 스터브 파일은 상기 지정된 가상 저장 영역에 상기 데이터 파일의 저장 위치 및 상기 데이터 파일과 연관된 뷰잉 허가를 포함하는, 상기 제 1 스터브 파일을 생성하고;
상기 데이터 파일을 제 2 사용자와 공유하기 위해 제 1 사용자로부터 제 1 명령을 수신하고;
상기 제 2 사용자와 연관된 사용자 정보를 결정하고;
상기 제 2 사용자가 상기 제 2 사용자와 연관된 상기 사용자 정보에 적어도 부분적으로 기초하여 상기 데이터 파일에 액세스하기 위한 허가를 갖는지를 결정하고;
상기 제 2 사용자와 연관된 제 2 클라이언트 디바이스에 제 2 명령을 전송하는 것으로서, 상기 제 2 명령은 상기 제 2 사용자와 연관된 상기 제 2 클라이언트 디바이스에서 상기 데이터 파일에 대응하는 제 2 스터브 파일을 생성하도록 구성되고, 상기 제 2 스터브 파일은 상기 지정된 가상 저장 영역 내의 상기 데이터 파일을 얻기 위해 사용되는, 상기 제 2 명령을 전송하도록 구성되는, 시스템. In the system,
One or more processors,
The one or more processors are:
In response to an indication that the data file was created by the first client device, determine a security classification associated with the data file;
Determine whether the security classification associated with the data file includes a confidential file;
Store the data file in a designated virtual storage area;
Creating a first stub file at an original storage location of the data file, the first stub file including a storage location of the data file and a viewing permission associated with the data file in the designated virtual storage area; Create a stub file;
Receive a first command from a first user to share the data file with a second user;
Determine user information associated with the second user;
Determine whether the second user has permission to access the data file based at least in part on the user information associated with the second user;
Sending a second command to a second client device associated with the second user, wherein the second command is configured to generate a second stub file corresponding to the data file at the second client device associated with the second user. And the second stub file is configured to send the second command used to obtain the data file in the designated virtual storage area.
상기 지정된 가상 저장 영역은 클라우드 서버와 연관되는, 시스템.The method of claim 19,
And the designated virtual storage area is associated with a cloud server.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510295401.9 | 2015-06-02 | ||
CN201510295401.9A CN106295386B (en) | 2015-06-02 | 2015-06-02 | Data file protection method and device and terminal equipment |
US15/158,423 US10114962B2 (en) | 2015-06-02 | 2016-05-18 | Generating a stub file corresponding to a classified data file |
US15/158,423 | 2016-05-18 | ||
PCT/US2016/033334 WO2016196030A1 (en) | 2015-06-02 | 2016-05-19 | Protecting data files |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170133485A KR20170133485A (en) | 2017-12-05 |
KR102037656B1 true KR102037656B1 (en) | 2019-11-26 |
Family
ID=57451866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177031893A Active KR102037656B1 (en) | 2015-06-02 | 2016-05-19 | Data files protection |
Country Status (6)
Country | Link |
---|---|
US (2) | US10114962B2 (en) |
EP (1) | EP3304275B1 (en) |
JP (1) | JP6511161B2 (en) |
KR (1) | KR102037656B1 (en) |
CN (1) | CN106295386B (en) |
TW (1) | TWI690821B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726041B (en) * | 2017-10-27 | 2023-09-08 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer readable medium for restoring files in a virtual machine disk |
US11353039B2 (en) * | 2018-09-04 | 2022-06-07 | Hyland Uk Operations Limited | System and method for handling digital content governance in an organization |
US11841961B2 (en) * | 2020-07-02 | 2023-12-12 | International Business Machines Corporation | Management of computing secrets |
US11704278B2 (en) | 2020-12-04 | 2023-07-18 | International Business Machines Corporation | Intelligent management of stub files in hierarchical storage |
US11983291B2 (en) * | 2020-12-14 | 2024-05-14 | International Business Machines Corporation | Policy-driven views of datasets |
KR102525655B1 (en) * | 2020-12-31 | 2023-04-25 | (주)나무소프트 | Method for controlling storing a document file |
CN115086308B (en) * | 2022-04-27 | 2023-10-20 | 上海上讯信息技术股份有限公司 | RDP-based data transmission control method and device |
CH720073B1 (en) * | 2022-09-30 | 2025-01-31 | Supertext Ag | CLOUD-BASED SERVER COMPUTER, METHOD AND COMPUTER PROGRAM PRODUCT FOR PROCESSING A SECURE ELECTRONIC DOCUMENT |
US12411808B2 (en) | 2023-08-24 | 2025-09-09 | RapidFort, Inc. | System and method for obtaining instrumentation data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110277013A1 (en) * | 2010-05-09 | 2011-11-10 | Chinta Madhav | Methods and Systems for Forcing an Application to Store Data in a Secure Storage Location |
US20130110967A1 (en) * | 2011-11-01 | 2013-05-02 | Hitachi, Ltd. | Information system and method for managing data in information system |
US20140157363A1 (en) * | 2012-12-05 | 2014-06-05 | Symantec Corporation | Methods and systems for secure storage segmentation based on security context in a virtual environment |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260176A (en) * | 2005-03-17 | 2006-09-28 | Ex's Annex:Kk | Confidential document management method and confidential document management system |
US7506003B2 (en) * | 2005-07-14 | 2009-03-17 | Microsoft Corporation | Moving data from file on storage volume to alternate location to free space |
CN101187994A (en) * | 2006-11-17 | 2008-05-28 | 鸿富锦精密工业(深圳)有限公司 | File printing control system and method |
JP2008191838A (en) * | 2007-02-02 | 2008-08-21 | Hitachi Electronics Service Co Ltd | Information management system |
CA2714961A1 (en) * | 2007-02-05 | 2008-08-14 | Moonwalk Universal Pty Ltd | Data management system |
US20110040812A1 (en) * | 2007-12-20 | 2011-02-17 | Virtual Computer, Inc. | Layered Virtual File System |
JP2010266933A (en) * | 2009-05-12 | 2010-11-25 | Ri Co Ltd | Document management program, document management system, and document management method |
US20100332401A1 (en) | 2009-06-30 | 2010-12-30 | Anand Prahlad | Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites |
US8620879B2 (en) | 2009-10-13 | 2013-12-31 | Google Inc. | Cloud based file storage service |
US8694469B2 (en) | 2009-12-28 | 2014-04-08 | Riverbed Technology, Inc. | Cloud synthetic backups |
AU2011235075B2 (en) | 2010-03-31 | 2015-10-01 | Security First Corp. | Systems and methods for securing data in motion |
US8601498B2 (en) | 2010-05-28 | 2013-12-03 | Security First Corp. | Accelerator system for use with secure data storage |
WO2012035588A1 (en) * | 2010-09-17 | 2012-03-22 | Hitachi, Ltd. | Method for managing information processing system and data management computer system |
CN102004886B (en) * | 2010-11-15 | 2012-07-25 | 上海安纵信息科技有限公司 | Data anti-leakage method based on operating system virtualization principle |
US20120290926A1 (en) * | 2011-05-12 | 2012-11-15 | Infinote Corporation | Efficient document management and search |
CN102254117B (en) | 2011-07-07 | 2013-10-02 | 胡建斌 | Virtualized technology-based data anti-disclosure system |
US8626714B1 (en) * | 2011-09-07 | 2014-01-07 | Symantec Corporation | Automated separation of corporate and private data for backup and archiving |
CN102592102B (en) | 2011-12-31 | 2014-09-17 | 深信服网络科技(深圳)有限公司 | Anti-leakage control method of terminal and terminal |
US8736551B2 (en) * | 2012-07-12 | 2014-05-27 | Atmel Corporation | Touch-sensor-controller sensor hub |
CN102882923B (en) * | 2012-07-25 | 2015-04-15 | 北京亿赛通科技发展有限责任公司 | Secure storage system and method for mobile terminal |
US9319265B2 (en) * | 2013-02-22 | 2016-04-19 | Hitachi Data Systems Engineering UK Limited | Read ahead caching of data from cloud storage and method thereof |
CN103620606B (en) * | 2013-06-20 | 2017-10-10 | 华为技术有限公司 | Storage detection device, system and storage detection method |
CN103942492B (en) | 2014-03-04 | 2016-09-21 | 中天安泰(北京)信息技术有限公司 | Uniprocessor version data black hole processing method and the equipment of calculating |
-
2015
- 2015-06-02 CN CN201510295401.9A patent/CN106295386B/en active Active
- 2015-12-17 TW TW104142501A patent/TWI690821B/en active
-
2016
- 2016-05-18 US US15/158,423 patent/US10114962B2/en active Active
- 2016-05-19 EP EP16803985.7A patent/EP3304275B1/en active Active
- 2016-05-19 KR KR1020177031893A patent/KR102037656B1/en active Active
- 2016-05-19 JP JP2017557316A patent/JP6511161B2/en active Active
-
2018
- 2018-09-17 US US16/133,480 patent/US20190087596A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110277013A1 (en) * | 2010-05-09 | 2011-11-10 | Chinta Madhav | Methods and Systems for Forcing an Application to Store Data in a Secure Storage Location |
US20130110967A1 (en) * | 2011-11-01 | 2013-05-02 | Hitachi, Ltd. | Information system and method for managing data in information system |
US20140157363A1 (en) * | 2012-12-05 | 2014-06-05 | Symantec Corporation | Methods and systems for secure storage segmentation based on security context in a virtual environment |
Also Published As
Publication number | Publication date |
---|---|
KR20170133485A (en) | 2017-12-05 |
EP3304275A1 (en) | 2018-04-11 |
JP2018522320A (en) | 2018-08-09 |
US10114962B2 (en) | 2018-10-30 |
TW201702925A (en) | 2017-01-16 |
TWI690821B (en) | 2020-04-11 |
US20190087596A1 (en) | 2019-03-21 |
EP3304275B1 (en) | 2020-07-22 |
JP6511161B2 (en) | 2019-05-15 |
US20160357978A1 (en) | 2016-12-08 |
CN106295386A (en) | 2017-01-04 |
CN106295386B (en) | 2021-04-27 |
EP3304275A4 (en) | 2019-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102037656B1 (en) | Data files protection | |
US7908476B2 (en) | Virtualization of file system encryption | |
JP6538570B2 (en) | System and method for cloud data security | |
US9542563B2 (en) | Accessing protected content for archiving | |
CN103617399B (en) | A kind of data file guard method and device | |
WO2016154525A1 (en) | Policy enforcement | |
EA012863B1 (en) | Computer session management device and system | |
JP7445358B2 (en) | Secure Execution Guest Owner Control for Secure Interface Control | |
EP2599027A2 (en) | Protecting documents using policies and encryption | |
US20230076870A1 (en) | Protections for sensitive content items in a content management system | |
JP6978603B2 (en) | Systems and methods for anonymizing user accounts | |
US11032319B1 (en) | Systems and methods for preparing honeypot computer files | |
JP2008522279A (en) | Security transmission system for online data between virtual disks whose access is controlled, and security transmission method through the same | |
US20190080101A1 (en) | Dynamically provisioning virtual machines | |
US10726104B2 (en) | Secure document management | |
US9754086B1 (en) | Systems and methods for customizing privacy control systems | |
CN114626084B (en) | Secure smart containers for controlling access to data | |
US11841961B2 (en) | Management of computing secrets | |
WO2016196030A1 (en) | Protecting data files | |
Stewart | Forensic implications of Windows vista | |
EP2930607A1 (en) | Method and apparatus for increasing available portable memory storage space |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0105 | International application |
Patent event date: 20171102 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20190221 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20190806 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20191023 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20191024 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20221007 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20231011 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20241008 Start annual number: 6 End annual number: 6 |