KR100911345B1 - 컨텐츠 보안 방법 및 그 장치 - Google Patents

컨텐츠 보안 방법 및 그 장치 Download PDF

Info

Publication number
KR100911345B1
KR100911345B1 KR1020070060408A KR20070060408A KR100911345B1 KR 100911345 B1 KR100911345 B1 KR 100911345B1 KR 1020070060408 A KR1020070060408 A KR 1020070060408A KR 20070060408 A KR20070060408 A KR 20070060408A KR 100911345 B1 KR100911345 B1 KR 100911345B1
Authority
KR
South Korea
Prior art keywords
hooking
virtual drive
signal
drive access
access signal
Prior art date
Application number
KR1020070060408A
Other languages
English (en)
Other versions
KR20080111888A (ko
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/ko
Publication of KR20080111888A publication Critical patent/KR20080111888A/ko
Application granted granted Critical
Publication of KR100911345B1 publication Critical patent/KR100911345B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

컨텐츠 보안 방법 및 그 장치가 개시된다. 상기 컨텐츠 보안 방법은 컨텐츠 보안 장치가 사용자 프로세스로부터 출력되는 가상 드라이브 접근 신호를 수신하는 단계 및 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 후킹 신호인 경우, 상기 컨텐츠 보안 장치가 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 구비하고, 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 컨텐츠 보안장치는 상기 가상 드라이브 접근 신호를 커널로 출력하는 단계를 구비한다.

Description

컨텐츠 보안 방법 및 그 장치{Method and apparatus for contents security}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 가상 드라이브를 이용한 컨텐츠 접근 방법을 설명하기 위한 개략적인 기능 블록도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 보안 장치의 개략적인 기능 블록도를 나타낸다.
도 3은 본 발명의 실시 예에 따른 컨텐츠 보안 방법을 설명하기 위한 플로우 챠트를 나타낸다.
본 발명은 컨텐츠 보안 방법에 관한 것으로, 보다 상세하게는 가상 드라이브를 이용하면서 상기 가상 드라이브에 저장된 컨텐츠를 무단으로 복제하거나 불법적인 사용을 방지할 수 있으며 또한, 인증된 프로세스만 상기 가상 드라이브에 접근할 수 있도록 하는 컨텐츠 보안 방법 및 그 장치에 관한 것이다.
가상 드라이브는 OS(Operating System)으로 하여금 논리적인 데이터 유닛을 실제로 존재하지 않는 가상의 물리적 장치로 인식하도록 함으로써, 사용자 또는 OS에게 편의를 제공할 수 있는 기술을 의미한다.
도 1은 종래의 가상 드라이브를 이용한 컨텐츠 접근 방법을 설명하기 위한 개략적인 기능 블록도를 나타낸다.
도 1을 참조하면, 사용자 프로세스(예컨대, 응용 프로그램 또는 OS에서 제공하는 함수의 일부, 10)는 가상 드라이브(Virtual drive, 이하 'VD', 50)에 접근하기 위해 소정의 메시지를 OS에 구비된 커널(kernel)로 출력할 수 있다. 상기 메시지를 수신한 상기 커널은 상기 가상 드라이브(50)를 가상의 물리적 장치로 OS가 인식하도록 하고, 상기 가상 드라이브(50)에 접근하기 위한 장치인 가상 디바이스 드라이버(Virtual Device Driver, 이하 ‘VDD', 30)로 출력할 수 있다. 즉, 상기 사용자 프로세스(10)는 상기 VDD(30)를 통해 상기 가상 드라이브(50)로 접근할 수 있다.
상기 VD(50)에는 다양한 형태의 컨텐츠(예컨대, MP3, 영화, 이미지, 문서 등)가 저장될 수 있다. 또한, 상기 VD(50)는 경우에 따라서는 상기 다양한 형태의 컨텐츠가 소정의 파일 형태(예컨대, 이미지 파일)로 저장된 경우 상기 컨텐츠 자체를 의미할 수도 있다. 상기 컨텐츠는 암호화되어 있을 수 있으며, 이때에는 상기 VDD(30) 또는 상기 사용자 프로세스(10) 중 적어도 하나에 암호화된 컨텐츠를 복호화하기 위한 복호화 모듈이 포함되는 것이 바람직하다.
상기 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 등)의 형태로 저장될 수 있다.
기본적으로 상기 VDD(30)는 상기 VD(50)에 저장된 모든 컨텐츠 또는 파일에 접근 권한을 가지고 있다. 예컨대, 상기 사용자 프로세스(10)는 상기 VDD(30)를 통해 상기 VD(50)에 저장된 컨텐츠의 리퀘스트(예컨대, 파일 I/O 함수들)를 요청할 수 있으며, 상기 VDD(30)는 요청된 리퀘스트에 상응하는 동작을 수행한 후 그 결과 값을 상기 사용자 프로세스(10)로 리턴할 수 있다. 상기 리퀘스트에는 파일을 다른 디바이스(예컨대, 하드 디스크 드라이브)로 복제하거나, 다른 프로세스(예컨대, 응용 프로그램)로 복제하는 경우를 포함할 수도 있다.
따라서, 컨텐츠를 가상 드라이브 형태로 제공하고자 하는 컨텐츠 제공자는 이러한 무단 복제를 방지할 수 있는 컨텐츠 보안 방법을 필요로 하게 된다. 또한, 컨텐츠 제공자는 인증된 사용자 프로세스만 상기 VD(50)에 접근할 수 있도록 제어함으로써 악성코드(예컨대, 크랙(crack) 파일, 바이러스, 또는 말웨어(mal-ware) 등)로부터 컨텐츠를 보호할 필요를 느끼게 된다.
따라서, 가상 드라이브를 통하여 컨텐츠를 이용하면서, 불법적인 컨텐츠의 복제를 막을 수 있으며, 인증된 사용자 프로세스만 가상 드라이브에 접근할 수 있도록 제어할 수 있는 컨텐츠 보안 방법 및 그 장치가 절실히 요구된다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 가상 드라이브를 통하여 컨텐츠를 이용하면서, 불법적인 컨텐츠의 복제를 막음으로써 컨텐츠를 무단으로 사용하는 것을 방지할 수 있는 컨텐츠 보안 방법 및 그 장치를 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적인 과제는 인증된 사용자 프로세스만 가상 드라이브에 접근할 수 있도록 제어함으로써, 정당한 사용만을 권장하며 악성코드로부터 컨텐츠를 보호할 수 있는 컨텐츠 보안 방법 및 그 장치를 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 컨텐츠 보안 방법은 컨텐츠 보안 장치가 사용자 프로세스로부터 출력되는 가상 드라이브 접근 신호를 수신하는 단계 및 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 후킹 신호인 경우, 상기 컨텐츠 보안 장치가 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 구비하고, 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 컨텐츠 보안장치는 상기 가상 드라이브 접근 신호를 커널로 출력하는 단계를 구비한다.
상기 후킹 신호는 파일 I/O 함수, 클립보드 함수, 그래픽 디바이스 인터페이스 함수, 또는 네트워크 I/O 함수 중 적어도 하나를 포함하는 신호일 수 있다.
상기 후킹 설정 상태는 후킹 이네이블 상태일 수 있다.
상기 컨텐츠 보안 방법은 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 커널로 출력되는 상기 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하는 단계 및 프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 더 구비하고, 상기 사용자 프로스세가 인증된 프로세스인 경우 상기 VDD는 상기 가상 드라이브 접근 신호를 VD(Virtual Drvie)로 출력하는 단계를 더 구비할 수 있다.
상기 프로세스 인증 상태는 프로세스 인증 이네이블 상태일 수 있다.
상기 VD는 암호화된 이미지 파일을 포함하고 상기 VDD는 암호화된 상기 이미지 파일을 복호화하기 위한 복호화 모듈을 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 컨텐츠 보안 방법은 사용자 프로세스로부터 커널로 출력되는 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하는 단계 및 프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우, 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 구비하고, 상기 사용자 프로스세가 인증된 프로세스인 경우, 상기 VDD는 상기 가상 드라이브 접근 신호를 VD(Virtual Drvie)로 출력하는 단계를 구비한다.
상기 컨텐츠 보안 방법은 컨텐츠 보안 장치가 상기 사용자 프로세스로부터 출력되는 상기 가상 드라이브 접근 신호를 수신하는 단계 및 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 후킹 신호인 경우, 상기 컨텐츠 보안 장치가 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 더 구비하고, 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 컨텐츠 보안장치는 상기 가상 드라이브 접근 신호를 상기 커널로 출력하는 단계를 더 구비할 수 있다.
상기 컨텐츠 보안 장치는 상기 후킹 설정 상태 또는 상기 프로세스 인증 상태 중 적어도 하나를 변경할 수 있다. 상기 컨텐츠 보안 방법은 컴퓨터가 읽을 수 있는 프로그램을 기록한 기록매체에 저장될 수 있다.
상기 기술적 과제를 달성하기 위한 컨텐츠 보안 장치는 후킹 설정 상태를 설정하는 컨트롤러 및 상기 컨트롤러의 제어하에 사용자 프로세스로부터 출력되는 가상 드라이브 접근 신호를 수신하고, 상기 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 후킹 신호인 경우, 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하며, 수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 가상 드라이브 접근 신호를 커널로 출력하는 API 후킹부를 구비한다.
상기 컨트롤러는 상기 커널로 출력되는 상기 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하도록 제어하고, 프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하며, 상기 사용자 프로스세가 인증된 프로세스인 경우 상기 VDD는 상기 가상 드라이브 접근 신호를 VD(Virtual Drvie)로 출력하도록 제어할 수 있다.
상기 컨트롤러는 상기 프로세스 인증 상태를 더 설정할 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도 면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다.
반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 보안 장치의 개략적인 기능 블록도를 나타낸다.
도 2를 참조하면, 본 발명의 실시 예에 따른 컨텐츠 보안 장치(100)는 API 후킹부(110) 및 컨트롤러(130)를 구비할 수 있다. 상기 컨텐츠 보안 장치(100)는 VDD(150)를 더 구비할 수 있으며, 상기 VDD(150)는 상기 컨트롤러(130)를 통해 제어할 수 있는 VDD로써, 사용자 단말기(예컨대, 컴퓨터)에 미리 설치되어 있는 VDD일수도 있고, 본 발명의 실시 예에 따른 컨텐츠 보안장치(100)를 사용자 단말기(예컨대, 컴퓨터)에 설치할 때 새롭게 설치되는 VDD일 수도 있다.
상기 API 후킹부(110)는 사용자 프로세스(10)로부터 출력되며 VD(50)를 접근 하기 위해 출력되는 다양한 리퀘스트(또는 가상 디스크 접근신호, 예컨대 메시지 또는 함수 호출 등) 중에서, 컨텐츠의 보안 정책에 따라 허용되지 않는 리퀘스트를 차단하는 역할을 수행할 수 있다.
상기 API 후킹부(110)는 허용되지 않는 리퀘스트를 API 후킹(hooking)을 함으로써 OS의 커널(kernel) 레벨에 구비되는 VDD(150)로 상기 허용되지 않는 리퀘스트가 요청되는 것 자체를 차단할 수 있다. 여기서 후킹이라 함은 상기 사용자 프로세스에서 호출되는 함수의 함수 위치를 변경하는 기술을 의미하며, 본 발명의 기술 분야의 평균적 전문가들에게는 API 후킹의 동작원리는 용이하게 이해될 수 있으므로 상세한 설명은 생략한다.
상기 허용되지 않는 리퀘스트는 파일 I/O UI(또는 함수) 또는 클립보드(ClipBoard) 함수 중 적어도 일부분일 수 있으며, 상기 허용되지 않는 리퀘스트의 종류는 보안정책에 따라 다양할 수 있음은 물론이다.
예컨대, 상기 파일 I/O UI 중 상기 API 후킹부(110)가 후킹을 하는 함수로는 GetSaveFileName, GetOpenFileName 등이 포함될 수 있으며, 이에 한정되지는 않고 무단복제를 하기위해 상기 사용자 프로세스(10)로부터 호출되는 모든 함수를 포함할 수 있다.
또한, 상기 API 후킹부(110)가 상기 클립보드 함수 중 후킹을 하는 함수로는 OpenClipboard, SetClipboard, GetClipboard, 또는 CloseClipboard 함수 등과 이들의 하위 멤버함수들이 포함될 수 있다. 즉, OS에서 제공되는 클립보드를 통해 상기 VD(50)에 저장된 컨텐츠의 다른 디바이스 또는 다른 주소로의 복제를 방지하기 위 해 상기 API 후킹부(110)는 클립보드 함수를 후킹할 수 있다. 물론, 보안정책에 따라 상기 클립보드 함수 중 일부는 허용될 수 있으며(즉, 후킹하지 않을 수 있으며), 본 발명의 권리범위가 상술한 예에 한정되지는 않는다.
이밖에도, 상기 API 후킹부(110)는 그래픽 디바이스 인터페이스 함수 또는 네트워크 I/O 함수 등을 후킹함으로써 화면 이미지 또는 동영상의 캡처링(capturing)을 통한 컨텐츠의 무단 복제 또는 인증되지 않은 네트워크 입출력을 통한 컨텐츠의 무단 복제를 방지할 수 있다.
상기 API 후킹부(110)가 후킹함으로써 무단 복제를 방지하기 위한 리퀘스트의 종류는 보안정책에 따라 달라질 수 있음은 전술한 바와 같으며, 상기 API 후킹부(110)가 후킹하는 리퀘스트의 종류는 상기 컨트롤러(130)를 통해 제어 및/또는 변경될 수 있다. 이를 위해, 상기 컨트롤러(130)는 상기 API 후킹부(110)가 후킹할 리퀘스트의 종류를 소정의 저장장치(미도시)에 저장하고 있을 수 있다.
한편 상기 API 후킹부(110)가 상기 사용자 프로세스(10)로부터 출력되는 리퀘스트를 후킹하는 경우, 상기 API 후킹부(110)는 상기 사용자 프로세스(10)로 소정의 널 신호를 출력함으로써 상기 사용자 프로세스(10)가 비정상적인 오류를 일으키는 것을 방지할 수 있다. 여기서 상기 널(Null) 신호라 함은, 상기 사용자 프로세스(10)로부터 출력되는 리퀘스트에 응답하여 상기 컨텐츠 보안 장치(100)가 상기 사용자 프로세스(10)로 출력하는 응답신호로써, 상기 사용자 프로세스(10)가 정상적으로 리퀘스트 요청을 마칠수 있도록 하는 함수로 정의될 수 있다. 상기 널 신호는 후킹된 리퀘스트에 대응되도록 상기 컨텐츠 보안 장치(100)의 제공자가 자체적 으로 만든 함수일 수도 있으며, 아무런 동작을 수행하지 않는 널 함수일 수도 있다.
상기 컨트롤러(130)는 후킹 설정 상태를 제어함으로써 상기 API 후킹부(110)의 기능을 완전히 디스에이블(disable) 시키거나 이네이블(enable)시킬 수도 있다. 즉, 사용자의 요구 또는 컨텐츠의 종류에 따라 전술한 바와 같은 API 후킹을 통한 무단 복제기능을 수행할 수도 있고, 수행하지 않을 수도 있는 것이다.
상기 컨트롤러(130)는 상기 API 후킹부(130)가 후킹할 리퀘스트들의 제어, 후킹 설정 상태의 제어 뿐만아니라, 컨텐츠의 사용 정책(policy) 또는 DRM의 제어를 수행할 수도 있다. 예컨대, 상기 VD(50)에 저장된 컨텐츠가 DRM으로 보호되고 있는 컨텐츠인 경우, 상기 컨트롤러(130)는 상기 컨텐츠의 사용, 배포, 및/또는 공급을 제어하기 위한 DRM 제어 모듈의 역할을 수행할 수 있다. 이를 위해, 상기 컨트롤러(130) 소정의 DRM 서버(미도시)와 유무선통신을 통하여 DRM 키 등의 DRM 제어를 위한 소정의 정보를 얻을 수도 있다.
또한, 본 발명의 실시 예에 따른 컨텐츠 보안 장치(100)는 본 출원인이 2006. 7. 20일에 출원한 특허발명 “가상디스크 구동방법 및 이를 위한 기록매체”(특허등록번호 10-0692964)의 명세서에 기재된 바와 같이 상기 VDD(150), 상기 VD(50), 상기 API 후킹부(110), 및 상기 컨트롤러(130)가 같이 하나의 패키지 파일 형태로 저장된 상태에서 상기 패키지 파일이 실행되면 자동으로 상기 VD(50)가 마운트되면서 상기 컨텐츠 보안장치(100) 역시 자동으로 설치되도록 구현될 수도 있다. 이를 위해 상기 컨트롤러(130)는 상기 패키지 파일의 구성에 필요한 정보 및/ 또는 상기 패키지 파일의 실행시에 자동을 상기 VD(50)를 마운트 시키기 위한 소정의 정보를 더 저장할 수도 있다. 상기 등록특허 “가상디스크 구동방법 및 이를 위한 기록매체”(등록번호 10-0692964)의 명세서 및 명세서에 기재된 내용은 본 출원의 레퍼런스로 포함된다.
한편, 본 발명의 실시 예에 따른 컨텐츠 보안 장치(100)는 상기 API 후킹부(110)를 통해 무단 복제를 방지하는 동시에, 인증된 사용자 프로세스만을 상기 VD(50)로 접근하도록 제어하기 위한 프로세스 인증 절차를 거칠 수 있다. 이러한 프로세스 인증 절차는 상기 VDD(150)를 통해 수행될 수 있다.
상기 API 후킹부(110)를 통해 후킹되지 않은 정상적인 리퀘스트는 커널을 통해 상기 VDD(150)로 입력될 수 있다. 상기 VDD(150)는 전술한 바와 같이, 상기 사용자 프로세스(10)가 상기 VD(50)로 접근을 할 수 있도록 하며, 상기 VD(50)를 마운트(mount) 시키는 역할을 수행할 수 있다.
이와 더불어, 상기 VDD(150)는 상기 VDD(150)에 포함된 소정의 프로세스 인증 모듈(미도시)을 통해 인증된 사용자 프로세스만을 상기 VD(50)에 접근할 수 있도록 제어할 수 있다. 예컨대, 상기 VDD(150)는 입력되는 리퀘스트에 포함된 상기 사용자 프로세스(10)의 식별자(예컨대, ID 또는 프로세스 이름 등)를 이용해 인증 절차를 수행할 수 있다. 인증되는 사용자 프로세스(10)의 식별자 리스트(즉, 허용되는 프로세스 리스트) 또는 인증되지 않는 사용자 프로세스(10)의 식별자 리스트(즉, 차단될 프로세스의 리스트)는 상기 컨트롤러(130) 또는 상기 VDD(150) 중 적어도 하나에 저장될 수 있다.
인증 결과 상기 사용자 프로세스(10)가 인증되지 않은 프로세스인 경우 상기 VDD(150) 또는 상기 컨트롤러(130) 중 어느 하나는 상기 사용자 프로세스(10)로 널 신호를 출력함으로써 상기 사용자 프로세스(10)의 오동작을 방지하고 정상적으로 상기 VD(50)로의 리퀘스트 절차를 종료할 수 있다. 상기 널 신호는 상기 API 후킹 동작시에 상기 사용자 프로세스(10)로 출력되는 널 신호와 동일할 수도 있으며, 동일하지 않을 수도 있다.
인증 결과 상기 사용자 프로세스(10)가 인증되는 프로세스인 경우에는, 상기 리퀘스트는 정상적으로 상기 VD(50)에 접근할 수 있으며, 그 결과 상기 컨텐츠 보안 장치(100)는 커널에서 온 리턴 값을 상기 사용자 프로세스(10)로 전달함으로써, 상기 리퀘스트에 상응하는 동작이 정상적으로 수행될 수 있다.
또한, 상기 컨트롤러(130)는 상기 VDD(150)의 프로세스 인증 상태를 디스에이블 또는 이네이블 상태로 설정함으로써, 상기 VDD(150)가 프로세스 인증 절차를 수행할지 여부를 제어할 수 있다.
한편, 상기 VD(50)에 저장된 컨텐츠가 암호화된 파일인 경우에는 상기 VDD(150)는 소정의 복호화모듈(미도시)를 더 구비할 수 있다. 또한, DRM에 의해 보호되는 컨텐츠인 경우 상기 VDD(150)에 구비되는 상기 소정의 복호화 모듈(미도시)은 상기 컨트롤러(130)에 구비되는 DRM 제어모듈(미도시)에 의해 제어될 수 있음은 전술한 바와 같다.
도 3은 본 발명의 실시 예에 따른 컨텐츠 보안 방법을 설명하기 위한 플로우 챠트를 나타낸다.
도 2와 도 3을 참조하면, 본 발명의 실시 예에 따른 컨텐츠 보안 방법은 후킹 설정 상태가 이네이블 상태인 경우(S100), 상기 사용자 프로세스(10)로부터 출력되는 리퀘스트(또는 가상드라이브 접근 신호)를 보안 정책에 따라 후킹할지 여부를 판단한다(S110). 상기 후킹 설정 상태가 디스에이블 상태인 경우에는(S100), 바로 프로세스 인증 절차(S120)를 수행하게 된다.
상기 API 후킹부(110)가 후킹을 하는 경우 상기 컨텐츠 보안장치(100)는 상기 사용자 프로세스(10)로 널 신호를 출력하고(S150), 리퀘스트 절차를 종료한다.
후킹을 하지 않는 경우에는 상기 컨텐츠 보안 장치(100)는 프로세스 인증 절차를 거칠 수 있다.
상기 프로세스 인증 절차는 프로세스 인증 상태가 이네이블인 경우(S120)이고, 상기 사용자 프로세스(10)가 인증된 프로세스인 경우(S130) 상기 사용자 프로세스(10)는 정상적으로 상기 VD(50)에 접근할 수 있으며, 상기 리퀘스트에 상응하는 동작을 수행한 후에 커널에서 리턴되는 값을 수신할 수 있다(S140).
상기 사용자 프로세스(10)가 인증되지 않은 프로세스인 경우(S130), 상기 컨텐츠 보안장치(100)는 상기 사용자 프로세스(10)로 널 신호를 출력하고(S150), 리퀘스트 절차를 종료한다.
프로세스 인증 상태가 디스에이블인 경우(S120)에는, 인증된 프로세스인지 여부와 상관없이 상기 사용자 프로세스는 정상적으로 상기 VD(50)에 접근할 수 있으며, 상기 리퀘스트에 상응하는 동작을 수행한 후에 커널에서 리턴되는 값을 수신할 수 있다(S140).
물론, 전술한 바와 같이 상기 VD(50)에 저장된 컨텐츠의 암호화 여부 및/또는 DRM 컨텐츠인지 여부에 따라 본 발명의 실시 예에 따른 컨텐츠 보안 방법은 복호화 과정 및/또는 DRM 제어 과정이 더 포함될 수 있다.
또한, 본 발명의 실시예에 따른 컨텐츠 보안 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 DRM 컨텐츠 보안 방법 및 그 장치는 가상 드라이브를 통하여 컨텐츠를 이용하면서, 불법적인 컨텐츠의 복제를 막음으로써 컨텐츠를 무단으로 사용하는 것을 방지할 수 있는 효과가 있다.
또한, 인증된 사용자 프로세스만 가상 드라이브에 접근할 수 있도록 제어함으로써, 정당한 사용만을 권장하며 악성코드로부터 컨텐츠를 보호할 수 있는 효과가 있다.

Claims (13)

  1. 컨텐츠 보안 장치가 사용자 프로세스로부터 출력되는 가상 드라이브 접근 신호를 수신하는 단계; 및
    후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 파일 I/O 함수, 클립보드 함수, 그래픽 디바이스 인터페이스 함수, 또는 네트워크 I/O 함수 중 적어도 하나를 포함하는 후킹 신호인 경우, 상기 컨텐츠 보안 장치가 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 구비하고,
    수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 컨텐츠 보안장치는 상기 가상 드라이브 접근 신호를 커널로 출력하는 단계를 구비하는 컨텐츠 보안 방법.
  2. 삭제
  3. 제 1항에 있어서, 상기 후킹 설정 상태는,
    후킹 이네이블 상태인 컨텐츠 보안 방법.
  4. 제1항에 있어서, 상기 컨텐츠 보안 방법은,
    수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우,
    상기 커널로 출력되는 상기 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하는 단계; 및
    프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 더 구비하고, 상기 사용자 프로세스가 인증된 프로세스인 경우 상기 VDD는 상기 가상 드라이브 접근 신호를 VD(Virtual Drive)로 출력하는 단계를 더 구비하는 컨텐츠 보안 방법.
  5. 제 4항에 있어서, 상기 프로세스 인증 상태는,
    프로세스 인증 이네이블 상태인 컨텐츠 보안 방법.
  6. 제 4항에 있어서, 상기 VD는,
    암호화된 이미지 파일을 포함하고 상기 VDD는 암호화된 상기 이미지 파일을 복호화하기 위한 복호화 모듈을 포함하는 컨텐츠 보안 방법.
  7. 사용자 프로세스로부터 커널로 출력되는 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하는 단계; 및
    프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우, 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계; 및
    상기 사용자 프로세스가 인증된 프로세스인 경우, 후킹 설정 상태에 따라 수신된 상기 가상 드라이브 접근 신호가 파일 I/O 함수, 클립보드 함수, 그래픽 디바이스 인터페이스 함수, 또는 네트워크 I/O 함수 중 적어도 하나를 포함하는 후킹 신호인 경우, 상기 컨텐츠 보안 장치가 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하는 단계를 구비하고,
    수신된 상기 가상 드라이브 접근 신호가 상기 후킹 신호가 아닌 경우, 상기 컨텐츠 보안장치는 상기 가상 드라이브 접근 신호를 상기 커널로 출력하는 단계를 구비하는 컨텐츠 보안 방법.
  8. 삭제
  9. 제 1항 또는 제 4항에 있어서,
    상기 컨텐츠 보안 장치는 상기 후킹 설정 상태 또는 상기 프로세스 인증 상태 중 적어도 하나를 변경할 수 있는 컨텐츠 보안 방법.
  10. 제 1항, 제3항 내지 제 7항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터가 읽을 수 있는 프로그램을 기록한 기록매체.
  11. 후킹 설정 상태를 설정하는 컨트롤러; 및
    상기 컨트롤러의 제어하에 사용자 프로세스로부터 출력되는 가상 드라이브 접근 신호를 수신하고, 수신된 상기 가상 드라이브 접근 신호가 파일 I/O 함수, 클립보드 함수, 그래픽 디바이스 인터페이스 함수, 또는 네트워크 I/O 함수 중 적어도 하나를 포함하는 후킹 신호인 경우, 상기 가상 드라이브 접근 신호를 후킹하고, 상기 사용자 프로세스로 널 리턴 신호를 출력하며,
    수신된 상기 가상 드라이브 접근 신호가 후킹 신호가 아닌 경우, 상기 가상 드라이브 접근 신호를 커널로 출력하는 API 후킹부를 구비하는 컨텐츠 보안 장치.
  12. 제 11항에 있어서, 상기 컨트롤러는,
    상기 커널로 출력되는 상기 가상 드라이브 접근 신호를 VDD(Virtual Device Driver)가 수신하도록 제어하고,
    프로세스 인증 상태에 따라 상기 사용자 프로세스가 인증된 프로세스가 아닌 경우 상기 VDD가 상기 사용자 프로세스로 널 리턴 신호를 출력하며, 상기 사용자 프로세스가 인증된 프로세스인 경우 상기 VDD는 상기 가상 드라이브 접근 신호를 VD(Virtual Drive)로 출력하도록 제어하는 컨텐츠 보안 장치.
  13. 제 12항에 있어서, 상기 컨트롤러는,
    상기 프로세스 인증 상태를 더 설정하는 컨텐츠 보안 장치.
KR1020070060408A 2007-06-20 2007-06-20 컨텐츠 보안 방법 및 그 장치 KR100911345B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070060408A KR100911345B1 (ko) 2007-06-20 2007-06-20 컨텐츠 보안 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070060408A KR100911345B1 (ko) 2007-06-20 2007-06-20 컨텐츠 보안 방법 및 그 장치

Publications (2)

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

Family

ID=40369944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070060408A KR100911345B1 (ko) 2007-06-20 2007-06-20 컨텐츠 보안 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100911345B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101098382B1 (ko) * 2009-12-14 2011-12-23 주식회사 크레블 망 이중화 시스템 및 그 제공방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100855329B1 (ko) 2007-08-20 2008-09-04 (주)테르텐 소프트웨어 보안 방법 및 그 장치
CN102821094B (zh) * 2012-07-09 2016-05-04 深圳市深信服电子科技有限公司 虚拟桌面中的数据安全处理方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999067713A1 (en) 1998-06-22 1999-12-29 Colin Constable Virtual data storage (vds) system
KR20050086051A (ko) * 2004-02-24 2005-08-30 소프트캠프(주) 가상 디스크를 이용한 응용 프로그램 별 접근통제시스템과 그 통제방법
JP2006031196A (ja) 2004-07-14 2006-02-02 Ricoh Co Ltd アクセス方法、情報処理装置、プログラム及び記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999067713A1 (en) 1998-06-22 1999-12-29 Colin Constable Virtual data storage (vds) system
KR20050086051A (ko) * 2004-02-24 2005-08-30 소프트캠프(주) 가상 디스크를 이용한 응용 프로그램 별 접근통제시스템과 그 통제방법
JP2006031196A (ja) 2004-07-14 2006-02-02 Ricoh Co Ltd アクセス方法、情報処理装置、プログラム及び記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101098382B1 (ko) * 2009-12-14 2011-12-23 주식회사 크레블 망 이중화 시스템 및 그 제공방법

Also Published As

Publication number Publication date
KR20080111888A (ko) 2008-12-24

Similar Documents

Publication Publication Date Title
US8752201B2 (en) Apparatus and method for managing digital rights through hooking a kernel native API
JP6785967B2 (ja) フィッシング又はランサムウェア攻撃を遮断する方法及びシステム
US20080295174A1 (en) Method and System for Preventing Unauthorized Access and Distribution of Digital Data
JP2011503689A (ja) 分離型の読み取り専用領域及び読み書き領域を有するコンピュータ記憶デバイス、リムーバブル媒体コンポーネント、システム管理インタフェース、及び、ネットワークインタフェース
EP3074907B1 (en) Controlled storage device access
JP5719244B2 (ja) 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置
JP2002318719A (ja) 高信頼計算機システム
US20030221115A1 (en) Data protection system
AU1329601A (en) System and method for providing data security
WO2006017774A2 (en) Method for preventing virus infection in a computer
US20090193499A1 (en) Method for application-to-application authentication via delegation
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
AU2021347175B2 (en) Encrypted file control
KR100911345B1 (ko) 컨텐츠 보안 방법 및 그 장치
JP2008084081A (ja) 機密情報の漏洩防止システム、機密情報の漏洩防止方法、記録媒体、及びプログラム
KR102227558B1 (ko) 프로그램 보호를 기반으로 한 데이터 보안 방법
KR100959638B1 (ko) 키보드 해킹차단 방법 및 그 프로그램을 기록한 기록매체
JP2009169868A (ja) 記憶領域アクセス装置及び記憶領域のアクセス方法
JP7527539B2 (ja) 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体
KR101349807B1 (ko) 이동식 저장매체 보안시스템 및 그 방법
JP7486368B2 (ja) 情報処理装置、情報処理装置の制御方法、情報処理システム及びプログラム
JP2019160038A (ja) ログイン管理装置、ログイン管理方法、及びプログラム
KR20140026315A (ko) 이동식 저장매체 보안시스템 및 그 방법

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