KR100556304B1 - Method and System for Keeping off Illegal Copy of Digital Contents by using the file system information Data - Google Patents

Method and System for Keeping off Illegal Copy of Digital Contents by using the file system information Data Download PDF

Info

Publication number
KR100556304B1
KR100556304B1 KR1020010027672A KR20010027672A KR100556304B1 KR 100556304 B1 KR100556304 B1 KR 100556304B1 KR 1020010027672 A KR1020010027672 A KR 1020010027672A KR 20010027672 A KR20010027672 A KR 20010027672A KR 100556304 B1 KR100556304 B1 KR 100556304B1
Authority
KR
South Korea
Prior art keywords
file
file system
system information
digital content
information
Prior art date
Application number
KR1020010027672A
Other languages
Korean (ko)
Other versions
KR20020088737A (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 KR1020010027672A priority Critical patent/KR100556304B1/en
Publication of KR20020088737A publication Critical patent/KR20020088737A/en
Application granted granted Critical
Publication of KR100556304B1 publication Critical patent/KR100556304B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use

Abstract

본 발명은 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠 불법 복제 방지 방법 및 시스템에 관한 것으로, 컴퓨터 또는 디지털 저장장치에 파일 또는 디지털 컨텐츠가 생성되거나 다운로드 되는 시점에 파일 시스템 정보를 해당 파일 또는 디지털 컨텐츠에 암호화하여 삽입한 후, 해당 컴퓨터 또는 컴퓨팅 시스템에서 파일 시스템 정보가 암호화되어 있는 파일 또는 디지털 컨텐츠를 사용하는 경우에 대하여, 운영 체제에 탑재되어 있는 파일 시스템 정보와 해당 파일 또는 디지털 컨텐츠에 암호화되어 있는 파일 시스템 정보를 비교 분석하여, 해당 파일 또는 디지털 컨텐츠가 불법 복제 된 것인지를 판단함으로써, 동일한 시스템 내에서의 파일 이동은 가능하지만, 동일한 시스템에서의 파일 복사를 이용한 디지털 컨텐츠 복제, 플로피 디스크나 CD와 같은 이동형 저장 장치로의 디지털 컨텐츠 복제, 그리고 LAN(Local Area Network)이나 인터넷을 통한 디지털 컨텐츠의 불법적인 복제 및 배포를 원천적으로 차단하는 방법 및 시스템에 관한 것이다.
The present invention relates to a method and system for preventing illegal copying of digital content using file system information data, and encrypting file system information in a corresponding file or digital content at the time when the file or digital content is generated or downloaded to a computer or digital storage device. After inserting, the file system information loaded in the operating system and the file system information encrypted in the file or digital content are used when the computer or the computing system uses the file or digital content in which the file system information is encrypted. By comparing and analyzing the files and determining whether the files or digital contents are illegally copied, it is possible to move files within the same system, but to copy digital contents using a file copy on the same system, such as a floppy disk or CD. The present invention relates to a method and system for fundamentally preventing the duplication of digital content to a portable storage device and illegal copying and distribution of digital content through a local area network (LAN) or the Internet.

디지털 컨텐츠, 불법 복제, 운영체제Digital content, piracy, operating system

Description

파일 시스템 정보 데이터를 이용한 디지털 컨텐츠의 불법 복제 방지 방법 및 시스템{Method and System for Keeping off Illegal Copy of Digital Contents by using the file system information Data} Method and System for Keeping Off Illegal Copy of Digital Contents by using the file system information Data}             

도1은 윈도즈98 아키텍쳐에 대한 간단한 블록도이다.1 is a simple block diagram of the Windows 98 architecture.

도2는 도1의 윈도즈 코아 부분을 좀 더 구체화시켜 나타낸 블록도이다.FIG. 2 is a block diagram illustrating the window core portion of FIG. 1 in more detail. FIG.

도3은 윈도즈98의 읽고 쓸 수 있는 저장 장치인 하드디스크의 대표적인 파일 시스템인 FAT의 논리적인 위치에 대한 간단한 구성도이다.FIG. 3 is a simple configuration diagram of a logical location of FAT, which is a representative file system of a hard disk, which is a read / write storage device of Windows 98.

도4는 윈도즈98에서 대표적으로 사용되는 FAT32 파일 시스템에서 긴 파일 이름(Long File Name;LFN) 을 일부 파일 시스템 정보가 저장되고 있는 것에 대한 간단한 위치도이다.FIG. 4 is a simple positional view of a long file name (LFN) in which some file system information is stored in a FAT32 file system typically used in Windows 98. As shown in FIG.

도5는 파일이 생성되는 시점에서 해당 파일에 파일 시스템 정보를 암호화하여 삽입하는 방법에 대한 간단한 블록도이다.5 is a simple block diagram of a method of encrypting and inserting file system information into a file at the time a file is created.

도6은 대용량 원본 데이터에 대하여 파일 생성 정보와 마지막 파일 수정 정보 등을 이용하여 암호화된 FAT32 파일 시스템 정보를 헤더와 같은 파일의 특정 부분에 삽입하는 경우에 대한 간단한 흐름도이다. FIG. 6 is a simple flowchart illustrating a case of inserting encrypted FAT32 file system information into a specific portion of a file such as a header by using file generation information, last file modification information, and the like for a large amount of original data.                 

도7은 대용량 원본 데이터에 대하여 파일 생성 정보와 마지막 파일 수정 정보 등을 이용하여 암호화된 FAT32 파일 시스템 정보를 워터마킹과 같은 방법을 이용해 원본 데이터에 암호화 처리를 한 후, 이것을 하드디스크에 기록하는 과정에 대한 간단한 흐름도이다. 7 is a process of encrypting original data by encrypting FAT32 file system information encrypted using file creation information and last file modification information on a large amount of original data using a method such as watermarking, and then recording the same on a hard disk. Here is a simple flow chart.

도8은 하드디스크에 저장되어 있는 파일을 메모리로 읽어온 후, 해당 파일 안에 삽입되어 있는 암호화된 파일 시스템 정보와 커널에 의해 관리되는 해당 파일의 실제 파일 시스템 정보를 비교 분석하여, 해당 파일이 원본 파일인지 복사 또는 불법 복제된 파일인지 확인하는 방법에 대한 간단한 블록도이다.FIG. 8 reads a file stored in a hard disk into a memory and compares and analyzes the encrypted file system information inserted in the file with the actual file system information of the file managed by the kernel. A simple block diagram of how to determine if a file is a copied or pirated file.

도9는 하드디스크에서 암호화된 파일 시스템 정보가 포함된 파일을 읽어온 후, 파일 시스템 비교 분석을 통해 해당 파일이 복사본 또는 불법 복제본인지를 확인하는 과정에 대한 간단한 흐름도이다.9 is a simple flowchart illustrating a process of checking whether a file is a copy or an illegal copy through file system comparison analysis after reading a file including encrypted file system information from a hard disk.

도10은 인터넷 상의 컨텐츠 제공 서버에서 다운로드 하는 디지털 컨텐츠를 클라이언트에 탑재되어 있는 FSI를 이용하여 암호화된 파일 시스템 정보를 삽입하는 과정에 대한 간단한 블록도이다.10 is a simple block diagram of a process of inserting encrypted file system information using FSI mounted on a client to digital content downloaded from a content providing server on the Internet.

도11은 컨텐츠 제공 서버에서 클라이언트로 전송하는 데이터에 대하여 암호화된 파일 시스템 정보를 삽입하는 과정에 대한 간단한 흐름도이다.11 is a simple flowchart illustrating a process of inserting encrypted file system information for data transmitted from a content providing server to a client.

도12는 정상적인 디지털 컨텐츠 사용권자에 대하여 클라이언트에서 해당 디지털 컨텐츠가 삭제되어 복구가 필요하거나, 전송이 완료되지 않아 재전송이 필요한 경우에 대하여 전송 결과를 저장하고 있는 CCM을 통해 해당 디지털 컨텐츠를 재전송하는 과정에 대한 간단한 흐름도이다. 12 is a process of retransmitting a digital content through a CCM storing a transmission result for a case in which the digital content is deleted from the client and needs to be recovered because the digital content is deleted from the client or the transmission is not completed. Here is a simple flow chart.                 

도13은 컨텐츠 제공 서버를 통해 클라이언트로 전송하는 디지털 컨텐츠에 대하여 FSI를 이용하여 파일 시스템 정보를 암호화하고, 이것을 전송된 원본 데이터에 삽입하는 과정에 대한 간단한 예시도이다.FIG. 13 is a simplified illustration of a process of encrypting file system information using FSI for digital content transmitted to a client through a content providing server and inserting the file system information into the transmitted original data.

도14는 클라이언트의 FSI가 컨텐츠 제공 서버에서 전송 받은 원본 데이터에 암호화된 파일 시스템을 삽입하는 과정에서 오류가 발생한 경우에 대한 예시도이다.14 is an exemplary diagram illustrating an error in a process in which an FSI of a client inserts an encrypted file system into original data received from a content providing server.

도15는 FSI가 탑재된 설치 CD 제작 소프트웨어를 이용하여 암호화된 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하는 방법에 대한 간단한 블록도이다Fig. 15 is a simple block diagram of a method for creating an installation file and an installation program in which encrypted file system information is inserted using the installation CD creation software equipped with FSI, and recording the same on a CD.

도16은 도면15와 같은 방법으로 암호화된 파일 시스템 정보가 삽입된 소프트웨어 설치 CD를 제작하는 전용 소프트웨어에서 원본 파일 대한 설치 파일 및 설치 프로그램을 제작하고 있는 예시도이다.FIG. 16 is an exemplary diagram for manufacturing an installation file and an installation program for original files in dedicated software for producing a software installation CD in which encrypted file system information is inserted in the same manner as in FIG. 15.

도17은 FSI가 탑재된 설치 CD 제작 소프트웨어를 이용하여 암호화된 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하는 과정에 관한 간단한 흐름도이다.
Fig. 17 is a simple flowchart showing a process of creating an installation file and an installation program in which encrypted file system information is inserted using the installation CD production software loaded with FSI, and recording this onto a CD.

<도면의 주요부분에 대한 설명><Description of main parts of drawing>

1000 : 컨텐츠 데이터 베이스(D/B) 1010 : FSI 데이터 베이스(D/B)   1000: Content Database (D / B) 1010: FSI Database (D / B)

1020 : 클라이언트 데이터 베이스(D/B) 1030 : 서버 데몬   1020: client database (D / B) 1030: server daemon

1040 : 클라이언트 측 FSI 관리자 1050 : 클라이언트 측 컨텐츠 관리자    1040: client side FSI manager 1050: client side content manager                 

1060 : TCP/IP    1060: TCP / IP

본 발명은 컴퓨터 또는 디지털 저장장치에 파일 또는 디지털 컨텐츠가 생성되거나 다운로드 되는 시점에 파일 시스템 정보를 해당 파일 또는 디지털 컨텐츠에 암호화하여 삽입한 후, 해당 컴퓨터 또는 컴퓨팅 시스템에서 파일 시스템 정보가 암호화되어 있는 파일 또는 디지털 컨텐츠를 사용하는 경우에 대하여, 운영 체제에 탑재되어 있는 파일 시스템 정보와 해당 파일 또는 디지털 컨텐츠에 암호화되어 있는 파일 시스템 정보를 비교 분석하여, 해당 파일 또는 디지털 컨텐츠가 불법 복제 된 것인지를 판단함으로써, 동일한 시스템 내에서의 파일 이동은 가능하지만, 동일한 시스템에서의 파일 복사를 이용한 디지털 컨텐츠 복제, 플로피 디스크나 CD와 같은 이동형 저장 장치로의 디지털 컨텐츠 복제, 그리고 LAN(Local Area Network)이나 인터넷을 통한 디지털 컨텐츠의 불법적인 복제 및 배포를 원천적으로 차단하는 방법 및 시스템에 관한 것이다.
The present invention encrypts and inserts file system information into a corresponding file or digital content at the time a file or digital content is generated or downloaded to a computer or digital storage device, and then the file is encrypted in the computer or computing system. Or in the case of using digital content, by comparing and analyzing the file system information installed in the operating system with the file system information encrypted in the file or digital content, and determining whether the file or digital content is illegally copied. Files can be moved within the same system, but digital content replication using file copy on the same system, digital content replication to removable storage devices such as floppy disks or CDs, and over a local area network or the Internet Digi It relates to a method and system to fundamentally block the illegal copying and distribution of content.

컴퓨터 기술과 네트워크 인프라와 같은 정보 통신 분야의 발달로 인하여 컴퓨터 및 인터넷 사용 인구가 빠르게 증가하고 있으며, 이와 같은 컴퓨터 및 인터넷 사용자가 디지털 컨텐츠의 수용자로 인식되면서 그동안 오프라인 매체를 이용하던 문자 정보, 이미지, 오디오, 그리고 비디오와 같은 다양한 컨텐츠들이 디지털화되 거나 디지털화된 매체로만 사용 가능한 컨텐츠들이 생성되고 있다. 그러나 정보 통신 분야의 발달은 기 서술한 디지털 컨텐츠를 원본의 손상 없이 대량 복제하고, 이것을 무제한 적으로 배포할 수 있는 기술을 포함하고 있으며, 이와 같은 디지털 컨텐츠의 불법 복제 및 배포를 방지하고 저작권을 보고하기 위한 기술에 대한 요구가 증가하고 있으며, 이와 같은 요구에 의해 디지털 컨텐츠에 대한 다양한 불법 복사 및 배포 방지 기술이 발표되고 있다.
Due to the development of information and communication fields such as computer technology and network infrastructure, the computer and internet users are increasing rapidly. As such computer and internet users are recognized as the recipients of digital contents, they have been using text information, images, Various contents such as audio and video are being digitized or contents that can only be used as digitized media. However, the development of the information and communication field includes a technology that can mass-represent the digital contents described above without damaging the original and distribute them indefinitely, and prevent the illegal copying and distribution of such digital contents and report the copyright. There is an increasing demand for technology to do so, and various demands for preventing illegal copying and distribution of digital contents have been announced due to such a demand.

기 서술한 디지털 컨텐츠에 대한 불법 복제와 배포를 방지하는 방법에는 사용자 인증이라는 과정을 통해서 적법한 사용자만이 디지털 컨텐츠에 접근이 가능하도록 하는 방법, 스크램블과 디스크램블이라는 암호화 과정을 통해 암호키를 보유하고 있는 적법한 사용자와 허가된 시스템에서만 디지털 컨텐츠를 사용할 수 있도록 하는 방법, 그리고 디지털 컨텐츠 직접적으로 저작권에 대한 정보를 삽입하여 저작권 정보를 추척하는 방법 등이 있으며, 이러한 방법 중에서 현재까지 실용화되거나 개발 중인 기술에는 디지털 컨텐츠를 암호화하여 사용료를 지불한 적법한 사용자에게만 실행되도록 하는 DRM(Digital Rights Management) 기술, 저작권 정보를 디지털 컨텐츠에 포함하여 불법 복제와 배포를 추적하여 복제를 방지하는 워터마킹(Watermarking) 기술, 그리고 디지털 컨텐츠의 속성을 조작하여 실행 시간이나 프린트 기능 등을 제한함으로써 불법 복제를 방지하는 DPP(Digital Property Protection) 기술 등이 있다.
In order to prevent the illegal copying and distribution of the digital contents described above, only a legitimate user can access the digital contents through a process called user authentication, and a cryptographic key through the encryption process called scramble and descramble. Digital content can only be used by legitimate users and authorized systems, and digital information can be inserted directly to track copyright information. Digital Rights Management (DRM) technology that encrypts digital content so that it is executed only by legitimate users who have paid royalties, watermarking technology that prevents copying by tracking illegal copying and distribution by including copyright information in digital content, and By manipulating the properties of digital content, such as limiting the run time or print functions include (Digital Property Protection) DPP technology to prevent piracy.

DRM은 인증된 컨텐츠 제공 환경과 네트워크 인프라를 통해 디지털 컨텐츠에 대한 라이센스 인증, 저작권과 승인 내역 관리, 컨텐츠 사용 권리와 승인 집행, 그리고 컨텐츠 사용에 대한 결제를 수행하는 관리 방법으로써, 암호화 기술을 이용하여 디지털 컨텐츠를 암호화 파일로 생성하여 인터넷이나 CD와 같은 이동형 저장 장치를 통해 배포한 후, 해당 디지털 컨텐츠에 대한 사용료를 지불한 적법한 사용자에게만 컨텐츠 사용을 허락하는 디지털 컨텐츠 관리 기술이다. DRM을 통해 배포된 디지털 컨텐츠는 해당 사용자에 의해서 자유롭게 재배포할 수 있으며, 해당 디지털 컨텐츠를 사용하는 과정에서 사용료를 지불하게 하는 방법으로써, 사용료를 지불하지 않고는 해당 디지털 컨텐츠를 사용할 수 없다.
DRM is a management method that performs license authentication, copyright and approval history management, content usage rights and approval enforcement, and payment for the use of content through an authorized content delivery environment and network infrastructure. It is a digital content management technology that generates digital content as an encrypted file and distributes it through a portable storage device such as the Internet or a CD, and then permits the use of the content only to a legitimate user who pays the fee for the digital content. The digital content distributed through DRM can be freely redistributed by the user, and the digital content can not be used without paying the fee as a way to pay the fee in the process of using the digital content.

그러나, 현존하는 일반적인 암호화 기술을 이용하여 단순히 디지털 컨텐츠 파일만을 암호화하여 불법 복제를 방지하는 방법은 부적절한 방법에 의해 비교적 쉽게 파괴될 수 있으며, 적법한 과정을 거쳐 컨텐츠에 대한 사용 권리를 획득한 사용자가 자신의 인증키와 함께 해당 디지털 컨텐츠를 재배포하거나, 부적절한 방법으로 인증키를 도용하는 경우에는 불법 복제를 원천적으로 방지할 수 없다는 단점이 있다.
However, the method of simply encrypting digital content files to prevent illegal copying by using existing general encryption technology can be destroyed relatively easily by improper methods, and the user who has obtained the right to use the content through a legal process Redistribution of the corresponding digital content with the authentication key of, or stealing the authentication key in an inappropriate manner has the disadvantage that the original copy can not be prevented.

