KR20080111888A - Method and apparatus for contents security - Google Patents

Method and apparatus for contents security Download PDF

Info

Publication number
KR20080111888A
KR20080111888A KR1020070060408A KR20070060408A KR20080111888A KR 20080111888 A KR20080111888 A KR 20080111888A KR 1020070060408 A KR1020070060408 A KR 1020070060408A KR 20070060408 A KR20070060408 A KR 20070060408A KR 20080111888 A KR20080111888 A KR 20080111888A
Authority
KR
South Korea
Prior art keywords
hooking
virtual drive
signal
drive access
access signal
Prior art date
Application number
KR1020070060408A
Other languages
Korean (ko)
Other versions
KR100911345B1 (en
Inventor
황동혁
Original Assignee
(주)테르텐
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)테르텐 filed Critical (주)테르텐
Priority to KR1020070060408A priority Critical patent/KR100911345B1/en
Publication of KR20080111888A publication Critical patent/KR20080111888A/en
Application granted granted Critical
Publication of KR100911345B1 publication Critical patent/KR100911345B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register

Abstract

A content security method and a method thereof are provided to prevent the illegal copy of contents as using the contents through a virtual drive. A content security method comprises the following step of: receiving a virtual drive access signal outputted from a user process(10); in case the received virtual drive access signal is a hooking signal, hooking the virtual drive access signal and then outputting a null return signal to the user process; and if the received virtual drive access signal is not the hooking signal, outputting the virtual drive access signal to a kernel.

Description

컨텐츠 보안 방법 및 그 장치{Method and apparatus for contents security}Content security method and apparatus therefor {Method and apparatus for contents security}

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.

도 1은 종래의 가상 드라이브를 이용한 컨텐츠 접근 방법을 설명하기 위한 개략적인 기능 블록도를 나타낸다.1 is a schematic functional block diagram illustrating a conventional content access method using a virtual drive.

도 2는 본 발명의 실시 예에 따른 컨텐츠 보안 장치의 개략적인 기능 블록도를 나타낸다.2 is a schematic functional block diagram of a content security device according to an embodiment of the present invention.

도 3은 본 발명의 실시 예에 따른 컨텐츠 보안 방법을 설명하기 위한 플로우 챠트를 나타낸다.3 is a flowchart illustrating a content security method according to an embodiment of the present invention.

본 발명은 컨텐츠 보안 방법에 관한 것으로, 보다 상세하게는 가상 드라이브를 이용하면서 상기 가상 드라이브에 저장된 컨텐츠를 무단으로 복제하거나 불법적인 사용을 방지할 수 있으며 또한, 인증된 프로세스만 상기 가상 드라이브에 접근할 수 있도록 하는 컨텐츠 보안 방법 및 그 장치에 관한 것이다.The present invention relates to a content security method, and more particularly, to prevent unauthorized copying or illegal use of content stored in the virtual drive while using a virtual drive, and only an authorized process can access the virtual drive. It relates to a content security method and apparatus therefor.

가상 드라이브는 OS(Operating System)으로 하여금 논리적인 데이터 유닛을 실제로 존재하지 않는 가상의 물리적 장치로 인식하도록 함으로써, 사용자 또는 OS에게 편의를 제공할 수 있는 기술을 의미한다.A virtual drive refers to a technology capable of providing convenience to a user or an OS by causing an operating system (OS) to recognize a logical data unit as a virtual physical device that does not actually exist.

도 1은 종래의 가상 드라이브를 이용한 컨텐츠 접근 방법을 설명하기 위한 개략적인 기능 블록도를 나타낸다.1 is a schematic functional block diagram illustrating a conventional content access method using a virtual drive.

도 1을 참조하면, 사용자 프로세스(예컨대, 응용 프로그램 또는 OS에서 제공하는 함수의 일부, 10)는 가상 드라이브(Virtual drive, 이하 'VD', 50)에 접근하기 위해 소정의 메시지를 OS에 구비된 커널(kernel)로 출력할 수 있다. 상기 메시지를 수신한 상기 커널은 상기 가상 드라이브(50)를 가상의 물리적 장치로 OS가 인식하도록 하고, 상기 가상 드라이브(50)에 접근하기 위한 장치인 가상 디바이스 드라이버(Virtual Device Driver, 이하 ‘VDD', 30)로 출력할 수 있다. 즉, 상기 사용자 프로세스(10)는 상기 VDD(30)를 통해 상기 가상 드라이브(50)로 접근할 수 있다.Referring to FIG. 1, a user process (eg, a part of a function provided by an application or an OS, 10) is provided with a predetermined message in the OS to access a virtual drive (hereinafter, 'VD', 50). You can output it to the kernel. The kernel receiving the message causes the OS to recognize the virtual drive 50 as a virtual physical device, and a virtual device driver (hereinafter referred to as 'VDD') that is a device for accessing the virtual drive 50. , 30). That is, the user process 10 may access the virtual drive 50 through the VDD 30.

상기 VD(50)에는 다양한 형태의 컨텐츠(예컨대, MP3, 영화, 이미지, 문서 등)가 저장될 수 있다. 또한, 상기 VD(50)는 경우에 따라서는 상기 다양한 형태의 컨텐츠가 소정의 파일 형태(예컨대, 이미지 파일)로 저장된 경우 상기 컨텐츠 자체를 의미할 수도 있다. 상기 컨텐츠는 암호화되어 있을 수 있으며, 이때에는 상기 VDD(30) 또는 상기 사용자 프로세스(10) 중 적어도 하나에 암호화된 컨텐츠를 복호화하기 위한 복호화 모듈이 포함되는 것이 바람직하다. The VD 50 may store various types of content (eg, MP3, movie, image, document, etc.). In addition, the VD 50 may refer to the content itself when the various types of content are stored in a predetermined file form (eg, an image file). The content may be encrypted, and in this case, at least one of the VDD 30 or the user process 10 may include a decryption module for decrypting the encrypted content.

상기 VDD(30)는 상기 VD(50)를 OS에 마운트 함으로써, 사용자 또는 OS가 상기 VD(50)에 저장되어 있는 소정의 컨텐츠(예컨대, 이미지 파일로 저장된)를 별도 의 독립적인 드라이브에서 사용하는 것과 같은 효과를 제공할 수 있다. 상기 VD(50)에 저장되는 컨텐츠는 상기 VDD(30)에서 지원하는 모든 파일 시스템의 포맷(예컨대, CDFS(CD-ROM File System), NFS(Network File System), FAT12, FAT16, FAT32, 또는 NTFS 등)의 형태로 저장될 수 있다.The VDD 30 mounts the VD 50 to an OS so that a user or OS may use predetermined contents (for example, stored as an image file) stored in the VD 50 in a separate drive. It can provide the same effect. The content stored in the VD 50 may be formatted in all file systems supported by the VDD 30 (eg, CD-ROM File System (CDFS), Network File System (NFS), FAT12, FAT16, FAT32, or NTFS). And the like).

