KR20060098250A - An transaction method of digital data - Google Patents

An transaction method of digital data Download PDF

Info

Publication number
KR20060098250A
KR20060098250A KR1020050020413A KR20050020413A KR20060098250A KR 20060098250 A KR20060098250 A KR 20060098250A KR 1020050020413 A KR1020050020413 A KR 1020050020413A KR 20050020413 A KR20050020413 A KR 20050020413A KR 20060098250 A KR20060098250 A KR 20060098250A
Authority
KR
South Korea
Prior art keywords
digital data
module
function module
authentication function
transaction
Prior art date
Application number
KR1020050020413A
Other languages
Korean (ko)
Other versions
KR100775876B1 (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 KR1020050020413A priority Critical patent/KR100775876B1/en
Priority to US11/114,690 priority patent/US20050251483A1/en
Priority to JP2005128545A priority patent/JP4504246B2/en
Priority to PCT/KR2006/000873 priority patent/WO2006096038A1/en
Priority to CNA2006800076752A priority patent/CN101138003A/en
Publication of KR20060098250A publication Critical patent/KR20060098250A/en
Application granted granted Critical
Publication of KR100775876B1 publication Critical patent/KR100775876B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6583Acknowledgement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Abstract

디지털데이터 판매자 클라이언트 시스템, 디지털데이터 구매자 클라이언트 시스템 및 디지털데이터 거래서버가 포함되는 본 발명의 디지털데이터의 거래 방법은, 상기 디지털데이터 판매자 클라이언트 시스템으로부터 상기 디지털데이터 거래서버로 판매자 정보, 디지털데이터 정보, 거래기능정보, 디지털데이터가 입력되는 단계; 상기 디지털데이터 거래서버가 상기 디지털데이터의 상기 디지털데이터 정보 및 거래기능정보를 온라인으로 공지하는 단계; 상기 디지털데이터 구매자 클라이언트 시스템이 상기 디지털데이터 거래서버에서 상기 디지털데이터를 이용하기 위해 상기 거래기능정보 중에서 인증기능을 선택하는 단계; 상기 디지털데이터 거래서버가 상기 디지털데이터 및 상기 인증기능의 목록을 암호화하여 상기 디지털데이터 구매자 클라이언트 시스템으로 전송하는 단계; 상기 디지털데이터 거래서버가 상기 암호화를 복호화하는 복호화 모듈, 상기 디지털데이터를 식별하는 파일식별자 판단 모듈, 상기 디지털데이터 실행명령을 후킹하는 후킹 모듈 및 인증기능 모듈을 상기 디지털데이터 구매자 클라이언트 시스템으로 전송하는 단계; 를 포함하는 것으로서, 상기 디지털데이터 구매자 클라이언트 시스템이, 상기 파일식별자 판단모듈로 상기 암호화된 디지털 데이터를 인지하는 단계와 상기 복호화 모듈로 상기 암호화된 디지털 데이터를 시스템의 주메모리상에서 복호화하는 단계와 상기 복호화된 디지털 데이터를 실행할 수 있는 실행 프로그램을 상기 주메모리상에 로딩하는 단계와 상기 로딩된 실행 프로그램을 분석하여 필요로 하는 필요기능 모듈을 인 지하는 단계와 상기 인증기능 모듈을 상기 주메모리상에 제공하는 단계와 상기 후킹 모듈로 상기 실행 프로그램에서 상기 필요기능 모듈을 호출하는 목표 어드레스를 상기 인증기능 모듈의 엔트리 포인트 어드레스로 변경하는 단계와 상기 실행 프로그램이 상기 복호화된 디지털 데이터를 실행하는 중 상기 필요기능 모듈을 호출할 경우에 상기 인증기능 모듈을 필요기능 모듈 대신 실행하는 단계와 상기 인증기능 모듈의 실행 전에 상기 암호화된 인증기능 목록을 상기 복호화 모듈로 복호화하여 주메모리에 로딩하는 단계와 상기 인증기능 모듈로 상기 호출된 필요기능 모듈이 상기 인증기능 목록에 속하는지를 판단하는 단계와 상기 호출된 필요기능 모듈이 상기 인증기능 목록에 속한다고 판단하면 상기 인증기능 모듈에서 상기 응용 프로그램이 호출한 필요기능 모듈을 호출하여 실행하고 속하지 않는다고 판단되면 상기 호출된 필요기능 모듈을 실행하지 않는 단계를 포함하여 수행하도록 구성된 것을 특징으로 한다. The digital data transaction method of the present invention, which includes a digital data seller client system, a digital data buyer client system, and a digital data transaction server, comprises: seller information, digital data information, and transaction from the digital data seller client system to the digital data transaction server. Inputting functional information and digital data; The digital data transaction server notifying the digital data information and transaction function information of the digital data online; Selecting, by the digital data purchaser client system, an authentication function from the transaction function information to use the digital data in the digital data transaction server; Encrypting, by the digital data transaction server, a list of the digital data and the authentication function and transmitting the encrypted data to the digital data purchaser client system; Transmitting, by the digital data transaction server, a decryption module for decrypting the encryption, a file identifier determination module for identifying the digital data, a hooking module for hooking the digital data execution command, and an authentication function module to the digital data buyer client system. ; Recognizing the encrypted digital data with the file identifier determination module, and decrypting the encrypted digital data in the main memory of the system and the decryption by the decryption module; Loading an execution program capable of executing the digital data on the main memory, analyzing the loaded execution program, identifying a required function module, and providing the authentication function module on the main memory; And changing, by the hooking module, a target address for calling the necessary function module from the execution program to an entry point address of the authentication function module, and the execution program executing the decrypted digital data. Arc module Executing the authentication function module in place of the necessary function module, decrypting the encrypted authentication function list into the decryption module and loading it into the main memory before executing the authentication function module; and calling the authentication function module. Determining whether the required function module belongs to the authentication function list and if the called necessary function module belongs to the authentication function list, the authentication function module calls and executes the required function module called by the application program. If it does not belong to the characterized in that it is configured to perform including the step of not executing the called necessary function module.

Description

디지털데이터의 거래방법{AN TRANSACTION METHOD OF DIGITAL DATA}Transaction method of digital data {AN TRANSACTION METHOD OF DIGITAL DATA}

도 1은 본 발명의 시스템을 도시한 도면.1 illustrates a system of the present invention.

도 2는 거래 주체별로 본 발명이 작동하는 단계를 도시한 도면.2 is a diagram illustrating steps in which the present invention operates for each trading entity.

도 3은 거래서버의 구성을 보여주는 모식도.3 is a schematic diagram showing the configuration of a transaction server.

도 4는 본 발명의 거래단계를 보여주는 흐름도.4 is a flow chart showing a transaction step of the present invention.

도 5는 DSE가 설치된 구매자 클라이언트 시스템의 구성을 보여주는 모식도.5 is a schematic diagram showing the configuration of a shopper client system with DSE installed;

도 6은 본 발명의 DSE에 의한 디지털데이터의 실행단계를 보여주는 흐름도.6 is a flowchart showing an execution step of digital data by the DSE of the present invention.

도 7은 본 발명의 후킹 단계를 나타내는 모식도.7 is a schematic diagram showing a hooking step of the present invention.

도 8은 해캉을 방지하기 위한 본 발명의 또 다른 실시예를 나타낸 도면. 8 illustrates another embodiment of the present invention for preventing haze;

본 발명은 디지털 데이터의 거래 방법에 관한 것으로서, 좀 더 상세하게는 암호화된 디지털데이터 파일을 복호화해서 실행할 때, 인증받지 않은 복제, 프린팅, 전송 기능을 원천적으로 봉쇄함으로써 디지털데이터의 불법복제 및 불법 유통을 차단하고, 나아가 디지털데이터의 실행시에 필요한 기능만을 선택적으로 구매하여 사용할 수 있는 방법을 제공하는 것이다. The present invention relates to a method of trading digital data, and more particularly, to illegally copy and illegally distribute digital data by blocking the unauthorized copying, printing, and transmission functions when decrypting and executing an encrypted digital data file. It is to provide a method that can be used to selectively block only the functions required for the execution of the digital data.

최근 가치있는 정보를 전자화된 문서나 데이터로 생성하고 배포하는 행위는 경제적으로 중요한 문제로 부각하고 있는데, 특히 인터넷 등의 통신 시스템 발달로 이러한 디지털데이터는 온라인 거래가 가능한 재화로 인식되기 시작했다.Recently, the act of generating and distributing valuable information as electronic documents or data has become an economically important issue. Especially, with the development of communication systems such as the Internet, such digital data has begun to be recognized as a commodity that can be traded online.

하지만, 음악파일, 영상파일, 문서파일 등의 디지털 데이터는 쉽게 불법적으로 복제되고 전송될 수 있는 성격을 가지고 있으므로 거래 대상이 되기 위해서는 이러한 불법복제 및 전송 등을 기술적으로 제한할 수 있어야 하는데, 현재의 기술로는 이를 원천적으로 봉쇄할 방법이 별로 없는 것이 사실이다.However, digital data such as music files, video files, and document files can be easily and illegally copied and transmitted. Therefore, in order to be subject to transactions, such illegal copying and transmission should be technically limited. It is true that technology has few ways to contain this inherently.

또한 디지털데이터가 정상적인 거래의 대상이 되기 위해서는 정당한 댓가를 치르고 이를이용하는 이용자에게는 데이터의 이용에 불편함이 없어야 하며, 단순히 디지털 데이터를 열람하는 정도인지 아니면 이를복제하거나 전송하는 정도인지에 따라 지불하는 댓가가 차별화되도록 한다면 좀 더 활발한 디지털 데이터 유통을 지원할 수 있을 것이다.In addition, in order for digital data to be subject to normal transactions, users should pay a reasonable price and use the data without inconvenience to users who use it, and pay according to whether the digital data is simply viewed or duplicated or transmitted. Will help to support more active digital data distribution.

결국, 불법적인 디지털데이터의 사용이 불가능하도록 구성하고 이와 동시에 하나의 디지털 데이터에 대해서도 이를 이용하는 사용자는 각자 서로 다른 권한만큼 구매하고 그 권한의 한도내에서 디지털데이터를 이용할 수 있도록 한다면, 비용면에서 융통성있는 거래가 가능하므로 좀 더 활발한 디지털데이터 유통을 장려할 수 있다. In the end, if you configure illegal digital data to be impossible to use and at the same time, users who use it for one digital data can purchase different rights and make digital data available within the limits of their rights, they will be flexible in terms of cost. It is possible to encourage more active digital data distribution because of possible transactions.

본 발명은 디지털데이터의 불법적인 사용을 방지할 수 있는 방법을 제공하는 것을 그 목적으로 한다.It is an object of the present invention to provide a method capable of preventing illegal use of digital data.

본 발명은 안전한 디지털데이터의 유통 방법을 제공하는 것을 또 다른 목적으로 한다.It is another object of the present invention to provide a safe distribution method of digital data.

본 발명은 디지털데이터의 실행 시에 필요한 기능 중 사용자가 구매하거나 획득한 기능만 작동하도록 하는 방법을 제공함으로써 좀 더 활발한 디지털데이터의 유통을 장려하는 것을 또 다른 목적으로 한다. Another object of the present invention is to promote a more active distribution of digital data by providing a method of operating only a function purchased or acquired by a user among functions necessary for executing digital data.

전술한 목적을 달성하기 위해 디지털데이터 판매자 클라이언트 시스템, 디지털데이터 구매자 클라이언트 시스템 및 디지털데이터 거래서버가 포함되는 본 발명의 디지털데이터의 거래 방법은, 상기 디지털데이터 판매자 클라이언트 시스템으로부터 상기 디지털데이터 거래서버로 판매자 정보, 디지털데이터 정보, 거래기능정보, 디지털데이터가 입력되는 단계; 상기 디지털데이터 거래서버가 상기 디지털데이터의 상기 디지털데이터 정보 및 거래기능정보를 온라인으로 공지하는 단계; 상기 디지털데이터 구매자 클라이언트 시스템이 상기 디지털데이터 거래서버에서 상기 디지털데이터를 이용하기 위해 상기 거래기능정보 중에서 인증기능을 선택하는 단계; 상기 디지털데이터 거래서버가 상기 디지털데이터 및 상기 인증기능의 목록을 암호화하여 상기 디지털데이터 구매자 클라이언트 시스템으로 전송하는 단계; 상기 디지털데이터 거래서버가 상기 암호화를 복호화하는 복호화 모듈, 상기 디지털데이터를 식별하는 파일식별자 판단 모듈, 상기 디지털데이터 실행명령을 후킹하는 후킹 모듈 및 인증기능 모듈을 상기 디지털데이터 구매자 클라이언트 시스템으로 전송하는 단계; 를 포함하는 것으로서, 상기 디지털데이터 구매자 클라이언트 시스템이, 상기 파일식별자 판단모듈로 상기 암호화된 디지털 데이터를 인지하는 단계와 상기 복호화 모듈로 상기 암호화된 디지털 데이터를 시스템의 주메모리상에서 복호화하는 단계와 상기 복호화된 디지털 데이터를 실행할 수 있는 실행 프로그램을 상기 주메모리상에 로딩하는 단계와 상기 로딩된 실행 프로그램을 분석하여 필요로 하는 필요기능 모듈을 인지하는 단계와 상기 인증기능 모듈을 상기 주메모리상에 제공하는 단계와 상기 후킹 모듈로 상기 실행 프로그램에서 상기 필요기능 모듈을 호출하는 목표 어드레스를 상기 인증기능 모듈의 엔트리 포인트 어드레스로 변경하는 단계와 상기 실행 프로그램이 상기 복호화된 디지털 데이터를 실행하는 중 상기 필요기능 모듈을 호출할 경우에 상기 인증기능 모듈을 필요기능 모듈 대신 실행하는 단계와 상기 인증기능 모듈의 실행 전에 상기 암호화된 인증기능 목록을 상기 복호화 모듈로 복호화하여 주메모리에 로딩하는 단계와 상기 인증기능 모듈로 상기 호출된 필요기능 모듈이 상기 인증기능 목록에 속하는지를 판단하는 단계와 상기 호출된 필요기능 모듈이 상기 인증기능 목록에 속한다고 판단하면 상기 인증기능 모듈에서 상기 응용 프로그램이 호출한 필요기능 모듈을 호출하여 실행하고 속하지 않는다고 판단되면 상기 호출된 필요기능 모듈을 실행하지 않는 단계를 포함하여 수행하도록 구성된 것을 특징으로 한다. The digital data transaction method of the present invention includes a digital data seller client system, a digital data buyer client system, and a digital data transaction server to achieve the above object, from the digital data seller client system to the digital data transaction server. Inputting information, digital data information, transaction function information, and digital data; The digital data transaction server notifying the digital data information and transaction function information of the digital data online; Selecting, by the digital data purchaser client system, an authentication function from the transaction function information to use the digital data in the digital data transaction server; Encrypting, by the digital data transaction server, a list of the digital data and the authentication function and transmitting the encrypted data to the digital data purchaser client system; Transmitting, by the digital data transaction server, a decryption module for decrypting the encryption, a file identifier determination module for identifying the digital data, a hooking module for hooking the digital data execution command, and an authentication function module to the digital data buyer client system. ; Recognizing the encrypted digital data with the file identifier determination module, and decrypting the encrypted digital data in the main memory of the system and the decryption by the decryption module; Loading an execution program capable of executing digital data on the main memory, analyzing the loaded execution program, recognizing a necessary function module, and providing the authentication function module on the main memory; Changing the target address for calling the necessary function module from the execution program to an entry point address of the authentication function module with the hooking module and the execution program executing the decrypted digital data. Arc Executing the authentication function module in place of the necessary function module, decrypting the encrypted authentication function list into the decryption module and loading it into the main memory before executing the authentication function module; and calling the authentication function module. Determining whether the required function module belongs to the authentication function list and if the called necessary function module belongs to the authentication function list, the authentication function module calls and executes the required function module called by the application program. If it does not belong to the characterized in that it is configured to perform including the step of not executing the called necessary function module.

본 발명은 또한 상기 디지털데이터를 실행하는 실행 프로그램의 기능 각각을 거래 대상으로 하여 상기 디지털데이터를 온라인상에서 거래하는, 디지털데이터의 거래 방법인 것을 특징으로 한다.The present invention is also characterized in that it is a transaction method of digital data, wherein the digital data is traded online using each function of an execution program for executing the digital data.

또한, 상기 암호화된 디지털 데이터를 컴퓨터 시스템의 주메모리상에서 복호 화하는 단계 이전에, 원거리에 위치한 서버 시스템에 접속하여 사용자 인증을 받는단계 및, 정당한 사용자로 인증되면 상기 암호화된 디지털 데이터를 복호화할 수 있는 복호화 수단을 전송받는 단계 를추가로 포함하여 좀 더 안전하게 디지털데이터를 유통할 수 있도록 한다. In addition, prior to the step of decrypting the encrypted digital data on the main memory of the computer system, accessing a server system located at a remote location for user authentication, and if the user is authenticated as a legitimate user, decrypts the encrypted digital data. It further includes the step of receiving the decryption means to ensure that the digital data can be distributed more securely.

또한, 상기 실행 프로그램 코드는 실행에 필요한 필요기능 모듈을 리스트한 IAT(Import Address table)를 포함하여 구성되고, 상기 로딩된 실행프로그램을 분석하여 필요로 하는필요기능 모듈을 인지하는 단계는 상기 IAT을 분석하여 인지하는 단계일 수 있으며, 상기 IAT는 추가로 상기 실행 프로그램 코드는 실행에 필요한 필요기능 모듈을 호출할 수 있으며, 상기 실행 프로그램에서 상기 필요기능 모듈을 호출하는 목표 어드레스를 상기 인증기능 모듈의 엔트리 포인트 어드레스로 변경하는 단계 는상기 IAT의 호출 목표 어드레스를 상기 인증기능 모듈의 엔트리 포인트 어드레스로 변경하는 단계일 수 있다.The executable program code may include an import address table (IAT) which lists the necessary function modules required for execution, and analyzing the loaded execution program to recognize the required function module requires the IAT. And analyzing and recognizing, wherein the IAT may additionally call the necessary function module required for execution, and the target address for calling the required function module in the execution program of the authentication function module. The step of changing the entry point address may be a step of changing the call target address of the IAT to an entry point address of the authentication function module.

또한, 상기 인증기능 모듈의 실행에서 상기 복호화된 디지털 데이터에 대해 사용 가능하다고 인증된 필요기능 모듈의 목록을 주메모리에 로딩하는 단계 이전에, 원거리에 위치한 서버 시스템에 접속하여 사용자 인증을 받는 단계 및, 정당한 사용자로 인증되면 상기 인증된필요기능 모듈의 목록을 상기 서버 시스템으로부터 전송받는 단계 를 추가로 포함하여 좀 더 안전하게 디지털데이터를 유통할 수 있도록 한다. The method may further include: accessing a server system located at a remote location and receiving user authentication prior to the step of loading the main memory on the main memory a list of required function modules certified to be usable for the decrypted digital data in the execution of the authentication function module; In addition, if the user is authenticated as a legitimate user, the method may further include receiving a list of the certified necessary function modules from the server system so that the digital data can be more safely distributed.

또한, 상기 인증된 필요기능 모듈의 목록은 암호화된 파일이고, 상기 인증기능 모듈의 실행에서 상기 복호화된 디지털 데이터에 대해 사용 가능하다고 인증된 필요기능 모듈의 목록을 주메모리에 로딩하는 단계 이전에, 원거리에 위치한 서버 시스템에 접속하여 사용자 인증을 받는단계 및, 정당한 사용자로 인증되면 상기 인증된 필요기능 모듈의 목록을 복호화할 수 있는 복호화 수단을 상기 서버 시스템으로부터 전송받는 단계 를 추가로 포함하여 좀 더 안전하게 디지털데이터를 유통할 수 있도록 한다. Further, before the step of loading the main memory into the main memory, the list of the required functional modules is an encrypted file, and the list of the required functional modules certified to be usable for the decrypted digital data in the execution of the authentication functional module is performed. Accessing a server system located at a remote location and receiving user authentication; and receiving a decryption means from the server system for decrypting the list of the authenticated necessary modules if the user is authenticated as a legitimate user. Ensure safe distribution of digital data.

본 발명에서 언급되는 필요기능 모듈은 컴퓨터가 일반적인 프로그램 실행을 위해 필요로 하는 모든 모듈을 의미하는데, 그 예로서 화면보기, 화면저장, 화면프린팅, 파일편집, 파일저장, 파일전송, 파일프린팅, 파일암호화, 파일복호화, 사운드실행, 동영상실행, 자바스크립트 등에서 필요한 인터프리터 모듈 등의 프로그램실행 중 적어도 어느하나의 기능을 수행하는 모듈일 수 있으며, 본 발명에서 언급되는 디지털 데이터는 실행프로그램 코드, 영상 데이터, 텍스트 데이터, 소리 데이터, 정지화면데이터 또는 이미지데이터 중 적어도 어느 하나 이상의데이터일 수 있다. The necessary function module referred to in the present invention means all the modules that the computer needs for executing a general program, for example, screen view, screen save, screen printing, file editing, file storage, file transfer, file printing, file It may be a module that performs at least one of program execution, such as an interpreter module required in encryption, file decoding, sound execution, video execution, JavaScript, and the like. The digital data referred to in the present invention may be executed program code, image data, The data may be at least one of text data, sound data, still picture data, or image data.

본 발명은 또한, 암호화된 디지털 데이터를 컴퓨터 시스템의 주메모리상에서 복호화하는 복호화 수단; 주메모리상에 로딩된 실행 프로그램을 분석하여 필요로 하는 필요기능 모듈을 인지하는 필요기능 모듈 인식수단 상기 필요기능 모듈의 작동여부를 인증하는 인증수단 상기 주메모리상에 로딩된 실행 프로그램의 실행 코드 중 상기 필요기능 모듈을 호출하는 코드의 호출목표 어드레스를상기 인증수단의 엔트리 포인트 어드레스로 변경하는 어드레스 변경수단 상기 복호화된 디지털 데이터에 대해 사용 가능하다고 인증된 필요기능 모듈의 목록 상기 필요기능 모듈이 상기 인증된 필요기능 모듈의 목록에 속하는지를 판단하는 판단수단 을 포함하는 컴퓨터 프로그램에 대한 것이다.The present invention also provides decryption means for decrypting encrypted digital data on a main memory of a computer system; Analysis of the necessary function module for recognizing the required function module by analyzing the execution program loaded on the main memory. Authentication means for authenticating the operation of the required function module Among the execution codes of the execution program loaded on the main memory Address change means for changing the call target address of the code for calling the necessary function module to the entry point address of the authentication means List of necessary function modules certified to be usable for the decrypted digital data And a judging means for judging whether it belongs to the list of required function modules.

이하, 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다.Hereinafter, with reference to the drawings will be described embodiments of the present invention;

도 1은 디지털 데이터 거래에 필요한 본 발명의 시스템에 대한 일 실시예를 도시한 도면이다.1 is a diagram illustrating an embodiment of a system of the present invention required for digital data transactions.

도 1에서는, 디지털 데이터를 제작하여 판매하는 디지털데이터 판매자 클라이언트 시스템들(11)과 이러한 디지털 데이터를 구매하고자 하는 디지털데이터 구매자 클라이언트 시스템들(12)로 공급측과 수요측을 구분하고 있으며, 또한 이 양자의 거래를 주선하는 거래서버(13)가 그 사이에 존재하여, 판매자 클라이언트 시스템이 공급한 디지털 데이터의 목록 및 간략 내용을 나타내는 거래화면을 제공하고 구매자 클라이언트 시스템으로부터의 거래 요청에 대해 거래 과정을 처리한다. 또한 이 거래서버와는 별도로 은행이나 카드사 등의 결제 서버(14)가 이에 연결되어 구매자 및 거래를 인증하고 구매자의 계좌 등으로부터 실질적인 결제를 수행하도록 한다. In FIG. 1, the supply side and the demand side are divided into digital data seller client systems 11 for producing and selling digital data and digital data buyer client systems 12 for purchasing such digital data. There is a transaction server 13 which arranges a transaction in between, providing a transaction screen showing a list and a brief description of the digital data supplied by the seller client system and processing the transaction process for a transaction request from the buyer client system. do. In addition to the transaction server, a payment server 14, such as a bank or a card company, is connected thereto to authenticate the buyer and the transaction and to perform the actual payment from the buyer's account.

도 1에서 각 클라이언트 시스템(11,12)은 유선 또는 무선으로 거래서버에 연결될 수 있다. 또한 각 클라이언트 시스템은 컴퓨터, 휴대폰, PDA 등, 디지털 데이터를 업로드하거나 다운로드할 수 있고 또한 내용을 화면에 표시하거나 거래명령 및 조건들을 입력하고 처리할 수 있는 하드웨어적 구성이 갖추어진 장치라면 어떠한 것도 가능하다. 이러한 본 발명의 하드웨어적 구성은 인터넷 쇼핑몰같은 유형 재화(tangible goods)의 온라인 거래에 사용되는 시스템과 극히 유사하므로 특별한 경우를 제외한 상세 설명은 생략한다. In FIG. 1, each client system 11 and 12 may be connected to a transaction server by wire or wirelessly. In addition, each client system can be any device with a hardware configuration that can upload or download digital data such as a computer, mobile phone, PDA, etc., and display contents or input and process transaction orders and conditions. Do. Since the hardware configuration of the present invention is very similar to the system used for online trading of tangible goods such as an internet shopping mall, detailed descriptions except for special cases will be omitted.

또한, 본 발명에서 의미하는 디지털 데이터는 전송이 가능한 어떠한 형태의 것도 포함하는 것으로서, 가령, 게임이나 유용한 응용 프로그래으로서 그 자체가 실행 가능한 형태인 실행 프로그램의 코드, 훈민정음이나 아크로뱃 등으로 작성된 텍스트 데이터, MP3 형식이나 기타 형식의 소리파일이나 음악파일, 정지영상 및 동영상파일 등인 영상 데이터 및 이들이 혼합된 멀티미디어 데이터 등, 경제적 가치를 가지며 온라인에서 전송 및 배포가 가능한 모든 디지털 데이터를 포함하는 개념이다.In addition, the digital data as used in the present invention includes any form that can be transmitted, for example, text data created by code of an execution program that is itself executable as a game or useful application program, Hunminjeongeum or Acrobat, etc. It is a concept that includes all digital data that can be transmitted and distributed online with economic value such as image data such as sound file, music file, still image and moving image file in MP3 format or other format and mixed multimedia data.

도 2는 본 발명의 디지털데이터 거래과정에서 일어나는 단계를 각 거래 주체별로 구분한 플로우차트이며, 도 3은 거래서버를 구성하는모듈들을 설명하기 위한 도면이다.FIG. 2 is a flowchart for dividing the steps occurring in the digital data transaction process according to each trading entity, and FIG. 3 is a diagram for describing modules constituting a transaction server.

디지털데이터를 공급하는 측인 판매자클라이언트 시스템에서는 본 발명의 거래서버에 접속하여 거래화면 제공을 요구하고 거래서버는 이를 전송하는데, 이 거래화면은 디지털 데이터를 거래하는 사이버 거래장터 역할을 수행하는 것으로서, 가령 유선인 웹페이지나 무선인 왑(WAP) 페이지 등의 형식으로 제공될 수 있다. The seller client system, which is a supplier of digital data, requests to provide a transaction screen by accessing the transaction server of the present invention, and the transaction server transmits it. The transaction screen serves as a cyber transaction marketplace for trading digital data. It may be provided in the form of a web page that is wired or a WAP page that is wireless.

상기 거래화면에 접속한 판매자 클라이언트는 우선 판매자의 정보를 입력한다(S21). 여기서 판매자의 정보는 판매자 ID 또는 판매자 클라이언트 시스템의 IP 주소, 판매자 클라이언트 시스템의 고유기기정보 등이 해당되는데, 이는 향후 결제시 입금될 판매자의 계좌 정보등을 확인하기 위해서이다. The seller client accessing the transaction screen first inputs the seller's information (S21). Here, the seller's information corresponds to the seller ID or the IP address of the seller's client system, the unique device information of the seller's client system, etc., in order to check the seller's account information to be deposited in the future.

참고로 시스템의 고유기기정보란 컴퓨터의 운영체제나 CPU 등의 제품생산 번 호나 메모리스틱 형태로 제공될 스마트카드 정보를 의미하는 것으로, 사용자에 무관하게 디지털 데이터를 실행하는 컴퓨터 시스템만을 기준으로 거래 주체를 구분하기 위한 것이다. 따라서, 가령, 판매자측(11) 또는 거래서버(13)의 거래정책에 따라 동일한 사용자 ID, 동일한 IP, 동일한 컴퓨터 시스템 또는 동일한스마트카드라면 어디에서 누구라도 동일한 디지털 데이터를 이용할 수 있게 함으로써 좀 더 활발한 거래 및 이용을 유도할 수 있다. 이러한 상황은 구매자 클라이언트 시스템측(12)도 마찬가지이며 이하에서는 이러한 거래주체에 대한 정보를 단순히 판매자 정보 및 구매자 정보라 칭한다. For reference, the unique device information of the system refers to smart card information that will be provided in the form of a product production number or memory stick of a computer operating system, CPU, etc., and refers to a transaction subject based only on a computer system that executes digital data regardless of a user. To distinguish. Thus, for example, according to the transaction policy of the seller side 11 or the transaction server 13, the same user ID, the same IP, the same computer system or the same smart card anyone can use the same digital data more active Induce trade and use. This situation also applies to the buyer client system side 12, hereinafter, the information on such a trading entity is simply referred to as seller information and buyer information.

판매자 정보를 입력한 판매자 클라이언트 시스템은 그 후 거래될 디지털 데이터에 대한 디지털데이터정보를 거래화면에 입력한다(S22). 여기서 입력되는 디지털데이터정보는 거래될 디지털 데이터의 제목, 간략 설명, 카테고리 분류, 검색시 사용될 키워드 입력 등 거래 객체에 대한 일반적인 정보로서 구매자측이 거래 전에 해당 디지털 데이터를 충분히 인지할 수 있도록 조력하기 위한 정보들이다. The seller client system inputting the seller information inputs the digital data information about the digital data to be traded on the transaction screen (S22). The digital data information input here is general information about the transaction object such as title, brief description, category classification of the digital data to be traded, and keyword input to be used in the search, and is used to help the buyer to fully recognize the digital data before the transaction. Information.

또한 판매자는 이에 더하여 거래 가능한 기능을 그에 부가된 판매조건과 함께 입력한다. 이하에서는 상기 거래 가능한 기능과 그 판매조건을 거래기능정보라 통칭한다. The seller also enters the tradable function together with the terms of sale attached thereto. Hereinafter, the tradeable function and its selling condition are collectively referred to as transaction function information.

본 발명에서 거래기능정보란, 가령, 거래될 디지털 데이터를 단순히 보거나 듣는 형태인 실행 기능, 스트림 방식 등으로 제공된 디지털 데이터를 자신의 파일 시스템에 저장하는 저장 기능, 프린팅해서 종이로 출력하는 프린팅 기능, 타인에게 전송하는 전송 기능 등과 각 기능에 대하여 판매자가 설정한 가격 등의 판매조건을 의미하는데, 이는 일반적으로 지금까지는 하나의 디지털 컨텐츠에 대해 모두 허용되어 왔던 기능들이다. In the present invention, the transaction function information may include, for example, an execution function of simply viewing or listening to the digital data to be traded, a storage function of storing digital data provided in a stream system, etc., a printing function of printing and outputting to paper; It refers to the sales conditions such as the transmission function transmitted to others and the price set by the seller for each function. In general, these functions have been allowed for one digital content.

본 발명에서는 이 기능 각각을 거래 대상으로 구분하여 동일한 디지털 데이터에 대해서도 구매자에 따라 서로 다른 기능을 수행할 권한을 부여하고 자신에게 부여된 권한 이상의 기능은 수행되지 못하도록 함으로써, 디지털 데이터의 상품성을 극대화하는 방법을 제공하고자 하는 것이다. In the present invention, by dividing each of these functions into a transaction target, the right to perform different functions according to the buyer even for the same digital data, and to prevent the functions more than the authority granted to the user to maximize the merchandise of the digital data To provide a way.

이러한 거래기능정보를 입력한 후, 판매자는 거래 객체인 디지털데이터를 업로드한다(S23). After inputting such transaction function information, the seller uploads digital data which is a transaction object (S23).

전술한 업로드 및 거래 정보 등에 대한 입력은 그 순서를 바꾸어서 수행할 수도 있다.Input to the above-described upload and transaction information may be performed in a reversed order.

상기 입력된 정보들을 전송받은 거래서버(13)는 상기 판매자정보입력단계(S13)에서 입력된 정보 등을 바탕으로 상기 디지털데이터의 판매자를 구분하고 결제할 계좌정보 등을 인지한다(S24). 또한 디지털데이터정보 입력단계(S22)에서 입력된 정보를 바탕으로 해당 디지털데이터에 대한 정보를 식별하고(S25), 또한 거래기능정보를 이에 연동하여 식별한다. 여기서 식별이라 함은 입력된 정보를 전송받아 연동시켜 저장하고 후에 연동시켜 게시하는 등, 거래서버가 디지털데이터 유통에 필요한 작동을 하기 위해 객체인 디지털데이터를 취급하는데 필요한 인식을 말한다. The transaction server 13 receiving the inputted information distinguishes sellers of the digital data based on the information input in the seller information input step S13 and recognizes account information to be settled (S24). In addition, on the basis of the information input in the digital data information input step (S22) to identify the information on the digital data (S25), and also to identify the transaction function information in conjunction with this. In this case, the identification refers to the recognition necessary for the transaction server to handle the digital data, which is an object in order to perform the operations necessary for digital data distribution, such as receiving and storing the inputted information, interworking, storing and posting the data later.

그 다음, 거래 서버는 이 디지털데이터의 불법복제 및 불법 유통를 막기 위해서 암호화/복호화 모듈을 사용하여 암호화 작업을 수행하고 거래서버에 연동된 저장모듈에 이를 저장한 후(S26), 상기 디지털데이터정보를 유무선 인터넷 등이나 사설망으로 제공되는 거래화면에 게시한다(S28). 또한 상기 디지털데이터의 암호화 및 저장 시에 이 디지털데이터가 거래서버에 의해 암호화되고 판매된 것임을 인지할 수 있는 식별자를 부여함으로써 향후 다른 문서와 구분토록 한다(S27).Next, the transaction server performs an encryption operation using an encryption / decryption module to prevent illegal copying and illegal distribution of the digital data and stores it in a storage module linked to the transaction server (S26). Post to the transaction screen provided by wired or wireless Internet or private network (S28). In addition, when the digital data is encrypted and stored, the digital data is distinguished from other documents in the future by assigning an identifier for recognizing that the digital data is encrypted and sold by the transaction server (S27).

구매자 클라이언트 시스템(12)의 작동 방식에 대해서 설명하면, 우선 구매자 클라이언트 시스템은 거래서버(13)에 접속하여 거래 가능한 디지털데이터의 거래정보를 열람하고 거래하고자 하는 디지털데이터를 선택한다. 또한 이러한 선택을 전후하여 구매자 정보 및 결제정보를 제공하여 거래의 기본적인 요건을 갖추도록 한다(S29). Referring to the operation of the buyer client system 12, first, the buyer client system accesses the transaction server 13 to view transaction information of the tradable digital data and selects the digital data to be transacted. In addition, before and after this selection, the buyer information and payment information are provided to satisfy the basic requirements of the transaction (S29).

거래 대상인 디지털데이터를 정하여 다운로드 항목으로서 선택한 다음(S30), 그 디지털데이터에 대해서 어떤 기능을 수행할 것인지를 결정하는 인증기능 선택 단계를 거치고(S31), 거래정보를 바탕으로 이에 대해 결제를 승인한다(S32). 결제가 완료되면 구매자 클라이언트 시스템은 선택된 디지털데이터를 다운로드받아 사용가능한 상태가 된다(S33).After selecting the digital data to be traded as a download item (S30), and then go through the authentication function selection step of determining what function to perform the digital data (S31), and approves the payment on the basis of the transaction information (S32). When the payment is completed, the buyer client system downloads the selected digital data and is ready to use (S33).

전술한 거래 서버의 구성 모듈에 대한 구체적인 한 예가 도 3에 도시되어 있다. One specific example of the configuration module of the above-described transaction server is shown in FIG. 3.

도 3에서, 거래 서버(13)는 전술한 거래 객체에 대한정보(37)를 거래화면의 일부분으로서 클라이언트 시스템에 제공하는 디지털데이터 디스플레이 모듈(31), 거래대상인 디지털데이터 자체를 암호화하여 저장모듈에 저장하고 이에 대한 복호화수단을 제공하는 암호화/복호화 모듈(32), 디지털데이터와 이에 연동된 판매자 및/또는 구매자 정보, 거래조건 정보를 저장한 거래 DB 모듈(33), 판매자 클라이언트시스템(11)으로부터 데이터 및 거래 조건을 업로드받고 구매자 측의 거래요청에 대해 결제서버(14)를 연결하여 결제를 수행한 후 해당 디지털 데이터와 그 복호화 수단, 구매자에게 인증된 기능 목록, 본 발명에서 제공하는 응용 프로그램 형태의 보안엔진 등을 구매자 클라이언트 시스템(12)에 전송하는 등의 거래에 관련된 일반적인 기능을 수행하는 거래수행 모듈(34)과 이 모두를 제어하는 제어부(30)로 구성되어 있으며, 각 클라이언트 시스템, 저장모듈, 결제서버 등과의 통신을 위한 인터페이스 모듈(35) 등으로 구성된다. 여기서 상기 저장모듈(36), 결제서버(14)는 구성에 따라 거래서버 내부에 모듈형태로 포함될 수 있음은 물론이다.In FIG. 3, the transaction server 13 encrypts the digital data itself, which is a transaction target, and the digital data display module 31, which provides the client 37 with the information 37 on the transaction object as part of the transaction screen, and encrypts the digital data itself. An encryption / decryption module 32 for storing and providing a decryption means thereof, from a transaction DB module 33 for storing digital data and seller and / or buyer information linked thereto, and transaction condition information, and a seller client system 11 Upload the data and the transaction conditions, connect the payment server 14 to the buyer's transaction request and perform the payment, and then the corresponding digital data, its decryption means, the function list certified to the buyer, and the application form provided by the present invention. Transactions that perform common functions related to transactions, such as sending security engines, etc., to the buyer client system 12. It is composed of a performance module 34 and a control unit 30 for controlling both, and consists of an interface module 35 for communicating with each client system, storage module, payment server and the like. Here, the storage module 36 and the payment server 14 may be included in the form of a module in the transaction server according to the configuration.

또한, 도 3에서 상기 거래화면 중 객체정보 화면(37)의 한 예가 도시되어 있는데, 판매자는 이 화면(37)을 통해 자신이 업로드한 디지털데이터의 명칭, 간략설명, 거래 가능한 기능 들의 거래조건을 입력하여 제시할 수 있고, 구매자는 이 화면(37)을 보면서 필요한 대상과 조건을 설정하여 거래 서버(13)로 구매 요청 및 결제금액 등의 결제정보를 전송할 수 있게 된다. In addition, an example of the object information screen 37 of the transaction screen is shown in FIG. 3, and the seller displays the transaction conditions of the name, brief description, and tradeable functions of the digital data uploaded through the screen 37. It can be inputted and presented, and the buyer can set the necessary objects and conditions while viewing this screen 37 and transmit payment information such as a purchase request and a payment amount to the transaction server 13.

도시된 예에서는 화면실행, 저장, 전송 등 각 기능에 대한 구매금액이 나타나 있는데, 각 항목의 금액을 지불하고 특정 기능들을 구매하면 이는 해당 구매자의 해당 디지털데이터에 대한 인증기능이 되어 인증기능 목록에 저장된다. 즉, 인증기능 목록이란 해당 디지털데이터의 구매 여부와는 별도로, 해당 디지털데이터에 대해서 구매자만이 수행할 수 있는 기능을 의미하는 것이다. 이러한 인증기능 목록은 특히 디지털데이터의 전송이나 복제 등 해당 디지털데이터 저작권자의 저작권을 침해할 수도 있는 기능에 대해서, 구매자가 미리 이러한 기능을 구매하여 복제나 전송 기능 등을 수행할 경우 침해될 수 있는 디지털데이터의 저작권에 대해 사전에 그에 대한 정당한 보상을 하도록 구성한 것이다.In the example shown, the purchase amount for each function such as screen execution, storage, transmission, etc. is shown. If you pay the amount of each item and purchase certain functions, this function becomes the authentication function for the corresponding digital data of the corresponding buyer, Stored. In other words, the authentication function list means a function that only a purchaser can perform on the digital data, regardless of whether the corresponding digital data is purchased. This list of authentication functions is especially useful for digital infringement that can be infringed if the purchaser performs such a function in advance by copying or transmitting a function that may infringe the copyright of the copyright holder. The copyright of the data is configured in advance to justify the compensation.

이하에서는 인증기능 및 인증되지 않은 기능을 구분하고 이 둘을 합친 개념을 필요기능이라 칭한다. 거래가능한 필요기능은 도시된 것에 더하여 각 기능에 대한 부가적인 조건들, 가령 사용기간 등도 될 수 있다. Hereinafter, the concept of distinguishing the authentication function and the unauthenticated function and combining the two functions is called a necessary function. The tradable necessary functions may be additional conditions for each function in addition to those shown, such as the period of use.

한편, 도 3에서는 거래DB 모듈(33)에 저장되는 데이터가 어떻게 구성되는지의 한 예를 보여주고 있는데, 가령 특정한 디지털데이터와 이를 구매한 구매자의 ID 및 패스워드 등을 함께 연동시켜 저장함으로써, 어떤 구매자가 이 디지털데이터를 요구할 경우 해당 디지털데이터를 다운로드하고 복호화할 수 있는 권한이 있는지를 인증할 수 있도록 구성되어 있다. 또한, 그 구매자가 그 디지털데이터에 대해 어떠한 기능만을 수행할 수 있는지에 대한 인증기능 목록을 저장하여, 이하에서 설명되는 인증기능 모듈의 인증 확인시에 이를 참조할 수 있도록 구성되어 있다. 도시된 바에 따르면, 가령 A943이란 아이디를 가진 구매자는 D.exe라는 디지털데이터에 대해 D(screen display), S(save)기능만을 구매하였으므로 이 기능만을 인증기능 목록으로 권한이 부여되어 있음을 볼 수 있는데, 향후 이 사용자가 D.exe에 대해서 이 인증된 기능과는 다른 기능, 가령 프린팅 기능(P)을 수행하고자 시도하면 이 기능은 본 발명의 보안엔진에 의해 수행되지 않거나 에러로 처리된다. On the other hand, Figure 3 shows an example of how the data stored in the transaction DB module 33 is configured, for example, by storing the specific digital data and the ID and password of the buyer who purchased it in conjunction with, the buyer If the digital data is requested, it is configured to authenticate whether or not the user has the authority to download and decrypt the digital data. It is also configured to store a list of authentication functions for which function the buyer can perform only on the digital data, so that the purchaser can refer to the authentication function of the authentication function module described below. As shown, for example, a buyer with an ID of A943 purchased only D (screen display) and S (save) functions for digital data called D.exe, so only this function is authorized as a list of authentication functions. If, in the future, the user attempts to perform a function different from this authenticated function for D.exe, such as a printing function P, this function is not performed by the security engine of the present invention or is treated as an error.

도 4는 전술한 구매자 클라이언트 시스템(12)에서의 구매과정(S29 ~ S33)을 좀 더 상세하게 나타낸 흐름도이다. 먼저, 구매자는 구매자 클라이언트 시스템으로 서 인터넷 등에 연결된 퍼스널 컴퓨터, 휴대폰, PDA 등 통신기기를 이용하여 거래서버에 접속한 후, 구매자 정보를 입력하여(S29) 구매자를 인증받는다. 또한 이 인증을 전후하여 거래서버로부터 거래화면을 제공받아 거래 대상인 디지털데이터의 목록을 검색한다.4 is a flowchart showing in more detail the purchase process (S29 ~ S33) in the above-described buyer client system 12. First, the buyer is connected to the transaction server using a personal computer, mobile phone, PDA, etc. connected to the Internet as a buyer client system, and then enters the buyer information (S29) to authenticate the buyer. In addition, before and after this authentication, a transaction screen is provided from a transaction server to search a list of digital data subject to a transaction.

이러한 검색에 의해 다운로드 대상 및 이에 대해 구매자가 필요로 하는 필요기능들, 즉 인증기능 목록을 선택한 후(S30, S31), 이를 다운로드하기 위해서는 결제하는 과정(S32)을 거쳐야 한다. 결제는 사이버 머니나 기타 거래서버의 정책에 따라 유료광고를 시청하는 등의 다양한 댓가를 이용할 수 있다. 만약 실생활에서 사용되는 돈으로 결제한다면 사전에 저장된 해당 사용자의 결제정보를 이용하거나 또는 각 거래시마다 새로운 결제정보를 입력(S32-1)하도록 할 수 있다. The search target and the necessary functions required by the buyer for this search, that is, the authentication function list is selected (S30 and S31), and in order to download it, a payment process (S32) is required. Payment can be made at various costs, such as watching paid advertisements according to the policies of cyber money or other transaction servers. If payment is made using money used in real life, the user may use previously stored payment information or input new payment information for each transaction (S32-1).

결제 단계를 전후하여 선택된 디지털 데이터를 다운로드 받을 단말기, 즉 목표단말기를 선택하는 단계를 거칠 수도 있다(S33-1). 접속한 클라이언트 시스템이 목표단말기가 되는 것이 일반적이지만, 가령 친구에게 특정 음악파일을 선물하는 등의 경우에는 제3자의 클라이언트 시스템을 목표단말기로 선정하는 것이 가능해야 하기 때문이다. 이하에서는 특별히 언급하지 않는 한, 데이터를 구매한 구매자 클라이언트 시스템과 목표 단말기가 동일한 것으로 상정하여 설명한다. Before and after the payment step, the terminal to download the selected digital data, that is, the target terminal may be selected (S33-1). It is common for the connected client system to become a target terminal, but in the case of presenting a specific music file to a friend, for example, it is possible to select a third party client system as the target terminal. In the following description, it is assumed that the purchaser client system that purchased the data and the target terminal are the same unless otherwise noted.

결제 및 목표단말기 선정 등이 끝나면 실제 다운로드 단계에 진입한다. 다운로드를 요청하면(S33-2), 구매자에게는 마치 디지털데이터만 다운로드되는 것처럼 보일 수도 있지만 실제로는 본 발명의 거래 기능을 위해서 반드시 필요한 보안 엔진과, 전술한 인증기능 목록이 암호화된 상태로 디지털데이터와 함께 다운로드된다 (S33-3, S33-4, S33-5) After the payment and the target terminal selection are completed, the actual download phase is entered. When requesting a download (S33-2), it may appear as if only the digital data is downloaded to the buyer, but in reality the security engine necessary for the transaction function of the present invention and the above-mentioned authentication function list are encrypted and Downloaded together (S33-3, S33-4, S33-5)

이하에서는 상기 보안엔진을 특별히 본 발명자가 명명한 고유 명칭인, 도큐셀 엔진(docushell engine) 또는 줄여서 DSE라 칭하는데, 이는 본 발명의 거래방식을 위해 새로이 개발된 보안엔진이다. 이 DSE는 다운로드가 끝남과 동시에 자동적으로 클라이언트 시스템에 설치되도록 구성되어 있으며(S33-6), 또한 컴퓨터 시스템의 리지스트리(registry)에 등록되어 시스템을 시작할 때는 항상 주메모리상에 로딩되고 프로세스화 되므로써 사용자의 디지털데이터 사용을 보조하고 감시할 수 있도록 구성되어 있다. Hereinafter, the security engine is called a docushell engine, or DSE for short, which is a unique name named by the present inventor, which is a newly developed security engine for the transaction method of the present invention. This DSE is configured to be automatically installed on the client system at the end of the download (S33-6), and is also registered in the computer system's registry so that it is always loaded and processed in main memory at system startup. It is configured to assist and monitor users' use of digital data.

도 4에서 인증기능 목록 다운로드는 사전에 실시되지 않고 해당 인증기능을 사용하고자 할 때 비로소 사용자에 대한 인증을 거친 후 다운로드되도록 할 수도 있다. 또한, 상기 DSE에는 암호화된 디지털데이터를 복호화할 수 있는 복호화 수단이 함께 내장되어 있어 상기 DSE를 다운로드받아 설치하지 않으면 디지털데이터에 대한 복호화 및 그 활용이 아예 불가능하도록 구성되어 있다. In FIG. 4, the authentication function list download may not be performed in advance, but may be downloaded after authentication for the user when the user wants to use the corresponding authentication function. In addition, the DSE has a built-in decryption means for decrypting the encrypted digital data is configured so that it is impossible to decrypt and use the digital data at all unless the DSE is downloaded and installed.

도 5는 전술한 다운로드 과정이 완료되고 DSE가 설치된 목표 단말기 또는구매자 클라이언트 시스템(12) 구성의 한 예를 도시한 것이다.5 shows an example of the configuration of the target terminal or purchaser client system 12 in which the above-described download process is completed and the DSE is installed.

다운로드된 디지털 데이터(55) 및 그에 연동된 인증기능 목록(56)은 암호화된 상태로 하드디스크 등의 보조메모리(57) 등에 저장된다. 또한, DSE(50)가 설치되어 있는데 이 DSE는 파일식별자 판단모듈(51), 암호화/복호화 모듈(52), 후킹을 수행하는 후킹 모듈(Hooking module, 53) 및 필요기능에 대한 인증을 수행하는 인증기능 모듈(54)로 구성되어 있다. The downloaded digital data 55 and the authentication function list 56 linked thereto are stored in an auxiliary memory 57 such as a hard disk in an encrypted state. In addition, the DSE (50) is installed, the DSE is the file identifier determination module 51, the encryption / decryption module 52, the hooking module (hooking module 53) for performing the hooking and authentication for the necessary functions The authentication function module 54 is comprised.

상기 DSE의 모듈들에 대해서 간략히 설명하면, 파일식별자 판단모듈(51)은 DSE가 작동해서 영향을 미쳐야 할 디지털데이터를 구분하기 위한 모듈로서, 같은 파워포인트 데이터라도 본 발명의 방식으로 거래된 데이터인지 아닌지를 판단하기 위한 것이다. 구체적인 방법은 거래서버의 암호화/복호화 모듈(32)이 해당 디지털데이터를 암호화할 때 부여한 파일식별자를 파일식별자 판단모듈이 인지하여 이를 구분해 내는 기능을 수행한다. 그리고 암호화/복호화 모듈은 구매자의 시스템에 다운로드된 암호화된 디지털데이터(55) 및 인증기능 목록(56)을 복호화하고, 후에 사용자가 해당 디지털데이터로 작업한 후 이를 저장하라는 인증된 저장 명령을 내리면 그에 대해 주메모리에 기록된 데이터 중 필요한 데이터를 다시 암호화하여 저장하는 기능을 수행한다. 후킹 모듈(53)은 디지털데이터(55)를 실행할 실행 프로그램(50) 및 필요기능 모듈(58)이 운영체제의 로더에 의해 주메모리에 로딩된 후 후술되는 어드레스 리맵핑(address remapping)을 수행하는 모듈이며, 인증기능 모듈(54)은 요청된 필요기능이 인증기능 목록에 포함된 인증된 기능인지를 확인하는 모듈이다. 후킹 모듈(53)은 본 발명의 인증기능 모듈(54)이 작동하기 위해서 반드시 필요한 모듈로서 이 둘의 작동 방법에 대해서는 상세히 후술한다. Briefly describing the modules of the DSE, the file identifier determination module 51 is a module for distinguishing digital data to be influenced by the operation of the DSE, and whether the same PowerPoint data is traded data according to the present invention. It is to judge whether or not. In detail, the file identifier determination module recognizes and identifies the file identifier given when the encryption / decryption module 32 of the transaction server encrypts the corresponding digital data. The encryption / decryption module decrypts the encrypted digital data 55 and the authentication function list 56 downloaded to the purchaser's system, and afterwards, when the user issues an authorized storage command to save the data after working with the digital data, It encrypts and saves necessary data among the data recorded in main memory. The hooking module 53 is a module that performs address remapping, which will be described later, after the execution program 50 and the necessary function module 58 for executing the digital data 55 are loaded into the main memory by the loader of the operating system. The authentication function module 54 is a module for checking whether the requested necessary function is an authenticated function included in the authentication function list. The hooking module 53 is an essential module for the authentication function module 54 of the present invention to operate.

도 5에는 이에 더하여 상기 디지털데이터를 실행할 수 있는 실행 프로그램(57)과 그 실행 프로그램이 필요로 하는 필요기능 모듈들(58)의 예도 함께 도시되어 있는데, 이는 미리 클라이언트 시스템에 설치되어 있는 것이다. In addition, Fig. 5 also shows an example of an execution program 57 capable of executing the digital data and the necessary function modules 58 required by the execution program, which is pre-installed in the client system.

상기 실행 프로그램 및 필요기능 모듈의 예를 간단히 들면, 다운로드된 디지털데이터가 A.ppt라면 실행 프로그램은 미국 마이크로소프트사의 프로그램인 파워 포인트 프로그램(powerpoint.exe)이고 필요기능 모듈은 이 실행프로그램이 필요로 하는 각종 DLL 파일(dynamic loading library file)이 될 수 있다. For example, if the downloaded digital data is A.ppt, the executable program is a PowerPoint program (powerpoint.exe), a program of Microsoft Corporation, and the required function module is required for this executable program. It may be various DLL files (dynamic loading library files).

이러한 필요기능 모듈은 실행 프로그램 내부에 프로그램 코드로 존재하거나 또는 DLL 파일과 같은 독립된 모듈로 존재할 수 있는데, 어떠한 형태이든 이 필요기능을 수행하는 실행코드는 그 시작인 엔트리 포인트와 종료되어 실행을 다시 반환하는 리턴 포인트를 포함한 별도의 블록으로 구성되어 있는 경우가 대부분이며, 본 발명에서는 이 블록 형태의 실행코드를 필요기능 모듈이라 칭한다.Such a necessary module can exist as program code inside an executable program or as a separate module such as a DLL file. Execution code that performs this required function in any form returns to the beginning of the entry point and ends and returns execution. In most cases, the execution code in the form of a block is called a necessary function module.

실행 프로그램에 대해 필요기능 모듈은 저장, 전송, 화면 디스플레이 등 각각 독립된 보조적인 기능을 수행하므로, 실행 프로그램과 필요기능 모듈은 실제 실행을 위해 프로세스화 되었을 때 주메모리상에서 어드레스 맵핑과정을 거쳐 서로 결합되는데, 가령 실행 프로그램의 IAT(Import Address Table)를 분석하여 각 필요기능(Ft1, Ft2)을 인지하고 이들이 호출하는 필요기능 모듈의 주소(Adrs1, Adrs2)를 필요기능 모듈의 EAT(Export Address Table)에서 읽어와 IAT에 저장하는 방식이다. 이에 대해서는 일반적으로 잘 알려져 있으며 또한 다시 한 번 상세히 후술한다. Since the necessary function modules perform independent auxiliary functions such as storage, transmission, and screen display, the execution program and the necessary function modules are combined with each other through address mapping process in main memory when they are processed for actual execution. For example, by analyzing the import address table (IAT) of the executing program, each required function (Ft1, Ft2) is recognized, and the address (Adrs1, Adrs2) of the required function module called by them is Read and store in IAT. This is generally well known and is described later in detail again.

이렇게 DSE 및 각종 모듈이 설치된 클라이언트 시스템에서 다운로드된 디지털데이터를 작동시킬 때의 흐름도가 도 6에 나타나 있다.A flowchart of operating digital data downloaded from the client system in which the DSE and various modules are installed is shown in FIG. 6.

도 6에서는 이해를 돕기 위해 실행 프로그램을 A.exe로, 실행 대상인 디지털데이터를 DD.aaa로, 암호화된 DD.aaa는 DD.aaa.ms로 예시하였다. 물론 이러한 예시는 본 발명을 어떤 특정 형식에 한정짓는 것이 아니다.In FIG. 6, an executable program is exemplified as A.exe, digital data to be executed as DD.aaa, and encrypted DD.aaa as DD.aaa.ms. Of course, these examples do not limit the invention to any particular form.

본 발명의 DSE는 일반적으로는 해당 클라이언트 시스템이 부팅된 후, 셀(shell) 모듈을 설치할 때 함께 설치되도록 레지스트리에 구성되어 있으므로 항상 실행 프로그램 및 디지털데이터의 실행 전에 프로세스화 된다(S61). 하지만, 필요한 경우에는 특정 실행 프로그램의 실행 요청을 접수했을 때(S62) 또는 본 발명의 거래서버가 부여한 식별자, 즉, 도 6에서는 암호식별자로 ms를 가진 디지털데이터의 실행 요청시에(S65) DSE가 비로소 주메모리상에 로딩되어 프로세스화 되도록 구성될 수도 있다. Since the DSE of the present invention is generally configured in the registry to be installed together when the shell module is installed after the client system is booted, the DSE is always processed before execution of the execution program and the digital data (S61). However, if necessary, when receiving a request for execution of a specific execution program (S62) or an identifier assigned by the transaction server of the present invention, that is, in FIG. 6, when requesting execution of digital data having ms as an encryption identifier (S65), DSE. May be configured to be loaded into main memory and processed.

또한, 디지털데이터 DD.aaa의 사용자인 구매자 등은 이를 실행할 수 있는 실행 프로그램 A.exe의 실행을 먼저 요청한 후 DD.aaa의 실행을 요청하거나 또는 DD.aaa의 실행을 먼저 요청한 후 운영체제에 의해 자동적으로 A.exe가 실행이 되도록 할 수 있으므로, 도 6에서는 실행 프로그램 실행 요청 및 그 후의 단계들(S62 ~ S64)과 디지털데이터 실행 요청 및 그 후속 단계들(S65 ~ S67)을 나란히 배치하여 그 우선 순위가 없음을 강조하였다. In addition, the purchaser of the user of the digital data DD.aaa or the like first requests the execution of the executable program A.exe, and then requests the execution of the DD.aaa, or the DD.aaa first, and then automatically Since A.exe can be executed, in FIG. 6, the execution program execution request and subsequent steps S62 to S64 and the digital data execution request and subsequent steps S65 to S67 are arranged side by side. There is no ranking.

따라서 결론적으로, DSE의 프로세스화 단계(S61), 실행 프로그램의 실행 요청 단계(S62)및 디지털데이터의 실행 요청 단계(S65)는 서로 어느 것이 우선하더라도 본 발명을 실행하는 데 차이가 없고, 다만 실행 프로그램이 주메모리상에 로딩(S63)되기 전에, 그리고 디지털데이터가 실행(S67)되기 전에 DSE가 프로세스화(S61) 되어 있으면 된다.Therefore, in conclusion, the process step (S61) of the DSE, the execution request step (S62) of the execution program and the execution request step (S65) of the digital data, there is no difference in the execution of the present invention, whichever comes first, but only execution The DSE needs to be processed (S61) before the program is loaded onto the main memory (S63) and before the digital data is executed (S67).

도 6에서, 실행 프로그램 실행을 먼저 요청한 경우(S62), 실행 프로그램은 클라이언트 시스템의 주메모리에 로딩되고(S63), 그 후 DSE에 의해 실행 프로그램 의 필요기능 모듈 호출이 분석된 후, 어드레스 리맵핑(address remapping)을 통해 인증기능 모듈이 필요기능 모듈 대신에 작동하도록 조치하는 후킹(hooking) 단계(S64)를 거치게 된다. In Fig. 6, when the execution program execution request is first requested (S62), the execution program is loaded into the main memory of the client system (S63), and after the required function module call of the execution program is analyzed by the DSE, the address remapping is performed. Through address remapping, an authentication function module goes through a hooking step (S64) in which the authentication function module operates instead of the required function module.

상기 단계(S62 ~ S64)를 전후하여 구매자는 실행하고자 하는 디지털데이터의 실행을 요청하는데(S65), 이 요청에 대해 DSE는 자신의 내부 모듈인 복호화 모듈(52)로 암호화된 디지털데이터 DD.aaa.ms를 복호화하여 DD.aaa로 주메모리에 로딩한다(S67). Before and after the steps S62 to S64, the buyer requests execution of the digital data to be executed (S65). In response to the request, the DSE encrypts the digital data DD.aaa encrypted by the decryption module 52 which is its internal module. Decode .ms and load it into main memory as DD.aaa (S67).

복호화 모듈에 대한 또 다른 방식으로서는, 이 디지털데이터의 실행 요청 접수 후(S65), 클라이언트 시스템에 연결된 거래서버가 사용자를 다시 한 번 인증하고 DSE의 모듈인 복호화 모듈을 이때야 비로소 전송하여 상기 복호화 단계를 거칠수도 있다(S79). 이는 정당 사용자의 정당한 사용인지를 다시 한 번 확인하는절차이며 따라서 이 실시예에서는 상기 DSE의 복호화 모듈이 DSE와 분리되어 따로 다운로드받는 형태이다.As another method for the decryption module, after receiving the execution request of the digital data (S65), the transaction server connected to the client system authenticates the user again and transmits the decryption module which is a module of the DSE until the decryption step. It may be rough (S79). This is a procedure for confirming whether the party user is a legitimate use again. Therefore, in this embodiment, the decryption module of the DSE is downloaded separately from the DSE.

또한, 이 때를 전후하여 사용자가 결제하여 인증된 인증기능 목록을 복호화하여 주메모리에 설치하는데, 인증기능 목록이 암호화된 상태인 이유는 이 목록을 해킹하는 것을 방지하기 위해서이다. 본 발명에서는 인증기능 목록이 사전에 다운로드되어 암호화된 상태로 클라이언트 시스템에 저장된 실시예를 기준으로 설명하지만, 사용자 인증 후(S79) 비로소 인증기능 목록이 다운로드되어 설치되는 실시예가 가능함은 당연한 일이다. 따라서 이 두 경우를 모두 포함하여 인증기능 목록 획득 단계(S66)라 칭한다.In addition, before and after this time, the user deciphers and installs a list of authenticated authentication functions in the main memory. The reason for the authentication function list being encrypted is to prevent hacking of this list. Although the present invention will be described based on the embodiment of the authentication function list downloaded in advance and stored in the client system in an encrypted state, it is natural that an embodiment in which the authentication function list is downloaded and installed after user authentication (S79) is possible. Therefore, the authentication function list acquisition step (S66) is included in both cases.

전술한 도 6의 과정에서, 만약 사용자가 디지털데이터의 실행을 먼저 요청한 경우(S65)에는, 디지털데이터 프로세싱 단계(S65 ~ S67) 후 실행 프로그램 프로세싱 단계(S62 ~ S64)가 실행될 수 있다.In the above-described process of FIG. 6, if the user first requests the execution of digital data (S65), the execution program processing steps S62 to S64 may be performed after the digital data processing steps S65 to S67.

상기 초기 과정이 실행된 후, 실행 프로그램은 복호화된 디지털데이터 DD.aaa에 대한 실제 프로세싱을 시작하게 되는데(S68), 이 때 실행 프로그램은 이 데이터를 화면에 디스플레이하거나 사운드로 재생하기 위한 필요기능 모듈을 호출하게 되고 그 밖에도 사용자의 명령에 따라 편집, 저장, 전송 등을 위한 필요기능 모듈들을 호출하게 된다(S69). After the initial process is executed, the executing program starts the actual processing on the decoded digital data DD.aaa (S68), in which the executing program displays the necessary data on the screen or plays a sound module. In addition to this, in addition to the user's command to call the necessary function modules for editing, storage, transmission, etc. (S69).

필요기능 n이라 도시된 특정 필요기능 모듈이 실행 프로그램에 의해 호출되면(S69) 이는 사전에 DSE에 의해 후킹되어 있으므로(S64) 필요기능 모듈 대신에 인증기능 모듈(54)이 호출된다. 인증기능 모듈은 이미 복호화된 인증기능 목록(56)을 참조하여 호출된 필요기능 모듈 n이 인증된 기능인지를 체크하는 인증 과정(S70)을 거치게 된다.When the specific necessary function module shown as necessary function n is called by the execution program (S69), it is hooked up by the DSE in advance (S64), and thus the authentication function module 54 is called instead of the required function module. The authentication function module goes through an authentication process (S70) of checking whether the required function module n called with reference to the already decrypted authentication function list 56 is an authenticated function.

호출된 필요기능 n 이 인증된 것이라 판단되면, 인증기능 모듈은 이 필요기능 모듈n 을 호출하여 정상 실행되도록 조치한다(S71). 반대로, 호출된 필요기능 모듈이 인증기능 목록에 존재하지 않는다면, 인증기능 모듈은 이 호출에 대해 무반응하거나 에러 메시지를 생성한 후(S72), 다시 실행 프로그램으로 리턴하도록 조치하여(S73) 인증되지 않은 필요기능은 수행되지 못하도록 한다. 또한, 이러한 필요기능 호출은 여러 번 반복적으로 수행될 수 있으며 그 때마다 전술한 인증기능 모듈의 실행이 반복된다(S69 ~ S72). When it is determined that the required function n is authenticated, the authentication function module calls the required function module n to execute normal operation (S71). On the contrary, if the called function module does not exist in the authentication function list, the authentication function module does not respond to the call or generates an error message (S72), and then returns to the executing program (S73). Unnecessary functions should not be performed. In addition, the necessary function call can be repeatedly performed several times, and the execution of the above-described authentication function module is repeated each time (S69 to S72).

모든 후속 작업이 실행되면(S73) 실행 프로그램의 DD.aaa.에 대한 실행은 종료되고(S74) DSE는, 필요한 경우, 주 메모리에 기록된 데이터들을 암호화하여 파일 시스템에 저장하거나(S75) 또는 주메모리에서 완전히 삭제하여(S76) 복호화된 디지털데이터에 대한 해킹을 방지하도록 조치한다.When all subsequent operations are executed (S73), execution of the DD.aaa. Of the executing program is terminated (S74), and if necessary, the DSE encrypts the data recorded in the main memory and stores it in the file system (S75) or It is completely erased from the memory (S76) to prevent hacking on the decrypted digital data.

도 7a는 종래의 실행 프로그램의 작동 순서를 도시한 것이고 도 7b는 본 발명의 작동 순서를 도시한 것으로서, 특히 전술한 본 발명의 후킹 단계(S64) 및 인증 단계(S70 ~ S72)를 상세히 설명하기 위한 도면이다. FIG. 7A illustrates the operation sequence of a conventional execution program, and FIG. 7B illustrates the operation sequence of the present invention. In particular, the above-described hooking step S64 and authentication steps S70 to S72 of the present invention will be described in detail. It is for the drawing.

먼저, 종래 방식인 도 7a을 살펴보면, 실행 프로그램(57)은 이를 설명해주는 파일 헤더(70)와 실제 실행될 코드인 실행코드 영역(71)으로 구분되어 있으며, 또한 실행코드(71)에서 호출하는 함수, 즉 본 발명에서는 필요기능 모듈이라는 불리는 코드 블록에 대한 호출 어드레스를 리스트한 IAT(Import Address Table, 73)를 포함하여 구성되어 있다. First, referring to FIG. 7A, the execution program 57 is divided into a file header 70 that describes this, and an execution code area 71 that is an actual code to be executed, and is also called by the execution code 71. That is, the present invention is configured to include an IAT (Import Address Table) 73 listing the call addresses for the code block called the necessary function module.

또한 필요기능 모듈(58)은, 파일 헤더(74)와 실제 기능하는 실행코드 영역(75) 및 실행코드 영역의 엔트리 포인트 주소를 기록한 EAT(Export Address Table, 76)로 구성되어 있다. The necessary function module 58 is composed of a file header 74, an executable code area 75 that actually functions, and an EAT (Export Address Table) 76 that records an entry point address of the executable code area.

그 작동 방식을 살펴보면, 우선 실행 프로그램(57)의 전 코드가 주메모리에 로딩된 후, 시스템의 운영체제는 실행코드 영역(71)을 파싱(parsing)하거나 또는 직접적으로 IAT(73)를 분석하여 이 실행 프로그램이 필요로 하는 필요기능 모듈의 어드레스를 맵핑하게 된다. 가령, 도시된 실시예에서는 어드레스 350에서 PLAY라는 필요기능 모듈을, 어드레스 480에서 PRINT라는 필요기능 모듈을 호출하는데, 이를 실행토록 하기 위해서 필요기능 모듈로서, 가령 DLL파일인 PLAY.dll과 PRINT.dll을 주메모리에 배치하고 각각의 EAT(Export Address Table)을 참조하여 절대주소, 가령, 1200과 1800을 실행프로그램의 IAT(73)에 기록한다. In operation, first, after all the code of the executable program 57 is loaded into the main memory, the operating system of the system parses the executable code area 71 or directly analyzes the IAT 73. The address of the necessary function module required by the executing program is mapped. For example, in the illustrated embodiment, a required function module called PLAY is called at address 350, and a required function module called PRINT is called at address 480. In order to execute this, a required function module is called, for example, DLL files PLAY.dll and PRINT.dll. Is stored in the main memory, and the absolute addresses, for example, 1200 and 1800, are recorded in the IAT 73 of the execution program by referring to each export address table (EAT).

DLL 파일은 여러 종류의 실행프로그램이 공통으로 사용할 수 있도록 구성된 기능모듈로서, 실행 프로그램의 크기를 작게 하고 효율적인 실행을 위해서 개발된 방식이며 현재의 윈도우즈 운영체제하에서는 일반적으로 사용되는 기능모듈이다. 본 발명에서는 DLL파일을 필요기능 모듈의 예로서 들고 있지만, 동일한 방식으로 호출되어 특정기능을 수행한 후 다시 메인 프로그램으로 복귀하도록 구성된 기능코드 블록이라면 어떠한 형태의 것도 본 발명의 필요기능 모듈이 될 수 있다. DLL file is a functional module that can be used by various types of executable programs in common. It is a method developed to reduce the size of an executable program and execute it efficiently, and is a functional module generally used under the current Windows operating system. In the present invention, the DLL file is taken as an example of the required function module, but any form of the function code block configured to return to the main program after being called in the same manner to perform a specific function may be required function module of the present invention. have.

이러한 IAT 기록 후, 실행 프로그램의 실행코드가 실제로 CPU에서 실행되다가 어드레스 350에서 PLAY 기능 모듈을 호출하게 되는데(단계 ①), 이는 실제로 함수 명칭을 호출하는 것이 아니라 IAT(73)의 해당 코드라인, 즉 도시된 실시예에서는 어드레스 100을 호출하는 것이다.After this IAT recording, the execution code of the executing program is actually executed on the CPU and calls the PLAY function module at address 350 (step ①), which does not actually call the function name, but rather the corresponding code line of the IAT 73, namely, In the illustrated embodiment, address 100 is called.

어드레스 100을 가진 IAT의 코드는 PLAY.dll을 호출할 수 있도록 사전에 어드레스 1200으로 맵핑되어 있으므로, 단계 ①의 점핑에 의해 어드레스 100을 실행하면 다시 코드 1200을 호출하게 되고(단계 ②), 어드레스 1200을 가진 코드에서 실제로 PLAY.dll이 실행된 후 리턴 명령에 의해 실행 프로그램 코드로 돌아오게 된다(단계 ③).Since the code of IAT with address 100 is mapped to address 1200 in advance so that PLAY.dll can be called, when address 100 is executed by jumping in step ①, code 1200 is called again (step ②), and address 1200 After the PLAY.dll is actually executed in the code with the return code, the program returns to the executing program code (step ③).

그 후, 실행 프로그램 코드가 계속 실행되다가 어드레스 480 코드를 실행하면서 다시 PRINT.dll 기능모듈 호출을 만나게 되면 전술한 방식대로 단계 ④부터 단계 ⑥ 까지를 거치게 된다.After that, if the execution program code continues to execute and executes the address 480 code and encounters a PRINT.dll function module call, the process goes from step ④ to step ⑥ in the above-described manner.

이러한 기능모듈 호출을 후킹하여 인증기능 모듈로 호출을 리다이렉션(re-direction)하는 본 발명의 수행방식이 도 7b에 도시되어 있다. The implementation of the present invention by hooking this function module call and redirecting the call to the authentication function module is shown in FIG. 7B.

도 7b에서, 실행 프로그램 코드가 주메모리에 로딩된 후, 시스템의 운영체제가 IAT(73)의 필요기능 모듈의 어드레스를 맵핑하고 나면, 그 직후 또는 실행 프로그램의 프로세스 단계 이전에, DSE(50)의 후킹 모듈(53, 도시되지 않음)에 의해 후킹 단계가 수행된다(S64). In FIG. 7B, after the executable program code is loaded into the main memory, after the operating system of the system maps the address of the required function module of the IAT 73, immediately after or before the process step of the executable program, The hooking step is performed by the hooking module 53 (not shown) (S64).

후킹 모듈(53)은 IAT의 호출 어드레스를 다시 수정하는데, 가령 도 7a에서처럼 PLAY.dll을 실행하기 위해 어드레스 1200을 호출하도록 운영체제에 의해서 정해져 있던 IAT의 어드레스 100 코드의 호출 목적지를 어드레스 1000을 호출하도록 수정하고, 어드레스 1000에는 PLAY.dll 대신에 이에 대응하는 인증기능 모듈(54)을 배치하는 것이다. The hooking module 53 modifies the call address of the IAT again, for example, to call address 1000 as the call destination of the address 100 code of the IAT which was determined by the operating system to call address 1200 to execute PLAY.dll as shown in FIG. 7A. In this case, the authentication function module 54 is disposed at the address 1000 instead of PLAY.dll.

나머지 필요기능 호출에 대해서도 동일한 과정을 거칠 수 있도록 IAT의 호출 어드레스들을 수정하는 것으로 본 발명의 후킹 단계(S64)가 종료되고 실행 프로그램은 실시할 수 있는 상태로 사용자의 명령 및 작업에 대기하게 된다. By modifying the call addresses of the IAT so that the same process can be performed for the remaining necessary function calls, the hooking step S64 of the present invention is terminated, and the execution program waits for the user's command and task in a state capable of executing.

그 다음 실제로 실행 프로그램의 실행시에 어드레스 350에서 PLAY.dll의 호출을 실행하게 되면, 이는 먼저 어드레스 100의 IAT로 점핑한 후(단계 ①), 후킹 모듈의 조작에 의해 조작된 주소인 어드레스 1000을 호출하게 된다(단계 ②). Then, when the execution program is actually executed, the call of PLAY.dll is executed at address 350, which is first jumped to the IAT of address 100 (step ①), and then the address 1000, which is the address manipulated by the operation of the hooking module, is executed. Will be called (step ②).

어드레스 1000의 코드는 PLAY.dll의 엔트리 포인트가 아니라 본 발명의 인증기능 모듈인 MyPLAY.dll의 엔트리 포인트이다. 따라서 인증기능 모듈이 먼저 실행 되게 되는데, 여기서 인증기능 모듈은 실행 프로그램에서 호출한 PLAY.dll이란 필요기능 모듈이 인증기능 목록에 기록된 필요기능 모듈, 즉 사용자가 정당하게 구매하거나 획득한 필요기능에 해당하는지를 인증하는 단계(S70)를 수행한다. The code at address 1000 is not an entry point of PLAY.dll, but an entry point of MyPLAY.dll, which is an authentication function module of the present invention. Therefore, the authentication function module is executed first. Here, the authentication function module is the required function module called PLAY.dll called by the executing program. A step S70 of authenticating is performed.

확인 방법은, 인증기능 모듈(54)이 도시된 바와 같이 별도로 구분된 인증기능 목록(56)을 호출하고 인증기능 목록이 자신의 목록을 검색하여 MyPLAY.dll이 인증된 것인지를 체크한 후, 그 결과값을 인증기능 모듈(54)에 전달하는 방식(단계 ③)과, 인증기능 목록(56)에 기록된 값을 바탕으로 각 인증기능 모듈(54)내에 미리 그 결과값을 저장하고 인증에 대비하는 방식이 가능하다. 이처럼 미리 인증기능 모듈에 결과값을 저장하는 방식 또한 본 발명의 DSE가 수행한다. Verification method, the authentication function module 54 calls the separate authentication function list 56 as shown, and the authentication function list retrieves its list and checks whether MyPLAY.dll is authenticated, and then the Based on the method (step ③) of transmitting the result value to the authentication function module 54 and the value recorded in the authentication function list 56, the result value is stored in advance in each authentication function module 54 and prepared for authentication. It is possible to do this. As described above, the method of storing the result value in the authentication function module is also performed by the DSE of the present invention.

또 다른 확인방법은, 인증기능 모듈(54) 실행시에, 비로소 구매자 클라이언트 시스템(12)이 거래서버(13)에 접속한 후, 거래서버(13)에 인증기능 모듈에 대한 인증 결과값을 요청하여 그 결과값을 통보받는 방식이다. 이 경우에는 인증기능 목록(54)이 처음부터 구매자 클라이언트 시스템(12)에 전달되지 않고 다만 거래서버(13)의 거래DB 모듈(33)에만 저장되어 있다가 호출에 응답하는 방식으로서 해킹에는 가장 안전한 방식이다.Another verification method is that when the authentication function module 54 is executed, the purchaser client system 12 connects to the transaction server 13 and then requests the transaction server 13 for an authentication result value for the authentication function module. The result is notified. In this case, the authentication function list 54 is not transmitted to the purchaser client system 12 from the beginning but is stored only in the transaction DB module 33 of the transaction server 13 and responds to the call. That's the way.

호출된 필요기능 모듈이 인증기능 목록에 포함되어 있다고 판단되면 인증기능 모듈(54)은 비로소 PLAY.dll의 주소인 어드레스 1200 코드를 호출하여 이 기능이 실행되도록 하고(단계 ④), PLAY.dll은 실행 후 인증기능 모듈(54)을 거쳐 제어권을 다시 실행 프로그램으로 넘겨준다(단계 ⑤). When it is determined that the called function module is included in the authentication function list, the authentication function module 54 calls the address 1200 code, which is the address of PLAY.dll, to execute this function (step ④), and PLAY.dll After execution, the control right is passed back to the execution program via the authentication function module 54 (step ⑤).

다음 실행 프로그램 코드의 실행 중에 어드레스 480의 코드를 실행하면서 필 요기능 PRINT.dll의 호출을 처리한다면, IAT의 어드레스 200으로 점핑(단계 ⑥)은 다시 DSE에 의해 조작된 주소인 어드레스 1100을 호출하여(단계 ⑦) 이 PRINT 기능 모듈에 대한 인증과정을 거치게 된다. 이 때 역시 동일한 인증과정(단계 ⑧)을 거치는데, 그 결과값이 부정적이면 어드레스 1800에 위치한 PRINT.dll은 실행되지 않고 대신 에러값을 내놓거나 무반응하면서 실행 프로그램의 다음 명령을 실행하도록 조치된다(단계 ⑨).If the processing of the required function PRINT.dll is executed while executing the code of address 480 during execution of the next executable program code, jumping to address 200 of IAT (step ⑥) again calls address 1100, which is the address manipulated by DSE. (Step ⑦) This PRINT function module goes through the authentication process. At this time, it goes through the same authentication process (step ⑧). If the result is negative, PRINT.dll located at address 1800 is not executed. Instead, it executes the next command of the executing program with an error value or no response. (Step ⑨).

이러한 과정을 통하여 본 발명의 DSE는 구매자가 인증받지 못한 필요기능들을 수행되지 못하도록 함으로써 본 발명의 거래방식을 안전하게 수행할 수 있도록 하는 것이다.Through this process, the DSE of the present invention prevents the purchaser from performing necessary functions that are not authenticated so that the transaction method of the present invention can be safely performed.

도 8은 본 발명의 또 다른 실시예를 도시한 것으로서, 본 발명의 전술한 작동방식을 무력화시키고자 하는 해킹에 대비한 방식이다.Figure 8 shows another embodiment of the present invention, which is a way to prepare for hacking to disable the above-described operation of the present invention.

본 발명의 작동 방식을 이해한 해커라면, 본 발명의 DSE의 후킹 모듈과 유사한 후킹 모듈을 만들 수 있다. 즉, 해커 모듈은 본 발명의 DSE가 한 것처럼 실행 프로그램의 IAT 호출 어드레스를 수정함으로써 본 발명의 DSE를 무력화시킬 수 있는데, 가령 본 발명의 DSE가 IAT를 도 7b에 도시된 것처럼 "100: PLAY : 1200" 을 "100: PLAY : 1000"으로 수정하면 해커 모듈이 다시 이를 원래의 "100: PLAY : 1200"으로 수정하여 인증기능 모듈을 거치지 않도록 하는 것이다.Any hacker who understands the manner of operation of the present invention can make a hooking module similar to the hooking module of the DSE of the present invention. That is, the hacker module can disable the DSE of the present invention by modifying the IAT call address of the executing program as the DSE of the present invention does. For example, as shown in FIG. If you change 1200 "to" 100: PLAY: 1000 ", the hacker module will modify it back to the original" 100: PLAY: 1200 "so that it does not go through the authentication function module.

이에 대한 대응책으로 도 8의 실시예는 DSE에 문자암호화 모듈(81)을 더 구비한다. 즉, 본 발명의 DSE는 IAT 및 DLL에 기록된 "PLAY" 나 "PRINT"라는 텍스트데이터를 찾아내어 조작해야 할 어드레스를 수정하는데, 해커 모듈도 대부분은 이 러한 기능모듈의 이름을 찾아내어 그 부분을 수정할 것이므로, 문자암호화 모듈을 이용하여 후킹 단계 후에 이 필요기능 모듈들의 이름인 텍스트데이터를 지워버리거나 엉뚱한 이름으로 변경함으로써 어드레스 수정위치를 찾지 못하도록 하는 것이다.In response, the embodiment of FIG. 8 further includes a character encryption module 81 in the DSE. That is, the DSE of the present invention finds the text data of "PLAY" or "PRINT" recorded in the IAT and the DLL and corrects the address to be manipulated. Most of the hacker modules also find the names of these functional modules, Since the character encryption module will be modified, the text data which is the names of these necessary modules after the hooking step is deleted or changed to the wrong name so that the address modification position cannot be found.

가령, 도 8에 도시된 것처럼, 본 발명의 DSE가 IAT에서 필요한 기능 모듈인 "PLAY" 나 "PRINT"라는 텍스트를 찾아 그 호출 어드레스들을 인증기능 모듈의 어드레스로 수정한 다음, 문자암호화 모듈(81)이 이 기능모듈들의 이름이 기록된 주메모리상의 모든 부분을 검색하여 이를 완전히 다른 이름인 "Ft1", "Ft2" 등으로 바꾸는 것이 그 한 예이다. For example, as shown in FIG. 8, the DSE of the present invention finds the text "PLAY" or "PRINT", which is a function module required by the IAT, modifies the call addresses to the address of the authentication function module, and then uses the character encryption module 81. An example would be to search for all parts of main memory where the names of these function modules were recorded and rename them with completely different names "Ft1", "Ft2", and so on.

해커모듈이 DSE가 후킹하기 전에 어드레스를 바꾸는 것은 그 뒤의 DSE에 의해 다시 번지수가 바뀔 것이므로 아무런 소용이 없고 따라서 반드시 DSE가 작동한 후에 접근해야 하는데, 문자암호화 모듈의 작동에 의해 해커모듈이 필요한 기능모듈의 이름들을 찾을 수 없으므로 결국 해킹은 실패하게 되는 것이다. Changing the address before the hacker module hooks to the DSE is useless since the address will be changed by the subsequent DSE, so it must be accessed after the DSE is running. Since the names of the modules cannot be found, the hack will eventually fail.

본 발명은 온라인에서 디지털데이터를 거래하는 방법을 제공하는 것으로서, 본 발명을 이용하여 다양한 디지털데이터를 다양한 옵션으로 거래할 수 있게 된다.The present invention provides a method of trading digital data online, and the present invention enables trading of various digital data with various options.

또한 본 발명은 디지털데이터의 안전한 실행을 도모함으로써 디지털데이터의 유통에 가장 큰 문제로 부각되는 해킹이나 불법복제 등을 방지할 수 있도록 구성되어 있다.In addition, the present invention is configured to prevent hacking, illegal copying, etc., which are the biggest problems in the distribution of digital data by promoting safe execution of digital data.

본 발명을 이용하면 온라인 디지털데이터 거래에 건전하고 다양한 상거래 질 서를 확립할 수 있으므로, 좀 더 발달된 디지털데이터가 제작될 수 있는 사회적, 기술적 분위기를 형성할 수 있게 된다. By using the present invention, it is possible to establish a healthy and diverse commerce order in online digital data transactions, thereby creating a social and technical atmosphere in which more advanced digital data can be produced.

본 발명의 이러한 기술적 사상을 이해한 당업자라면 본 발명의 범주내에서 다양한 변형이 가능한데, 가령 상기 인증 단계를 하나 이상 설정한 후, 필요할 때마다 인증하는 것 등이다. 따라서 본 발명은 상기 실시예에 국한되지 않으며 이하의 청구범위에 의해 그 권리범위가 정해진다.Various modifications are possible within the scope of the present invention by those skilled in the art, for example, by setting one or more of the above authentication steps, and then authenticating whenever necessary. Therefore, the present invention is not limited to the above embodiments, and the scope of the claims is defined by the following claims.

Claims (9)

디지털데이터 판매자 클라이언트 시스템, 디지털데이터 구매자 클라이언트 시스템 및 디지털데이터 거래서버가 포함되는 디지털데이터의 거래 방법에 있어서, Claims [1] A method of trading digital data, comprising a digital data seller client system, a digital data buyer client system, and a digital data transaction server. 상기 디지털데이터 판매자 클라이언트 시스템으로부터 상기 디지털데이터 거래서버로 판매자 정보, 디지털데이터 정보, 거래기능정보, 디지털데이터가 입력되는 단계;Inputting seller information, digital data information, transaction function information, and digital data from the digital data seller client system to the digital data transaction server; 상기 디지털데이터 거래서버가 상기 디지털데이터의 상기 디지털데이터 정보 및 거래기능정보를 온라인으로 공지하는 단계;The digital data transaction server notifying the digital data information and transaction function information of the digital data online; 상기 디지털데이터 구매자 클라이언트 시스템이 상기 디지털데이터 거래서버에서 상기 디지털데이터를 이용하기 위해 상기 거래기능정보 중에서 인증기능을 선택하는 단계;Selecting, by the digital data purchaser client system, an authentication function from the transaction function information to use the digital data in the digital data transaction server; 상기 디지털데이터 거래서버가 상기 디지털데이터 및 상기 인증기능의 목록을 암호화하여 상기 디지털데이터 구매자 클라이언트 시스템으로 전송하는 단계;Encrypting, by the digital data transaction server, a list of the digital data and the authentication function and transmitting the encrypted data to the digital data purchaser client system; 상기 디지털데이터 거래서버가 상기 암호화를 복호화하는 수단을 상기 디지털데이터 구매자 클라이언트 시스템으로 전송하는 단계;Sending, by the digital data transaction server, means for decrypting the encryption to the digital data buyer client system; 를 포함하는 것을 특징으로 하는 디지털데이터의 거래 방법.Digital data trading method comprising a. 디지털데이터 판매자 클라이언트 시스템, 디지털데이터 구매자 클라이언트 시스템 및 디지털데이터 거래서버가 포함되는 디지털데이터의 거래 방법에 있어서, Claims [1] A method of trading digital data, comprising a digital data seller client system, a digital data buyer client system, and a digital data transaction server. 상기 디지털데이터 판매자 클라이언트 시스템으로부터 상기 디지털데이터 거래서버로 판매자 정보, 디지털데이터 정보, 거래기능정보, 디지털데이터가 입력되는 단계;Inputting seller information, digital data information, transaction function information, and digital data from the digital data seller client system to the digital data transaction server; 상기 디지털데이터 거래서버가 상기 디지털데이터의 상기 디지털데이터 정보 및 거래기능정보를 온라인으로 공지하는 단계;The digital data transaction server notifying the digital data information and transaction function information of the digital data online; 상기 디지털데이터 구매자 클라이언트 시스템이 상기 디지털데이터 거래서버에서 상기 디지털데이터를 이용하기 위해 상기 거래기능정보 중에서 인증기능을 선택하는 단계;Selecting, by the digital data purchaser client system, an authentication function from the transaction function information to use the digital data in the digital data transaction server; 상기 디지털데이터 거래서버가 상기 디지털데이터 및 상기 인증기능의 목록을 암호화하여 상기 디지털데이터 구매자 클라이언트 시스템으로 전송하는 단계;Encrypting, by the digital data transaction server, a list of the digital data and the authentication function and transmitting the encrypted data to the digital data purchaser client system; 상기 디지털데이터 거래서버가 상기 암호화를 복호화하는 복호화 모듈, 상기 디지털데이터를 식별하는 파일식별자 판단 모듈, 상기 디지털데이터 실행명령을 후킹하는 후킹 모듈 및 인증기능 모듈을 상기 디지털데이터 구매자 클라이언트 시스템으로 전송하는 단계;Transmitting, by the digital data transaction server, a decryption module for decrypting the encryption, a file identifier determination module for identifying the digital data, a hooking module for hooking the digital data execution command, and an authentication function module to the digital data buyer client system. ; 를 포함하는 것으로서,As containing, 상기 디지털데이터 구매자 클라이언트 시스템이, 상기 파일식별자 판단모듈로 상기 암호화된 디지털 데이터를 인지하는 단계와 상기 복호화 모듈로 상기 암호화된 디지털 데이터를 시스템의 주메모리상에서 복호화하는 단계와 상기 복호화된 디지털 데이터를 실행할 수 있는 실행 프로그램을 상기 주메모리상에 로딩하는 단계와 상기 로딩된 실행 프로그램을 분석하여 필요로 하는 필요기능 모듈을 인지하 는 단계와 상기 인증기능 모듈을 상기 주메모리상에 제공하는 단계와 상기 후킹 모듈로 상기 실행 프로그램에서 상기 필요기능 모듈을 호출하는 목표 어드레스를 상기 인증기능 모듈의 엔트리 포인트 어드레스로 변경하는 단계와 상기 실행 프로그램이 상기 복호화된 디지털 데이터를 실행하는 중 상기 필요기능 모듈을 호출할 경우에 상기 인증기능 모듈을 필요기능 모듈 대신 실행하는 단계와 상기 인증기능 모듈의 실행 전에 상기 암호화된 인증기능 목록을 상기 복호화 모듈로 복호화하여 주메모리에 로딩하는 단계와 상기 인증기능 모듈로 상기 호출된 필요기능 모듈이 상기 인증기능 목록에 속하는지를 판단하는 단계와 상기 호출된 필요기능 모듈이 상기 인증기능 목록에 속한다고 판단하면 상기 인증기능 모듈에서 상기 응용 프로그램이 호출한 필요기능 모듈을 호출하여 실행하고 속하지 않는다고 판단되면 상기 호출된 필요기능 모듈을 실행하지 않는 단계를 포함하여 수행하도록 구성된 것을 특징으로 하는 디지털데이터의 거래 방법.The digital data purchaser client system recognizing the encrypted digital data with the file identifier determination module; decrypting the encrypted digital data in the main memory of the system with the decryption module; and executing the decrypted digital data. Loading an executable program on the main memory, analyzing the loaded executable program, recognizing a necessary function module, and providing the authentication function module on the main memory; Changing a target address for calling the necessary function module from the execution program to an entry point address of the authentication function module; and when the execution program calls the required function module while executing the decrypted digital data. Above certification Executing the functional module instead of the necessary function module, decrypting the encrypted authentication function list into the decryption module and loading the encrypted function function into the main memory before executing the authentication function module; and the necessary function module called by the authentication function module Determining whether it belongs to the authentication function list and if it is determined that the called necessary function module belongs to the authentication function list, if it is determined that the authentication function module calls and executes the required function module called by the application program and does not belong to it. And executing the called necessary function module. 디지털데이터의 거래 방법에 있어서, In the transaction method of digital data, 상기 디지털데이터를 실행하는 실행 프로그램의 기능 각각을 거래 대상으로 하여 상기 디지털데이터를 온라인상에서 거래하는, 디지털데이터의 거래 방법.And trading the digital data on-line using each function of an execution program that executes the digital data as a trading target. 제2항에 있어서, The method of claim 2, 상기 암호화된 디지털 데이터를 컴퓨터 시스템의 주메모리상에서 복호화하는 단계 이전에, Prior to decrypting the encrypted digital data on the main memory of the computer system, 원거리에 위치한 서버 시스템에 접속하여 사용자 인증을 받는 단계; 및,Accessing a server system located at a remote location and receiving user authentication; And, 정당한 사용자로 인증되면 상기 암호화된 디지털 데이터를 복호화할 수 있는 복호화 수단을 전송받는 단계; 를Receiving decryption means for decrypting the encrypted digital data when authenticated as a legitimate user; To 추가로 포함하는 것을 특징으로 하는 디지털데이터의 거래 방법.And further comprising a digital data transaction method. 제2항에 있어서, The method of claim 2, 상기 실행 프로그램 코드는 실행에 필요한 필요기능 모듈을 리스트한 IAT(Import Address table)를 포함하여 구성되고, The executable program code is configured to include an import address table (IAT) which lists the necessary function modules required for execution, 상기 로딩된 실행 프로그램을 분석하여 필요로 하는 필요기능 모듈을 인지하는 단계;는 상기 IAT을 분석하여 인지하는 단계인 것을 특징으로 하는 디지털데이터의 거래 방법.Analyzing the loaded execution program and recognizing a necessary function module required; is a step of analyzing and recognizing the IAT. 제5항에 있어서, The method of claim 5, 상기 실행 프로그램 코드는 실행에 필요한 필요기능 모듈을 리스트하고 이를 호출하는 IAT(Import Address table)를 포함하여 구성되고, The executable program code is configured to include an import address table (IAT) that lists and calls necessary function modules required for execution. 상기 실행 프로그램에서 상기 필요기능 모듈을 호출하는 목표 어드레스를 상기 인증기능 모듈의 엔트리 포인트 어드레스로 변경하는 단계; 는 상기 IAT의 호출 목표 어드레스를 상기 인증기능 모듈의 엔트리 포인트 어드레스로 변경하는 단계인 것을 특징으로 하는 디지털데이터의 거래 방법.Changing a target address for calling the necessary function module into an entry point address of the authentication function module in the executing program; Changing the call target address of the IAT to an entry point address of the authentication function module. 제2항에 있어서, The method of claim 2, 상기 인증기능 모듈의 실행에서 상기 복호화된 디지털 데이터에 대해 사용 가능하다고 인증된 인증기능 목록을 주메모리에 로딩하는 단계; 이전에,Loading into the main memory an authentication function list which is certified to be usable for the decrypted digital data in execution of the authentication function module; Before, 원거리에 위치한 서버 시스템에 접속하여 사용자 인증을 받는 단계; 및,Accessing a server system located at a remote location and receiving user authentication; And, 정당한 사용자로 인증되면 상기 인증된 인증기능 목록을 상기 서버 시스템으로부터 전송받는 단계; Receiving the authenticated authentication function list from the server system when the user is authenticated as a legitimate user; 를 추가로 포함하는 것을 특징으로 하는 컴퓨터 프로그램 실행방법.Computer program execution method characterized in that it further comprises. 제2항에 있어서, The method of claim 2, 상기 필요기능 모듈은 화면보기, 화면저장, 화면프린팅, 파일편집, 파일저장, 파일전송, 파일프린팅, 파일암호화, 파일복호화, 사운드실행, 동영상실행, 프로그램실행 중 적어도 어느 하나의 기능을 수행하는 모듈인 것을 특징으로 하는 디지털데이터의 거래 방법.The necessary function module is a module for performing at least one of screen viewing, screen saving, screen printing, file editing, file saving, file transfer, file printing, file encryption, file decoding, sound execution, video execution, and program execution. The transaction method of digital data, characterized in that. 제2항에 있어서, The method of claim 2, 상기 디지털 데이터는 실행프로그램 코드, 영상 데이터, 텍스트 데이터, 소리 데이터, 정지화면 데이터, 이미지데이터 중 적어도 어느 하나 이상의 데이터를 포함하는 것을 특징으로 하는 디지털데이터의 거래 방법.And the digital data includes at least one of execution program code, image data, text data, sound data, still picture data, and image data.
KR1020050020413A 2004-04-26 2005-03-11 An transaction method of digital data KR100775876B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020050020413A KR100775876B1 (en) 2005-03-11 2005-03-11 An transaction method of digital data
US11/114,690 US20050251483A1 (en) 2004-04-26 2005-04-26 Transaction method of digital data and system thereof
JP2005128545A JP4504246B2 (en) 2004-04-26 2005-04-26 Digital data transaction method and system
PCT/KR2006/000873 WO2006096038A1 (en) 2005-03-11 2006-03-10 An transaction method of digital data
CNA2006800076752A CN101138003A (en) 2005-03-11 2006-03-10 Transaction method of digital data and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050020413A KR100775876B1 (en) 2005-03-11 2005-03-11 An transaction method of digital data

Publications (2)

Publication Number Publication Date
KR20060098250A true KR20060098250A (en) 2006-09-18
KR100775876B1 KR100775876B1 (en) 2007-11-13

Family

ID=36953602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050020413A KR100775876B1 (en) 2004-04-26 2005-03-11 An transaction method of digital data

Country Status (3)

Country Link
KR (1) KR100775876B1 (en)
CN (1) CN101138003A (en)
WO (1) WO2006096038A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102443019B1 (en) * 2022-02-16 2022-09-15 주식회사 클리노믹스 System for searching digital information based on blockchain

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2192540A1 (en) * 2008-11-28 2010-06-02 Gemalto Canada Inc. Tragbarer Gegenstand mit Display und Anwendung zum Durchführen von elektronischen Transaktionen

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754803A (en) * 1996-06-27 1998-05-19 Interdigital Technology Corporation Parallel packetized intermodule arbitrated high speed control and data bus
JPH1185848A (en) * 1997-09-11 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> Licence distribution managing method, system thereof and storage medium stored with licence circulation managing program
JP2000020600A (en) * 1998-07-06 2000-01-21 Hitachi Ltd Method for providing digital contents, method for monitoring its illegal usage, its providing device and device for monitoring its illegal usage
US7228437B2 (en) * 1998-08-13 2007-06-05 International Business Machines Corporation Method and system for securing local database file of local content stored on end-user system
JP2000293459A (en) * 1999-04-09 2000-10-20 Sony Corp Processor and method for information processing and provision medium
KR20000050143A (en) * 2000-01-07 2000-08-05 김주현 A Management System for A Copyright of Watermarked Digital Data
KR20020001217A (en) * 2000-06-27 2002-01-09 박성준 Brokerage Method for Exchanging Contents

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102443019B1 (en) * 2022-02-16 2022-09-15 주식회사 클리노믹스 System for searching digital information based on blockchain

Also Published As

Publication number Publication date
KR100775876B1 (en) 2007-11-13
WO2006096038A8 (en) 2007-03-01
CN101138003A (en) 2008-03-05
WO2006096038A1 (en) 2006-09-14

Similar Documents

Publication Publication Date Title
AU2006236243B2 (en) Network commercial transactions
US7849020B2 (en) Method and apparatus for network transactions
US8996423B2 (en) Authentication for a commercial transaction using a mobile module
US8571992B2 (en) Methods and apparatus for title structure and management
US20060235795A1 (en) Secure network commercial transactions
US20050273805A1 (en) Methods and apparatus for a title transaction network
JP2008525864A (en) Method, system and device for consuming content with license centric
US20130067602A1 (en) Copyrights with Post-Payments for P2P File Sharing
KR100775876B1 (en) An transaction method of digital data
KR100475479B1 (en) Execution method of digital data and system thereof
KR20030075948A (en) Method and System for Providing a Universal Solution for Flash Contents by Using The DRM
JP4504246B2 (en) Digital data transaction method and system
JP2008521126A (en) Method for rendering licensed content and method for providing interoperability between DRM platforms
US9934499B2 (en) Method and system for providing a digital ticket for access to at least one digital object
US20210264390A1 (en) Electronic content utilization system, computer-readable recording medium, and electronic content utilization method
AU2011202945B2 (en) Network commercial transactions
JP2012065353A (en) License repository device, method, and rendering device
JP2003263830A (en) Information recording disk, server device, and program
JP2002351568A (en) Method for managing software license and installation program
JP2014038622A (en) Drm system and license repository

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Re-publication after modification of scope of protection [patent]
FPAY Annual fee payment

Payment date: 20121106

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131010

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141105

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151026

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191029

Year of fee payment: 13