워터마킹은 원래 책이나 미술 작품의 제작자 또는 소유자가 해당 작품에 대한 소유권을 증명하기 위하여 육안으로 구별할 수 없는 물, 특수 잉크, 또는 약품 등을 이용하여 작품에 표시를 하는 것이었지만, 본 발명에서 워터마킹 기술이라함 은 컴퓨터 또는 인터넷 상에 존재하는 디지털 데이터 형태의 컨텐츠에 워터마킹 정보를 삽입하는 디지털 워터마킹 기술을 의미한다. 워터마킹 기술은 상기와 같이 디지털 컨텐츠에 인간의 감각으로 구별할 수 없는 정보를 삽입하여 소유권 또는 저작권을 표시하는 방법으로써, 해당 디지털 컨텐츠의 저작권 정보를 인간의 감각 시스템으로 구별할 수 없는 정보 또는 컴퓨터 장치의 한계에 의해 디지털 컨텐츠에서 처리할 수 없는 정보의 형태로 디지털 컨텐츠 데이터에 삽입하고, 이것을 통해 불법 복제를 방지하는 기술이다. 이와 같은 워터마킹이 적용되는 디지털 컨텐츠에는 문자 데이터, 이미지, 오디오, 그리고 비디오 등이 있으며, 이외에도 다양한 디지털 데이터의 위변조 방지 시스템 등에 활용되고 있다. 그 중에서 디지털 컨텐츠에 적용되고 있는 대표적인 워터마킹 기법을 설명하면 다음과 같다.
Watermarking was originally intended to mark a work using water, special inks, or medicines that are indistinguishable to the naked eye in order to prove ownership of the book or work of art, but in the present invention, Watermarking technology refers to a digital watermarking technology that inserts watermarking information into content in the form of digital data existing on a computer or the Internet. Watermarking technology is a method of displaying ownership or copyright by inserting information that cannot be distinguished by human senses into digital content as described above, and information or computer that cannot distinguish copyright information of the digital content by human sense system. Due to the limitations of the device, it is a technology for inserting into digital content data in the form of information that cannot be processed in digital content, thereby preventing illegal copying. The digital contents to which the watermarking is applied include text data, images, audio, and video, and are also used for various forgery and alteration prevention systems of digital data. Among them, representative watermarking techniques applied to digital contents are described as follows.

문자 워터마킹은 컨텐츠에 사용되는 글자의 모양(Serif)을 조금씩 변경하거나, 글자간 간격을 조정한다든지, 또는 줄 간격을 임의로 조정함으로써 워터마크를 삽입하는 기술로써, 컨텐츠에 사용되는 문자의 서식을 변경하여 워터마크를 삽입하는 방법이다. 그러나 문자 워터마킹은 지원되지 않는 글자 모양에 대해서는 워터마크의 삽입 여부를 가려낼 수 없으며, 설령 글자 모양이 지원된다고 하더라도 일부분을 위변조하면 이것을 검출할 수 없다는 단점이 있다.
Text watermarking is a technique of inserting a watermark by changing the shape of letters used in the content little by little, adjusting the space between letters, or arbitrarily adjusting the line spacing. The method of inserting a watermark by changing it. However, text watermarking cannot distinguish whether or not a watermark is inserted into the unsupported font, and even if the font is supported, it cannot be detected by forgering a part.

이미지 워터마킹은 인간의 시각 시스템(Human Visual System;HVS)이 갖고 있는 속성을 이용하여 인간의 시각으로 구분하기 어려운 저작권 정보를 이미지 데이 터 안에 삽입하는 기술로써, 디지털 컨텐츠에 대한 워터마크의 가시성 여부에 따라 가시성 워터마킹과 비가시성 워터마킹이 있으며, 비가시성 워터마킹은 공간평면(Spatial Domain) 워터마킹과 주파수평면(Frequency Domain) 워터마킹 등이 있다. 그러나 가시성 워터마킹은 원본 이미지가 손실된다는 단점이 있고, 공간평면 워터마킹은 워터마크의 삽입이나 추출이 비교적 간단한 반면에 일반적인 신호처리나 비선형 필터링, 회전, 절단, 이동, 확대, 축소, 그리고 변환 등과 같은 영상처리, 그리고 간단한 컨텐츠 압축 등에 의해서 워터마크가 소실될 가능성이 크다는 단점이 있고, 주파수평면 워터마킹은 워터마크 삽입과 추출과정에서 푸리에변환과 같은 복잡한 알고리즘이 사용되기 때문에 알고리즘이 복잡하고 컨텐츠 크기에 비해 많은 연산량이 필요하다는 단점이 있다.
Image watermarking is a technology that inserts copyright information, which is difficult to distinguish from human vision, into image data by using the property of human visual system (HVS). There are visible watermarking and invisible watermarking, and invisible watermarking includes spatial domain watermarking and frequency domain watermarking. Visible watermarking, however, has the disadvantage of losing the original image, while spatial plane watermarking is relatively simple to insert or extract watermarks, while general signal processing, nonlinear filtering, rotation, cutting, moving, zooming in, zooming out, and transformation Watermark is more likely to be lost due to the same image processing and simple content compression.In frequency plane watermarking, the algorithm is complicated and the content size is used because complex algorithms such as Fourier transform are used during watermark insertion and extraction. Compared with this, a large amount of computation is required.

오디오 워터마킹은 인간의 청각 시스템(Human Autitory System;HAS)이 갖고 있는 속성을 이용하여 인간의 청각으로 구분하기 어려운 노이즈 데이터에 저작권 정보를 삽입하는 기술로써, 1분에 10MB 이상의 저장공간이 필요하던 오디오 데이터가 다양한 압축 코덱을 이용하여 수십 KB정도로 압축이 가능하고, 이렇게 압축된 오디오 데이터가 인터넷 상에 무제한적으로 배포되면서 발생하는 저작권 문제를 해결하기 위해, 오디오 워터마킹은 오디오 신호처리와 압축 코덱에 대한 견고성과 비가청성의 요건을 충족해야 한다. 그러나 오디오 워터마킹은 가장 대표적인 오디오 매체인 CD로부터 MP3로 오디오 데이터가 복제되는 것을 방지할 수 있는 근본적인 해결책을 제시하지 못하며, CD로부터 MP3로 복제를 원천적으로 방지할 경우 소비자 로부터의 거부감, 법률적인 문제, 그리고 개인적인 용도로의 허가된 복제도 불가능해진다는 단점이 있다.
Audio watermarking is a technology that inserts copyright information into noise data that is hard to be distinguished by human hearing using the property of Human Autitory System (HAS), which requires more than 10MB of storage space per minute. Audio data can be compressed to tens of kilobytes using various compression codecs, and audio watermarking and compression codecs are used to solve the copyright problem caused by unlimited distribution of compressed audio data over the Internet. Meet the requirements for robustness and inaudibility. Audio watermarking, however, does not offer a fundamental solution to prevent the duplication of audio data from CD to MP3, the most representative audio media. Rejection and legal issues from consumers are fundamentally prevented from copying from CD to MP3. The disadvantage is that even authorized reproduction for personal use is impossible.

비디오 워터마킹은 이미지 워터마킹과 마찬가지로 HVS를 이용하여 저작권 정보를 비디오 데이터 안에 삽입하거나, HVS와 HAS 등을 이용하여 비디오 데이터 안에 저작권 정보를 삽입하는 기술로써, 이미지 워터마킹에 비해 워터마크가 실시간으로 검출되어야 하는 특징을 가지고 있다. 그러나 비디오 워터마킹 역시 이미지 워터마킹과 마찬가지로 압축 및 영상 처리 과정에서 소실될 가능성이 크며, 실시간 워터마킹 검출을 위해 많은 연산과정을 거쳐야 한다는 단점이 있다.
Similar to image watermarking, video watermarking inserts copyright information into video data using HVS or copyright information into video data using HVS and HAS. It has a feature to be detected. However, video watermarking, like image watermarking, is likely to be lost during compression and image processing, and has a disadvantage of requiring a lot of computational processes for real-time watermarking detection.

DPP 기술은 상기 서술한 워터마킹의 단점을 일부 보완하고, DRM보다 적극적인 형태의 저작권 보호 기술로써, 사용자의 컴퓨터에 소프트웨어 보호막을 설치하여 적법한 사용자에게만 컨텐츠를 다운적재 하거나, 사용할 수 있도록 하는 불법 복제 방지 기술이다.
DPP technology partially compensates for the shortcomings of watermarking described above, and is a form of copyright protection technology that is more aggressive than DRM, and installs a software shield on the user's computer to prevent illegal copying so that only the legitimate user can download or use the content. Technology.

DPP는 디지털 컨텐츠의 속성을 이용하여 컨텐츠의 사용시간, 사용 회수, 사용 기간, 프린트 여부, 컨텐츠 내용의 복사와 붙여넣기 등을 제한하고, 스트리밍 기법을 이용하여 하드디스크에 컨텐츠를 저장하지 못하게 할 수 있으며, 적법한 사용자라 할지라도 해당 컨텐츠의 재배포를 위해서는 추가적인 인증 과정을 거치도록 함으로써, 해당 디지털 컨텐츠의 저작권을 보호하는 기술이다. 게다가 DPP는 DRM과 달리 디지털 컨텐츠 자체의 속성을 이용하여 해당 컨텐츠의 저작권을 보호하기 때문에 클라이언트 서버 시스템의 기존 인터넷뿐만 아니라, 개인대 개인의 데이터 전송 시스템인 P2P(Peer-To-Peer)에도 적용 가능하며, 컴퓨터에 소프트웨어 보호막을 설치해야만 디지털 컨텐츠를 사용할 수 있기 때문에 특정 파일뿐만 아니라 여러 파일을 일괄 관리할 수 있는 특징이 있다.
DPP can limit the usage time, frequency of use, duration of use, printing, and copy and paste of the contents by using the attributes of digital contents, and prevent the contents from being saved on the hard disk by using streaming techniques. In addition, even a legitimate user is required to go through an additional authentication process to redistribute the content, thereby protecting the copyright of the digital content. In addition, unlike DRM, DPP protects the copyright of the content by using the property of digital content itself, so it can be applied not only to the existing Internet of client server system but also to peer-to-peer (P2P), a data transmission system for individuals. In addition, since digital contents can be used only by installing a software shield on a computer, it is possible to collectively manage not only a specific file but also multiple files.

그러나, 상기와 같은 DPP 기술은 디지털 컨텐츠 속성을 이용하여 저작권을 보호하기 때문에, DRM 보다 적극적이고, P2P 시스템에서 운영될 수 있다는 특징이 있기는 하지만, 컨텐츠 자체에 대한 부적절한 조작에 쉽게 노출되는 단점이 있다. 이와 같은 단점을 보완하기 위하여 DPP는 해당 컴퓨터에 설치되어 있는 소프트웨어 보호막을 이용하여 디지털 컨텐츠에 부적절한 방법으로 조작으로 시도하는 순간 해당 디지털 컨텐츠를 스스로 파괴하는 기능을 포함하고 있다. 그러나 디지털 컨텐츠를 다운로드 한 후, 소프트웨어 보호막을 제거하고 부적절한 방법으로 컨텐츠에 조작을 시도하는 경우, 해당 디지털 컨텐츠는 무방비 상태로 노출되며, 이렇게 조작된 디지털 컨텐츠의 재배포를 방지할 수 있는 근본적인 방법이 없다.
However, since the DPP technology protects copyright by using digital content attributes, it is more active than DRM and can be operated in a P2P system. However, the DPP technology is easily exposed to inappropriate manipulation of the content itself. have. To compensate for this drawback, DPP includes a function that destroys the digital content itself at the moment of attempting to operate the digital content inappropriately by using a software protection film installed on the computer. However, if you remove the software shield and attempt to manipulate the content in an inappropriate manner after downloading the digital content, the digital content is exposed unprotected, and there is no fundamental way to prevent redistribution of the manipulated digital content. .

본 발명의 목적은 상기와 같은 문제점을 해결하기 위해 컴퓨터 또는 디지털 저장장치에 파일 또는 디지털 컨텐츠가 생성되거나 다운로드 되는 시점에 파일 시스템 정보를 해당 파일 또는 디지털 컨텐츠에 암호화하여 삽입한 후, 해당 컴퓨터 또는 컴퓨팅 시스템에서 파일 시스템 정보가 암호화되어 있는 파일 또는 디지털 컨텐츠를 사용하는 경우에 대하여, 운영 체제에 탑재되어 있는 파일 시스템 정보와 해당 파일 또는 디지털 컨텐츠에 암호화되어 있는 파일 시스템 정보를 비교 분석하여, 해당 파일 또는 디지털 컨텐츠가 불법 복제 된 것인지를 판단함으로써, 동일한 시스템 내에서의 파일 이동은 가능하지만, 동일한 시스템에서의 파일 복사를 이용한 디지털 컨텐츠 복제, 플로피 디스크나 CD와 같은 이동형 저장 장치로의 디지털 컨텐츠 복제, 그리고 LAN(Local Area Network)이나 인터넷을 통한 디지털 컨텐츠의 불법적인 복제 및 배포를 원천적으로 차단하는 방법 및 시스템을 제공함에 있다.
An object of the present invention is to encrypt and insert the file system information into the file or digital content at the time when the file or digital content is created or downloaded to a computer or digital storage device to solve the above problems, the computer or computing When a file or digital content whose file system information is encrypted is used in a system, the file system information loaded in the operating system is compared with the file system information encrypted in the file or digital content, and the file or information is encrypted. By determining whether digital content is illegally copied, you can move files within the same system, but you can copy digital content using file copy from the same system, digital content to a removable storage device such as a floppy disk or CD, and so on. It is a method and system to fundamentally block the illegal copying and distribution of digital content over a LAN (Local Area Network) or the Internet to provide.

본 발명의 또 다른 목적은 인터넷 상의 서버에서 제공하는 디지털 컨텐츠를 다운로드 하여 클라이언트에 저장하는 과정에서 파일 시스템 정보 삽입부를 이용하여 해당 디지털 컨텐츠에 암호화된 파일 시스템 정보를 삽입하는 방법 및 암호화된 파일 시스템 정보를 삽입하는 설치 프로그램 제작용 소프트웨어, 즉 설치 프로그램 제작용 파일 시스템 정보 삽입부를 이용하여 소프트웨어 설치용 CD를 제작함으로써, 하드디스크와 같은 저장장치에 복사되거나 불법 복제되어 인터넷과 같은 통신망을 통해 소프트웨어가 배포되는 것을 원천적으로 방지하는 방법을 제공함에 있다.
Still another object of the present invention is a method of inserting encrypted file system information into a corresponding digital content using a file system information insertion unit in the process of downloading and storing digital content provided by a server on the Internet in a client and encrypted file system information. By creating a software installation CD using the installation program production software, that is, the installation program production file system information inserting unit, the software is copied or illegally copied to a storage device such as a hard disk, and the software is distributed through a communication network such as the Internet. It is to provide a method for preventing the source.

본 발명은 운영 체제에 탑재되어 있는 파일 시스템을 이용하는 불법 복제 방 지 방법으로써, 컴퓨터 또는 디지털 저장장치를 탑재하고 있는 컴퓨팅 시스템에 파일 시스템을 통한 불법 복제 방지 기술을 사용하는 디지털 컨텐츠 생성기(Digital Contents Creator)를 탑재하고, 이 생성기를 이용하여 해당 컴퓨터 또는 디지털 저장장치에 파일 또는 디지털 컨텐츠가 생성되거나 다운로드 되는 시점에 파일 시스템 정보를 해당 파일 또는 디지털 컨텐츠에 암호화하여 삽입한 후, 해당 컴퓨터 또는 컴퓨팅 시스템에서 파일 시스템 정보가 암호화되어 있는 파일 또는 디지털 컨텐츠를 사용하는 경우에 대하여, 운영 체제에 탑재되어 있는 파일 시스템 정보와 해당 파일 또는 디지털 컨텐츠에 암호화되어 있는 파일 시스템 정보를 비교 분석하여, 해당 파일 또는 디지털 컨텐츠가 불법 복제 된 것인지를 판단하고, 불법 복제된 파일 또는 디지털 컨텐츠에 대하여 사용을 제한하는 방법 및 그 부가 기능에 대한 것이다.
The present invention provides a method for preventing piracy using a file system installed in an operating system. The present invention provides a digital content creator using an anti-piracy technology through a file system in a computer or digital storage device. ), And use this generator to encrypt and insert file system information into the file or digital content at the time the file or digital content is created or downloaded to the computer or digital storage device, and then In the case of using a file or digital content in which file system information is encrypted, the file system information stored in the operating system is compared with the file system information encrypted in the file or digital content. How to determine whether the content is pirated, and limit the use for files or digital content piracy and the will for that add-on.

본 발명은 개인 및 업무용 컴퓨터에 탑재되는 마이크로소프트사의 DOS(Disk Operating System) 및 모든 윈도우즈 운영체제, 워크스테이션 및 대용량 컴퓨터에 탑재되는 UNIX 계열의 운영체제, 개인 및 워크스테이션을 포함하는 대용량 컴퓨터에 탑재되는 LINUX 계열의 운영체제, 그리고 무선 통신 장치, PDA, 그리고 전자 제품에 탑재되는 실시간 운영체제(Real Time Operating System)를 포함하는 모든 운영체제에 대하여, 해당 운영체제의 파일 시스템 정보를 파일 또는 디지털 컨텐츠에 삽입함으로써 불법 복제를 방지하는 모든 경우를 포함한다.
The present invention is LINUX mounted on a large-capacity computer including Microsoft's DOS (Disk Operating System) mounted on personal and business computers and UNIX-based operating systems, individuals and workstations mounted on all Windows operating systems, workstations and large-capacity computers. For all operating systems, including the family of operating systems and real-time operating systems on wireless communications devices, PDAs, and electronics, illegal copying can be achieved by inserting the operating system's file system information into files or digital content. Includes all cases to prevent.

이하, 개인 및 업무용 컴퓨터에 탑재되는 마이크로소프트사의 윈도즈98(Microsoft Windows 98) 운영체제(이하 윈도즈98)를 이용하여 본 발명의 기술적 특징을 설명하며, 상기 서술한 바와 같이 본 발명이 특정 운영체제 또는 파일 시스템에 한정되지는 않는다.
Hereinafter, the technical features of the present invention will be described using a Microsoft Windows 98 operating system (hereinafter referred to as Windows 98), which is installed in personal and business computers. As described above, the present invention provides a specific operating system or file system. It is not limited to.

도면1은 윈도즈98 아키텍쳐에 대한 간단한 블록도이다.
Figure 1 is a simple block diagram of the Windows 98 architecture.