기본적으로 상기 VDD(30)는 상기 VD(50)에 저장된 모든 컨텐츠 또는 파일에 접근 권한을 가지고 있다. 예컨대, 상기 사용자 프로세스(10)는 상기 VDD(30)를 통해 상기 VD(50)에 저장된 컨텐츠의 리퀘스트(예컨대, 파일 I/O 함수들)를 요청할 수 있으며, 상기 VDD(30)는 요청된 리퀘스트에 상응하는 동작을 수행한 후 그 결과 값을 상기 사용자 프로세스(10)로 리턴할 수 있다. 상기 리퀘스트에는 파일을 다른 디바이스(예컨대, 하드 디스크 드라이브)로 복제하거나, 다른 프로세스(예컨대, 응용 프로그램)로 복제하는 경우를 포함할 수도 있다.Basically, the VDD 30 has access to all content or files stored in the VD 50. For example, the user process 10 may request a request (eg, file I / O functions) of content stored in the VD 50 via the VDD 30, and the VDD 30 requests the requested request. After performing the operation corresponding to the result value can be returned to the user process (10). The request may include a case where a file is copied to another device (eg, a hard disk drive) or to another process (eg, an application).

따라서, 컨텐츠를 가상 드라이브 형태로 제공하고자 하는 컨텐츠 제공자는 이러한 무단 복제를 방지할 수 있는 컨텐츠 보안 방법을 필요로 하게 된다. 또한, 컨텐츠 제공자는 인증된 사용자 프로세스만 상기 VD(50)에 접근할 수 있도록 제어함으로써 악성코드(예컨대, 크랙(crack) 파일, 바이러스, 또는 말웨어(mal-ware) 등)로부터 컨텐츠를 보호할 필요를 느끼게 된다.Therefore, a content provider who wants to provide content in the form of a virtual drive needs a content security method that can prevent such unauthorized duplication. In addition, the content provider needs to protect the content from malicious code (eg, crack files, viruses, or malware) by controlling only authorized user processes to access the VD 50. Will feel.

따라서, 가상 드라이브를 통하여 컨텐츠를 이용하면서, 불법적인 컨텐츠의 복제를 막을 수 있으며, 인증된 사용자 프로세스만 가상 드라이브에 접근할 수 있도록 제어할 수 있는 컨텐츠 보안 방법 및 그 장치가 절실히 요구된다.Accordingly, there is an urgent need for a content security method and apparatus capable of preventing illegal copying of content while using content through a virtual drive and controlling only authorized user processes to access the virtual drive.

따라서 본 발명이 이루고자 하는 기술적인 과제는 가상 드라이브를 통하여 컨텐츠를 이용하면서, 불법적인 컨텐츠의 복제를 막음으로써 컨텐츠를 무단으로 사용하는 것을 방지할 수 있는 컨텐츠 보안 방법 및 그 장치를 제공하는 것이다.Accordingly, a technical problem of the present invention is to provide a content security method and apparatus capable of preventing unauthorized use of content by preventing illegal copying of content while using the content through a virtual drive.

본 발명이 이루고자 하는 다른 기술적인 과제는 인증된 사용자 프로세스만 가상 드라이브에 접근할 수 있도록 제어함으로써, 정당한 사용만을 권장하며 악성코드로부터 컨텐츠를 보호할 수 있는 컨텐츠 보안 방법 및 그 장치를 제공하는 것이다.Another technical problem to be achieved by the present invention is to provide a content security method and apparatus capable of protecting the content from malicious code by only allowing proper use by controlling only an authorized user process to access a virtual drive.

상기 기술적 과제를 달성하기 위한 컨텐츠 보안 방법은 컨텐츠 보안 장치가 사용자 프로세스로부터 출력되는 가상 드라이브 접근 신호를 수신하는 단계 및 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 후킹 신호인 경우, 상기 컨텐츠 보안 장치가 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 구비하고, 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 컨텐츠 보안장치는 상기 가상 드라이브 접근 신호를 커널로 출력하는 단계를 구비한다.According to an aspect of the present invention, there is provided a content security method in which a content security device receives a virtual drive access signal output from a user process and the received virtual drive access signal is a hooking signal according to a hooking setting state. And a device hooking the virtual drive access signal and outputting a null return signal to the user process, and if the received virtual drive access signal is not a hooking signal, the content security device provides the virtual drive access signal. Outputting the kernel to the kernel.

상기 후킹 신호는 파일 I/O 함수, 클립보드 함수, 그래픽 디바이스 인터페이스 함수, 또는 네트워크 I/O 함수 중 적어도 하나를 포함하는 신호일 수 있다.The hooking signal may be a signal including at least one of a file I / O function, a clipboard function, a graphic device interface function, or a network I / O function.

상기 후킹 설정 상태는 후킹 이네이블 상태일 수 있다.The hooking setting state may be a hooking enable state.

상기 컨텐츠 보안 방법은 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 커널로 출력되는 상기 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하는 단계 및 프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 더 구비하고, 상기 사용자 프로스세가 인증된 프로세스인 경우 상기 VDD는 상기 가상 드라이브 접근 신호를 VD(Virtual Drvie)로 출력하는 단계를 더 구비할 수 있다.In the content security method, when the received virtual drive access signal is not a hooking signal, the user process according to a process authentication state and a virtual device driver (VDD) receiving the virtual drive access signal output to the kernel. And if the VDD outputs a null return signal to the user process if the process is not an authenticated process, and if the user process is an authenticated process, the VDD outputs the virtual drive access signal to a virtual drvie (VD). It may further comprise a step.