마이크로소프트사의 윈도즈 제품군이 사용할 수 있는 파일 시스템에는 하드디스크와 같이 읽고 쓸 수 있는 저장 장치에 대하여 FAT(File Allocation Table)과 NTFS(NT File System) 등과 같은 파일 시스템이 있고, CD(Compact Disk)나 DVD(Digital Video Disk)와 같이 읽기 전용 저장 장치에 대하여 CDFS(CD File System)와 UDF(Universal Disk Format) 등과 같은 파일 시스템이 있다. 그리고 윈도즈 제품군의 읽고 쓸 수 있는 파일 시스템인 FAT은 각각의 버전 및 특징에 따라 플로피 디스크에서 사용하는 FAT12, DOS나 윈도즈3.1 및 윈도즈95에서 사용하던 FAT16, 그리고 윈도즈95 OSR2 버전 이후 대용량 저장 장치에서 사용하는 FAT32 등으로 나눌 수 있다.
The file systems available to Microsoft's Windows family include file systems such as FAT (File Allocation Table) and NTFS (NT File System) for storage devices that can be read and written like hard disks. There are file systems such as CDFS (CD File System) and UDF (Universal Disk Format) for read-only storage devices such as DVD (Digital Video Disk). FAT, the readable and writable file system of the Windows family, can be used with FAT12, DOS or FAT16 used in Windows 3.1 and Windows 95, and in mass storage devices since Windows 95 OSR2. It can be divided into FAT32 and the like.

사용자 인터페이스 도구 및 32비트 셸(100)은 윈도즈98 운영체제의 가장 바깥 부분에서 사용자 또는 응용프로그램(105)의 명령을 윈도즈98 코어(110)로 전달하는 역할을 수행하며, MS-DOS, 16비트, 그리고 32비트 응용프로그램에 대하여 동 일한 아키텍쳐 상의 레벨을 제공함으로써, 각각의 응용프로그램(105)이 윈도즈98 코어(110)에 접근할 수 있는 인터페이스를 제공하고, 컴퓨팅 시스템 내부, 네트워크, 인트라넷, 그리고 인터넷 상에 존재하는 데이터에 접근할 수 있는 인터페이스를 제공한다. 따라서 윈도즈98에서 운영되는 모든 응용프로그램(105) 및 디지털 컨텐츠는 사용자 인터페이스 도구 및 32비트 셸(100)을 통해서만 윈도즈98 코어(110)에 접근할 수 있다.
The user interface tool and 32-bit shell 100 are responsible for delivering commands from the user or application 105 to the Windows 98 core 110 at the outermost portion of the Windows 98 operating system. MS-DOS, 16-bit, And by providing the same architecture level for 32-bit applications, each application 105 provides an interface for accessing the Windows 98 core 110, and provides internal computing, network, intranet, and Internet access. It provides an interface for accessing data existing on the screen. Thus, all applications 105 and digital content running on Windows 98 can access the Windows 98 core 110 only through user interface tools and 32-bit shells 100.

도면2는 도1의 윈도즈 코아(110) 부분을 좀 더 구체화시켜 나타낸 블록도이다
FIG. 2 is a block diagram showing the embodiment of the Windows core 110 of FIG.

윈도즈98 코어(110)는 유저(User)(200), GDI(Graphics Device Interface)(210), 커널(Kernel)(220) 등으로 구성되어 있으며, 유저(200), GDI(210), 커널(220)은 윈도즈98에서 16비트 코드 응용프로그램과 32비트 응용프로그램을 모두 구동시키기 위해 16비트 DLL(Dynamic Link Libraries)과 32비트 DLL이 짝으로 이루어져 있다. 이것은 네트워킹 및 파일 시스템과 같은 입출력 서브시스템과 장치 드라이버 등이 모두 32비트로 이루어져 있는 윈도즈98에서 이전 버전의 윈도즈에서 사용되던 16비트 코드를 지원하기 위한 것이며, 윈도즈98 코어(110)의 구성 요소에 대한 역할을 설명하면 다음과 같다.
The Windows 98 core 110 is composed of a user 200, a graphics device interface 210, a kernel 220, and the like, and includes a user 200, a GDI 210, a kernel ( 220 is a pair of 16-bit DLL (Dynamic Link Libraries) and 32-bit DLL to run both 16-bit code applications and 32-bit applications on Windows 98. This is to support the 16-bit code used in previous versions of Windows in Windows 98, which consists of 32-bit I / O subsystems and device drivers, such as networking and file systems. The role is described as follows.

유저(User)(200)는 윈도즈98에서 키보드와 마우스 같은 입력장치로부터의 사 용자 입력, 윈도우, 아이콘, 그리고 메뉴와 같은 사용자 인터페이스, 그리고 사운드 드라이버, 타이머, 그리고 통신 포트와 같은 주변 장치를 관리하는 역할을 수행하며, 윈도즈98에서 운용되는 응용프로그램 및 디지털 컴포넌트가 상기 장치에 접근하기 위해서는 윈도즈98 코어(110)의 유저 컴포넌트를 거쳐야만 한다.
User 200 manages user input from input devices such as keyboards and mice, user interfaces such as windows, icons, and menus, and peripherals such as sound drivers, timers, and communication ports in Windows 98. In order to access the device, applications and digital components operating in Windows 98 must pass through the user components of the Windows 98 core 110.

GDI(210)는 모니터 화면이나 프린터와 같은 그래픽 출력 장치를 관리하는 역할과 모니터와 프린터에 독립적인 장치 드라이버를 통해 해당 출력 장치와 운영 체제가 상호 작용하도록 하는 역할을 수행하며, 윈도즈98에서 그래픽 출력 장치에 접근하거나 해당 장치에 그래픽을 출력시키기 위해서는 반드시 GDI(210)를 거쳐야만 한다.
The GDI 210 manages graphic output devices such as monitor screens and printers, and allows the output devices to interact with the operating system through device drivers independent of monitors and printers. In order to access a device or output graphics to the device, the device must pass through the GDI 210.

커널(220)은 파일 입출력 서비스를 포함하는 입출력 연산, 커널 서비스를 경쟁적으로 요청하는 프로세스에 대한 인터럽트 처리, 프로세스의 커널 처리시간을 결정하는 작업 스케즐러, 작업 스케즐에 따른 사용권한 부여, 메모리나 저장장치에 대한 운영체제 상의 주소 공간 관리와 가상 메모리 관리, 그리고 시스템 호출 관리 등과 같은 운영체제 상의 실질적인 기능을 제공하는 역할을 수행하며, 운영체제가 시작되면서 메모리상의 보호영역에 적재되어 모든 응용프로그램을 실행하고 필요한 모든 작업을 실질적으로 수행하고 관리한다.
The kernel 220 may perform input / output operations including a file input / output service, interrupt processing for a process that competitively requests a kernel service, a task scheduler for determining a kernel processing time of the process, granting permission according to the task schedule, memory, or storage. It provides the operating system with practical functions such as address space management, virtual memory management, and system call management for the device.It is loaded into the protected area in memory when the operating system starts to run all applications and Perform and manage the work practically.

커널(220)은 응용프로그램(105)이 윈도즈98 코어(110) 아래에 있는 가상 장 치 관리자(120), 파일 시스템 관리자(125), 구성 관리자(130), 그리고 WDM 드라이버 관리자(135)를 통해 장치 드라이버(140) 및 하드웨어(145)에 접근하기 위해 반드시 거쳐야 하는 경로이며, 윈도즈98에서 운용 가능한 모든 응용프로그램 및 디지털 컨텐츠는 커널(220)을 통해서만 각각의 주어진 기능을 수행할 수 있으며, 커널(220)을 통하지 않고는 어떠한 작업도 정상적으로 수행할 수 없다. 만약 특정 응용프로그램(105)이나 프로세스, 또는 디지털 컨텐츠 등이 커널(220)을 통하지 않고 작업을 처리하려고 하거나, 커널(220)의 기능을 악의적으로 일부 조작하려고 시도하면, 커널(220)은 해당 작업을 예외상황(Exception)으로 처리하여 실행되거나 수행되지 않도록 관리한다.
The kernel 220 can be accessed by the application 105 via the virtual device manager 120, the file system manager 125, the configuration manager 130, and the WDM driver manager 135 under the Windows 98 core 110. It is a path that must be taken in order to access the device driver 140 and the hardware 145, and all applications and digital contents operable in Windows 98 can perform their respective given functions only through the kernel 220, and the kernel ( No work can be performed normally without going through 220). If a particular application 105, process, or digital content attempts to process a task without passing through the kernel 220, or attempts to maliciously manipulate some of the kernel 220's functionality, the kernel 220 may perform the task. Manage as an exception and execute or not execute.

특히 운영체제에서 파일이나 디지털 컨텐츠를 저장 장치에 읽고 쓰는 경우에 대하여, 커널(220)은 해당 응용프로그램 및 프로세스, 또는 디지털 컨텐츠의 요청에 대하여, 해당 파일이나 디지털 컨텐츠를 실질적으로 저장 장치로부터 읽어와 메모리 상에 적재하거나, 저장 장치로 쓰는 역할을 수행하며, 이 과정에서 발생하는 파일이나 디지털 컨텐츠의 변경 내용을 파일 시스템에 추가, 갱신, 그리고 삭제하는 실질적인 역할을 수행한다. 결국 운영체제에 탑재되어 있는 파일 시스템의 내용은 특정 응용프로그램이나 프로세스에 의해 변경될 수 없고, 악의적인 목적으로 변경을 시도하는 경우에 대해서도 운영체제가 시작되면서 메모리상의 보호영역에 적재되어 있는 커널(220)에 의해 예외상황으로 처리되어 거부되며, 커널(220) 자체에 대한 악의적인 조작을 시도하거나 변경하게 되면, 운영체제 전체가 파괴되거나 변 경되기 때문에 해당 파일이나 디지털 컨텐츠에 접근할 수 없게 된다.In particular, when the operating system reads or writes a file or digital content to a storage device, the kernel 220 substantially reads the file or digital content from the storage device in response to a request of an application and a process or a digital content. It plays a role of loading on a computer or writing to a storage device, and plays a substantial role of adding, updating, and deleting files or digital contents changed in the process to the file system. As a result, the contents of the file system mounted in the operating system cannot be changed by a specific application or process, and the kernel 220 loaded in a protected area in memory as the operating system starts even when attempting to change for a malicious purpose. The exception is treated as an exception and is rejected. If a malicious operation on the kernel 220 itself is attempted or changed, the corresponding file or digital content cannot be accessed because the entire operating system is destroyed or changed.

가상 장치 관리자(Virtual Machine Manager)(120)는 메모리 상에 적재되어 있는 가상 장치(Virtual Machine;VM)를 통해 응용프로그램(105)이나 프로세스가 하드웨어 장치에 접근하도록 하는 역할을 수행하며, 응용프로그램(105)이나 프로세스가 하드웨어 장치에 직접 접근하는 대신에 커널(220)과 메모리 상에 적재되어 있는 가상 장치(VM)를 통해 해당 하드웨어 장치를 이용할 수 있는 인터페이스를 제공한다. 윈도즈98에는 MS-DOS 응용프로그램을 위한 DOS VM과 16비트 응용프로그램을 위한 Win16 VM, 그리고 32비트 응용프로그램을 위한 Win32 VM 등이 있으며, Win16 VM과 Win32 VM을 모두 일컬어 System VM이라고 한다. 따라서 윈도즈98에서 운용되는 모든 응용프로그램 및 디지털 컨텐츠는, 그것이 설령 DOS 모드 프로그램이라고 할지라도 VM을 통하지 않고 하드웨어(145)에 접근할 수 없게 된다.
The virtual machine manager 120 serves to allow an application 105 or a process to access a hardware device through a virtual machine (VM) loaded on memory. Instead of directly accessing the hardware device 105 or a process, the kernel 220 and a virtual device (VM) loaded on the memory provide an interface for using the hardware device. Windows 98 includes a DOS VM for MS-DOS applications, a Win16 VM for 16-bit applications, and a Win32 VM for 32-bit applications. Both Win16 VMs and Win32 VMs are called System VMs. Thus, all applications and digital content running on Windows 98, even if it is a DOS mode program, cannot access the hardware 145 without going through the VM.

예를 들어, 네트워크 카드나 통신 포트와 같은 장치를 통해 데이터가 수신되는 경우에 대하여, 수신된 데이터가 메모리 상에 적재되어 파일로 저장하기까지 커널(220)이 가상 장치 드라이버를 통해 어떠한 프로세스도 해당 데이터에 임의적으로 접근할 수 없도록 보호함으로써 원본 데이터의 조작을 방지한다. 즉, 인터넷을 통해 다운로드 되는 데이터는 해당 데이터가 파일의 형태로 저장되거나, 스트림 데이터의 경우 실시간 재생 프로그램에서 재생되기 전까지 어떠한 프로세스도 해당 데이터를 임의로 조작할 수 없으며, 설령 수신되고 있는 원본 데이터를 임의로 조작하기 위해 악의적으로 접근한다고 할지라도, 커널(220)은 예외 상황을 발생시켜 이런 접근을 원천적으로 봉쇄한다.For example, when data is received through a device such as a network card or a communication port, the kernel 220 may process any process through the virtual device driver until the received data is loaded into memory and stored as a file. By protecting the data from arbitrary access, it prevents manipulation of the original data. That is, the data downloaded through the Internet can not arbitrarily manipulate the data until the data is stored in the form of a file, or in the case of stream data, in a real-time playback program. Even if a malicious approach is made to manipulate, the kernel 220 throws an exception and essentially blocks this access.

레지스트리(115)는 운영체제 운용에 필요한 정보를 저장하고 있는 데이터베이스 역할을 수행하며, 레지스트리(115)가 윈도즈98 시스템 운용의 전반에 걸쳐 정보를 저장하고 있지만, 레지스트리(115) 조작을 통해서 본 발명이 이루고자 하는 파일 시스템의 내용을 변조할 수는 없다.
The registry 115 serves as a database that stores information necessary for operating an operating system, and although the registry 115 stores information throughout the operation of the Windows 98 system, the present invention is intended to be achieved by operating the registry 115. It cannot alter the contents of the file system.

파일 시스템(Installable File System) 관리자(125)는 윈도즈98에서 사용하는 FAT, CDFS, 그리고 UDF와 같은 다양한 파일 시스템들이 상호 호환되도록 하는 역할을 수행하며, 네트워크 리다이렉터(Network Redirector)를 통해 네트워크상에 존재하는 파일에 대하여 접근할 수 있는 인터페이스를 제공하고, 그 외 NTFS와 같이 윈도즈98에 탑재될 수 없는 다른 파일 시스템과 호환을 이루기 위한 인터페이스를 제공한다.
The installable file system manager 125 serves to make various file systems such as FAT, CDFS, and UDF used in Windows 98 compatible with each other, and exists on a network through a network redirector. It provides an interface for accessing files, and provides an interface for compatibility with other file systems that cannot be loaded in Windows 98 such as NTFS.

파일 시스템 관리자는 윈도즈98 아키텍쳐의 동일한 계층에 있는 다른 관리자들과 마찬가지로 윈도즈98 코어(110)의 커널(220)에 의해 관리되며, 파일 또는 특정 디지털 컨텐츠가 저장 장치에 기록되는 경우에 대하여 파일 시스템 드라이버(File System Driver)와 블럭 입출력 서브시스템(Block I/O Subsystem)을 통해 해당 데이터를 저장 장치에 기록하고, 이 정보를 파일 시스템에 추가 또는 갱신한다. 이 과정에서 악의적인 목적으로 접근하는 외부 프로세스는 커널에 의해 차단되며, 윈도즈98에서 운영되는 모든 응용프로그램 및 프로세스는 파일이 정상적으 로 저장되고, 핸들이 윈도즈로 반환된 후에만, 해당 파일에 접근할 수 있다.The file system manager, like other managers in the same hierarchy of the Windows 98 architecture, is managed by the kernel 220 of the Windows 98 core 110 and file system drivers for cases where files or specific digital content are written to the storage device. The data is written to the storage device through the File System Driver and the Block I / O Subsystem, and the information is added or updated in the file system. In this process, external processes accessed for malicious purposes are blocked by the kernel, and all applications and processes running on Windows 98 can access the file only after the file is successfully stored and the handle is returned to Windows. can do.

구성 관리자(Configuration Manager)(130)는 시스템 상에 존재하는 버스(bus)와 장치들의 구조적 특징을 이용하여 각각의 장치들이 충돌 없이 운용되도록 관리하는 역할을 수행하고, WDM(Win32 Driver Model) 드라이버 관리자(135)는 하드웨어 제작자가 제공하는 다양한 기능들이 윈도즈98에서 정상적으로 수행 되도록 하는 역할을 한다. 멀티미디어 컨텐츠에 대하여 상기와 같은 관리자는 해당 디지털 컨텐츠가 실행되거나 특정 목적을 이루기 위해 필요한 경우에 호출되며, 레지스트리(115)와 마찬가지로 상기 관리자들이 파일 시스템의 내용을 위, 변조하여 사용될 수는 없다.
The configuration manager 130 manages each device to operate without collision by using the structural features of the bus and devices existing on the system, and the Win32 Driver Model (WDM) driver manager. 135 serves to ensure that various functions provided by the hardware manufacturer are normally performed in Windows 98. With respect to multimedia content, such an administrator is called when the corresponding digital content is required to be executed or to achieve a specific purpose. Like the registry 115, the administrators cannot tamper with the contents of the file system.

도면3은 윈도즈98의 읽고 쓸 수 있는 저장 장치인 하드디스크의 대표적인 파일 시스템인 FAT의 논리적인 위치에 대한 간단한 구성도이다.
3 is a simple configuration diagram of a logical location of a FAT, which is a representative file system of a hard disk, which is a read / write storage device of Windows 98.

FAT는 운영체제가 하드디스크 내의 파일을 유지하고 관리하는 일종의 파일 배치표로써, 파일들이 저장되어 있는 클러스터들의 위치도를 제공하며, 클러스터는 운영체제에 의해 관리되는 파일에 대한 하드디스크 상의 논리적인 저장 단위이다. 하드디스크에 저장되는 파일은 적어도 한 개 이상의 클러스터를 차지하게 되며, 커다란 파일의 경우에 여러 개의 클러스터에 나누어 저장된다. 그러나 비록 하나의 파일이 여러 개의 클러스터에 나누어 저장된다고 할지라도 해당 클러스터가 반드시 연속적으로 저장되는 것은 아니며, 하드디스크의 여러 곳에 분리되어 저장된다. FAT은 이런 정보를 보관하고 있으며, 사용자는 특정 파일이 하드디스크 상의 어느 위치에 저장되는 지 알 수 없으며, 단지 파일을 읽어와야 하는 경우에 운영체제 또는 커널(220)이 FAT을 참조하여 해당 파일을 읽어오게 된다.
FAT is a type of file arrangement table in which an operating system maintains and manages files in a hard disk. The FAT provides a location map of clusters in which files are stored, and a cluster is a logical storage unit on a hard disk for files managed by the operating system. Files stored on the hard disk occupy at least one cluster. In the case of large files, the files are divided into several clusters. However, even if a file is divided into several clusters, the cluster is not necessarily stored continuously, but is stored separately in various places on the hard disk. The FAT stores this information, and the user does not know where a particular file is stored on the hard disk. If the file needs to be read, the operating system or kernel 220 reads the file by referring to the FAT. Come.

상기와 같은 FAT에 대한 하드디스크 상의 논리적인 위치는 도면3과 같이 부트 섹터와 루트 폴더 사이에 위치하며, 운영체제 및 사용자에 의해 생성된 모든 폴더와 파일은 루트 폴더 이후에 저장된다. 즉, 어떠한 경우라도 윈도즈98에서 운영되는 응용프로그램 및 프로세스는 부트 섹터와 루트 폴더 사이에 있는 FAT에 접근할 수 없으며, 만약 이 영역에 임의 조작을 위해 접근하는 응용프로그램 및 프로세스가 있으면 커널(220)은 이것을 예외 상황을 통해 차단한다.
The logical location on the hard disk for the FAT is located between the boot sector and the root folder as shown in FIG. 3, and all folders and files created by the operating system and the user are stored after the root folder. In other words, in any case, applications and processes running on Windows 98 cannot access the FAT between the boot sector and the root folder. If there are any applications and processes in this area that are accessed for arbitrary manipulation, the kernel 220 Blocks this through an exception.

그러나, 컴퓨터 기술의 발전과 함께 일부 컴퓨터 바이러스나 악의적인 해킹 프로그램 등은 운영체제 상의 허점을 이용하여 이 영역을 침범할 수도 있다. 이것은 컴퓨터 코드가 논리적인 주소 값을 사용하기 때문에 발생할 수 있는 여러 가능성 중의 한가지이다. 그러나 이렇게 부적절한 방법을 통해 접근한 악의적인 프로세스도 FAT 정보를 조작할 수는 없으며, 만약 FAT 정보의 일부 또는 전체가 조작되면, 운영체제는 정상적으로 운영되지 않으며, 경우에 따라 시스템을 다시 설치해야 하는 경우가 발생한다. 또한 컴퓨터 바이러스나 악의적인 해킹 프로그램은 바이러스 백신 프로그램을 통해 쉽게 제거할 수 있다.
However, with the development of computer technology, some computer viruses, malicious hacking programs, etc. may use the loopholes in the operating system to invade this area. This is one of several possibilities that can arise because computer code uses logical address values. However, even malicious processes accessed through such improper methods cannot manipulate FAT information, and if some or all of the FAT information is manipulated, the operating system will not operate normally, and in some cases it may be necessary to reinstall the system. Occurs. Computer viruses and malicious hacking programs can also be easily removed through antivirus programs.

도면4는 윈도즈98에서 대표적으로 사용되는 FAT32 파일 시스템에서 긴 파일 이름(Long File Name;LFN) 을 일부 파일 시스템 정보가 저장되고 있는 것에 대한 간단한 위치도이다.
FIG. 4 is a simple positional view of a long file name (LFN) in which some file system information is stored in a FAT32 file system typically used in Windows 98.

도면4는 The quick brown.fox라는 LFN을 저장하고 있는 경우에 대한 것이며, FAT32에는 도면4에 포함하고 있는 짧은 파일 엔트리, 첫번째 긴 파일 엔트리, 두번째 긴파일 엔트리 이외에, 파티션 정보, 바이오스 정보(BIOS Parameter Block;BPB), 드라이브 정보(Drive Parameter Block;DPB) 등과 같은 다양한 시스템 정보를 저장하고 있는 시스템 엔트리, 볼륨 ID(Volume ID), 파일에 대한 읽기 전용 또는 쓰기 속성과 같은 다양한 속성 정보 등과 같은 파일 속성 엔트리 등을 포함하고 있다. 도면4는 상기와 같은 다양한 FAT32 정보 중에서 파일의 생성, 복사, 그리고 삭제 시에 커널(220)에 의해 주로 변경, 갱신, 소명되는 파일 정보에 대한 것이며, 본 발명이 상기의 파일 시스템 정보만으로 제한되지는 않는다.
Figure 4 shows the case where the LFN called The quick brown.fox is stored. In FAT32, partition information and BIOS information (in addition to the short file entry, the first long file entry, and the second long file entry included in Figure 4) are displayed. File attributes such as system entries, volume IDs, and various attribute information such as read-only or write attributes for the file, which store various system information such as BPB, Drive Parameter Block (DPB), etc. It contains an entry. 4 is for the file information mainly changed, updated, and called by the kernel 220 when the file is created, copied, or deleted among the various FAT32 information as described above, and the present invention is not limited to the above file system information. Does not.

FAT32에서는 FAT16에서 사용되던 8.3 방식의 짧은 파일 이름(Short File Name;SFN)에 대한 호환성을 위해 짧은 파일 엔트리를 포함하고 있으며, FAT32 이후에 지원되는 긴 파일 이름 엔트리는 물론, 파일 생성 시간 및 날짜, 마지막 사용 날짜, 마지막 수정 시간 및 날짜, 파일이 저장되어 있는 클러스터 정보, 그리고 파일 크기 등을 포함하고 있다. 상기 파일 시스템 정보는 해당 파일이 생성되는 시기에 FAT에 저장된 후, 해당 파일이 복사되거나, 사용되거나, 또는 변경 될 때마다 수시로 갱신된다. FAT32 includes short file entries for compatibility with 8.3 Short File Names (SFNs) used in FAT16 and includes file creation times and dates, It contains the date of last use, the last modification time and date, the cluster information where the file is stored, and the file size. The file system information is stored in the FAT at the time the file is created, and is updated from time to time whenever the file is copied, used, or changed.

예를 들어, 사용자가 도면4와 같이 저장되어 있는 The quick brown.fox이라는 LFN을 The quick.fox이라고 수정하면, 해당 파일에 대한 클러스터 정보와 THEQUI~1,FOX이라는 SFN은 그대로 유지하지만, LFN, 마지막 사용 날짜, 파일 생성 시간 및 날짜 등은 커널(220)에 의해 자동으로 변경된다. 만약 사용자가 The quick brown.fox라는 파일을 다른 디렉토리로 복사하면, The quick brown.fox라는 LFN은 그대로 유지되지만, SFN, 마지막 사용 날짜, 파일 생성 시간 및 날짜, 그리고 해당 파일의 클러스터 정보는 커널에 의해 자동으로 변경된다.
For example, if the user edits the LFN called The quick brown.fox stored as Quick 4, as shown in Figure 4, the cluster information for the file and the SFN called THEQUI ~ 1, FOX are retained, but the LFN, The date of last use, file creation time and date are automatically changed by the kernel 220. If you copy a file called The quick brown.fox to a different directory, the LFN called The quick brown.fox remains the same, but the SFN, last used date, file creation time and date, and the cluster's cluster information are stored in the kernel. Is changed automatically.

그러나, The quick brown.fox라는 파일을 사용하거나, 다른 디렉토리로 이동하는 경우에는 마지막 사용 날짜만 변경될 뿐, 파일 생성 시간 및 날짜, 마지막 수정 시간 및 날짜, 클러스터 정보 등과 같은 나머지 파일 시스템 정보는 그대로 유지된다.
However, if you use a file called The quick brown.fox or move it to a different directory, only the last use date is changed, and the rest of the file system information, such as file creation time and date, last modification time and date, and cluster information, remains the same. maintain.

본 발명은 상기와 같이 커널(220)에 의해 자동 변경 및 갱신되는 파일 시스템 정보를 해당 파일의 생성 시에 파일에 암호화하여 삽입하고, 해당 파일을 사용하는 시점에 파일에 암호화되어 삽입된 파일 생성 시의 파일 시스템 정보와 해당 파일이 사용되는 시점의 파일 시스템에 저장되어 있는 파일 시스템 정보를 비교 분석하여 해당 파일의 복제 여부를 판단하는 방법을 제공한다.
The present invention encrypts and inserts file system information automatically changed and updated by the kernel 220 into a file when the file is generated, and when the file is encrypted and inserted into the file at the time of using the file. It provides a method of determining whether a file is duplicated by comparing and analyzing the file system information of the file system and the file system information stored in the file system at the time the file is used.

본 발명은 상기와 같은 방법을 통해 불법 복제를 방지하는 방법을 제공하는 것이지만, 본 발명이 사용하는 파일 시스템 정보가 도면4에 포함된 정보만으로 제한되는 것은 아니다. 단지 도면4에 포함된 파일 정보가 파일의 복사 시에 커널(220)에 의해 자동으로 변경되는 정보로써, 본 발명의 특징을 설명하기에 가장 적합하기 때문에 사용하는 것이며, 본 발명이 사용하는 파일 시스템 정보는 해당 운영체제에 탑재되어 사용되는 파일 시스템의 모든 정보를 포함한다.
The present invention provides a method for preventing illegal copying through the above method, but the file system information used by the present invention is not limited to the information included in FIG. Only file information included in FIG. 4 is automatically changed by the kernel 220 when a file is copied, and is used because it is most suitable for explaining the features of the present invention, and the file system used by the present invention. The information includes all the information of the file system that is installed and used in the operating system.

이하, 본 발명의 특징을 설명하기 위해 파일의 복사 및 변경 시에 커널(220)에 의해 자동으로 변경되는 파일 생성 정보, 마지막 사용 정보, 그리고 마지막 수정 정보와 같은 정보는 파일 시스템 정보를 통해 본 발명의 특징을 설명한다.
Hereinafter, in order to explain the features of the present invention, information such as file generation information, last usage information, and last modification information which are automatically changed by the kernel 220 at the time of copying and changing the file are provided through the file system information. Describe the features of this.

도면5는 파일이 생성되는 시점에서 해당 파일에 파일 시스템 정보를 암호화하여 삽입하는 방법에 대한 간단한 블록도이다.
5 is a simple block diagram of a method of encrypting and inserting file system information into a file at the time a file is created.

파일에 암호화된 파일 시스템을 특정 파일에 삽입하기 위해서는 해당 컴퓨터 또는 운영체제에 암호화된 파일 시스템 정보 삽입부(File System Insertion;FSI)(500)가 탑재되어 있어야만 하며, 이것은 운영체제 제작자 또는 해당 소프트웨어 제작자에 의해 공급된다.
In order to insert an encrypted file system into a specific file, the computer or operating system must be equipped with an encrypted File System Insertion (FSI) 500, which is created by the operating system manufacturer or the software manufacturer. Supplied.

FSI는 메모리 상에 존재하는 원본 데이터가 하드디스크 상에 저장되는 시점 에, 운영체제의 커널(220)을 통해 해당 파일에서 사용할 파일 시스템 정보를 추출하고, 이것을 공개키 암호화 방식, 비밀키 암호화 방식, 그리고 워터마킹과 같은 암호화 방식을 통해 암호화 코드를 생성한다. 이 때 생성되는 암호화 코드는 해당 파일의 특성 및 종류에 따라 다르며, 외부로부터 해당 파일에 대한 악의적인 조작을 방지할 수 있는 가장 최적화 된 방법을 선택한다.
The FSI extracts the file system information to be used in the file through the kernel 220 of the operating system when the original data existing in the memory is stored on the hard disk, and uses the public key encryption method, the secret key encryption method, and The encryption code is generated through an encryption method such as watermarking. The encryption code generated at this time depends on the characteristics and type of the file, and select the most optimized method to prevent malicious manipulation of the file from the outside.

파일 시스템 정보에 대한 암호화 코드가 생성되면, FSI는 원본 데이터에 시스템 락(System Lock)을 걸어 해당 파일에 암호화 코드가 삽입되고 있는 동안 다른 응용프로그램 및 프로세스가 접근할 수 없도록 한다. 이 과정에 대한 시스템 보안은 운영체제의 보호모드에서 이루어지며, 커널(220)은 예외상황 발생을 통해 외부로부터 접근을 원천적으로 차단한다.
Once the encryption code for the file system information is generated, the FSI locks the original data to make it inaccessible to other applications and processes while the encryption code is being inserted into the file. System security for this process is made in the protection mode of the operating system, the kernel 220 blocks access from the outside through an exception occurs.

원본 데이터에 시스템 락이 걸려 외부로부터의 접근이 차단되면, FSI는 해당 데이터를 암호화된 파일 시스템 정보가 적용 될 수 있는 형태로 가공한다. 이 과정은 해당 파일의 특징 및 적용되는 암호화 방식에 의존적이며, 원본 데이터에 가공이 완료되면, 암호화된 파일 시스템 정보를 해당 데이터에 삽입한다.
When the system locks on the original data and access from the outside is blocked, the FSI processes the data in a form that can be applied to encrypted file system information. This process depends on the characteristics of the file and the encryption method applied. When processing is completed on the original data, the encrypted file system information is inserted into the data.

FSI는 상기와 같은 과정을 통해 암호화된 파일 시스템 정보가 해당 파일에 정상적으로 삽입되면, 운영체제로 하여금 해당 파일을 하드디스크에 기록하도록 한다. 기록이 완료될 때까지 해당 파일에 대한 시스템 락은 해제되지 않으며, 해당 파일을 하드 디스크에 정상적으로 기록하고, FSI에 의해 암호화되어 삽입된 파일 시스템 정보와 실제 파일 시스템의 정보가 일치하는지 최종 검증을 마친 후, 시스템 락이 해제된다.
The FSI, if the encrypted file system information is normally inserted into the file through the above process, causes the operating system to write the file to the hard disk. Until the recording is completed, the system lock on the file is not released, the file is normally written to the hard disk, and the final verification is made that the file system information encrypted and inserted by FSI matches the information of the actual file system. After that, the system lock is released.

도면6과 도면7은 암호화된 파일 시스템 정보를 원본 데이터에 삽입하는 과정에 대한 대표적인 흐름도이다.
6 and 7 are representative flowcharts of a process of inserting encrypted file system information into original data.

도면6과 도면7의 흐름도는 FAT32를 이용한 파일 시스템 정보 삽입 과정에서 대용량 파일을 저장하기 위한 것이며, 저용량 파일 및 다른 파일 시스템을 이용하는 경우에는 각각의 운영체제 및 파일 시스템에 적합한 파일 시스템 정보 삽입 방법이 사용된다. 따라서, 본 발명에서 원본 데이터에 파일 시스템 정보를 삽입하는 과정이 도면6과 도면7의 경우로 한정되지는 않는다.
The flowcharts of FIGS. 6 and 7 are for storing a large file in the process of inserting file system information using FAT32, and in the case of using a small file and other file systems, a file system information insertion method suitable for each operating system and file system is used. do. Therefore, in the present invention, the process of inserting the file system information into the original data is not limited to the case of FIGS. 6 and 7.

도면6과 도면7에서 사용되는 파일 시스템 정보는 파일 생성 시간 및 날짜와 같은 파일 생성 정보, 마지막 사용한 날짜와 같은 마지막 사용 정보, 그리고 마지막 파일 수정 시간 및 날짜와 같은 마지막 수정 정보 등이며, 파일 생성 정보와 마지막 수정 정보는 시간과 날짜를 모두 포함하고 있으며, 최소 단위 시간은 초(Second)이고, 마지막 사용 정보는 날짜만 포함되어 있으며, 최소 단위 시간은 일(Day)이다.
The file system information used in FIGS. 6 and 7 includes file creation information such as file creation time and date, last usage information such as last used date, and last modification information such as last file modification time and date. The last modified information includes both time and date, the minimum unit time is second, the last usage information includes only date, and the minimum unit time is day.

만약 원본 데이터의 크기가 수MB 이하라면, 파일 시스템에서 필요한 정보를 추출하고, 암호화 코드를 생성한 후, 이것을 파일에 삽입하고, 하드디스크에 기록하는데 소요되는 시간은 파일 생성 정보와 마지막 수정 정보의 최소 단위인 1초안에 이루어질 수 있다. 그러나, 원본 데이터의 크기가 수십MB에서 수백MB에 이르는 경우에는 상기와 같은 과정을 통해 파일을 저장하는데 걸리는 시간이 수초에서 수십 초 정도 걸릴 수 있으며, 이 시간은 해당 컴퓨터 시스템 자원에 따라 유동적이다. 뿐만 아니라, 암호화 코드를 원본 데이터에 삽입하는데 소요되는 시간은 암호화 방법에 따라 달라질 수 있다.
If the size of the original data is less than a few megabytes, the time required to extract the necessary information from the file system, generate the encryption code, insert it into the file, and write it to the hard disk depends on the file creation information and the last modified information. It can be done in a minimum of 1 second. However, if the size of the original data reaches tens of megabytes to hundreds of megabytes, the time required to store the file through the above process may take several seconds to several tens of seconds, which is flexible depending on the computer system resources. In addition, the time taken to insert the encryption code into the original data may vary depending on the encryption method.

즉, 원본 데이터에 암호화된 파일 시스템 정보를 삽입하는 방법은 파일의 헤더와 같은 특정 부분에 암호화 키를 삽입하는 경우와, 파일의 데이터 일부 또는 전체에 워터마킹과 같은 방법으로 암호화 처리를 하는 경우 등이 있으며, 각각의 경우에 대하여 암호화 코드를 처리하거나 삽입하는 시간에 많은 차이가 발생한다.
That is, the method of inserting encrypted file system information into the original data includes inserting an encryption key into a specific part such as a header of a file, encrypting a part or all of the data of a file by a method such as watermarking, etc. There are many differences in the time of processing or inserting the encryption code for each case.

도면6은 대용량 원본 데이터에 대하여 파일 생성 정보와 마지막 파일 수정 정보 등을 이용하여 암호화된 FAT32 파일 시스템 정보를 헤더와 같은 파일의 특정 부분에 삽입하는 경우에 대한 간단한 흐름도이다.
FIG. 6 is a simple flowchart illustrating a case of inserting encrypted FAT32 file system information into a specific part of a file such as a header by using file generation information, last file modification information, and the like for a large amount of original data.

원본 데이터에 암호화된 파일 시스템 정보를 삽입하기 위하여, 먼저 원본 데이터를 메모리에 적재하고(600), 커널(220)을 통해 해당 원본 데이터에 Lock을 설 정함으로써 외부 응용프로그램이나 프로세스가 접근할 수 없도록 한 후(605), 암호화된 파일 시스템 정보를 삽입할 수 있도록 원본 데이터를 가공한다(615).
In order to insert encrypted file system information into the original data, first load the original data into memory (600), and set the lock on the original data through the kernel 220 so that external applications or processes cannot access it. After that (605), the original data is processed to insert the encrypted file system information (615).

원본 데이터 가공이 종료되면, FSI는 커널(220)을 원본 데이터를 하드디스크에 저장하기 위한 핸들(Handle)을 윈도즈98로부터 획득한 후(610), 원본 데이터를 하드디스크에 저장한다(620). 이 때 커널(220)에 의해 원본 데이터에 대한 파일 시스템 정보가 자동으로 생성되며, FSI는 이 파일 시스템 정보를 추출하여(625), 주어진 규칙에 의해 암호화한다(630). 그리고 하드디스크에 기록된 원본 데이터에 대하여, 원본 데이터 가공 과정에서 할당된 위치에 암호화된 파일 시스템 삽입한다(635).
When the original data processing is completed, the FSI acquires a handle (Handle) for storing the original data on the hard disk 220 from the Windows 98 (610), and stores the original data on the hard disk (620). At this time, the file system information on the original data is automatically generated by the kernel 220, and the FSI extracts the file system information (625) and encrypts the data according to a given rule (630). In operation 635, the original data recorded on the hard disk is inserted into an encrypted file system at a position allocated in the process of processing the original data.

암호화된 파일 시스템 정보 삽입이 완료되면, FSI는 해당 파일에 삽입된 파일 시스템 정보와 실제 파일의 파일 시스템 정보를 비교 분석함으로써, 동기화 되어 있는지 검증한다(640). 만약 이 과정에서 암호화되어 삽입된 파일 시스템 정보와 실제 파일 시스템이 동기화 되어 있다면, 원본 데이터를 메모리에서 삭제한 후(645), Lock을 해제하고(655), 파일의 핸들을 윈도즈98에 반환함으로써(660) 다른 응용프로그램 및 프로세스가 접근할 수 있도록 허락한다. 그러나, 동기화 되어 있지 않다면, 파일 시스템을 추출하고, 암호화 한 후, 주어진 위치에 삽입하는 과정을 반복함으로써, 파일에 삽입된 파일 시스템 정보와 실제 파일 시스템 정보를 동기화 시킨다.
When the insertion of the encrypted file system information is completed, the FSI verifies whether the file system information inserted in the file is synchronized with the file system information of the actual file by comparing and analyzing the file system information (640). If the encrypted file system information and the actual file system are synchronized during this process, the original data is deleted from memory (645), unlocked (655), and the handle of the file is returned to Windows 98 ( 660 Allows other applications and processes access. However, if it is not synchronized, the file system information extracted from the file system, encrypted, and inserted at a given location is repeated to synchronize the file system information inserted into the file with the actual file system information.

도면7은 대용량 원본 데이터에 대하여 파일 생성 정보와 마지막 파일 수정 정보 등을 이용하여 암호화된 FAT32 파일 시스템 정보를 워터마킹과 같은 방법을 이용해 원본 데이터에 암호화 처리를 한 후, 이것을 하드디스크에 기록하는 과정에 대한 간단한 흐름도이다.
7 is a process of encrypting FAT32 file system information encrypted with original data using a method such as watermarking using file creation information and last file modification information for a large amount of original data, and then recording the data onto a hard disk. Here is a simple flow chart.

원본 데이터에 암호화된 파일 시스템 정보를 삽입하기 위하여, 먼저 원본 데이터를 메모리에 적재하고(700), 커널(220)을 통해 해당 원본 데이터에 Lock을 설정하고(705), 그리고 원본 데이터를 하드디스크에 저장하기 위한 핸들(Handle)을 윈도즈98로부터 획득한다(710).
In order to insert encrypted file system information into the original data, first load the original data into memory (700), lock the corresponding original data through the kernel 220 (705), and then load the original data onto the hard disk. A handle for storing is obtained from Windows 98 (710).

원본 데이터에 대한 핸들이 획득되면, 커널(220)은 해당 파일에 대한 파일 시스템 정보를 자동으로 생성하며, FSI는 이 파일 시스템 정보를 추출하여(715) 암호화 한 후(720), 이것을 원본 데이터에 삽입하기 위한 스케즐을 작성한다(725). 암호화된 파일 시스템 정보의 삽입 스케즐은 대용량 원본 데이터의 경우에 파일 저장 시작 시간과 저장 완료 시간이 파일 생성 정보와 마지막 수정 정보의 최소 단위 시간 안에서 동기화 되지 않기 때문이며, FSI는 컴퓨터 또는 운영체제의 시스템 자원을 충분히 테스트 한 후, 이 정보를 바탕으로 파일 저장이 완료되는 순간의 파일 시스템 정보가 원본 데이터에 삽입되도록 해당 작업을 스케즐링 한다.
Once the handle to the original data is obtained, the kernel 220 automatically generates file system information for that file, and the FSI extracts this file system information (715), encrypts it (720), and writes it to the original data. A schedule is created for insertion (725). The insertion schedule of encrypted file system information is because, in the case of large source data, the start time and completion time of file storage are not synchronized within the minimum unit time of file creation and last modification information. After enough testing, this information is used to schedule the task so that the file system information is inserted into the original data at the moment the file is saved.

암호화된 파일 시스템 정보의 삽입 스케즐이 작성되면, FSI는 주어진 스케즐에 따라 원본 데이터에 파일 시스템을 이용한 암호화 처리를 하고(730), 이것을 하드디스크에 기록한다(735). 그리고 FSI는 해당 파일에 삽입된 파일 시스템 정보와 실제 파일의 파일 시스템 정보를 비교 분석함으로써(740), 동기화 되어 있는지 검증한다.
When the inserted schedule of the encrypted file system information is created, the FSI performs an encryption process using the file system on the original data according to the given schedule (730) and records it on the hard disk (735). In addition, the FSI verifies that the file system information inserted into the corresponding file is compared with the file system information of the actual file (740).

만약 이 과정에서 암호화 되어 삽입된 파일 시스템 정보와 실제 파일 시스템이 동기화 되어 있다면, 원본 데이터를 메모리에서 삭제한 후(745), Lock을 해제하고(755), 파일의 핸들을 윈도즈98에 반환함으로써(760) 다른 응용프로그램 및 프로세스가 접근할 수 있도록 허락한다. 그러나, 동기화 되어 있지 않다면, 다시 암호화된 파일 시스템 정보를 삽입하기 위한 스케즐을 작성하고, 원본 데이터를 암호화 처리하고, 이것을 하드디스크에 저장하는 과정을 반복함으로써, 파일에 삽입된 파일 시스템 정보와 실제 파일 시스템 정보를 동기화 시킨다.
If the encrypted file system information and the actual file system are synchronized in this process, the original data is deleted from memory (745), unlocked (755), and the handle of the file is returned to Windows 98 ( 760 Allows other applications and processes access. However, if it is not synchronized, the file system information and the actual file inserted into the file are repeated by creating a schedule for inserting the encrypted file system information again, encrypting the original data, and storing it on the hard disk. Synchronize system information.

도면8은 하드디스크에 저장되어 있는 파일을 메모리로 읽어온 후, 해당 파일 안에 삽입되어 있는 암호화된 파일 시스템 정보와 커널(220)에 의해 관리되는 해당 파일의 실제 파일 시스템 정보를 비교 분석하여, 해당 파일이 원본 파일인지 복사 또는 불법 복제된 파일인지 확인하는 방법에 대한 간단한 블록도이다.
8 reads a file stored in a hard disk into memory, compares and analyzes the encrypted file system information inserted in the file with the actual file system information of the file managed by the kernel 220. A simple block diagram of how to determine if a file is an original file, a copied or pirated file.

하드디스크에 저장된 파일에 삽입되어 있는 암호화된 파일 시스템 정보의 암 호를 해독하고, 이것을 현재 파일 시스템 정보와 비교 분석학 위해서는 해당 컴퓨터 또는 운영체제에 암호화된 파일 시스템 정보 분석부(File System Analyzer;FSA)(800)가 탑재되어 있어야만 하며, 이것은 운영체제 제작자 또는 해당 소프트웨어 제작자에 의해 공급된다.
In order to decrypt the encrypted file system information inserted in the file stored in the hard disk, and to analyze it with the current file system information, the file system information analysis unit (FSA) 800) must be mounted, which is supplied by the operating system manufacturer or the corresponding software manufacturer.

FSA(800)는 암호화된 파일 시스템 정보가 삽입되어 있는 디지털 컨텐츠 또는 파일을 사용하는 컴퓨터 또는 운영체제에 탑재되며, 소프트웨어 또는 프로세스의 형태로 존재한다. FSA(800)가 파일의 형태로 하드디스크 상에 존재할 때는 본 발명에 의한 암호화된 파일 시스템 정보가 삽입되어 있는 형태로 저장되기 때문에, FSA(800)를 악의적으로 조작하는 것은 본 발명에 의해 원천적으로 방지되며, 소프트웨어의 형태로 존재하는 경우에는 해당 소프트웨어를 실행시킴과 동시에 FSA(800)에 메모리에 적재되어, 이후 해당 소프트웨어서 사용되는 암호화된 파일 시스템 정보가 삽입된 디지털 컨텐츠 또는 파일에 대하여 복사 또는 불법 복제 여부를 확인하며, 프로세스의 형태로 존재하는 경우에는 운영체제가 시작됨과 동시에 메모리에 적재되어, 운영체제가 종료될 때까지 암호화된 파일 시스템 정보가 삽입된 디지털 컨텐츠 및 파일에 대한 복사 또는 불법 여부를 확인한다.
The FSA 800 is mounted on a computer or operating system using digital content or files in which encrypted file system information is inserted, and exists in the form of software or a process. When the FSA 800 exists on a hard disk in the form of a file, since the encrypted file system information according to the present invention is stored in an inserted form, malicious manipulation of the FSA 800 is fundamentally performed by the present invention. If it is present in the form of software, the software is loaded into the FSA 800 at the same time that the software is executed and then copied or copied to the digital content or file into which the encrypted file system information used in the software is inserted. It checks for illegal copying and if it exists in the form of a process, it is loaded into the memory at the same time as the operating system is started, and whether or not to copy or illegally insert digital contents and files inserted with encrypted file system information until the operating system is shut down. Check it.

특히, 프로세스의 형태로 운영체제가 시작되면서 메모리로 적재되는 FSA(800)의 경우에는 윈도즈98의 시스템 보호 모드에서 작동하며, 커널(220)에 의해 FSA(800) 자체에 악의적인 조작이 가해지는 것을 원천적으로 봉쇄한다.
In particular, in the case of the FSA 800 loaded into memory as the operating system is started in the form of a process, the FSA 800 operates in the system protection mode of Windows 98, and it is known that malicious manipulation is applied to the FSA 800 itself by the kernel 220. Block at source.

FSA(800)가 암호화된 파일 시스템 정보를 이용하여 해당 디지털 컨텐츠 또는 파일이 복사본인지 또는 불법 복제본인지 확인하기 위해서는, 먼저 해당 파일을 하드디스크에서 읽어와 메모리에 적재해야만 한 후, 시스템 락(System Lock)을 걸어 해당 파일에 다른 응용프로그램 또는 프로세스가 접근하는 것을 원천 봉쇄한다. 이 후 FSA(800)의 모든 작업은 시스템 락이 걸려 있는 보호모드 안에서 수행되며, 이 과정에 대한 시스템 보안은 커널(220)의 예외상황을 통해 보호된다.
In order for the FSA 800 to use encrypted file system information to determine whether the digital content or file is a copy or an illegal copy, the FSA 800 must first read the file from the hard disk and load it into memory. ) To block other applications or processes from accessing the file. Thereafter, all operations of the FSA 800 are performed in a protected mode in which a system lock is applied, and system security for this process is protected through an exception of the kernel 220.

상기와 같은 과정을 통해 파일이 메모리에 적재되면, FSA(800)는 해당 파일에서 암호화된 파일 시스템 정보를 추출한 후, 암호를 해독한다. 암호해독이 종료되어 해당 파일 안에 삽입되어 있던 파일 시스템 정보가 생성되면, FSA(800)는 해당 파일에 대한 현재 파일 시스템 정보를 추출하고, 파일에 삽입되어 있던 정보와 현재 파일 시스템에서 추출된 정보를 비교 분석하여 해당 파일이 복사본인지 또는 불법 복제물인지 확인한다.
When the file is loaded into the memory through the above process, the FSA 800 extracts encrypted file system information from the file and then decrypts the file. When decryption ends and the file system information inserted in the file is generated, the FSA 800 extracts the current file system information on the file, and the information inserted in the file and the information extracted from the current file system are extracted. Comparative analysis checks whether the file is a copy or an illegal copy.

만약 해당 파일이 원본이라면, 이것을 요청한 응용프로그램 또는 프로세스가 사용하도록 허락하지만, 복사본이거나 불법 복제본인 경우에는 해당 파일을 메모리에서 삭제하고, 사용자에게 원본이 아님을 메시지를 통해 알려준다.
If the file is the original, it allows the requesting application or process to use it, but if it is a copy or a pirated copy, the file is deleted from memory and the user is notified by a message.

도면9는 하드디스크에서 암호화된 파일 시스템 정보가 포함된 파일을 읽어온 후, 파일 시스템 비교 분석을 통해 해당 파일이 복사본 또는 불법 복제본인지를 확인하는 과정에 대한 간단한 흐름도이다.
9 is a simple flowchart illustrating a process of checking whether a file is a copy or an illegal copy through file system comparison analysis after reading a file including encrypted file system information from a hard disk.

본 흐름도는 파일을 읽어오려는 응용프로그램 및 프로세스 내부에 탑재되어 있는 FSA(800), 또는 운영체제에 탑재됨으로써 암호화된 파일 시스템 정보를 포함하고 있는 각각의 파일을 읽어오려는 경우에 호출되는 FSA(800) 등을 이용하여 해당 파일 안에 포함되어 있는 파일 시스템 정보를 추출하고, 해당 파일 시스템 정보에 적용된 암호를 해독 한 후, 이것을 현재 파일 시스템 정보와 비교 분석하여 해당 파일의 원본 여부를 확인하는 과정에 대한 것이다.
The flowchart shows an FSA 800 mounted in an application and a process for reading a file, or an FSA 800 that is called when reading each file including file system information encrypted by being loaded in an operating system. Extracts the file system information contained in the file using the file, decrypts the password applied to the file system information, and compares it with the current file system information to determine whether the file is original.

응용프로그램 및 프로세스 내부에 탑재된 FSA(800)는 암호화된 파일 시스템 정보가 포함되어 있는 파일 또는 디지털 컨텐츠를 사용하는 소프트웨어 또는 프로세스에 포함된 파일 시스템 분석부로써, 해당 소프트웨어 및 프로세스의 개발자에 의해서 제작되어 해당 소프트웨어 및 프로세스에서 사용하는 파일 또는 디지털 컨텐츠에 대하여 내부적으로 복사 및 불법 복제 여부를 확인하는 것이고, 운영체제에 탑재된 FSA(800)는 운영체제 제작자 등에 의해서 해당 운영체제 내부에 포함된 파일 시스템 분석부로써, 운영체제 아키텍쳐상 응용프로그램과 커널(220) 사이의 셸(Shell) 또는 커널(220) 내부에서 암호화된 파일 시스템 정보가 포함되어 있는 파일 또는 디지털 컨텐츠가 메모리로 적재되는 과정에서 해당 파일 또는 디지털 컨텐츠가 복사 또는 불법 복제본 인지를 확인한다.
The FSA 800 mounted inside an application and a process is a file system analyzer included in a software or a process using a file or digital content including encrypted file system information, and is produced by the developer of the software and process. And copy or illegally copy files or digital contents used in the corresponding software and processes, and the FSA 800 mounted in the operating system is a file system analysis unit included in the operating system by an operating system manufacturer. In the process of loading a file or digital content that includes encrypted file system information in a shell or kernel 220 between an application program and the kernel 220 on an operating system architecture, the file or digital content is generated. Copy or piracy Check if it is.

상기와 같은 FSA(800)가 하드디스크에 저장된 파일을 메모리로 적재하기 위해서는 해당 파일에 대한 핸들을 윈도즈로부터 획득해야만 하며(900), 핸들이 정상적으로 획득된 후에 커널(220)을 통해 파일을 하드디스크에서 읽어온다(905). 일단 하드디스크에서 파일을 읽어오면, FSA(800)는 해당 파일에 Lock을 설정함으로써(910), 외부 응용프로그램 또는 프로세스가 해당 파일에 접근하는 것을 배제하고, 파일에 삽입된 암호화된 파일 시스템 정보를 추출한다(915). FSA(800)는 이렇게 추출된 파일 시스템 정보의 암호를 주어진 규칙에 의해 해독함으로써(920), 해당 파일이 생성되는 시점에 첨부된 원본 파일 시스템 정보를 확인한다(925).
In order to load the file stored in the hard disk into the memory as described above, the FSA 800 must obtain a handle for the file from Windows (900). After the handle is normally obtained, the file is transferred to the hard disk through the kernel 220. Read from (905). Once the file is read from the hard disk, the FSA 800 locks the file (910), thereby excluding the external application or process from accessing the file and removing the encrypted file system information inserted into the file. Extract (915). The FSA 800 decrypts the extracted file system information by the given rule (920) to confirm the original file system information attached at the time when the file is created (925).

만약 암호 해독이 정상적으로 수행되어, 추출된 파일 시스템 정보가 해당 파일이 생성되는 시점의 원본 파일 시스템 정보임을 확인하면(950), FSA(800)는 운영체제의 파일 시스템으로부터 해당 파일에 대한 현재 파일 시스템 정보를 추출한다(955).
If the decryption is normally performed and the extracted file system information is confirmed to be the original file system information at the time when the file is created (950), the FSA 800 determines the current file system information of the file from the operating system's file system. It is extracted (955).

그러나 파일에서 파일 시스템 정보를 추출할 수 없거나, 추출된 파일 시스템 정보의 암호를 해독할 수 없거나, 또는 암호가 해독된 원본 파일 시스템 정보가 정상적인 상태로 보존되어 있지 않음을 확인하면(930), FSA(800)는 암호 해독 불가 메시지를 출력하고(935), 메모리에 적재되어 있는 해당 파일의 정보와 데이터(940), 그리고 하드디스크에 존재하는 파일을 삭제한 후(945), 파일의 lock을 해제하고(990) 핸들을 운영체제로 반환한다(995).
However, if you cannot extract file system information from a file, decrypt the extracted file system information, or verify that the original file system information that was decrypted is not preserved in the normal state (930), the FSA (800) outputs the decryption impossible message (935), after deleting the information and data (940) of the file loaded in the memory, and the file existing on the hard disk (945), unlock the file In step 990, the handle is returned to the operating system (995).

상기와 같은 과정으로 파일에 포함되어 있는 원본 파일 시스템 정보를 추출하면, FSA(800)는 운영체제의 파일 시스템에서 해당 파일에 대한 현재 파일 시스템 정보를 획득하고(925), 이것을 파일에 포함되어 있던 원본 파일 시스템 정보와 비교 분석한다(950). 만약 파일에 포함되어 있던 원본 파일 시스템 정보와 현재 운영체제에서 획득한 파일 시스템 정보가 일치한다면, FSA(800)는 파일에서 원본 데이터를 추출하고(955), 이것을 메모리에 적재한 후(980), 사용권한을 부여하고(985), 파일의 lock을 해제하고(990), 파일의 핸들을 운영체제로 반환함으로써(995), 해당 파일 또는 디지털 컨텐츠를 요청한 응용프로그램 또는 프로세스가 사용하도록 허락한다.
When the original file system information included in the file is extracted through the above process, the FSA 800 obtains the current file system information of the file from the file system of the operating system (925), and the original file system is included in the file. The file system information is compared and analyzed (950). If the original file system information included in the file and the file system information acquired in the current operating system match, the FSA 800 extracts the original data from the file (955), loads it into memory (980), and then uses it. Authorization (985), unlocking the file (990), and returning the handle of the file to the operating system (995) allow the requesting application or process to use the file or digital content.

그러나, 파일 시스템 정보가 일치하지 않거나(960), 원본 파일 시스템 정보가 조작되었음을 확인하면, FSA(800)는 해당 파일에 대한 사용 불가 메시지를 출력하고(965), 메모리에 적재되어 있는 해당 파일의 정보와 데이터(970), 그리고 하드디스크에 존재하는 파일을 완전히 삭제한 후(975), 파일의 lock을 해제하고(990), 핸들을 운영체제에 반환한다(995).
However, if the file system information does not match (960), or if the original file system information is verified that the original file system information has been manipulated, the FSA 800 outputs an unavailable message for the file (965), and the file is stored in memory. After completely deleting the information and data 970 and the file existing on the hard disk (975), the file is unlocked (990) and the handle is returned to the operating system (995).

이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 단, 다 음의 실시예는 본 발명을 가장 적절하게 설명하기 위한 여러 가지 방법 중 한 가지이며, 본 발명이 다음의 실시예로 한정되지는 않는다.
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the following embodiments are one of several methods for most appropriately explaining the present invention, and the present invention is not limited to the following embodiments.

본 발명의 첫번째 실시예는 인터넷 상의 서버에서 제공하는 디지털 컨텐츠를 다운로드 하여 클라이언트에 저장하는 과정에서 FSI를 이용하여 해당 디지털 컨텐츠에 암호화된 파일 시스템 정보를 삽입하는 방법에 대한 것이고, 두번째 실시예는 암호화된 파일 시스템 정보를 삽입하는 설치 프로그램 제작용 소프트웨어, 즉 설치 프로그램 제작용 FSI를 이용하여 소프트웨어 설치용 CD를 제작함으로써, 하드디스크와 같은 저장장치에 복사되거나 불법 복제되어 인터넷과 같은 통신망을 통해 소프트웨어가 배포되는 것을 원천적으로 방지하는 방법에 대한 것이다.
The first embodiment of the present invention relates to a method of inserting encrypted file system information into the digital content using FSI in the process of downloading and storing the digital content provided by the server on the Internet to the client, the second embodiment is encryption By creating software for installation program that inserts the file system information, that is, software installation CD using FSI for installation program, software is copied or illegally copied to a storage device such as a hard disk and distributed through a network such as the Internet. It's about how to prevent that from happening.

도면10은 인터넷 상의 컨텐츠 제공 서버에서 다운로드 하는 디지털 컨텐츠를 클라이언트에 탑재되어 있는 FSI를 이용하여 암호화된 파일 시스템 정보를 삽입하는 과정에 대한 간단한 블록도이다.
FIG. 10 is a simple block diagram of a process of inserting encrypted file system information using FSI mounted on a client to digital content downloaded from a content providing server on the Internet.

본 블록도는 클라이언트에 암호화된 파일 시스템 정보가 삽입되어 있는 원본 디지털 컨텐츠를 생성하는 과정에 대한 간단한 블록도이며, 인터넷 상의 컨텐츠 제공서버에서 다운로드 하는 디지털 컨텐츠에 암호화된 파일 시스템 정보를 삽입하는 과정이 도면10의 경우로 한정되지 않는다.
This block diagram is a simple block diagram of a process of generating original digital content in which encrypted file system information is inserted into a client. The process of inserting encrypted file system information into digital content downloaded from a content providing server on the Internet is shown. It is not limited to the case of FIG.

인터넷 상의 컨텐츠 제공 서버에는 WWW(World Wide Web)를 지원하는 HTTP 서버 데몬이나 FTP(File Transfer Protocol)를 지원하는 FTP 서버 데몬과 같은 서버 데몬(1030)이 탑재되어 있으며, 서버 데몬(1030)에는 클라이언트에게 제공하는 컨텐츠 D/B(1000)가 연결되어 있다.
The content delivery server on the Internet is equipped with a server daemon 1030, such as an HTTP server daemon that supports the World Wide Web (WWW) or an FTP server daemon that supports File Transfer Protocol (FTP). The server daemon 1030 includes a client. The content D / B 1000 provided to the user is connected.

그리고 서버에는 클라이언트에 탑재되어 있는 FSI(500)를 검색하고, 관리하는 클라이언트 측 FSI 관리자(Client Side FSI Mansger;CSFM)(1040)와 컨텐츠를 다운로드하는 클라이언트를 관리하는 클라이언트 컨텐츠 관리자(Client Contents Manager;CCM)(1050)가 탑재되어 있으며, CSFM(1040)에는 각각의 운영체제에서 사용할 수 있는 최신 버전의 FSI 모듈을 저장하고 있는 FSI D/B(1010)가 연결되어 있고, CCM(1050)에는 클라이언트에 전송된 컨텐츠에 대한 정보를 저장하고 있는 클라이언트 D/B(1020)가 연결되어 있다.
The server may include a Client Side FSI Manger (CSFM) 1040 that retrieves and manages the FSI 500 mounted on the client, and a Client Contents Manager that manages a client downloading content; CCM (1050) is installed, the CSFM (1040) is connected to the FSI D / B (1010) that stores the latest version of the FSI module that can be used in each operating system, the CCM (1050) is connected to the client The client D / B 1020 that stores information about the transmitted content is connected.

클라이언트에는 컨텐츠 제공 서버를 브라우징할 수 있는 웹 브라우져와, 컨텐츠 제공 서버에서 전송하는 디지털 컨텐츠를 다운로드하고, 이것에 암호화된 파일 시스템 정보를 삽입하여 저장하는 FSI(500) 등이 탑재되어 있다. 클라이언트에 탑재되어 있는 FSI(500)의 구조 및 기능은 도면5와 동일하며, 본 실시예에서 클라이언트 측 FSI(500)는 컨텐츠 제공 서버에 의해 클라이언트에 제공된 것으로 한다.
The client is equipped with a web browser capable of browsing the content providing server, an FSI 500 for downloading digital content transmitted from the content providing server, and inserting and storing encrypted file system information therein. The structure and function of the FSI 500 mounted on the client are the same as in Fig. 5, and in this embodiment, the client-side FSI 500 is provided to the client by the content providing server.

클라이언트와 컨텐츠 제공 서버는 TCP/IP(Transmission Control Protocol/Internet Protocol)(1060) 프로토콜을 지원하는 인터넷으로 연결되어 있으며, TCP/IP(1060)는 기본적으로 패킷 교환 방식 네트워크를 지원한다.
The client and the content providing server are connected to the Internet supporting the TCP / IP (Transmission Control Protocol / Internet Protocol) 1060 protocol, and the TCP / IP 1060 basically supports a packet switched network.

따라서 인터넷 상에서 전송되는 모든 디지털 컨텐츠는 TCP/IP(1060)의 TCP 계층에 의해 전송하기에 효율적인 작은 크기로 분할되어 전송되며, 이렇게 분할된 각 패킷은 해당 패킷을 수신하는 컴퓨터에 탑재되어 있는 TCP/IP(1060)의 TCP 계층에서 원래의 디지털 컨텐츠로 재조립된다. 이 과정을 패킷 수신 컴퓨터의 파일 시스템 관점에서 보면, 새로운 디지털 컨텐츠, 즉, 새로운 파일이 생성되는 과정과 비슷하며, 이렇게 TCP 계층에서 재조립된 패킷 데이터는 도면5의 원본 데이터와 동일한 역할을 한다.
Therefore, all digital content transmitted on the Internet is divided and transmitted in a small size which is efficient for transmission by the TCP layer of TCP / IP 1060, and each packet is divided into TCP / IP devices installed in a computer receiving the packet. Reassembled into original digital content at the TCP layer of IP 1060. From the file system point of view of the packet receiving computer, this process is similar to the process of creating new digital content, that is, a new file, and the packet data reassembled in the TCP layer plays the same role as the original data of FIG.

CSFM(1040)은 클라이언트가 컨텐츠 제공 서버에서 디지털 컨텐츠를 전송 받기 위해 필요한 FSI(500)가 클라이언트에 탑재되어 있는 지를 검색하고, 클라이언트에 FSI(500)가 탑재되어 있지 않거나, 오래된 버전의 FSI(500)가 탑재되어 있는 경우에 대하여 FSI D/B를 통해 최신 버전의 FSI(500)를 해당 클라이언트에 전송하여 탑재시키는 역할과, 전송되는 디지털 컨텐츠에 대하여 클라이언트 측 FSI(500)에서 정상적으로 파일 시스템 정보가 암호화되고, 삽입되는지 관리하는 역할 등을 수행한다. 따라서 컨텐츠 제공 서버에서 클라이언트로 정상적으로 컨텐츠를 전송하고, 관리하기 위해서는 클라이언트 측 FSI(500)와 컨텐츠 제공 서버 측 CSFM(1040)이 동기화 되어야 하며, 이렇게 동기화 된 시스템을 통해 CSFM(1040)은 클라이언트 에서 암호화된 파일 시스템 정보가 디지털 컨텐츠에 정상적으로 삽입되는지를 확인한다.
The CSFM 1040 detects whether the client is equipped with the FSI 500 necessary for the client to receive digital content from the content providing server, and the client does not have the FSI 500 installed, or an older version of the FSI 500 is installed. ) Is used to transmit and mount the latest version of the FSI 500 to the client through the FSI D / B, and file system information is normally stored in the client-side FSI 500 for the transmitted digital content. It manages whether it is encrypted and inserted. Therefore, the client-side FSI 500 and the content-providing server-side CSFM 1040 must be synchronized in order to transmit and manage content from the content providing server to the client normally, and through this synchronized system, the CSFM 1040 is encrypted at the client. Check if the file system information is inserted into the digital content normally.