상기 프로세스 인증 상태는 프로세스 인증 이네이블 상태일 수 있다.The process authentication state may be a process authentication enable state.

상기 VD는 암호화된 이미지 파일을 포함하고 상기 VDD는 암호화된 상기 이미지 파일을 복호화하기 위한 복호화 모듈을 포함할 수 있다.The VD may include an encrypted image file and the VDD may include a decryption module for decrypting the encrypted image file.

상기 기술적 과제를 달성하기 위한 컨텐츠 보안 방법은 사용자 프로세스로부터 커널로 출력되는 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하는 단계 및 프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우, 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 구비하고, 상기 사용자 프로스세가 인증된 프로세스인 경우, 상기 VDD는 상기 가상 드라이브 접근 신호를 VD(Virtual Drvie)로 출력하는 단계를 구비한다.Content security method for achieving the technical problem is when the user process is not an authenticated process according to the step of receiving a virtual drive access signal output from the user process to the kernel (VDD) and process authentication status, The VDD includes outputting a null return signal to the user process. When the user process is an authenticated process, the VDD includes outputting the virtual drive access signal to a virtual drvie (VD).

상기 컨텐츠 보안 방법은 컨텐츠 보안 장치가 상기 사용자 프로세스로부터 출력되는 상기 가상 드라이브 접근 신호를 수신하는 단계 및 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 후킹 신호인 경우, 상기 컨텐츠 보안 장치가 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 더 구비하고, 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 컨텐츠 보안장치는 상기 가상 드라이브 접근 신호를 상기 커널로 출력하는 단계를 더 구비할 수 있다.The content security method includes the step of receiving, by the content security device, the virtual drive access signal outputted from the user process, and when the received virtual drive access signal is a hooking signal according to a hooking setting state, the content security device is set to the virtual device. Hooking a drive access signal and outputting a null return signal to the user process, and if the received virtual drive access signal is not a hooking signal, the content security device sends the virtual drive access signal to the kernel. It may further comprise the step of outputting.

상기 컨텐츠 보안 장치는 상기 후킹 설정 상태 또는 상기 프로세스 인증 상태 중 적어도 하나를 변경할 수 있다. 상기 컨텐츠 보안 방법은 컴퓨터가 읽을 수 있는 프로그램을 기록한 기록매체에 저장될 수 있다.The content security device may change at least one of the hooking setting state or the process authentication state. The content security method may be stored in a recording medium recording a computer readable program.

상기 기술적 과제를 달성하기 위한 컨텐츠 보안 장치는 후킹 설정 상태를 설정하는 컨트롤러 및 상기 컨트롤러의 제어하에 사용자 프로세스로부터 출력되는 가상 드라이브 접근 신호를 수신하고, 상기 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 후킹 신호인 경우, 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하며, 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 가상 드라이브 접근 신호를 커널로 출력하는 API 후킹부를 구비한다.The content security device for achieving the technical problem receives a virtual drive access signal output from a controller for setting a hooking setting state and a user process under the control of the controller, the virtual drive access signal received according to the hooking setting state Hooking the virtual drive access signal, outputting a null return signal to the user process, and outputting the virtual drive access signal to a kernel if the received virtual drive access signal is not a hooking signal. An API hooking part is provided.

상기 컨트롤러는 상기 커널로 출력되는 상기 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하도록 제어하고, 프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하며, 상기 사용자 프로스세가 인증된 프로세스인 경우 상기 VDD는 상기 가상 드라이브 접근 신호를 VD(Virtual Drvie)로 출력하도록 제어할 수 있다.The controller controls the virtual device driver (VDD) to receive the virtual drive access signal output to the kernel, and if the user process is not an authenticated process according to a process authentication state, the VDD returns null to the user process. If the user process is an authenticated process, the VDD may control to output the virtual drive access signal to a virtual drvie (VD).

상기 컨트롤러는 상기 프로세스 인증 상태를 더 설정할 수 있다.The controller may further set the process authentication state.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도 면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the accompanying drawings.

또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. In addition, in the present specification, when one component 'transmits' data to another component, the component may directly transmit the data to the other component, or through at least one other component. Means that the data may be transmitted to the other component.

반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.On the contrary, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 2는 본 발명의 실시 예에 따른 컨텐츠 보안 장치의 개략적인 기능 블록도를 나타낸다.2 is a schematic functional block diagram of a content security device according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 실시 예에 따른 컨텐츠 보안 장치(100)는 API 후킹부(110) 및 컨트롤러(130)를 구비할 수 있다. 상기 컨텐츠 보안 장치(100)는 VDD(150)를 더 구비할 수 있으며, 상기 VDD(150)는 상기 컨트롤러(130)를 통해 제어할 수 있는 VDD로써, 사용자 단말기(예컨대, 컴퓨터)에 미리 설치되어 있는 VDD일수도 있고, 본 발명의 실시 예에 따른 컨텐츠 보안장치(100)를 사용자 단말기(예컨대, 컴퓨터)에 설치할 때 새롭게 설치되는 VDD일 수도 있다.Referring to FIG. 2, the content security device 100 according to an embodiment of the present disclosure may include an API hooking unit 110 and a controller 130. The content security device 100 may further include a VDD 150. The VDD 150 is a VDD that can be controlled through the controller 130 and is pre-installed in a user terminal (eg, a computer). It may be a VDD or a VDD newly installed when the content security device 100 according to an embodiment of the present invention is installed in a user terminal (eg, a computer).

상기 API 후킹부(110)는 사용자 프로세스(10)로부터 출력되며 VD(50)를 접근 하기 위해 출력되는 다양한 리퀘스트(또는 가상 디스크 접근신호, 예컨대 메시지 또는 함수 호출 등) 중에서, 컨텐츠의 보안 정책에 따라 허용되지 않는 리퀘스트를 차단하는 역할을 수행할 수 있다.The API hooking unit 110 is output from the user process 10 and among various requests (or virtual disk access signals, such as messages or function calls, etc.) output to access the VD 50, according to the security policy of the content. Can block requests that are not allowed.