만약 클라이언트에 FSI(500)가 탑재되어 있지 않거나, 클라이언트 측 FSI(500)와 컨텐츠 제공 서버의 CSFM(1040)이 동기화 되어 있지 않거나, 또는 디지털 컨텐츠 전송 중에 동기화가 조작되거나 파괴되면, 전송된 디지털 컨텐츠는 클라이언트에 저장되지 않으며, 메모리에 적재되어 있는 원본 데이터마저 삭제한다.
If the client is not equipped with the FSI 500, the client-side FSI 500 and the CSFM 1040 of the content providing server are not synchronized, or the synchronization is manipulated or destroyed during digital content transmission, the transmitted digital content Is not stored on the client, and deletes the original data already loaded in memory.

CCM(1050)은 컨텐츠 제공 서버에서 클라이언트로 디지털 컨텐츠 전송이 완료되고, 암호화된 파일 시스템 정보가 해당 디지털 컨텐츠에 정상적으로 삽입된 후에, CSFM(1040)과 클라이언트 측 FSI(500)를 참조하여 해당 클라이언트에 대한 컨텐츠 정보를 관리하는 역할을 수행한다. 본 발명의 실시예는 클라이언트에 다운로드된 디지털 컨텐츠에 대하여 오직 원본 디지털 컨텐츠에 대한 유효성을 확인하며, 복사본 및 불법 복제를 원천적으로 방지한다. 그러나 클라이언트에서 발생하는 여러 가지 문제는 해당 원본 디지털 컨텐츠를 소실시키거나 저장 장치에서 소멸시킬 수 있으며, 이와 같은 경우에 대하여 원본 디지털 컨텐츠 복구가 근본적으로 불가능하다.
The CCM 1050 transmits the digital content from the content providing server to the client, and after the encrypted file system information is normally inserted into the digital content, the CCM 1050 refers to the CSFM 1040 and the client-side FSI 500 to the client. It plays a role of managing content information. The embodiment of the present invention verifies the validity of the original digital content only with respect to the digital content downloaded to the client, and prevents copying and illegal copying. However, various problems that occur in the client may cause the original digital content to be lost or destroyed in the storage device. In such a case, the original digital content recovery is fundamentally impossible.

CCM(1050)은 상기와 같은 경우에 대하여 해당 클라이언트로 동일한 디지털 컨텐츠를 재전송함으로써 원본 디지털 컨텐츠를 복구할 수 있는 방법을 제공하며, 동일한 디지털 컨텐츠에 대하여 동일한 클라이언트로의 재전송만 허락하고, 다른 컴퓨터 또는 다른 클라이언트로의 재전송은 허락하지 않는다.
The CCM 1050 provides a method for recovering original digital content by retransmitting the same digital content to the corresponding client in such a case, allowing only the retransmission of the same digital content to the same client, Retransmissions to other clients are not allowed.

클라이언트 측 FSI(500)는 컨텐츠 제공 서버의 CSFM(1040)과 동기화 된 후, CSFM(1040)의 관리를 통해 도면5와 동일한 과정으로 컨텐츠 제공 서버에서 전송된 디지털 컨텐츠에 암호화된 파일 시스템 정보를 삽입하고, 그 결과를 CCM(1050)에 전송함으로써, 전송된 디지털 컨텐츠의 불법 복사를 방지하고, 이후 소실된 디지털 컨텐츠를 복구 할 수 있도록 하는 역할을 수행한다.
After the client-side FSI 500 is synchronized with the CSFM 1040 of the content providing server, the encrypted file system information is inserted into the digital content transmitted from the content providing server in the same process as in FIG. 5 through the management of the CSFM 1040. And, by transmitting the result to the CCM (1050), it prevents illegal copying of the transmitted digital content, and then serves to recover the lost digital content.

도면11은 컨텐츠 제공 서버에서 클라이언트로 전송하는 데이터에 대하여 암호화된 파일 시스템 정보를 삽입하는 과정에 대한 간단한 흐름도이다.
11 is a simple flowchart illustrating a process of inserting encrypted file system information with respect to data transmitted from a content providing server to a client.

클라이언트가 컨텐츠 제공 서버에 접속하여 로그인하면(1100), 컨텐츠 제공 서버의 CSFM(1040)은 클라이언트에 FSI(500)가 탑재되어 있는지 확인한다(1101). 만약 컨텐츠 제공 서버에서 제공하는 컨텐츠를 지원하는 최신 버전의 FSI(500)가 탑재되어 있다면, 컨텐츠 제공 서버의 CSFM(1040)은 클라이언트의 FSI(500)와 동기화를 함으로써(1102), 디지털 컨텐츠를 전송하고, 암호화된 파일 시스템 정보를 삽입할 수 있는 조건을 생성한다.
When the client accesses and logs in to the content providing server (1100), the CSFM 1040 of the content providing server checks whether the FSI 500 is mounted on the client (1101). If the latest version of the FSI 500 supporting the content provided by the content providing server is installed, the CSFM 1040 of the content providing server synchronizes with the FSI 500 of the client (1102) to transmit digital content. And condition to insert encrypted file system information.

그러나 클라이언트에 FSI(500)가 탑재되어 있지 않거나(1103), CSFM(1040)과 호환되지 않는 FSI(500)가 탑재되어 있거나, 오래된 버전의 FSI(500)가 탑재되어 있다면, CSFM(1040)은 최신 버전의 FSI(500)를 클라이언트에 전송하여 설치함으로써(1104), 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)를 자동으로 동기화 시키고(1102), 암호화된 파일 시스템 정보를 삽입할 수 있는 조건을 생성한다.
However, if the client is not equipped with the FSI 500 (1103), is equipped with an FSI 500 that is incompatible with the CSFM 1040, or is equipped with an older version of the FSI 500, then the CSFM 1040 is By transmitting and installing the latest version of the FSI 500 to the client (1104), the CSFM 1040 of the content providing server and the client's FSI 500 are automatically synchronized (1102), and encrypted file system information can be inserted. Create a condition that can

상기와 같은 과정을 통해 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)가 동기화 되면, 컨텐츠 제공 서버는 클라이언트에서 요청하는 디지털 컨텐츠 요청을 정상적으로 수행할 수 있다(1105). 따라서 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)가 동기화 된 후, 클라이언트로부터 컨텐츠 제공 서버에 디지털 컨텐츠 전송이 요청되면, CSFM(1040)은 전송 요청이 전송된 시간을 기준으로 FSI(500)와 동기화 되어 있는지 다시 한번 확인한다(1106).
When the CSFM 1040 of the content providing server and the FSI 500 of the client are synchronized through the above process, the content providing server may normally perform the digital content request requested by the client (1105). Therefore, after the CSFM 1040 of the content providing server and the FSI 500 of the client are synchronized, when the digital content transmission is requested from the client to the content providing server, the CSFM 1040 may determine the FSI (based on the time when the transmission request is transmitted). Check if it is synchronized with the operation 500 again (1106).