상기 API 후킹부(110)는 허용되지 않는 리퀘스트를 API 후킹(hooking)을 함으로써 OS의 커널(kernel) 레벨에 구비되는 VDD(150)로 상기 허용되지 않는 리퀘스트가 요청되는 것 자체를 차단할 수 있다. 여기서 후킹이라 함은 상기 사용자 프로세스에서 호출되는 함수의 함수 위치를 변경하는 기술을 의미하며, 본 발명의 기술 분야의 평균적 전문가들에게는 API 후킹의 동작원리는 용이하게 이해될 수 있으므로 상세한 설명은 생략한다. The API hooking unit 110 may block the request that is not allowed to the VDD 150 provided at the kernel level of the OS by hooking the request that is not allowed. Herein, the term "hooking" refers to a technique for changing a function position of a function called in the user process, and an operation of API hooking may be easily understood by an average expert in the technical field of the present disclosure, and thus a detailed description thereof will be omitted. .

상기 허용되지 않는 리퀘스트는 파일 I/O UI(또는 함수) 또는 클립보드(ClipBoard) 함수 중 적어도 일부분일 수 있으며, 상기 허용되지 않는 리퀘스트의 종류는 보안정책에 따라 다양할 수 있음은 물론이다. The unsolicited request may be at least a portion of a file I / O UI (or function) or a clipboard function, and the kind of the unsolicited request may vary according to a security policy.

예컨대, 상기 파일 I/O UI 중 상기 API 후킹부(110)가 후킹을 하는 함수로는 GetSaveFileName, GetOpenFileName 등이 포함될 수 있으며, 이에 한정되지는 않고 무단복제를 하기위해 상기 사용자 프로세스(10)로부터 호출되는 모든 함수를 포함할 수 있다.For example, a function for hooking the API hooking unit 110 among the file I / O UI may include GetSaveFileName, GetOpenFileName, etc., but is not limited thereto, and is called from the user process 10 to perform an unauthorized copying. It can contain any function that gets

또한, 상기 API 후킹부(110)가 상기 클립보드 함수 중 후킹을 하는 함수로는 OpenClipboard, SetClipboard, GetClipboard, 또는 CloseClipboard 함수 등과 이들의 하위 멤버함수들이 포함될 수 있다. 즉, OS에서 제공되는 클립보드를 통해 상기 VD(50)에 저장된 컨텐츠의 다른 디바이스 또는 다른 주소로의 복제를 방지하기 위 해 상기 API 후킹부(110)는 클립보드 함수를 후킹할 수 있다. 물론, 보안정책에 따라 상기 클립보드 함수 중 일부는 허용될 수 있으며(즉, 후킹하지 않을 수 있으며), 본 발명의 권리범위가 상술한 예에 한정되지는 않는다.In addition, the API hooking unit 110 may hook a function among the clipboard functions such as an OpenClipboard, SetClipboard, GetClipboard, or CloseClipboard function, and the lower member functions thereof. That is, the API hooking unit 110 may hook a clipboard function to prevent duplication of content stored in the VD 50 to another device or another address through a clipboard provided by an OS. Of course, some of the clipboard functions may be allowed (ie not hooked) according to the security policy, and the scope of the present invention is not limited to the above-described example.

이밖에도, 상기 API 후킹부(110)는 그래픽 디바이스 인터페이스 함수 또는 네트워크 I/O 함수 등을 후킹함으로써 화면 이미지 또는 동영상의 캡처링(capturing)을 통한 컨텐츠의 무단 복제 또는 인증되지 않은 네트워크 입출력을 통한 컨텐츠의 무단 복제를 방지할 수 있다.In addition, the API hooking unit 110 hooks a graphic device interface function or a network I / O function, and the like, to allow unauthorized copying of content through capturing a screen image or a video, or to access content through unauthorized network input / output. Unauthorized duplication can be prevented.

상기 API 후킹부(110)가 후킹함으로써 무단 복제를 방지하기 위한 리퀘스트의 종류는 보안정책에 따라 달라질 수 있음은 전술한 바와 같으며, 상기 API 후킹부(110)가 후킹하는 리퀘스트의 종류는 상기 컨트롤러(130)를 통해 제어 및/또는 변경될 수 있다. 이를 위해, 상기 컨트롤러(130)는 상기 API 후킹부(110)가 후킹할 리퀘스트의 종류를 소정의 저장장치(미도시)에 저장하고 있을 수 있다.As described above, the type of request for preventing unauthorized duplication by hooking the API hooking unit 110 may vary according to a security policy, and the type of request hooked by the API hooking unit 110 is the controller. 130 may be controlled and / or changed. To this end, the controller 130 may store the type of request to be hooked by the API hooking unit 110 in a predetermined storage device (not shown).

한편 상기 API 후킹부(110)가 상기 사용자 프로세스(10)로부터 출력되는 리퀘스트를 후킹하는 경우, 상기 API 후킹부(110)는 상기 사용자 프로세스(10)로 소정의 널 신호를 출력함으로써 상기 사용자 프로세스(10)가 비정상적인 오류를 일으키는 것을 방지할 수 있다. 여기서 상기 널(Null) 신호라 함은, 상기 사용자 프로세스(10)로부터 출력되는 리퀘스트에 응답하여 상기 컨텐츠 보안 장치(100)가 상기 사용자 프로세스(10)로 출력하는 응답신호로써, 상기 사용자 프로세스(10)가 정상적으로 리퀘스트 요청을 마칠수 있도록 하는 함수로 정의될 수 있다. 상기 널 신호는 후킹된 리퀘스트에 대응되도록 상기 컨텐츠 보안 장치(100)의 제공자가 자체적 으로 만든 함수일 수도 있으며, 아무런 동작을 수행하지 않는 널 함수일 수도 있다.Meanwhile, when the API hooking unit 110 hooks a request output from the user process 10, the API hooking unit 110 outputs a predetermined null signal to the user process 10 so that the user process ( 10) can prevent the occurrence of abnormal error. Here, the null signal is a response signal output from the content security device 100 to the user process 10 in response to a request output from the user process 10, and the user process 10. ) Can be defined as a function that normally completes a request request. The null signal may be a function made by the provider of the content security device 100 itself so as to correspond to the hooked request, or may be a null function that performs no operation.

상기 컨트롤러(130)는 후킹 설정 상태를 제어함으로써 상기 API 후킹부(110)의 기능을 완전히 디스에이블(disable) 시키거나 이네이블(enable)시킬 수도 있다. 즉, 사용자의 요구 또는 컨텐츠의 종류에 따라 전술한 바와 같은 API 후킹을 통한 무단 복제기능을 수행할 수도 있고, 수행하지 않을 수도 있는 것이다.The controller 130 may completely disable or enable the function of the API hooking unit 110 by controlling the hooking setting state. That is, according to the user's request or the type of the content, the unauthorized duplication function through the API hooking as described above may or may not be performed.

상기 컨트롤러(130)는 상기 API 후킹부(130)가 후킹할 리퀘스트들의 제어, 후킹 설정 상태의 제어 뿐만아니라, 컨텐츠의 사용 정책(policy) 또는 DRM의 제어를 수행할 수도 있다. 예컨대, 상기 VD(50)에 저장된 컨텐츠가 DRM으로 보호되고 있는 컨텐츠인 경우, 상기 컨트롤러(130)는 상기 컨텐츠의 사용, 배포, 및/또는 공급을 제어하기 위한 DRM 제어 모듈의 역할을 수행할 수 있다. 이를 위해, 상기 컨트롤러(130) 소정의 DRM 서버(미도시)와 유무선통신을 통하여 DRM 키 등의 DRM 제어를 위한 소정의 정보를 얻을 수도 있다.The controller 130 may not only control the requests to be hooked by the API hooking unit 130, control the hooking setting state, but also control the content usage policy or the DRM. For example, when the content stored in the VD 50 is content protected by DRM, the controller 130 may serve as a DRM control module for controlling the use, distribution, and / or supply of the content. have. To this end, the controller 130 may obtain predetermined information for DRM control such as a DRM key through wired / wireless communication with a predetermined DRM server (not shown).

또한, 본 발명의 실시 예에 따른 컨텐츠 보안 장치(100)는 본 출원인이 2006. 7. 20일에 출원한 특허발명 “가상디스크 구동방법 및 이를 위한 기록매체”(특허등록번호 10-0692964)의 명세서에 기재된 바와 같이 상기 VDD(150), 상기 VD(50), 상기 API 후킹부(110), 및 상기 컨트롤러(130)가 같이 하나의 패키지 파일 형태로 저장된 상태에서 상기 패키지 파일이 실행되면 자동으로 상기 VD(50)가 마운트되면서 상기 컨텐츠 보안장치(100) 역시 자동으로 설치되도록 구현될 수도 있다. 이를 위해 상기 컨트롤러(130)는 상기 패키지 파일의 구성에 필요한 정보 및/ 또는 상기 패키지 파일의 실행시에 자동을 상기 VD(50)를 마운트 시키기 위한 소정의 정보를 더 저장할 수도 있다. 상기 등록특허 “가상디스크 구동방법 및 이를 위한 기록매체”(등록번호 10-0692964)의 명세서 및 명세서에 기재된 내용은 본 출원의 레퍼런스로 포함된다.In addition, the content security device 100 according to an embodiment of the present invention of the patent application "virtual disc driving method and a recording medium for this" filed by the applicant on July 20, 2006 (Patent Registration No. 10-0692964) As described in the specification, when the package file is executed while the VDD 150, the VD 50, the API hooking unit 110, and the controller 130 are stored together in the form of a package file, the package file is automatically executed. The content security device 100 may also be automatically installed while the VD 50 is mounted. To this end, the controller 130 may further store information necessary for configuring the package file and / or predetermined information for automatically mounting the VD 50 at the time of execution of the package file. The contents of the specification and the specification of the registered patent “Virtual Disk Driving Method and Recording Medium Therefor” (Registration No. 10-0692964) are incorporated by reference in the present application.

한편, 본 발명의 실시 예에 따른 컨텐츠 보안 장치(100)는 상기 API 후킹부(110)를 통해 무단 복제를 방지하는 동시에, 인증된 사용자 프로세스만을 상기 VD(50)로 접근하도록 제어하기 위한 프로세스 인증 절차를 거칠 수 있다. 이러한 프로세스 인증 절차는 상기 VDD(150)를 통해 수행될 수 있다.Meanwhile, the content security device 100 according to an embodiment of the present invention prevents unauthorized duplication through the API hooking unit 110 and at the same time, authenticates a process for controlling only an authenticated user process to access the VD 50. The procedure can be followed. This process authentication procedure may be performed through the VDD 150.

상기 API 후킹부(110)를 통해 후킹되지 않은 정상적인 리퀘스트는 커널을 통해 상기 VDD(150)로 입력될 수 있다. 상기 VDD(150)는 전술한 바와 같이, 상기 사용자 프로세스(10)가 상기 VD(50)로 접근을 할 수 있도록 하며, 상기 VD(50)를 마운트(mount) 시키는 역할을 수행할 수 있다.Normal requests that are not hooked through the API hooking unit 110 may be input to the VDD 150 through a kernel. As described above, the VDD 150 may allow the user process 10 to access the VD 50 and to mount the VD 50.

이와 더불어, 상기 VDD(150)는 상기 VDD(150)에 포함된 소정의 프로세스 인증 모듈(미도시)을 통해 인증된 사용자 프로세스만을 상기 VD(50)에 접근할 수 있도록 제어할 수 있다. 예컨대, 상기 VDD(150)는 입력되는 리퀘스트에 포함된 상기 사용자 프로세스(10)의 식별자(예컨대, ID 또는 프로세스 이름 등)를 이용해 인증 절차를 수행할 수 있다. 인증되는 사용자 프로세스(10)의 식별자 리스트(즉, 허용되는 프로세스 리스트) 또는 인증되지 않는 사용자 프로세스(10)의 식별자 리스트(즉, 차단될 프로세스의 리스트)는 상기 컨트롤러(130) 또는 상기 VDD(150) 중 적어도 하나에 저장될 수 있다.In addition, the VDD 150 may control only the user process authenticated through a predetermined process authentication module (not shown) included in the VDD 150 to access the VD 50. For example, the VDD 150 may perform an authentication procedure using an identifier (eg, an ID or a process name) of the user process 10 included in an input request. An identifier list of the authenticated user process 10 (i.e., a list of allowed processes) or an identifier list of an unauthenticated user process 10 (i.e., a list of processes to be blocked) is selected from the controller 130 or the VDD 150. ) May be stored in at least one.

인증 결과 상기 사용자 프로세스(10)가 인증되지 않은 프로세스인 경우 상기 VDD(150) 또는 상기 컨트롤러(130) 중 어느 하나는 상기 사용자 프로세스(10)로 널 신호를 출력함으로써 상기 사용자 프로세스(10)의 오동작을 방지하고 정상적으로 상기 VD(50)로의 리퀘스트 절차를 종료할 수 있다. 상기 널 신호는 상기 API 후킹 동작시에 상기 사용자 프로세스(10)로 출력되는 널 신호와 동일할 수도 있으며, 동일하지 않을 수도 있다.When the user process 10 is an unauthorized process as a result of authentication, either the VDD 150 or the controller 130 outputs a null signal to the user process 10, thereby causing malfunction of the user process 10. And the request procedure to the VD 50 can be terminated normally. The null signal may or may not be the same as the null signal output to the user process 10 during the API hooking operation.

인증 결과 상기 사용자 프로세스(10)가 인증되는 프로세스인 경우에는, 상기 리퀘스트는 정상적으로 상기 VD(50)에 접근할 수 있으며, 그 결과 상기 컨텐츠 보안 장치(100)는 커널에서 온 리턴 값을 상기 사용자 프로세스(10)로 전달함으로써, 상기 리퀘스트에 상응하는 동작이 정상적으로 수행될 수 있다.In the case where the user process 10 is authenticated as a result of authentication, the request may normally access the VD 50, and as a result, the content security device 100 may return a return value from the kernel to the user process. By transmitting to (10), the operation corresponding to the request can be normally performed.

또한, 상기 컨트롤러(130)는 상기 VDD(150)의 프로세스 인증 상태를 디스에이블 또는 이네이블 상태로 설정함으로써, 상기 VDD(150)가 프로세스 인증 절차를 수행할지 여부를 제어할 수 있다.In addition, the controller 130 may control whether the VDD 150 performs a process authentication procedure by setting a process authentication state of the VDD 150 to a disable or enable state.

한편, 상기 VD(50)에 저장된 컨텐츠가 암호화된 파일인 경우에는 상기 VDD(150)는 소정의 복호화모듈(미도시)를 더 구비할 수 있다. 또한, DRM에 의해 보호되는 컨텐츠인 경우 상기 VDD(150)에 구비되는 상기 소정의 복호화 모듈(미도시)은 상기 컨트롤러(130)에 구비되는 DRM 제어모듈(미도시)에 의해 제어될 수 있음은 전술한 바와 같다.Meanwhile, when the content stored in the VD 50 is an encrypted file, the VDD 150 may further include a predetermined decryption module (not shown). In addition, when the content is protected by DRM, the predetermined decoding module (not shown) included in the VDD 150 may be controlled by a DRM control module (not shown) included in the controller 130. As described above.

도 3은 본 발명의 실시 예에 따른 컨텐츠 보안 방법을 설명하기 위한 플로우 챠트를 나타낸다.3 is a flowchart illustrating a content security method according to an embodiment of the present invention.

도 2와 도 3을 참조하면, 본 발명의 실시 예에 따른 컨텐츠 보안 방법은 후킹 설정 상태가 이네이블 상태인 경우(S100), 상기 사용자 프로세스(10)로부터 출력되는 리퀘스트(또는 가상드라이브 접근 신호)를 보안 정책에 따라 후킹할지 여부를 판단한다(S110). 상기 후킹 설정 상태가 디스에이블 상태인 경우에는(S100), 바로 프로세스 인증 절차(S120)를 수행하게 된다.2 and 3, in the content security method according to an embodiment of the present invention, when a hooking setting state is enabled (S100), a request (or a virtual drive access signal) output from the user process 10 is provided. It is determined whether to hook in accordance with the security policy (S110). When the hooking setting state is the disabled state (S100), the process authentication procedure (S120) is immediately performed.

상기 API 후킹부(110)가 후킹을 하는 경우 상기 컨텐츠 보안장치(100)는 상기 사용자 프로세스(10)로 널 신호를 출력하고(S150), 리퀘스트 절차를 종료한다.When the API hooking unit 110 hooks, the content security device 100 outputs a null signal to the user process 10 (S150), and ends the request procedure.

후킹을 하지 않는 경우에는 상기 컨텐츠 보안 장치(100)는 프로세스 인증 절차를 거칠 수 있다.When not hooking, the content security device 100 may go through a process authentication process.

상기 프로세스 인증 절차는 프로세스 인증 상태가 이네이블인 경우(S120)이고, 상기 사용자 프로세스(10)가 인증된 프로세스인 경우(S130) 상기 사용자 프로세스(10)는 정상적으로 상기 VD(50)에 접근할 수 있으며, 상기 리퀘스트에 상응하는 동작을 수행한 후에 커널에서 리턴되는 값을 수신할 수 있다(S140).The process authentication procedure is when the process authentication state is enabled (S120), and when the user process 10 is an authenticated process (S130), the user process 10 can normally access the VD 50. In operation S140, a value returned from the kernel may be received after performing an operation corresponding to the request.

상기 사용자 프로세스(10)가 인증되지 않은 프로세스인 경우(S130), 상기 컨텐츠 보안장치(100)는 상기 사용자 프로세스(10)로 널 신호를 출력하고(S150), 리퀘스트 절차를 종료한다.If the user process 10 is an unauthorized process (S130), the content security device 100 outputs a null signal to the user process 10 (S150), and ends the request procedure.

프로세스 인증 상태가 디스에이블인 경우(S120)에는, 인증된 프로세스인지 여부와 상관없이 상기 사용자 프로세스는 정상적으로 상기 VD(50)에 접근할 수 있으며, 상기 리퀘스트에 상응하는 동작을 수행한 후에 커널에서 리턴되는 값을 수신할 수 있다(S140).If the process authentication state is disabled (S120), regardless of whether the process is an authenticated process, the user process may normally access the VD 50, and return from the kernel after performing an operation corresponding to the request. The received value may be received (S140).