만약 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)가 정상적으로 동기화 되어 있음을 확인하면, CSFM(1040)은 클라이언트의 FSI(500)를 통해 현재 전송하는 데이터에 대하여 외부 응용프로그램이나 프로세스가 접근하지 못하도록 Lock을 설정한 후(1107), TCP/IP를 통해 디지털 컨텐츠를 전송한다(1112).
If it is confirmed that the CSFM 1040 of the content providing server and the FSI 500 of the client are normally synchronized, the CSFM 1040 may determine that an external application or process is responsible for the data currently transmitted through the FSI 500 of the client. After the lock is set to prevent access (1107), the digital content is transmitted through TCP / IP (1112).

그러나 클라이언트가 디지털 컨텐츠 전송을 요청한 시간을 기준으로 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)가 정상적으로 동기화 되어 있음 을 확인하지 못하면(1108), CSFM(1040)은 클라이언트의 FSI(500)를 통해 디지털 컨텐츠를 다운로드할 수 없다는 메시지를 출력하고(1109), 해당 디지털 컨텐츠에 대한 모든 정보 및 데이터를 삭제한 후(1110), 그 결과를 컨텐츠 제공 서버의 CCM(1050)으로 전송한다(1111).
However, if the client does not confirm that the CSFM 1040 of the content providing server and the FSI 500 of the client are normally synchronized based on the time at which the client requests digital content transmission (1108), the CSFM 1040 may determine that the FSI 500 of the client is in sync. Outputs a message indicating that the digital content cannot be downloaded (1109), deletes all information and data on the digital content (1110), and transmits the result to the CCM 1050 of the content providing server (1109). 1111).

상기와 같은 데이터 전송 과정은 각각의 데이터 패킷 및 디지털 컨텐츠에 대하여 적용되며, 모든 패킷 및 디지털 컨텐츠의 전송이 완료 될 때까지 반복된다. 만약 상기와 같은 과정을 통해 컨텐츠 제공 서버에서 클라이언트로 디지털 컨텐츠 제공이 완료되면, 클라이언트의 FSI(500)는 TCP/IP의 TCP 계층을 통해 복원된 원본 데이터에 파일 시스템을 암호화하여 삽입한다(1113). 만약 원본 데이터에 암호화된 파일 시스템 정보가 정상적으로 삽입되었다면, FSI(500)는 그 결과를 CCM(1050)으로 전송한 후(1115), 원본 데이터에 대한 Lock을 해제함으로써(1120) 외부 응용프로그램 및 프로세스가 접근할 수 있도록 허락한다.
The above data transmission process is applied to each data packet and digital content and is repeated until the transmission of all packets and digital content is completed. If the digital content is provided from the content providing server to the client through the above process, the FSI 500 of the client encrypts and inserts the file system into the original data restored through the TCP layer of TCP / IP (1113). . If the encrypted file system information is normally inserted in the original data, the FSI 500 sends the result to the CCM 1050 (1115) and then unlocks the original data (1120) to external applications and processes. To allow access.

그러나 반대로 파일 시스템을 암호화하여 원본 데이터에 삽입하는 과정에서 오류가 발생하였다면(1116), FSI(500)는 파일 시스템 삽입 오류 메시지를 출력하고(1117), 메모리 및 하드디스크에서 해당 디지털 컨텐츠를 삭제한 후(1118), 그 결과를 CCM(1050)을 전송한다(1119).
However, if an error occurs in the process of encrypting the file system and inserting it into the original data (1116), the FSI 500 outputs a file system insertion error message (1117) and deletes the corresponding digital contents from the memory and the hard disk. After 1118, the result is transmitted to CCM 1050 (1119).

도면12는 정상적인 디지털 컨텐츠 사용권자에 대하여 클라이언트에서 해당 디지털 컨텐츠가 삭제되어 복구가 필요하거나, 전송이 완료되지 않아 재전송이 필요한 경우에 대하여 전송 결과를 저장하고 있는 CCM(1050)을 통해 해당 디지털 컨텐츠를 재전송하는 과정에 대한 간단한 흐름도이다.
FIG. 12 shows the digital contents through the CCM 1050 which stores the transmission result for the case where the digital contents are deleted from the client for normal digital content licensee and need to be recovered or retransmitted because the transmission is not completed. Here is a simple flow chart for the retransmission process.

본 흐름도는 클라이언트에 컨텐츠 제공서버에서 제공하는 최신 버전의 FSI(500)가 탑재되어 있다고 가정한다.
This flowchart assumes that the client is equipped with the latest version of the FSI 500 provided by the content providing server.