물론, 전술한 바와 같이 상기 VD(50)에 저장된 컨텐츠의 암호화 여부 및/또는 DRM 컨텐츠인지 여부에 따라 본 발명의 실시 예에 따른 컨텐츠 보안 방법은 복호화 과정 및/또는 DRM 제어 과정이 더 포함될 수 있다.Of course, the content security method according to an embodiment of the present invention may further include a decryption process and / or a DRM control process according to whether the content stored in the VD 50 is encrypted and / or whether the content is DRM content. .

또한, 본 발명의 실시예에 따른 컨텐츠 보안 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.In addition, the content security method according to an embodiment of the present invention can be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, hard disks, floppy disks, optical data storage devices, and the like. Computer-readable recording media may be used in networked computer systems. Distributed, computer readable code may be stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 바와 같이 본 발명에 따른 DRM 컨텐츠 보안 방법 및 그 장치는 가상 드라이브를 통하여 컨텐츠를 이용하면서, 불법적인 컨텐츠의 복제를 막음으로써 컨텐츠를 무단으로 사용하는 것을 방지할 수 있는 효과가 있다.As described above, the DRM content security method and apparatus according to the present invention can prevent unauthorized use of the content by preventing illegal copying of the content while using the content through the virtual drive.

또한, 인증된 사용자 프로세스만 가상 드라이브에 접근할 수 있도록 제어함으로써, 정당한 사용만을 권장하며 악성코드로부터 컨텐츠를 보호할 수 있는 효과가 있다.In addition, by controlling only the authorized user process to access the virtual drive, it is recommended to just use and protect the contents from malicious code.

Claims (13)

컨텐츠 보안 장치가 사용자 프로세스로부터 출력되는 가상 드라이브 접근 신호를 수신하는 단계; 및Receiving, by the content security device, a virtual drive access signal output from a user process; And 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 후킹 신호인 경우, 상기 컨텐츠 보안 장치가 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 구비하고,If the virtual drive access signal received according to the hooking setting state is a hooking signal, hooking the virtual drive access signal by the content security device, and outputting a null return signal to the user process, 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 컨텐츠 보안장치는 상기 가상 드라이브 접근 신호를 커널로 출력하는 단계를 구비하는 컨텐츠 보안 방법.And if the received virtual drive access signal is not a hooking signal, the content security device outputting the virtual drive access signal to a kernel. 제 1항에 있어서, 상기 후킹 신호는,The method of claim 1, wherein the hooking signal, 파일 I/O 함수, 클립보드 함수, 그래픽 디바이스 인터페이스 함수, 또는 네트워크 I/O 함수 중 적어도 하나를 포함하는 신호인 컨텐츠 보안 방법.And a signal comprising at least one of a file I / O function, a clipboard function, a graphics device interface function, or a network I / O function. 제 1항에 있어서, 상기 후킹 설정 상태는,The method of claim 1, wherein the hooking setting state, 후킹 이네이블 상태인 컨텐츠 보안 방법.How to secure content with hooking enabled. 제1항에 있어서, 상기 컨텐츠 보안 방법은,The method of claim 1, wherein the content security method comprises: 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, If the received virtual drive access signal is not a hooking signal, 상기 커널로 출력되는 상기 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하는 단계; 및A virtual device driver (VDD) receiving the virtual drive access signal output to the kernel; And 프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 더 구비하고, 상기 사용자 프로스세가 인증된 프로세스인 경우 상기 VDD는 상기 가상 드라이브 접근 신호를 VD(Virtual Drvie)로 출력하는 단계를 더 구비하는 컨텐츠 보안 방법.The VDD outputting a null return signal to the user process when the user process is not an authenticated process according to a process authentication state, and when the user process is an authenticated process, the VDD accesses the virtual drive. And outputting a signal to a virtual drvie (VD). 제 4항에 있어서, 상기 프로세스 인증 상태는,The method of claim 4, wherein the process authentication status, 프로세스 인증 이네이블 상태인 컨텐츠 보안 방법.Content security method with process authentication enabled. 제 4항에 있어서, 상기 VD는,The method of claim 4, wherein the VD, 암호화된 이미지 파일을 포함하고 상기 VDD는 암호화된 상기 이미지 파일을 복호화하기 위한 복호화 모듈을 포함하는 컨텐츠 보안 방법.And a decryption module for decrypting the encrypted image file, wherein the VDD comprises an encrypted image file. 사용자 프로세스로부터 커널로 출력되는 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하는 단계; 및A virtual device driver (VDD) receiving a virtual drive access signal output from a user process to a kernel; And 프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우, 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 구비하고, 상기 사용자 프로스세가 인증된 프로세스인 경우, 상기 VDD는 상기 가상 드라 이브 접근 신호를 VD(Virtual Drvie)로 출력하는 단계를 구비하는 컨텐츠 보안 방법.And if the user process is not an authenticated process according to a process authentication state, the VDD outputs a null return signal to the user process, and if the user process is an authenticated process, the VDD is the virtual drive. And outputting the Eve access signal to a virtual drvie (VD). 제7항에 있어서, 상기 컨텐츠 보안 방법은,The method of claim 7, wherein the content security method, 컨텐츠 보안 장치가 상기 사용자 프로세스로부터 출력되는 상기 가상 드라이브 접근 신호를 수신하는 단계; 및Receiving, by a content security device, the virtual drive access signal output from the user process; And 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 후킹 신호인 경우, 상기 컨텐츠 보안 장치가 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 더 구비하고,If the virtual drive access signal received according to the hooking setting state is a hooking signal, hooking the virtual drive access signal by the content security device, and outputting a null return signal to the user process, 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 컨텐츠 보안장치는 상기 가상 드라이브 접근 신호를 상기 커널로 출력하는 단계를 더 구비하는 컨텐츠 보안 방법.And if the received virtual drive access signal is not a hooking signal, the content security device further comprising outputting the virtual drive access signal to the kernel. 제 1항 또는 제 4항에 있어서,The method according to claim 1 or 4, 상기 컨텐츠 보안 장치는 상기 후킹 설정 상태 또는 상기 프로세스 인증 상태 중 적어도 하나를 변경할 수 있는 컨텐츠 보안 방법.And the content security device can change at least one of the hooking setting state and the process authentication state. 제 1항 내지 제 8항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터가 읽을 수 있는 프로그램을 기록한 기록매체.A recording medium having recorded thereon a computer readable program for performing the method according to any one of claims 1 to 8. 후킹 설정 상태를 설정하는 컨트롤러; 및A controller for setting a hooking setting state; And 상기 컨트롤러의 제어하에 사용자 프로세스로부터 출력되는 가상 드라이브 접근 신호를 수신하고, 상기 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 후킹 신호인 경우, 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하며, Receiving a virtual drive access signal output from a user process under the control of the controller, if the virtual drive access signal received according to the hooking setting state is a hooking signal, hooking the virtual drive access signal, and to the user process Outputs a null return signal, 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 가상 드라이브 접근 신호를 커널로 출력하는 API 후킹부를 구비하는 컨텐츠 보안 장치.And an API hooking unit configured to output the virtual drive access signal to a kernel when the received virtual drive access signal is not a hooking signal. 제 11항에 있어서, 상기 컨트롤러는,The method of claim 11, wherein the controller, 상기 커널로 출력되는 상기 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하도록 제어하고, Controls the virtual device driver (VDD) to receive the virtual drive access signal output to the kernel, 프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하며, 상기 사용자 프로스세가 인증된 프로세스인 경우 상기 VDD는 상기 가상 드라이브 접근 신호를 VD(Virtual Drvie)로 출력하도록 제어하는 컨텐츠 보안 장치.The VDD outputs a null return signal to the user process when the user process is not an authenticated process according to the process authentication state, and when the user process is an authenticated process, the VDD outputs the virtual drive access signal to VD (Virtual Drvie) content security device that controls the output. 제 12항에 있어서, 상기 컨트롤러는,The method of claim 12, wherein the controller, 상기 프로세스 인증 상태를 더 설정하는 컨텐츠 보안 장치.Content security device for setting the process authentication status further.
KR1020070060408A 2007-06-20 2007-06-20 Method and apparatus for contents security KR100911345B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070060408A KR100911345B1 (en) 2007-06-20 2007-06-20 Method and apparatus for contents security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070060408A KR100911345B1 (en) 2007-06-20 2007-06-20 Method and apparatus for contents security

Publications (2)

Publication Number Publication Date
KR20080111888A true KR20080111888A (en) 2008-12-24
KR100911345B1 KR100911345B1 (en) 2009-08-07

Family

ID=40369944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070060408A KR100911345B1 (en) 2007-06-20 2007-06-20 Method and apparatus for contents security

Country Status (1)

Country Link
KR (1) KR100911345B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821094A (en) * 2012-07-09 2012-12-12 深圳市深信服电子科技有限公司 Method and system for secure data processing in virtual desktop
US8549580B2 (en) 2007-08-20 2013-10-01 Teruten, Inc. Method and apparatus for providing software security

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101098382B1 (en) * 2009-12-14 2011-12-23 주식회사 크레블 System for network duplication and method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010071560A (en) 1998-06-22 2001-07-28 콜린 콘스터블 Virtual data storage (vds) system
KR100596135B1 (en) * 2004-02-24 2006-07-03 소프트캠프(주) Control system for access classified by application in virtual disk and Controling method thereof
JP2006031196A (en) 2004-07-14 2006-02-02 Ricoh Co Ltd Accessing method, information processing device, program, and recording medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549580B2 (en) 2007-08-20 2013-10-01 Teruten, Inc. Method and apparatus for providing software security
CN102821094A (en) * 2012-07-09 2012-12-12 深圳市深信服电子科技有限公司 Method and system for secure data processing in virtual desktop
CN102821094B (en) * 2012-07-09 2016-05-04 深圳市深信服电子科技有限公司 Data safety processing method in virtual desktop and system

Also Published As

Publication number Publication date
KR100911345B1 (en) 2009-08-07

Similar Documents

Publication Publication Date Title
US8752201B2 (en) Apparatus and method for managing digital rights through hooking a kernel native API
JP5427182B2 (en) Computer storage device having removable read-only area and read / write area, removable media component, system management interface, and network interface
JP4089171B2 (en) Computer system
US20080295174A1 (en) Method and System for Preventing Unauthorized Access and Distribution of Digital Data
JP5719244B2 (en) Method, program, and computer apparatus for constructing a safely managed virtual machine execution environment
US20110167260A1 (en) Computer system lock-down
JP6785967B2 (en) Methods and systems to block phishing or ransomware attacks
WO2010061801A1 (en) Client computer for protecting confidential file, server computer therefor, method therefor, and computer program
EP3074907B1 (en) Controlled storage device access
US20030221115A1 (en) Data protection system
WO2009110275A1 (en) Classified information leakage prevention system and classified information leakage prevention method
WO2006017774A2 (en) Method for preventing virus infection in a computer
US20070294530A1 (en) Verification System and Method for Accessing Resources in a Computing Environment
US7894092B2 (en) Computer-readable recording medium storing print image generating program and print image generating method
US20130014252A1 (en) Portable computer accounts
JP2001256014A (en) Output system, output method to be used for the same and recording medium in which program to be executed in output system is recorded
KR100911345B1 (en) Method and apparatus for contents security
JP2008084081A (en) Leakage prevention system for secret information, leakage prevention method for secret information, recording medium and program
US7694154B2 (en) Method and apparatus for securely executing a background process
KR102227558B1 (en) Data security method based on program protection
KR100959638B1 (en) Method for preventing key input from hacking, computer-readable storage medium recorded with program for preventing key input from hacking
KR101349807B1 (en) Security system for mobile storage and method thereof
JP2009169868A (en) Storage area access device and method for accessing storage area
WO2022066775A1 (en) Encrypted file control
JP2022021473A (en) Information processing apparatus, method for controlling information processing apparatus, information processing system, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120803

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130628

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140801

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160803

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 11