클라이언트 서버가 컨텐츠 제공 서버에 디지털 컨텐츠 재전송을 요청하면(1200), 컨텐츠 제공서버의 CSFM(1040)은 클라이언트 측 FSI(500)와 동기화 되어 있는지 확인하고(1201), 동기화 되어 있는 경우에 대하여 CCM(1050)의 정보를 참조하여 해당 디지털 컨텐츠의 재전송 여부를 결정한다(1202).
When the client server requests digital content retransmission from the content providing server (1200), the CSFM 1040 of the content providing server checks whether it is synchronized with the client-side FSI 500 (1201), and the CCM ( It is determined whether the digital content is retransmitted with reference to the information of 1050 (1202).

CCM(1050)은 클라이언트로 전송되는 모든 디지털 컨텐츠의 전송 결과 및 클라이언트의 네트워크 정보를 저장하고 있으며, 클라이언트에서 원본 디지털 컨텐츠의 유실로 인하여 복구가 필요한 경우, 그리고 정상적인 방법을 통해 디지털 컨텐츠를 전송 받았으나 그 작업이 완료되지 않은 경우에 대하여 해당 클라이언트의 네트워크 정보를 참조하여 동일한 클라이언트에서 재전송을 요청한 경우에 대하여 재전송을 허락한다.
The CCM 1050 stores the transmission result of all digital content transmitted to the client and the network information of the client. When the client needs to recover due to the loss of the original digital content, the CCM 1050 receives the digital content through a normal method. When the operation is not completed, retransmission is allowed for the case where the same client requests retransmission by referring to the network information of the client.

그러나 컨텐츠 제공 서버의 CSFM(1040)과 클라이언트의 FSI(500)가 동기화 되어 있지 않거나(1203), 재전송 조건이 충족되지 않는 경우에는 해당 작업에 대한 재전송 불가 메시지를 클라이언트에 출력하고(1204), 클라이언트의 메모리와 하드디스크에서 해당 디지털 컨텐츠를 삭제한 후(1205), 그 결과를 다시 CCM(1050)에 저장한다(1206).
However, if the CSFM 1040 of the content providing server and the FSI 500 of the client are not synchronized (1203) or if the retransmission condition is not satisfied, a non-retransmission message for the operation is output to the client (1204). After the corresponding digital content is deleted from the memory and the hard disk (1205), the result is stored in the CCM 1050 again (1206).

상기와 같은 과정으로 디지털 컨텐츠의 재전송이 허락되면, CSFM(1040)은 클라이언트의 FSI(500)를 통해 재전송되는 데이터에 Lock을 설정하고(1207), 해당 디지털 컨텐츠를 클라이언트로 재전송한다(1209).
If retransmission of the digital content is allowed in the above process, the CSFM 1040 sets a lock on the data retransmitted through the FSI 500 of the client (1207), and retransmits the digital content to the client (1209).

만약 이와 같은 과정을 통해 디지털 컨텐츠 재전송이 정상적으로 완료되면, 클라이언트 측 FSI(500)는 암호화된 파일 시스템 정보를 재전송된 원본 데이터에 삽입하고(1210), 그 결과를 CCM(1050)으로 전송하여(1212) 재전송이 정상적으로 수행되었음을 저장한 후, 재전송된 원본 데이터에 Lock을 해제함으로써(1217), 해당 디지털 컨텐츠를 클라이언트에서 정상적으로 사용할 수 있도록 하락하지만, 반대로 암호화된 파일 시스템 정보를 삽입할 수 없는 경우에는(1213) 오류 메시지를 출력한 후(1214), 메모리와 하드디스크에서 해당 디지털 컨텐츠를 삭제하고(1215), 그 결과를 다시 CCM(1050)에 저장한다(1216).
If the digital content retransmission is normally completed through this process, the client side FSI 500 inserts the encrypted file system information into the retransmitted original data (1210), and transmits the result to the CCM 1050 (1212). After storing that the retransmission has been performed normally, by unlocking the retransmitted original data (1217), the digital content is dropped for normal use on the client, but the reverse of the case where the encrypted file system information cannot be inserted ( 1213. After outputting an error message (1214), the digital content is deleted from the memory and the hard disk (1215), and the result is stored in the CCM (1050) (1216).

도면13은 컨텐츠 제공 서버를 통해 클라이언트로 전송하는 디지털 컨텐츠에 대하여 FSI(500)를 이용하여 파일 시스템 정보를 암호화하고, 이것을 전송된 원본 데이터에 삽입하는 과정에 대한 간단한 예시도이다.FIG. 13 is a simple illustration of a process of encrypting file system information using an FSI 500 for digital content transmitted to a client through a content providing server and inserting the file system information into the transmitted original data.

도면13의 디지털 컨텐츠 다운로드 대화상자는 컨텐츠 제공 서버에서 제공하거나, 컨텐츠 제공 서버의 CSFM(1040)과 호환되는 FSI(500)를 이용하여 디지털 컨텐츠를 다운로드 하는 것으로써, 도면13은 컨텐츠 제공 서버로부터 디지털 컨텐츠를 전송 받아 원본 데이터를 생성한 후, 여기에 파일 시스템 정보를 암호화하여 삽입하고 있는 경우에 대한 것이다.
The digital content download dialog shown in FIG. 13 is provided by the content providing server or by downloading the digital content using the FSI 500 compatible with the CSFM 1040 of the content providing server. This is the case where the original data is generated after receiving the content and the file system information is encrypted and inserted.

클라이언트 측 FSI(500)는 파일을 다운로드 받기 위해 클라이언트에 반드시 필요한 파일 시스템 정보 삽입부로써, 본 실시예의 특성상 FSI(500)가 클라이언트에 존재하지 않으면, 컨텐츠 제공 서버로부터의 데이터 전송이 원천적으로 금지되며, 어떠한 방법으로도 컨텐츠를 다운로드 할 수 없다. 이것은 컨텐츠 제공 서버에서 클라이언트로의 데이터 전송이 하부적으로는 기존의 TCP/IP를 사용하지만, 컨텐츠 제공 서버의 서버 데몬(1030)과 웹 브라우저가 데이터 통신을 하는 것이 아니라, 컨텐츠 제공 서버의 서버 데몬(1030) 및 컨텐츠 D/B에 연결되어 있는 CSFM(1040)과 클라이언트의 웹 브라우저에 연결되어 있는 FSI(500) 모듈이 통신하는 것이기 때문이다.
The client side FSI 500 is a file system information inserter necessary for the client to download a file. If the FSI 500 does not exist in the client due to the nature of the present embodiment, data transmission from the content providing server is essentially prohibited. You may not download the content in any way. This is because the data transfer from the content providing server to the client uses the existing TCP / IP underlying, but the server daemon 1030 of the content providing server and the web browser do not communicate data, but the server daemon of the content providing server. This is because the CSFM 1040 connected to the 1030 and the content D / B and the FSI 500 module connected to the web browser of the client communicate.

도면14는 클라이언트의 FSI(500)가 컨텐츠 제공 서버에서 전송 받은 원본 데이터에 암호화된 파일 시스템을 삽입하는 과정에서 오류가 발생한 경우에 대한 예시도이다.
FIG. 14 is an exemplary diagram of an error occurring when the FSI 500 of the client inserts an encrypted file system into original data received from a content providing server.

클라이언트 측 FSI(500)에서 파일 시스템 정보를 암호화하여 원본 데이터에 삽입하는 과정에서 오류가 발생하는 경우는 클라이언트에 스파이웨어가 설치되어 있거나, FSI(500) 자체를 악의적으로 조작하는 경우와 같이 본 발명의 목적을 파괴하려고 시도하는 경우가 대부분이다. 이것은 도면11과 도면12와 같이 컨텐츠 제공 서버에서 클라이언트로 전송할 때, 항상 컨텐츠 제공 서버에서 클라이언트의 FSI(500)를 관리하고, 최신 버전의 FSI(500)로 클라이언트 FSI(500)를 갱신하기 때문에, 상기와 같은 경우를 제외하고 구조적인 문제에 의해 암호화된 파일 시스템 정보를 삽입하는 과정에서 오류가 발생할 수 없다.
If an error occurs in the process of encrypting the file system information in the client-side FSI 500 and inserting the file system information into the original data, spyware is installed in the client or the FSI 500 itself is manipulated in a malicious manner. Most of the time you try to destroy the purpose. This is because, as shown in Figs. 11 and 12, when the content providing server transmits to the client, the content providing server always manages the client's FSI 500 and updates the client FSI 500 with the latest version of the FSI 500. Except as described above, an error may not occur in the process of inserting the encrypted file system information due to a structural problem.

따라서 원본 데이터에 파일 시스템 정보를 암호화하고, 이것을 원본 데이터에 삽입하는 과정에서 오류가 발생하였다면, FSI(500)는 도면11과 12에서 서술한 바에 의해 도면14와 같이 오류 메시지를 출력하고, 디지털 컨텐츠 정보를 메모리와 하드디스크에서 영구적으로 삭제한 후, 이것을 컨텐츠 제공 서버의 CCM(1050)으로 전송하여 관리한다.
Therefore, if an error occurs in the process of encrypting the file system information in the original data and inserting it into the original data, the FSI 500 outputs an error message as shown in Fig. 14 as described in Figs. After the information is permanently deleted from the memory and the hard disk, it is transmitted to the CCM 1050 of the content providing server for management.

도면15는 FSI(500)가 탑재된 설치 CD 제작 소프트웨어를 이용하여 암호화된 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하는 방법에 대한 간단한 블록도이다.
Fig. 15 is a simple block diagram of a method of creating an installation file and an installation program in which encrypted file system information is inserted using the installation CD production software on which the FSI 500 is mounted, and recording the same onto a CD.

도면15는 설치 CD를 제작하는 컴퓨터의 하드디스크에 저장되어 있는 원본 파일에 암호화된 파일 시스템 정보를 삽입하여 설치 파일을 생성하고, 이 설치 파일에 대한 일련의 컴파일 과정과 데이터 압축을 통해 소프트웨어 설치에 필요한 압축파일을 생성한 후, 이 압축 파일의 압축 해제 및 설치 과정에서 필요한 FSA(800)를 탑재한 설치 프로그램을 생성하고, 다시 이렇게 생성된 설치 프로그램에 파일 시스템 정보를 암호화하여 삽입함으로써, 소프트웨어 설치 프로그램이 하드디스크와 같은 저장장치에 복사되거나 불법 복제된 후, 인터넷과 같은 통신망을 통해 불법 배포되어 악용되는 것을 원천적으로 방지하는 방법에 관한 것이다.
Figure 15 creates an installation file by inserting encrypted file system information into the original file stored on the hard disk of the computer making the installation CD, and installs the software through a series of compilation processes and data compression for the installation file. After the required compressed file is created, the installer installs the software with the required FSA 800 in the process of extracting and installing the compressed file, and encrypts and inserts the file system information into the generated installer. After the program is copied or illegally copied to a storage device, such as a hard disk, the present invention relates to a method for preventing the illegal distribution and exploitation through a communication network such as the Internet.

도면15에서 원본 파일을 설치 파일로 제작하는 과정에서 사용되는 파일 시스템과 설치 프로그램에 탑재되는 파일 시스템은 FAT 계열의 하드디스크용 파일 시스템이 아니라, 설치 파일 및 설치 프로그램이 탑재되는 CD에 대한 CDFS이며, 설치 프로그램이 실행되는 단계에서 설치 프로그램 안에 내장된 FSA(800)는 설치 프로그램 및 설치 파일의 CDFS 정보를 통해 해당 파일들이 복사본이거나 불법 복제본인지 판단함은 물론, 해당 파일들의 복사 또는 복제 여부를 판단하기 위해 참조되는 현재 파일 시스템이 FAT인지 CDFS인지를 통해 CD에서 설치되는지 여부도 판단할 수 있다.
In FIG. 15, the file system used in the process of producing the original file as the installation file and the file system mounted in the installation program are not file systems for the FAT-based hard disk, but CDFS for the CD on which the installation files and the installation program are mounted. In the execution phase of the installation program, the FSA 800 embedded in the installation program determines whether the files are a copy or an illegal copy through the CDFS information of the installation program and the installation file, and determines whether the files are copied or duplicated. It is also possible to determine whether the current file system referenced in order to install from a CD is FAT or CDFS.

도면15에서 원본 파일은 물론 설치 프로그램에도 암호화된 파일 시스템 정보를 삽입하는 것은, 원본 파일의 불법 복제는 물론 설치 프로그램 자체의 불법 복제 도 방지하기 위한 것이다. In FIG. 15, the encrypted file system information is inserted into the installation program as well as the original file to prevent illegal copying of the original file as well as illegal copying of the installation program itself.

원본 파일은 암호화된 파일 시스템 정보가 삽입되어 설치 파일이 된 후, 압축되며, 이 압축 파일에 대해서도 파일 시스템 정보가 삽입된다. 이렇게 압축된 파일 안에 포함된 원본 파일에 탑재된 파일 시스템 정보는 설치 프로그램을 제외하고는 어떠한 방법으로도 해독할 수 없으며, 설치 프로그램조차도 암호화된 파일 시스템 정보가 삽입되어 있기 때문에, 본 실시예를 통해 생성된 소프트웨어 설치 프로그램 및 설치 파일들은 오직 원본 CD에 의해서만 설치가 가능하고, 이것들이 하드디스크에 복사되거나 복제되어 참조 파일 시스템이 FAT으로 바뀌거나, 참조 파일 시스템 정보가 변경되면 어떠한 방법으로도 해당 소프트웨어를 설치할 수 없게 된다.
The original file is compressed after the encrypted file system information is inserted into the installation file, and the file system information is also inserted into the compressed file. Since the file system information mounted on the original file included in the compressed file cannot be decrypted by any method except the installation program, and even the installation program inserts encrypted file system information, The created software installers and installation files can only be installed from the original CD, and they can be copied or copied to the hard disk to change the reference file system to FAT or to change the reference file system information in any way. You will not be able to install it.

도면16은 도면15와 같은 방법으로 암호화된 파일 시스템 정보가 삽입된 소프트웨어 설치 CD를 제작하는 전용 소프트웨어에서 원본 파일 대한 설치 파일 및 설치 프로그램을 제작하고 있는 예시도이다.
FIG. 16 is an exemplary diagram for manufacturing an installation file and an installation program for original files in dedicated software for producing a software installation CD in which encrypted file system information is inserted in the same manner as in FIG. 15.

일반적으로 소프트웨어 설치 CD 제작 방법은 인스톨 쉴드와 같은 설치 프로그램 제작용 소프트웨어를 통해 하드디스크에 있는 원본 파일을 압축하여 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD 기록용 소프트웨어를 통해 CD에 기록하는 것이다.
In general, a method of making a software installation CD is to prepare an installation file and an installation program by compressing an original file on a hard disk through an installation program production software such as an installation shield, and recording the same on a CD through CD recording software.

그러나 본 실시예는 원본 파일로부터 설치 파일 및 설치 프로그램을 제작하는 과정에서 이것들이 기록되는 CD의 파일 시스템 정보가 해당 설치 파일 및 설치 프로그램에 암호화되어 삽입된다.
However, in the present embodiment, in the process of producing the installation file and the installation program from the original file, the file system information of the CD on which they are recorded is encrypted and inserted into the installation file and the installation program.

따라서 본 실시예에서는 도면16과 같이 하드디스크의 원본 파일로부터 압축된 설치 파일을 제작하는 과정과 설치 파일을 생성하는 과정에서, 이것이 기록되는 CD의 파일 시스템을 삽입함과 동시에 즉시 CD에 기록할 수 있는 전용 소프트웨어 필요하다.
Therefore, in the present embodiment, as shown in Fig. 16, in the process of producing the compressed installation file from the original file of the hard disk and generating the installation file, the CD can be written to the CD system as soon as it is inserted. That requires dedicated software.

도면16은 상기와 같은 작업을 위한 예시도이며, 버퍼(100)는 하드디스크에 있는 원본 파일을 메모리에 적재하여 원본 데이터를 생성한 비율이고, (200)은 메모리에 적재되어 있는 원본 데이터 중에서 암호화된 파일 시스템 정보를 삽입하기 위해 가공 중인 원본 데이터 비율이며, (300)은 암호화된 파일 시스템 정보를 삽입하여 압축한 설치 파일 비율이고, (400)은 압축된 설치 파일 중에서 실제 CD에 기록된 설치 파일에 대한 비율이다.
Figure 16 is an exemplary diagram for the above operation, the buffer 100 is the ratio of the original data loaded on the hard disk in the memory to generate the original data, 200 is the encryption of the original data loaded in the memory The percentage of original data that is being processed to insert the file system information that has been processed, where 300 is the percentage of installation files compressed by inserting encrypted file system information, and 400 is the installation files recorded on the actual CD of the compressed installation files. To ratio.

설치 프로그램은 상기와 같은 설치 파일들에 대한 기록이 종료된 후, 설치 파일에 탑재된 파일 시스템의 암호를 해독할 수 있는 FSA(800)와 함께 파일 시스템 정보를 탑재하고 제일 나중에 기록된다.
After the recording of the above installation files is completed, the installation program mounts file system information together with the FSA 800 capable of decrypting the file system mounted in the installation file and is recorded last.

도면16에서 설치 파일 및 설치 프로그램을 CD에 기록하는 방법에는 즉시 기록, 일괄 기록, 배치 기록 등이 있으며, 즉시 기록은 압축된 설치 파일이 생성됨과 동시에 이것을 CD에 기록하는 방식이며, 일괄 기록과 배치 기록은 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램 일단 생성한 후, 이것들을 CD에 기록하는 과정에서 해당 파일 시스템의 정보를 기록되는 당시의 것을 갱신하면서 기록하는 방식이다.
In FIG. 16, the installation file and the installation program are recorded on a CD by using an immediate recording, a batch recording, a batch recording, and the like. The immediate recording is a method of recording a compressed installation file as well as recording it on a CD. The recording is a method of creating an installation file and an installation program in which file system information is inserted and recording the information of the file system at the time of being recorded while recording them on a CD.

특히 일괄 기록은 CD에 기록되는 설치 파일 또는 설치 프로그램이 한 개 일 때 유효하며, 배치 기록은 CD에 기록되는 설치 파일 또는 설치 프로그램이 복수 개일 때 각각의 파일들에 대한 기록 스케즐을 작성하고 이것에 따라 해당 파일들을 기록할 때 유효하다.
In particular, batch recording is effective when there is only one installation file or installer recorded on the CD, and batch record creates a recording schedule for each file when there are multiple installation files or installers recorded on the CD. Therefore, it is valid when writing the files.

도면17은 FSI(500)가 탑재된 설치 CD 제작 소프트웨어를 이용하여 암호화된 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하는 과정에 관한 간단한 흐름도이다.
Fig. 17 is a simple flowchart showing a process of creating an installation file and an installation program in which encrypted file system information is inserted using the installation CD production software on which the FSI 500 is mounted, and recording this onto a CD.

FSI(500)가 탑재된 설치 CD 제작 소프트웨어를 이용하여 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하기 위해서는 먼저 본 작업에 대한 작업 스케즐이 작성되어야 한다(1700). 이것은 본 흐름도에 의해 원본 파일 및 설치 프로그램에 삽입되는 파일 시스템인 CDFS 정보는 설치 파일 및 설치 프로그램이 CD에 기록되는 과정에서 생성되기 때문이다. In order to produce an installation file and an installation program using the installation CD production software loaded with the FSI 500, and to record it on a CD, a work schedule for this operation must be prepared (1700). This is because CDFS information, which is a file system inserted into the original file and the installation program by the present flowchart, is generated while the installation file and the installation program are recorded on the CD.

예를 들어, CD에 기록되기 전에 설치 파일 및 설치 프로그램에 CD에 기록되는 시간 등과 같은 파일 시스템 정보를 삽입하는 것은 아무 의미가 없다. 따라서 시간에 대하여 독립적인 파일 시스템 정보는 미리 암호화하여 삽입하지만, 시간에 의존적인 파일 시스템 정보는 CD에 기록하는 시점에 삽입한다든지, 아니면 시간에 의존적인 파일 시스템 정보를 해당 파일이 CD에 기록되는 시간을 예약하여 삽입한 후, 이 예약 시간에 해당 파일이 CD에 기록되도록 하는 것과 같은 작업 스케즐이 필요하다.
For example, it does not make sense to insert file system information such as installation files and the time recorded on the CD into the installer before it is written to the CD. Therefore, time-independent file system information is encrypted and inserted in advance, but time-dependent file system information is inserted at the time of recording on a CD, or time-dependent file system information is recorded on a CD. After inserting and reserving the time, you need to schedule a task such that the file will be written to the CD at that time.

상기와 같은 방법으로 원본 파일 및 설치 프로그램에 파일 시스템 정보를 삽입하여 CD에 기록하는 작업 스케즐이 작성되면, FSI(500)가 탑재된 설치 CD 제작 소프트웨어를 이용하여 암호화된 파일 시스템 정보가 삽입된 설치 파일 및 설치 프로그램을 제작하고, 이것을 CD에 기록하는 과정에 관한 것이다.
When the job schedule is written to insert the file system information into the original file and the installation program and write it to the CD in the above manner, the encrypted file system information is inserted using the installation CD authoring software equipped with the FSI 500. The process of creating files and installers, and writing them to a CD.

작업 스케즐에 따라 하드디스크에서 원본 파일을 메모리에 적재하여(1705) 원본 데이터를 생성하여 가공한 후(1710), 작업 스케즐에 의해 결정된 방법으로 파일 시스템 정보를 추출하여(1715) 암호화하고(1720), 이것을 원본 데이터에 삽입하여 설치 파일을 생성하여(1725) 압축한다(1730).
The original file is loaded from the hard disk into memory according to the work schedule (1705), the original data is generated and processed (1710), and the file system information is extracted (1715) and encrypted (1720) by the method determined by the work schedule. The installation file is inserted into the original data to generate an installation file (1725) and compressed (1730).

압축된 설치 파일이 생성되면, FSI(500)가 탑재된 설치 CD 제작 소프트웨어 는 작업 스케즐에 따라 설치 프로그램을 제작하고(1735), 암호화된 파일 시스템 정보와(1740) 설치 파일 및 설치 프로그램 자체에 적용되는 FSA(800)를 탑재한 후(1745), 작업 스케즐 대로 작업이 진행되었는지 검증한다. 만약 작업 스케즐과 동일하게 모든 작업이 진행되었다면, FSI(500)가 탑재된 설치 CD 제작 소프트웨어는 해당 작업 스케즐에 따라 설치 파일과 설치 프로그램을 CD에 기록한 후(1755), 원본 데이터를 메모리에서 삭제한다(1765).
Once the compressed installation file is created, the installation CD authoring software with FSI 500 creates the installer according to the task schedule (1735), applies encrypted file system information (1740) to the installer file, and the installer itself. After the FSA 800 is mounted (1745), it verifies whether the work proceeds according to the work schedule. If all the work was performed in the same way as the work schedule, the installation CD authoring software equipped with the FSI 500 writes the installation file and the setup program to the CD according to the work schedule (1755), and then deletes the original data from the memory. (1765).

그러나 운영체제에서 발생할 수 있는 문제와 작업 과정에서 발생하는 예상할 수 없는 여러 문제로 인하여 스케즐과 동일하게 진행되지 않았다면(1760), FSI(500)가 탑재된 설치 CD 제작 소프트웨어는 다시 작업 스케즐을 작성한 후(1700), 상기와 같은 작업을 반복한다.
However, if it did not go exactly the same as the schedule because of problems with the operating system and other unforeseen problems in the process (1760), the installation CD authoring software with the FSI 500 recreates the task schedule. (1700), the same operation is repeated.

본 발명에 따르면, 디지털 컨텐츠에 파일 시스템 정보 데이터를 암호화하여 삽입함으로써, 동일한 시스템 내에서의 파일 이동은 가능하지만, 동일한 시스템에서의 파일 복사를 이용한 디지털 컨텐츠 복제, 플로피 디스크나 CD와 같은 이동형 저장 장치로의 디지털 컨텐츠 복제, 그리고 LAN(Local Area Network)이나 인터넷을 통한 디지털 컨텐츠의 불법적인 복제 및 배포를 원천적으로 차단하는 효과가 있으며, 이를 통해 디지털 컨텐츠에 대한 지적 재산권 보호 시 기존에 행해지던 해킹과 같은 조작으로부터 보호할 수 있으며, 불법 소프트웨어 유포 방지에도 큰 효과가 있다.According to the present invention, by encrypting and inserting file system information data into digital content, file movement in the same system is possible, but digital content duplication using file copy in the same system, removable storage device such as floppy disk or CD It has the effect of blocking the duplication of digital contents into the network and illegal duplication and distribution of digital contents through LAN (Local Area Network) or the Internet, thereby preventing hacking that has been previously performed when protecting intellectual property rights on digital contents. It can protect against the same operation, and it is also effective in preventing illegal software distribution.

Claims (19)

삭제delete 삭제delete 메모리 상에 존재하는 원본 데이터 파일을 하드디스크 상에 저장 시, 운영체제의 커널을 통해 해당 파일에서 사용할 파일 시스템 정보 데이터를 추출하는 기능;A function of extracting file system information data to be used in a corresponding file through a kernel of an operating system when storing an original data file existing in a memory on a hard disk; 상기 추출한 파일 시스템 정보 데이터를 일련의 암호화 방식을 통해 암호화 코드로 전환시키는 기능;Converting the extracted file system information data into an encryption code through a series of encryption methods; 상기 파일 시스템 정보 데이터에 대한 암호화 코드 생성 후, 상기 암호화된 파일 시스템 정보 데이터를 삽입할 수 있도록 상기 원본 데이터 파일을 가공 처리하는 기능;A function of processing the original data file to insert the encrypted file system information data after generating an encryption code for the file system information data; 상기 원본 데이터 파일 가공 완료 후, 상기 암호화된 파일 시스템 정보를 상기 원본 데이터 파일에 삽입하는 기능;을 구비하여 이루어지는 것을 특징으로 하는 파일 시스템 정보 삽입부(File System Insertion)와,A file system information insertion unit (File System Insertion), characterized in that it comprises a function of inserting the encrypted file system information into the original data file after completion of the original data file processing; 상기 파일 시스템 정보 삽입부에 의해 암호화된 파일 시스템 정보를 삽입한 원본 데이터 파일을 하드디스크 또는 저장장치에서 불러오는 경우, 상기 암호화된 파일 시스템 정보가 삽입된 원본 데이터 파일에서 암호화된 파일 시스템 정보 데이터만을 추출하는 기능;When the original data file into which the encrypted file system information is inserted by the file system information inserter is loaded from a hard disk or a storage device, only encrypted file system information data is extracted from the original data file into which the encrypted file system information is inserted. Function; 상기 암호화된 파일 시스템 정보 데이터의 암호를 해독 및 상기 파일 안에 삽입되어 있던 파일 시스템 정보 데이터를 생성시키는 기능;Decrypting the encrypted file system information data and generating file system information data inserted in the file; 상기 파일에 대한 현재 파일 시스템 정보를 추출하는 기능; 및Extracting current file system information for the file; And 상기 파일에 삽입되어 있던 정보와 현재 파일 시스템에서 추출된 정보를 비교·분석하여 상기 원본 데이터 파일이 복사본인지 또는 불법 복제물인지 확인하는 기능;을 구비하여 이루어지는 것을 특징으로 하는 파일 시스템 정보 분석부(File System Analyzer)를 구비하여 이루어지는 것을 특징으로 하는 파일 시스템 정보 데이터를 이용한 디지털 컨텐츠 불법 복제 방지 시스템.And a function of comparing and analyzing the information inserted in the file with information extracted from the current file system to determine whether the original data file is a copy or an illegal copy. And a digital content piracy prevention system using file system information data, comprising: a System Analyzer. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020010027672A 2001-05-21 2001-05-21 Method and System for Keeping off Illegal Copy of Digital Contents by using the file system information Data KR100556304B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010027672A KR100556304B1 (en) 2001-05-21 2001-05-21 Method and System for Keeping off Illegal Copy of Digital Contents by using the file system information Data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010027672A KR100556304B1 (en) 2001-05-21 2001-05-21 Method and System for Keeping off Illegal Copy of Digital Contents by using the file system information Data

Related Child Applications (4)

Application Number Title Priority Date Filing Date
KR1020040066262A Division KR20040079375A (en) 2004-08-23 2004-08-23 System for Keeping off Illegal Copy of Digital Contents by using the file system information Data
KR1020040066285A Division KR20040077649A (en) 2004-08-23 2004-08-23 System and Method for Keeping off Illegal Copy of Digital Contents by using the file system information Data
KR1020040066273A Division KR20040079376A (en) 2004-08-23 2004-08-23 Method for Keeping off Illegal Copy of Digital Contents by using the file system information Data
KR1020040066296A Division KR20040087971A (en) 2004-08-23 2004-08-23 Method for Keeping off Illegal Copy of Digital Contents by using the file system information Data

Publications (2)

Publication Number Publication Date
KR20020088737A KR20020088737A (en) 2002-11-29
KR100556304B1 true KR100556304B1 (en) 2006-03-03

Family

ID=27705676

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010027672A KR100556304B1 (en) 2001-05-21 2001-05-21 Method and System for Keeping off Illegal Copy of Digital Contents by using the file system information Data

Country Status (1)

Country Link
KR (1) KR100556304B1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390705B1 (en) * 2001-06-19 2003-07-12 김정한 Method for preventing copy spreading of on-line data
KR100467929B1 (en) * 2002-02-28 2005-01-24 주식회사 마크애니 System for protecting and managing digital contents
KR100488191B1 (en) * 2002-05-31 2005-05-10 박동현 Method for manufacturing contents that have function for dealing cracking and method for processing of that contents for dealing cracking
US7840960B2 (en) 2002-12-17 2010-11-23 Kabushiki Kaisha Toshiba Content distribution method and content distribution package
JP2006525592A (en) * 2003-05-01 2006-11-09 サムスン エレクトロニクス カンパニー リミテッド Authentication method and apparatus
KR100516504B1 (en) 2003-09-30 2005-09-26 (주)잉카엔트웍스 A method of synchronizing data between contents providers and a portable device via network and a system thereof
KR100778901B1 (en) * 2005-05-18 2007-11-22 김성엽 Sound capture protecting method for the window multimedia system
KR100857850B1 (en) 2006-05-26 2008-09-10 엔에이치엔(주) Method for executing digital right management and tracking using characteristic of virus and system for executing the method
KR101201101B1 (en) 2010-03-26 2012-11-13 웅진코웨이주식회사 Cold water tank

Also Published As

Publication number Publication date
KR20020088737A (en) 2002-11-29

Similar Documents

Publication Publication Date Title
US20210294879A1 (en) Securing executable code integrity using auto-derivative key
EP1367475B1 (en) Software application protection by way of a digital rights management (DRM) system
US9246916B2 (en) Specifying rights in a digital rights license according to events
KR101219839B1 (en) Flexible licensing architecture in content rights management systems
JP4406190B2 (en) Secure video card for a computing device having a digital rights management (DRM) system
US7024393B1 (en) Structural of digital rights management (DRM) system
EP1665717B1 (en) Method for preventing unauthorized distribution of media content
JP4759513B2 (en) Data object management in dynamic, distributed and collaborative environments
JP2003500722A (en) Information protection method and device
US7058820B2 (en) Information processing system, medium, information processing apparatus, information processing method, storage medium storing computer readable program for realizing such method
JP2002251326A (en) Tamper-proof computer system
WO2000058810A2 (en) Structure of a digital content package
WO2000058859A2 (en) Digital license and method for obtaining/providing a digital license
AU2006302090A1 (en) Use of media storage structure with multiple pieces of content in a content-distribution system
US8739294B2 (en) Reporting information about users who obtain copyrighted media using a network in an unauthorized manner
KR100440037B1 (en) Document security system
KR100556304B1 (en) Method and System for Keeping off Illegal Copy of Digital Contents by using the file system information Data
US20120042385A1 (en) Protecting copyrighted media with monitoring logic
US20030074563A1 (en) Method for the secure distribution and use of electronic media
EP1428213A2 (en) Method and system for protecting data
EP1163659B1 (en) Protecting compressed content after separation from original source
JP4842836B2 (en) How to recover the authorization code
KR20040079376A (en) Method for Keeping off Illegal Copy of Digital Contents by using the file system information Data
KR20040087971A (en) Method for Keeping off Illegal Copy of Digital Contents by using the file system information Data
KR20100093044A (en) System and method for tracking a downloaded digital media file

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
A107 Divisional application of patent
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20040723

Effective date: 20051027

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110223

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee