KR100959380B1 - Flash contents supplying method - Google Patents

Flash contents supplying method Download PDF

Info

Publication number
KR100959380B1
KR100959380B1 KR1020080122569A KR20080122569A KR100959380B1 KR 100959380 B1 KR100959380 B1 KR 100959380B1 KR 1020080122569 A KR1020080122569 A KR 1020080122569A KR 20080122569 A KR20080122569 A KR 20080122569A KR 100959380 B1 KR100959380 B1 KR 100959380B1
Authority
KR
South Korea
Prior art keywords
flash
content
providing server
key
file
Prior art date
Application number
KR1020080122569A
Other languages
Korean (ko)
Inventor
신명용
윤세원
Original Assignee
(주)엑스프라임
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)엑스프라임 filed Critical (주)엑스프라임
Priority to KR1020080122569A priority Critical patent/KR100959380B1/en
Application granted granted Critical
Publication of KR100959380B1 publication Critical patent/KR100959380B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Bioethics (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A flash contents supplying method is provided to block automatic exposure of flash contents stored in a client terminal, thereby protecting web business logic and preventing mass production of piracy contents. CONSTITUTION: If a client terminal requests a flash contents to flash providing server, a flash providing server transmits the first flash operating module including file ID and a user certification key to a terminal(S12). The operating module generates an asymmetric public and a private key. An operating module transmits the asymmetric public key, the file ID and a user authentication key to the flash providing server and request the second contents(S14). The flash providing server performs a client authentication to a user authentication key(S16).

Description

플래시 컨텐츠 제공 방법{FlASH CONTENTS SUPPLYING METHOD}Flash content delivery method {FlASH CONTENTS SUPPLYING METHOD}

본 발명은 플래시 컨텐츠 제공 방법에 관한 것으로, 클라이언트 단말기에 저장되는 플래시 컨텐츠의 자동 노출을 차단함으로써 웹 비즈니스 로직을 보호하고 불법 유사 복제 컨텐츠의 양산을 막을 수 있게 되는 플래시 컨텐츠 제공 방법에 관한 것이다. The present invention relates to a flash content providing method, and to a flash content providing method that can prevent the automatic exposure of flash content stored in the client terminal to protect the web business logic and prevent the mass production of illegally duplicated content.

플래시(Flash)는 1996년 미국의 퓨쳐웨이브(FutureWave)라는 작은 벤처 기업에서 개발한 웹 애니메이션 제작도구로서, 상기 웹 애니메이션 제작도구는 초기에 퓨쳐스플래시 애니매이터(FutureSplash Animator)라는 이름으로 발표되었는데, 그 당시로서는 그리 크게 인기를 끌지 못하였다. 그러나, 그 기능의 막강함과 웹에서의 효용성에 대한 가능성 때문에 웹 멀티미디어 시장을 노리던 매크로미디어(Macromedia) 사가 1997년 1월에 퓨쳐웨이브(FutureWave) 사를 인수하게 되었으며, 이 후 가장 일반화된 웹 애니메이션 제작도구로 자리매김하고 있다.Flash was a web animation tool developed in 1996 by a small venture company called FutureWave in the United States, which was originally released under the name FutureSplash Animator. At that time, it was not very popular. However, due to its power and the potential for its usefulness on the web, Macromedia, which had been targeting the web multimedia market, acquired FutureWave in January 1997, and since then has produced the most generalized web animation. It is positioned as a tool.

상기 플래시는 기본적으로 벡터 드로잉을 기반으로 하는데, 벡터 드로잉 방 식은 종래의 비트맵 방식의 일반적인 그래픽(예컨대, GIF, JPEG, BITMAP, PCX 등)과 달리 수학적인 원리에 입각하여 선(예컨대, 베지어 곡선)과 도형의 집합으로 그래픽을 처리하는 방식으로서, 상기 벡터 이미지의 구성 요소인 객체(Object)는 자체적으로 색상, 도형, 외곽선, 크기 및 화면에서의 위치 등의 특성 값을 지니고 있으며, 각 객체의 독립성이 고유하게 유지될 수 있기 때문에 전체 그래픽에서 다른 객체에 영향을 주지 않고 본래의 깨끗한 모양을 정확히 유지하면서 수정이 가능하다. 특히, 상기와 같은 벡터 드로잉 방식에 의해 상기 플래시는 다양한 애니메이션 효과, 액션 스크립트, 및/또는 다양한 이벤트 효과를 추가하는 것이 가능하며, 태그포맷을 사용하기 때문에 확장성이 뛰어나고, 네트워크를 통해 무한대의 클라이언트 단말에게 전송할 수 있는 고성능 압축 포맷을 지원하며, 소정의 플러그인으로 운영체제에 독립적으로 실행되는 것이 가능하다. The flash is basically based on vector drawing, which is different from conventional bitmap graphics (eg GIF, JPEG, BITMAP, PCX, etc.). Curve) and a set of figures, and the object, which is a component of the vector image, has its own characteristic values such as color, figure, outline, size, and position on the screen. The independence of can be maintained uniquely, allowing modifications while maintaining the original clean look exactly without affecting other objects in the entire graphic. In particular, by the above vector drawing method, the flash can add various animation effects, action scripts, and / or various event effects, and because it uses a tag format, it is highly scalable and uses infinite clients over a network. It supports a high performance compression format that can be transmitted to the terminal, and can be executed independently of the operating system with a predetermined plug-in.

또한, 상기 플래시는 상기와 같은 벡터 드로잉 외에도, 기존 비트맵 방식의 그래픽이나, 사운드, 동영상 등과 같은 다양한 디지털 컨텐츠를 삽입하는 것이 가능한데, 이 경우에도 상기 플래시의 특징(예컨대, 다양한 애니메이션 효과, 액션 스크립트, 및/또는 다양한 이벤트 효과의 추가, 또는 고성능 압축 등)을 제공하는 것이 가능하기 때문에, 현재 플래시 파일인 SWF(Shock Wave File) 파일은 여러 웹사이트에서 쉽게 발견된다.In addition to the above vector drawing, the flash can insert various digital contents such as graphic, sound, and video of the existing bitmap method, and in this case, the characteristics of the flash (for example, various animation effects and action scripts) can be inserted. , And / or the addition of various event effects, or high performance compression, etc.), the current Flash file is a SWF (Shock Wave File) file is easily found on many websites.

실제 클라이언트들이 접속한 사이트의 플래시 파일은 클라이언트 컴퓨터의 임시 인터넷 파일(Temporary Internet Files) 폴더에 자동저장되므로, 누구나 이 플래시 파일을 개인 컴퓨터에 저장하는 것이 가능하다. Flash files from sites actually accessed by clients are automatically stored in the Temporary Internet Files folder on the client computer, so anyone can save this flash file to their personal computer.

하지만, 이렇게 저장된 플래시 파일은 디컴파일러(Decompiler) 프로그램을 통해 원본 소스코드로 복원이 가능하다는데 문제가 있다. However, there is a problem that the stored flash file can be restored to the original source code through a decompiler program.

즉, 저장된 플래시 파일은 디컴파일에 노출되기 때문에 디컴파일툴을 사용하여 파일 내부의 개발 코드를 해킹할 수 있으며, 이렇게 해킹된 소스코드를 통해 호출하는 주요 서버 URL이나 파라미터 등의 주요정보가 노출되게 되어 조작된 값을 통해 서버를 호출하는 등의 해킹이 가능하고, 플래시 어플리케이션 소스코드가 그대로 노출되어 개발 회사의 핵심 기술들이 타경쟁 회사에 그대로 넘어갈 수 있는 문제점을 가진다.In other words, the saved flash file is exposed to decompilation, so you can use the decompile tool to hack the development code inside the file, and to expose the main information such as the main server URL or parameters called through the hacked source code. It is possible to hack such as calling a server through the manipulated value, and the flash application source code is exposed as it is, so that the core technologies of the developing company can be passed on to other competitors.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, (a) 최초로 클라이언트 단말기가 플래시 제공 서버에게 플래시 컨텐츠를 요청하면, 플래시 제공 서버는 파일ID 및 사용자인증키(userCertKey)를 포함하는 1차 플래시 구동모듈을 추출하여 해당 클라이언트 단말기에 전송하는 단계; (b) 1차 플래시 구동모듈을 상기 클라이언트 단말기가 수신하면, 해당 구동모듈은 비대칭공개 키(PublicAkey)와 비대칭비공개키(PrivateAkey)를 생성하고, 생성된 비대칭공개키(PublicAkey)와 구동모듈에 포함되어 있는 파일ID 및 사용자인증키(userCertKey)를 플래시 제공서버로 전송해서 2차 컨텐츠를 요청하게 되며, 2차 컨텐츠에 대한 요청을 받은 상기 플래시 제공 서버는 전송받은 사용자인증키(userCertKey)로 클라이언트 인증을 수행하는 단계; (c) 상기 플래시 제공 서버가 클라이언트 단말기로부터 전송된 파일ID를 이용하여 요청된 플래시 컨텐츠(swfFILE)를 추출하는 단계; (d) 상기 플래시 제공 서버가 컨텐츠 암호화를 위한 대칭키(SKey)를 생성하는 단계; (e) 상기 플래시 제공 서버가 파일 헤더값을 생성하는 단계; (f) 상기 플래시 제공 서버가 상기 클라이언트 단말기에서 전달된 비대칭공개키(PublicAkey)를 이용하여 상기 생성된 대칭키(SKey)를 암호화하는 단계; (g) 상기 플래시 제공 서버가 생성한 대칭키(SKey)를 이용하여 서버에서 추출한 플래시 컨텐츠(swfFILE)를 암호화하는 단계; (h) 상기 플래시 제공 서버가 서버에서 생성한 파일 헤더값과 암호화한 대칭키(SKey)와 암호화한 플래시 컨텐츠(swfFILE)를 조합하여 패킷화한 후 해당 클라이언트 단말기로 2차 플래시 실행컨텐츠를 전송하는 단계; 및 (i) 상기 플래시 제공 서버가 클라이언트 단말기에 전송한 1차 플래시 구동모듈의 복호화부 및 비대칭비공개키(PrivateAKey)를 이용해, 상기 클라이언트 단말기가 실행컨텐츠로 제공된 2차 플래시 파일을 복호화하는 단계; 를 포함하는 것을 특징으로 한다. The present invention has been made to solve the above problems, (a) the first time the client terminal requests the flash content to the flash providing server, the flash providing server is a primary containing a file ID and a userCertificate key (userCertKey) Extracting the flash drive module and transmitting the extracted flash drive module to the corresponding client terminal; (b) When the client terminal receives the primary flash drive module, the drive module generates an asymmetric public key and a private akey, and includes them in the generated asymmetric public key and the drive module. The file ID and the user certificate key (userCertKey) are transmitted to the flash providing server to request the secondary content, and the flash providing server receiving the request for the secondary content uses the received user certificate key (userCertKey) to authenticate the client. Performing; (c) the flash providing server extracting the requested flash content (swfFILE) using the file ID transmitted from the client terminal; (d) generating a symmetric key (SKey) for content encryption by the flash providing server; (e) generating, by the flash providing server, a file header value; (f) encrypting the generated symmetric key (SKey) by using the asymmetric public key (PublicAkey) delivered from the client terminal by the flash providing server; (g) encrypting the flash content (swfFILE) extracted by the server using a symmetric key (SKey) generated by the flash providing server; (h) the flash providing server packetizes the file header value generated by the server, the encrypted symmetric key (SKey) and the encrypted flash content (swfFILE), and transmits the second flash execution content to the corresponding client terminal. step; And (i) decrypting, by the client terminal, the secondary flash file provided as execution content by using the decryption unit and the asymmetric private key of the primary flash driving module transmitted to the client terminal by the flash providing server; Characterized in that it comprises a.

본 발명의 특징을 구체적으로 살펴보면, 상기 (a) 단계에서 클라이언트 단말기에 전송된 1차 플래시 구동모듈은 해당 클라이언트 단말기의 임시 인터넷 파일 폴더에 플래시 파일 형식으로 자동저장되어 클라이언트 단말기의 사용자에게 노출 되고 상기 구동모듈의 역할은 2차 플래시 컨텐츠를 호출하기 위해 상기 플래시 제공 서버와 통신하는 모듈만 제공함으로써 2차 플래시 컨텐츠의 디컴파일을 차단하는 것을 특징으로 한다.Looking at the features of the present invention in detail, the first flash drive module transmitted to the client terminal in the step (a) is automatically stored in a flash file format in the temporary Internet file folder of the client terminal is exposed to the user of the client terminal and The driving module serves to block decompilation of the secondary flash contents by providing only a module communicating with the flash providing server to call the secondary flash contents.

또한 상기 (i) 단계에서 플래시 제공 서버에서 전송된 2차 플래시 컨텐츠 파일은 단말기의 임시 인터넷 폴더에 암호화 상태로 저장되고 1차 플래시 구동모듈이 비대칭비공개키를 통해 2차 플래시 컨텐츠를 복호화한 후 암호화에 사용된 키가 모두 사라지므로 플래시 제공 서버의 인증을 거치지 않으면 재실행이 불가하여 사용자에게 직접 노출되지 않는 것을 특징으로 한다.In addition, the secondary flash content file transmitted from the flash providing server in step (i) is stored in an encrypted state in a temporary internet folder of the terminal and encrypted after decrypting the secondary flash content through the asymmetric private key by the primary flash drive module. Since all the keys used in the disappears, it cannot be re-executed unless the flash provisioning server is authenticated, so that the keys are not directly exposed to the user.

상기 (i) 단계를 구체적으로 기술하면, 상기 (i) 단계는 (i-1) 상기 클라이언트 단말기가 1차 플래시 구동모듈의 비대칭비공개키(PrivateAKey)를 이용해 상기 플래시 제공 서버로부터 전송된 2차 플래시 실행컨텐츠의 대칭키(SKey)를 복호화하는 단계; 및 (i-2) 상기 클라이언트 단말기가 상기 복호화된 대칭키(SKey)를 이용하여 상기 플래시 제공 서버로부터 전송된 2차 플래시 실행컨텐츠의 플래시 컨텐츠(swfFILE)를 복호화하는 단계; 를 포함하는 것을 특징으로 한다. Specifically, the step (i), the step (i) is (i-1) the secondary flash transmitted from the flash providing server by the client terminal using an asymmetric private key (PrivateAKey) of the primary flash drive module Decrypting a symmetric key (SKey) of execution content; And (i-2) decrypting, by the client terminal, the flash content (swfFILE) of the secondary flash execution content transmitted from the flash providing server using the decrypted symmetric key (SKey). Characterized in that it comprises a.

또 다른 특징으로는, 상기 플래시 제공 서버가 1차 플래시 구동모듈과 2차 플래시 실행컨텐츠를 순차적으로 제공함에 따라, 1차 플래시 구동모듈의 제공시에 서버에서 발생하는 사용자인증키(userCertKey), 파일ID 및 시간정보와, 2차 컨텐츠 요청시 클라이언트에서 전송하는 사용자인증키(userCertKey), 비대칭공개키(PublicAkey), 파일ID 및 시간정보와, 2차 플래시 실행컨텐츠 제공시에 서버에서 발생하는 대칭키(SKey), 헤더 정보 및 시간정보를 저장 관리하는 것을 특징으로 한 다. In another aspect, as the flash providing server sequentially provides the primary flash driving module and the secondary flash execution content, a user authentication key (userCertKey) and a file generated at the server when the primary flash driving module is provided. ID and time information, userCertKey, asymmetric public key, file ID and time information sent from client when requesting secondary content, and symmetric key generated from server when providing secondary flash execution content (SKey), header information and time information are stored and managed.

본 발명에 따른 플래시 컨텐츠 제공 방법은 클라이언트 단말기에 저장되는 플래시 컨텐츠의 자동 노출을 차단함으로써 웹 비즈니스 로직을 보호하고 불법 유사 복제 컨텐츠의 양산을 막을 수 있게 되는 효과가 있다. Flash content providing method according to the present invention has the effect that it is possible to block the automatic exposure of the flash content stored in the client terminal to protect the web business logic and prevent the mass production of illegal pseudo-copy content.

특히, 클라이언트 컴퓨터의 인터넷 임시 파일 폴더에는 암호화된 SWF 파일이 남기 때문에 파일을 얻더라도 디컴파일 할 수 없게 되는 효과가 있다. In particular, since the encrypted SWF file remains in the Internet temporary file folder of the client computer, the file cannot be decompiled even if the file is obtained.

또한, 파일 암호화시 대칭키를 사용하기 때문에 파일 사이즈가 변하지 않고 암호화하는 시간이 매우 짧기 때문에 서버에 부하를 주지 않게 되는 효과도 있다. In addition, since the symmetric key is used to encrypt the file, the file size does not change and the encryption time is very short.

또한, 플래시 컨텐츠를 요청할 때마다 대칭키(SKey) 및 비대칭키(PublicAkey, PrivateAkey)가 계속 변경되기 때문에 암호화된 파일도 계속 변경되어 복호화가 더욱 불가능하게 된다는 효과도 있다. In addition, since the symmetric key (SKey) and the asymmetric key (PublicAkey, PrivateAkey) are constantly changed each time the Flash content is requested, the encrypted file is also changed continuously, making decryption more impossible.

또한, 1차 플래시 구동모듈이 랜덤으로 매칭되는 비대칭공개키(PublicAkey)와 비대칭비공개키(PrivateAkey)를 생성한 후 비대칭공개키(PublicAkey)만 플래시 제공 서버로 전송하고, 플래시 제공 서버는 수신한 비대칭공개키(PublicAkey)로 2차 플래시 실행컨텐츠를 암호화해 클라이언트 단말기에 전송한다. 클라이언트 단말기가 수신한 암호화된 2차 플래시 실행컨텐츠는 1차 플래시 구동모듈의 비대칭비공개키(PrivateAkey)를 이용해 요청한 클라이언트만 복호화 할 수 있다.In addition, the primary flash drive module randomly generates an asymmetric public key (PublicAkey) and an asymmetric public key (PrivateAkey) and transmits only the asymmetric public key (PublicAkey) to the flash providing server, the flash providing server asymmetric received The secondary flash execution content is encrypted with the PublicAkey and sent to the client terminal. The encrypted secondary flash execution content received by the client terminal can be decrypted only by the requesting client using the asymmetric private key of the primary flash drive module.

이하 본 발명에 따른 실시예를 도 1 및 도 2를 참조하여 설명하면 다음과 같다. Hereinafter, an embodiment according to the present invention will be described with reference to FIGS. 1 and 2.

도 1은 본 발명에 따른 플래시 컨텐츠 제공 방법이 적용된 전체 시스템을 설명하기 위한 도면이다. 1 is a view for explaining the entire system to which the flash content providing method according to the present invention is applied.

도 1에 도시된 바와 같이, 본 발명이 적용되는 플래시 컨텐츠 제공 시스템은 플래시 제공 서버(100)와 인터넷을 통해 상기 플래시 제공 서버(100)에 연결되어 플래시 컨텐츠를 제공받는 다수의 클라이언트 단말기(200)를 포함하여 구성된다. As shown in FIG. 1, in the flash content providing system to which the present invention is applied, a plurality of client terminals 200 connected to the flash providing server 100 through the flash providing server 100 and the Internet to receive flash contents are provided. It is configured to include.

상기 플래시 제공 서버(100)는 인터넷을 통해 연결된 상기 클라이언트 단말기(200)의 요청에 따라 1차 플래시 구동모듈과 2차 플래시 실행컨텐츠를 순차적으로 제공하며 상기 암호화/복호화 방식에 의해 클라이언트 단말기에 자동저장되는 플래시 컨텐츠를 클라이언트가 디컴파일 하지 못하게 하여 컨텐츠를 보호하고 핵심 기술 코드 및 데이터에 대한 접근을 원천적으로 차단하게 된다. The flash providing server 100 sequentially provides the first flash driving module and the second flash execution content according to a request of the client terminal 200 connected through the Internet, and automatically stores them in the client terminal by the encryption / decryption method. This protects the content and prevents access to key technical code and data by preventing clients from decompiling the Flash content.

상기 플래시 제공 서버(100)는 접속부(110), 컨텐츠 요청 식별부(120), 1차 컨텐츠 요청 처리부(130), 2차 컨텐츠 요청 처리부(140), 사용자 인증부(150), 컨텐츠 검출부(160), 컨텐츠 DB(170), 컨텐츠 암호화부(180) 및 검증정보 관리부(190)로 구성된다. The flash providing server 100 may include a connection unit 110, a content request identification unit 120, a primary content request processing unit 130, a secondary content request processing unit 140, a user authentication unit 150, and a content detection unit 160. ), The content DB 170, the content encryption unit 180 and the verification information management unit 190.

상기 접속부(110)는 웹 상에 있는 클라이언트 단말기(200)가 요청하는 플래시 컨텐츠를 인터넷을 통해 접수하게 된다. The connection unit 110 receives the flash content requested by the client terminal 200 on the web through the Internet.

상기 컨텐츠 요청 식별부(120)는 상기 접속부(110)을 통해 요청되는 플래시 컨텐츠가 1차 컨텐츠 요청인지 또는 2차 컨텐츠 요청인지 여부를 판단한다. The content request identification unit 120 determines whether the flash content requested through the access unit 110 is a primary content request or a secondary content request.

이때, 이러한 컨텐츠 요청 식별부(120)의 컨텐츠 요청 판단은 해당 클라이언트 단말기(200)의 컨텐츠 요청에 사용자인증키(userCertKey), 비대칭키(AKey)인 비대칭공개키(PublicAkey) 및 파일ID가 포함되었는지 여부를 통해 판별하게 되며, 이와 같은 사용자인증키(userCertKey), 비대칭공개키(PublicAkey) 및 파일ID가 포함되지 않은 경우 1차 컨텐츠 요청으로 판별하고 다른 경우로 사용자인증키(userCertKey), 비대칭공개키(PublicAkey) 및 파일ID가 포함된 경우 2차 컨텐츠 요청으로 판별하게 된다. In this case, the content request determination of the content request identification unit 120 determines whether the content request of the client terminal 200 includes a user authentication key (userCertKey), an asymmetric key (AKey), a public akey and a file ID. If it does not include such user authentication key (userCertKey), asymmetric public key (PublicAkey) and file ID, it is determined as the primary content request, and in other cases, userCertKey (userCertKey), asymmetric public key If (PublicAkey) and file ID are included, it is determined as a secondary content request.

상기 1차 컨텐츠 요청 처리부(130)는 상기 컨텐츠 요청 식별부(120)을 통해 1차 컨텐츠 요청으로 판별된 경우, 요청된 플래시에 대한 1차 플래시 구동모듈을 플래시 구동모듈 DB(131)에서 추출하여 상기 접속부(110)를 통해 해당 클라이언트 단말기(200)에 전송하게 된다. When the primary content request processing unit 130 is determined as the primary content request through the content request identification unit 120, the primary content request processing unit 130 extracts the primary flash drive module for the requested flash from the flash drive module DB 131. It is transmitted to the client terminal 200 through the connection unit 110.

상기 1차 플래시 구동모듈에는 인증키 관리부(232), 파일ID 관리부(233), 비대칭키 생성부(234) 및 복호화부(235)가 포함된다. 이러한 1차 플래시 구동모듈은 1차 컨텐츠 요청을 한 클라이언트 단말기(200)의 임시 인터넷 파일(Temporary Internet Files) 폴더에 플래시 파일 형식(예컨데, ooo.swf)으로 자동저장되어 클라이언트 단말기(200)의 사용자에게 노출되게 되며, 상기 구동모듈의 역할은 2차 플래시 컨텐츠를 호출하기 위해 상기 플래시 제공 서버와 통신하는 모듈만 제공함으로써 2차 플래시 컨텐츠의 디컴파일을 차단한다.The primary flash drive module includes an authentication key manager 232, a file ID manager 233, an asymmetric key generator 234, and a decryptor 235. The primary flash drive module is automatically stored in a flash file format (for example, ooo.swf) in a temporary internet files folder of the client terminal 200 that has made a primary content request, and thus is used by a user of the client terminal 200. And the role of the driving module blocks the decompilation of the secondary flash content by providing only a module communicating with the flash providing server to call the secondary flash content.

상기 인증키 관리부(232)는 해당 1차 컨텐츠 요청에 따라 해당 클라이언트 단말기(200)에게 주어지는 사용자인증키(userCertKey)를 관리한다. 이러한 사용자인증키(userCertKey)는 비정상적인 클라이언트의 접근을 막기 위해 서버측에서 전달하는 것으로 해당 사용자인증키(userCertKey)를 함께 전송하는 클라이언트만이 2차 플래시 컨텐츠에 대한 접근을 가능하게 한다. The authentication key manager 232 manages a user certificate key (userCertKey) given to the corresponding client terminal 200 according to the corresponding primary content request. This user certificate key (userCertKey) is delivered from the server side to prevent abnormal client access, and only the client that transmits the user certificate key (userCertKey) together to access the secondary flash content.

상기 파일ID 관리부(233)는 2차 컨텐츠 요청시 2차 플래시 실행컨텐츠에 대한 실제 물리파일 정보를 관리한다.The file ID management unit 233 manages actual physical file information on the secondary flash execution content when the secondary content is requested.

상기 비대칭키 생성부(234)는 RSA 비대칭 암호방식에 따라 해당 클라이언트 단말기(200)의 비대칭공개키(PublicAkey) 및 비대칭비공개키(PrivateAKey)를 생성하게 된다. The asymmetric key generation unit 234 generates an asymmetric public key (PublicAkey) and an asymmetric private key (PrivateAKey) of the client terminal 200 according to the RSA asymmetric cryptography.

상기 복호화부(235)는 차후 2차 플래시 실행컨텐츠가 전송되어 오면 해당 2차 플래시 실행컨텐츠에 대한 복호화를 담당하게 된다. The decoder 235 is responsible for decrypting the secondary flash execution content when the secondary flash execution content is transmitted later.

이러한 1차 플래시 구동모듈에 대한 보다 상세한 설명은 이후의 클라이언트 단말기(200)에 대한 설명에서 더욱 구체화될 것이다. A more detailed description of this primary flash drive module will be further embodied in the following description of the client terminal 200.

상기 2차 컨텐츠 요청 처리부(140)는 상기 컨텐츠 요청 식별부(120)을 통해 2차 컨텐츠 요청으로 판별된 경우, 요청된 플래시에 대한 클라이언트 인증, 대칭키(SKey) 생성 및 컨텐츠 암호화 등을 진행시킨 상태의 2차 플래시 실행컨텐츠를 상기 접속부(110)를 통해 해당 클라이언트 단말기(200)에 전송하게 된다. When the secondary content request processing unit 140 determines the secondary content request through the content request identification unit 120, the client request for the requested flash, symmetric key (SKey) generation, and content encryption are performed. The secondary flash execution content of the state is transmitted to the client terminal 200 through the connection unit 110.

이때, 이러한 컨텐츠 요청 식별부(120)의 컨텐츠 요청 판단은 해당 클라이언트 단말기(200)의 컨텐츠 요청에 사용자인증키(userCertKey), 비대칭공개키(PublicAkey) 및 파일ID가 포함되었는지 여부를 통해 판별하게 되며, 이와 같은 사용자인증키(userCertKey), 비대칭공개키(PublicAkey) 및 파일ID가 포함되지 않은 경우 1차 컨텐츠 요청으로 판별하고 다른 경우로 사용자인증키(userCertKey), 비대칭공개키(PublicAkey) 및 파일ID가 포함된 경우 2차 컨텐츠 요청으로 판별하게 된다. At this time, the content request determination of the content request identification unit 120 is determined based on whether the content request of the client terminal 200 includes a user authentication key (userCertKey), an asymmetric public key (PublicAkey) and a file ID. If the user certificate key (userCertKey), asymmetric public key (PublicAkey) and the file ID are not included, they are determined as the primary content request. Is included, it is determined as a secondary content request.

상기 사용자 인증부(150)는 클라이언트 단말기(200)가 1차 플래시 컨텐츠 요청시 플래시 제공 서버로부터 수신된 1차 플래시 구동모듈에 포함시킨 사용자인증키(userCertKey)를, 클라이언트 단말기(200)가 2차 컨텐츠 요청시 플래시 제공 서버로 전송한 사용자인증키(userCertKey)와 비교하여 클라이언트 인증을 수행하게 된다. The user authentication unit 150 includes a user authentication key (userCertKey) included in the primary flash driving module received from the flash providing server when the client terminal 200 requests the first flash content, and the client terminal 200 performs the secondary When the content request is made, the client authentication is performed by comparing with the user certificate key (userCertKey) sent to the flash providing server.

상기 컨텐츠 검출부(160)는 클라이언트 단말기(200)가 상기 2차 컨텐츠 요청시 상기 사용자 인증부(150)의 인증 이후, 클라이언트 단말기(200)로부터 전송된 파일ID를 이용하여 요청된 플래시 컨텐츠(swfFILE)를 상기 컨텐츠 DB(170)에서 검색하여 추출하게 된다. The content detection unit 160 requests the flash content (swfFILE) requested using the file ID transmitted from the client terminal 200 after authentication of the user authentication unit 150 when the client terminal 200 requests the secondary content. Is extracted by searching in the content DB (170).

이때, 실제 요청할 파일 이름을 사용하지 않고, 서버측에서 파일ID를 클라이언트에 전송하고 클라이언트에서 다시 파일ID를 서버측에 전송하여 서버측에서 그 파일ID에 해당하는 플래시 컨텐츠를 추출하도록 함으로써 암호화 단계 이전에 이루어지는 이러한 클라이언트-서버 간 통신의 내용이 해킹 등에 노출되더라도 파일ID 만이 노출될 뿐 주요 컨텐츠에 대한 호출 해킹 등을 방지할 수 있게 된다. In this case, the encryption step is performed by transmitting the file ID to the client and sending the file ID to the server again so as to extract the flash content corresponding to the file ID from the server. Even if the contents of the client-server communication performed in the hacking are exposed to hacking, etc., only the file ID is exposed, thereby preventing the hacking of the call to the main contents.

여기에서 본 발명의 설명 및 도면에서는 상기 컨텐츠 DB(170)가 플래시 제공 서버(100)에 포함되는 구성으로 설명하고 도시하였지만, 본 발명의 원리는 이에 제 한되지 않고 해당 컨텐츠 DB(170)가 별도의 데이터베이스 서버로서 운영되는 것도 가능하다. In the description and drawings of the present invention, the content DB 170 is described and illustrated as a configuration included in the flash providing server 100, but the principle of the present invention is not limited thereto, and the content DB 170 is not limited thereto. It is also possible to operate as a database server.

상기 컨텐츠 암호화부(180)는 상기 컨텐츠 검출부(160)를 통해 추출된 플래시 컨텐츠(swfFILE)에 대한 암호화를 실시하게 된다. The content encryptor 180 encrypts the flash content swfFILE extracted through the content detector 160.

이를 보다 상세히 설명하면, 상기 컨텐츠 암호화부(180)에는 대칭키 생성부(181), 헤더 생성부(182), 대칭키 암호화부(183), 컨텐츠 암호화부(184) 및 패킷 생성부(185)가 구비된다. In more detail, the content encryption unit 180 includes a symmetric key generation unit 181, a header generation unit 182, a symmetric key encryption unit 183, a content encryption unit 184, and a packet generation unit 185. Is provided.

위에서 설명한 상기 대칭키 생성부(181)는 컨텐츠 1차 암호화를 위한 대칭키(SKey)를 생성한다. The symmetric key generation unit 181 described above generates a symmetric key (SKey) for primary content encryption.

상기 대칭키(SKey)는 전송될 파일의 사이즈가 클 수 있으므로, 고속의 대칭키 알고리즘을 사용하게 된다. 암호화 강도를 높이기 위해 128 비트 암호 알고리즘(예컨데, AES, SEED)가 사용될 수 있다. Since the symmetric key SKey may have a large file size, a symmetric key algorithm is used. 128-bit encryption algorithms (eg AES, SEED) can be used to increase the encryption strength.

상기 헤더 생성부(182)는 암호여부, 버전정보, 비대칭공개키(PublicAkey)로 암호화한 대칭키(SKey)의 길이(AKey Length) 등과 같은 파일 헤더값을 생성한다. The header generation unit 182 generates a file header value such as encryption status, version information, AKey Length of the symmetric key (SKey) encrypted with an asymmetric public key (PublicAkey), and the like.

상기 대칭키 암호화부(183)는 상기 대칭키 생성부(181)에서 생성된 대칭키(SKey)를 상기 클라이언트 단말기(200)에서 전달된 비대칭공개키(PublicAkey)를 이용하여 암호화한다(PublicAkey{SKey}).The symmetric key encryptor 183 encrypts the symmetric key SKey generated by the symmetric key generator 181 using the asymmetric public key PublicAkey transmitted from the client terminal 200 (PublicAkey {SKey). }).

상기 컨텐츠 암호화부(184)는 상기 대칭키 생성부(181)에서 생성된 대칭키(SKey)를 이용하여 상기 추출된 플래시 컨텐츠(swfFILE)를 암호화한다(SKey{swfFILE}).The content encryption unit 184 encrypts the extracted flash content swfFILE using the symmetric key SKey generated by the symmetric key generation unit 181 (SKey {swfFILE}).

상기 패킷 생성부(185)는 상기 헤더 생성부(182)에서 생성된 파일 헤더값과 상기 대칭키 암호화부(183)에서 암호화된 대칭키(SKey)와 상기 컨텐츠 암호화부(184)에서 암호화된 플래시 컨텐츠를 조합하여 패킷화시킨다(도 2 참조). The packet generator 185 may include a file header value generated by the header generator 182, a symmetric key (SKey) encrypted by the symmetric key encryptor 183, and a flash encrypted by the content encryptor 184. The content is combined and packetized (see FIG. 2).

이렇게 패킷화된 2차 플래시 실행컨텐츠는 상기 접속부(110)를 통해 해당 클라이언트 단말기(200)에 전송하게 된다. The packetized secondary flash execution content is transmitted to the corresponding client terminal 200 through the connection unit 110.

한편, 상기 검증정보 관리부(190)는 1차 플래시 구동모듈과 2차 플래시 실행컨텐츠를 순차적으로 제공함에 따라, 1차 플래시 구동모듈의 제공시에 서버에서 발생하는 사용자인증키(userCertKey), 파일ID 및 시간정보와, 2차 컨텐츠 요청시 클라이언트에서 전송되는 사용자인증키(userCertKey), 비대칭공개키(PublicAkey), 파일ID 및 시간정보와, 2차 플래시 실행컨텐츠 제공시에 서버에서 발생하는 대칭키(SKey), 헤더 정보 및 시간정보를 저장 관리하게 된다. On the other hand, the verification information management unit 190 sequentially provides the primary flash drive module and the secondary flash execution content, the user authentication key (userCertKey), file ID generated in the server when providing the primary flash drive module And time information, a user certificate key (userCertKey), asymmetric public key (PublicAkey), file ID, and time information transmitted from the client when requesting the secondary content, and a symmetric key generated from the server when providing the secondary flash execution content ( SKey), header information, and time information are stored and managed.

이러한 검증정보 관리부(190)의 데이터 교환 기록에 의해 전체적인 플래시 컨텐츠 제공 과정이 보관되어 클라이언트의 해킹이나 데이터 유출에 대한 근거를 남겨 역추적을 가능하게 한다. By the data exchange record of the verification information management unit 190, the entire flash content providing process is stored, thereby leaving traces of hacking or data leakage of the client, thereby enabling backtracking.

한편, 이와 같은 플래시 제공 서버(100)에 플래시 컨텐츠를 요청하는 클라이언트 단말기(200)는 플래시 컨텐츠를 표시하기 위한 디스플레이(240), 인터넷 구동을 위한 인터넷 브라우져(220), 플래시 컨텐츠의 저장을 위한 메모리부(230) 및 상기 각 부를 제어하기 위한 제어부(210)로 구성된다. Meanwhile, the client terminal 200 requesting flash contents to the flash providing server 100 may include a display 240 for displaying flash contents, an internet browser 220 for driving the internet, and a memory for storing flash contents. The unit 230 and a control unit 210 for controlling each unit.

여기에서 상기 메모리부(230)는 상기 플래시 제공 서버(100)로부터 전송되는 1차 플래시 구동모듈을 저장하게 되는데, 이러한 1차 플래시 구동모듈은 해당 메모 리부(230)의 임시 인터넷 파일(Temporary Internet Files) 폴더에 플래시 파일 형식(예컨데, ooo.swf)으로 자동저장되어 클라이언트 단말기(200)의 사용자에게 노출되지만, 상기 구동모듈의 역할은 2차 플래시 컨텐츠를 호출하기 위해 상기 플래시 제공 서버와 통신하는 모듈만 제공함으로써 2차 플래시 컨텐츠의 디컴파일을 차단한다.Here, the memory unit 230 stores the primary flash driving module transmitted from the flash providing server 100. The primary flash driving module is a temporary internet file of the corresponding memory unit 230. Folder is automatically stored in a flash file format (for example, ooo.swf) and exposed to the user of the client terminal 200, but the role of the driving module is to communicate with the flash providing server to call the secondary flash contents. Providing only prevents decompilation of secondary Flash content.

이러한 1차 플래시 구동모듈은 설명한 바와 같이 인증을 거친 후에만 실행 가능하도록 파일 바이트 정보를 재구성하여 유효파일로 변환되게 되는데, 이러한 과정은 클라이언트의 1차 플래시 구동모듈과 서버와의 데이터 교환 및 자체적인 복호화기능에 의해 구현된다. As described above, the primary flash drive module converts the file byte information into a valid file so that it can be executed only after authentication, and this process is performed by exchanging data between the primary flash drive module of the client and the server and by itself. Implemented by the decryption function.

즉, 상기 클라이언트 단말기(200)가 1차 컨텐츠 요청에 따라 메모리부(230)에 저장한 1차 플래시 구동모듈은 인증키 관리부(232), 파일ID 관리부(233), 비대칭키 생성부(234) 및 복호화부(235)로 구성된다. That is, the primary flash drive module stored in the memory unit 230 according to the primary content request by the client terminal 200 includes an authentication key manager 232, a file ID manager 233, and an asymmetric key generator 234. And a decoder 235.

상기 인증키 관리부(232)는 해당 1차 컨텐츠 요청에 따라 상기 플래시 제공 서버(100)로부터 해당 클라이언트 단말기(200)에게 주어지는 사용자인증키(userCertKey)를 관리한다. 이러한 사용자인증키(userCertKey)는 비정상적인 클라이언트의 접근을 막기 위해 서버측에서 전달하는 것으로 해당 사용자인증키(userCertKey)를 함께 전송하는 클라이언트만이 플래시 컨텐츠에 대한 접근이 가능하다.The authentication key manager 232 manages a user certificate key (userCertKey) given to the client terminal 200 from the flash providing server 100 according to the corresponding primary content request. The user certificate key (userCertKey) is delivered from the server side to prevent abnormal access of the client, only the client that transmits the user certificate key (userCertKey) can access the flash content.

상기 파일ID 관리부(233)는 해당 1차 컨텐츠 요청시 요청된 플래시 컨텐츠에 대한 파일ID를 관리한다. The file ID manager 233 manages a file ID for the requested flash content when the primary content request is made.

상기 비대칭키 생성부(234)는 RSA 비대칭키 암호방식에 따라 해당 클라이언트 단말기(200)의 비대칭공개키(PublicAkey) 및 비대칭비공개키(PrivateAKey)를 생성하게 된다. The asymmetric key generation unit 234 generates an asymmetric public key (PublicAkey) and an asymmetric private key (PrivateAKey) of the client terminal 200 according to the RSA asymmetric key cryptography.

상기 복호화부(235)는 상기 플래시 제공 서버(100)에서 암호화된 2차 플래시 실행컨텐츠로서 제공하는 플래시 파일에 대한 복호화를 하게 된다. The decryption unit 235 decrypts the flash file provided as the secondary flash execution content encrypted by the flash provision server 100.

보다 구체적으로 설명하면, 상기 복호화부(235)는 상기 비대칭키 생성부(234)로부터 생성된 비대칭비공개키(PrivateAKey)를 이용하여 상기 플래시 제공 서버(100)로부터 전송된 2차 플래시 실행컨텐츠의 암호화된 대칭키(SKey)를 복호화한다(PrivateAKey{PublicAkey{SKey}}-1). In more detail, the decryption unit 235 encrypts the secondary flash execution content transmitted from the flash providing server 100 by using the asymmetric private key generated from the asymmetric key generation unit 234. Decrypts the generated symmetric key (SKey) (PrivateAKey {PublicAkey {SKey}} -1 ).

또한, 상기 복호화부(235)는 상기 복호화된 대칭키(SKey)를 이용하여 상기 플래시 제공 서버(100)로부터 전송된 2차 플래시 실행컨텐츠의 암호화된 플래시 컨텐츠(swfFILE)를 복호화한다(SKey{SKey{swfFILE}}-1). In addition, the decryption unit 235 decrypts the encrypted flash content (swfFILE) of the secondary flash execution content transmitted from the flash providing server 100 using the decrypted symmetric key (SKey) (SKey {SKey). {swfFILE}} -1 ).

이렇게 복호화된 플래시 컨텐츠는 2차 플래시 컨텐츠(236)로서 해당 1차 플래시 구동 모듈 내에 관리되어 클라이언트 단말기(100)는 해당 플래시 파일을 로드하지만 암호화에 사용된 키가 모두 사라지므로 플래시 제공 서버의 인증을 거치지 않으면 재실행이 불가하여 사용자에게 직접 노출되지 않는다.The decrypted flash content is managed as a secondary flash content 236 in the primary flash drive module, so that the client terminal 100 loads the flash file, but all the keys used for encryption are lost. If not, it cannot be re-executed and is not directly exposed to the user.

이제 도 3을 참조하여, 본 발명에 따른 플래시 컨텐츠 제공 방법의 전체적인 흐름을 설명한다. 3, the overall flow of the flash content providing method according to the present invention will be described.

우선, 클라이언트 단말기(100)는 인터넷을 통해 연결된 상기 플래시 제공 서 버(100)에 플래시 컨텐츠를 요청하게 된다(S10). First, the client terminal 100 requests the flash content to the flash providing server 100 connected through the Internet (S10).

이러한 클라이언트 단말기(100)의 플래시 1차 컨텐츠 요청에 따라,플래시 구동모듈 DB(131)에서 1차 플래시 구동모듈을 추출하여 상기 접속부(110)를 통해 해당 클라이언트 단말기(200)에 전송하게 된다(S12). In response to the flash primary content request of the client terminal 100, the primary flash driving module is extracted from the flash driving module DB 131 and transmitted to the corresponding client terminal 200 through the connection unit 110 (S12). ).

이에 따라, 전송된 1차 플래시 구동모듈은 해당 클라이언트 단말기(100)의 임시 인터넷 파일(Temporary Internet Files) 폴더에 플래시 파일 형식(예컨데, ooo.swf)으로 자동저장되어 클라이언트 단말기(200)의 사용자에게 노출되게 되지만, 상기 구동모듈의 역할은 2차 플래시 컨텐츠를 호출하기 위해 상기 플래시 제공 서버와 통신하는 모듈만 제공함으로써 2차 플래시 컨텐츠의 디컴파일을 차단한다.Accordingly, the transmitted primary flash drive module is automatically stored in a flash file format (for example, ooo.swf) in a temporary Internet files folder of the corresponding client terminal 100 to the user of the client terminal 200. Although exposed, the role of the drive module blocks the decompilation of the secondary flash content by providing only a module that communicates with the flash providing server to invoke the secondary flash content.

상기 클라이언트 단말기(100)는 상기 1차 플래시 구동모듈에 포함된 인증키 관리부(232) 및 파일ID 관리부(233)를 통해 사용자인증키(userCertKey)와 파일ID를 추출하고, 1차 플래시 구동모듈은 비대칭공개키(PublicAkey)와 비대칭비공개키(PrivateAkey)를 생성하고, 생성된 비대칭공개키(PublicAkey)와 구동모듈에 포함되어 있는 파일ID 및 사용자인증키(userCertKey)를 플래시 제공서버로 전송해서 2차 컨텐츠를 요청을 실시하게 된다(S14). The client terminal 100 extracts a user authentication key (userCertKey) and a file ID through the authentication key manager 232 and the file ID manager 233 included in the primary flash drive module, and the primary flash drive module Generate asymmetric public key (PublicAkey) and asymmetric private key (PrivateAkey), and transfer the generated asymmetric public key (PublicAkey) and the file ID and user authentication key (userCertKey) included in the drive module to the flash providing server. The content is requested (S14).

이에 따라, 상기 플래시 제공 서버(100)는 사용자 인증부(150)를 통해 클라이언트 단말기(200)가 1차 플래시 컨텐츠 요청시 플래시 제공 서버로부터 수신된 1차 플래시 구동모듈에 포함시킨 사용자인증키(userCertKey)를, 클라이언트 단말기(200)가 2차 컨텐츠 요청시 플래시 제공 서버로 전송한 사용자인증키(userCertKey)와 비교하여 클라이언트 인증을 수행하게 된다(S16). Accordingly, the flash providing server 100 includes a user authentication key (userCertKey) included in the primary flash driving module received from the flash providing server when the client terminal 200 requests the first flash content through the user authentication unit 150. ) Is compared with the user authentication key (userCertKey) that the client terminal 200 transmits to the flash providing server when requesting the second content (S16).

해당 클라이언트 인증이 완료되면, 상기 플래시 제공 서버(100)는 클라이언트 단말기(200)로부터 전송된 파일ID를 이용하여 요청된 플래시 컨텐츠(swfFILE)를 상기 컨텐츠 DB(170)에서 검색하여 추출하게 된다(S18). When the client authentication is completed, the flash providing server 100 searches for and extracts the requested flash content (swfFILE) from the content DB 170 using the file ID transmitted from the client terminal 200 (S18). ).

이후, 상기 플래시 제공 서버(100)는 컨텐츠 암호화부(180)를 통해 상기 추출된 파일에 대한 암호화를 실시하게 되는데, 이를 보다 상세히 설명하면 다음과 같다. Thereafter, the flash providing server 100 performs encryption on the extracted file through the content encryption unit 180. This will be described in detail below.

우선, 상기 플래시 제공 서버(100)는 대칭키 생성부(181)를 통해 컨텐츠 1차 암호화를 위한 대칭키(SKey)를 생성한다(S20). First, the flash providing server 100 generates a symmetric key (SKey) for primary content encryption through the symmetric key generation unit 181 (S20).

그리고 상기 플래시 제공 서버(100)는 헤더 생성부(182)를 통해 암호여부, 버전정보, 비대칭공개키(PublicAkey)로 암호화한 대칭키(SKey)의 길이(AKey Length) 등과 같은 파일 헤더값을 생성한다(S22). The flash providing server 100 generates a file header value such as encryption key, version information, AKey Length, etc., encrypted with asymmetric public key (PublicAkey), through the header generator 182. (S22).

그리고 상기 플래시 제공 서버(100)는 대칭키 암호화부(183)를 통해 상기 S20 단계에서 생성된 대칭키(SKey)를 상기 클라이언트 단말기(200)에서 전달된 비대칭공개키(PublicAkey)를 이용하여 암호화한다(PublicAkey{SKey})(S24).The flash providing server 100 encrypts the symmetric key (SKey) generated in step S20 through the symmetric key encryption unit 183 using the asymmetric public key (PublicAkey) transmitted from the client terminal 200. (PublicAkey {SKey}) (S24).

또한, 상기 플래시 제공 서버(100)는 컨텐츠 암호화부(184)를 통해 상기 대칭키 생성부(181)에서 생성된 대칭키(SKey)를 이용하여 상기 추출된 플래시 컨텐츠(swfFILE)를 암호화한다(SKey{swfFILE})(S26).In addition, the flash providing server 100 encrypts the extracted flash content swfFILE using the symmetric key SKey generated by the symmetric key generation unit 181 through the content encryption unit 184 (SKey). {swfFILE}) (S26).

그리고 상기 플래시 제공 서버(100)는 패킷 생성부(185)를 통해 상기 헤더 생성부(182)에서 생성된 파일 헤더값과 상기 대칭키 암호화부(183)에서 암호화된 대칭키와 상기 컨텐츠 암호화부(184)에서 암호화된 플래시 컨텐츠를 조합하여 패킷 화시키고(도 2 참조), 상기 접속부(110)를 통해 해당 클라이언트 단말기(200)로 전송한다(S26). The flash providing server 100 may include a file header value generated by the header generator 182 and a symmetric key encrypted by the symmetric key encryptor 183 through the packet generator 185 and the content encryptor ( In step 184, the encrypted flash content is combined and packetized (see FIG. 2), and transmitted to the corresponding client terminal 200 through the connection unit 110 (S26).

상기 플래시 제공 서버(100)로부터 2차 플래시 실행컨텐츠를 제공받은 클라이언트 단말기(200)는 복호화부(235)를 통해 2차 플래시 실행컨텐츠로서 제공하는 플래시 파일에 대한 복호화를 하게 된다(S30). The client terminal 200 receiving the secondary flash execution content from the flash provision server 100 decodes the flash file provided as the secondary flash execution content through the decryption unit 235 (S30).

상기 S30 단계를 보다 구체적으로 설명하면, 상기 복호화부(235)는 상기 비대칭키 생성부(234)로부터 생성된 비대칭비공개키(PrivateAKey)를 이용하여 상기 플래시 제공 서버(100)로부터 전송된 2차 플래시 실행컨텐츠의 대칭키(SKey)를 복호화한다(PrivateAKey{PublicAkey{SKey}}-1). Referring to step S30 in more detail, the decryption unit 235 is a secondary flash transmitted from the flash providing server 100 by using an asymmetric private key (PrivateAKey) generated from the asymmetric key generation unit 234 Decrypt the symmetric key (SKey) of execution content (PrivateAKey {PublicAkey {SKey}} -1 ).

또한, 상기 복호화부(235)는 상기 복호화된 대칭키(SKey)를 이용하여 상기 플래시 제공 서버(100)로부터 전송된 2차 플래시 실행컨텐츠의 플래시 컨텐츠(swfFILE)를 복호화한다(SKey{SKey{swfFILE}}-1). In addition, the decryption unit 235 decrypts the flash content swfFILE of the secondary flash execution content transmitted from the flash providing server 100 by using the decrypted symmetric key SKey (SKey {SKey {swfFILE). }} -1 ).

이렇게 복호화된 플래시 컨텐츠는 2차 플래시 컨텐츠(236)로서 해당 1차 플래시 구동 모듈 내에 관리되어 클라이언트 단말기(100)는 해당 플래시 파일을 로드하지만 암호화에 사용된 키가 모두 사라지므로 플래시 제공 서버의 인증을 거치지 않으면 재실행이 불가하여 사용자에게 직접 노출되지 않는다. The decrypted flash content is managed as a secondary flash content 236 in the primary flash drive module, so that the client terminal 100 loads the flash file, but all the keys used for encryption are lost. If not, it cannot be re-executed and is not directly exposed to the user.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치 환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited to the drawings shown.

도 1은 본 발명에 따른 플래시 컨텐츠 제공 방법이 적용된 전체 시스템을 설명하기 위한 도면. 1 is a view for explaining the entire system to which the flash content providing method according to the present invention is applied.

도 2는 본 발명에 따른 2차 플래시 실행컨텐츠의 파일 형식을 설명하기 위한 도면. 2 is a diagram for explaining a file format of secondary flash execution content according to the present invention;

도 3은 본 발명에 따른 플래시 컨텐츠 제공 방법의 전체적인 흐름을 설명하기 위한 도면. 3 is a view for explaining the overall flow of the flash content providing method according to the present invention.

Claims (5)

삭제delete (a) 최초로 클라이언트 단말기가 플래시 제공 서버에게 플래시 컨텐츠를 요청하면, 플래시 제공 서버는 파일ID 및 사용자인증키(userCertKey)를 포함하는 1차 플래시 구동모듈을 추출하여 해당 클라이언트 단말기에 전송하는 단계; (a) when the client terminal requests flash contents from the flash providing server for the first time, the flash providing server extracts a primary flash driving module including a file ID and a userCertificate Key (userCertKey) and transmits it to the corresponding client terminal; (b) 1차 플래시 구동모듈을 상기 클라이언트 단말기가 수신하면, 해당 구동모듈은 비대칭공개키(PublicAkey)와 비대칭비공개키(PrivateAkey)를 생성하고, 생성된 비대칭공개키(PublicAkey)와 구동모듈에 포함되어 있는 파일ID 및 사용자인증키(userCertKey)를 플래시 제공서버로 전송해서 2차 컨텐츠를 요청하게 되며, 2차 컨텐츠에 대한 요청을 받은 상기 플래시 제공 서버는 전송받은 사용자인증키(userCertKey)로 클라이언트 인증을 수행하는 단계; (b) When the client terminal receives the primary flash driving module, the driving module generates the asymmetric public key and the private akey, and includes the generated asymmetric public key and the driving module in the generated asymmetric public key. The file ID and the user certificate key (userCertKey) are transmitted to the flash providing server to request the secondary content, and the flash providing server receiving the request for the secondary content uses the received user certificate key (userCertKey) to authenticate the client. Performing; (c) 상기 플래시 제공 서버가 클라이언트 단말기로부터 전송된 파일ID를 이용하여 요청된 플래시 컨텐츠(swfFILE)를 추출하는 단계; (c) the flash providing server extracting the requested flash content (swfFILE) using the file ID transmitted from the client terminal; (d) 상기 플래시 제공 서버가 컨텐츠 암호화를 위한 대칭키(SKey)를 생성하는 단계; (d) generating a symmetric key (SKey) for content encryption by the flash providing server; (e) 상기 플래시 제공 서버가 파일 헤더값을 생성하는 단계; (e) generating, by the flash providing server, a file header value; (f) 상기 플래시 제공 서버가 상기 클라이언트 단말기에서 전달된 비대칭공개키(PublicAkey)를 이용하여 상기 생성된 대칭키(SKey)를 암호화하는 단계; (f) encrypting the generated symmetric key (SKey) by using the asymmetric public key (PublicAkey) delivered from the client terminal by the flash providing server; (g) 상기 플래시 제공 서버가 생성한 대칭키(SKey)를 이용하여 서버에서 추출한 플래시 컨텐츠(swfFILE)를 암호화하는 단계; (g) encrypting the flash content (swfFILE) extracted by the server using a symmetric key (SKey) generated by the flash providing server; (h) 상기 플래시 제공 서버가 서버에서 생성한 파일 헤더값과 암호화한 대칭키(SKey)와 암호화한 플래시 컨텐츠(swfFILE)를 조합하여 패킷화한 후 해당 클라이언트 단말기로 2차 플래시 실행컨텐츠를 전송하는 단계; 및 (h) the flash providing server packetizes the file header value generated by the server, the encrypted symmetric key (SKey) and the encrypted flash content (swfFILE), and transmits the second flash execution content to the corresponding client terminal. step; And (i) 상기 플래시 제공 서버가 클라이언트 단말기에 전송한 1차 플래시 구동모듈의 복호화부 및 비대칭비공개키(PrivateAKey)를 이용해, 상기 클라이언트 단말기가 실행컨텐츠로 제공된 2차 플래시 파일을 복호화하는 단계; 를 포함하되,(i) decrypting, by the client terminal, the secondary flash file provided as execution content by using the decryption unit and the asymmetric private key of the primary flash driving module transmitted to the client terminal by the flash providing server; Including, 상기 (a) 단계에서 클라이언트 단말기에 전송된 1차 플래시 구동모듈은 해당 클라이언트 단말기의 임시 인터넷 파일 폴더에 플래시 파일 형식으로 자동저장되어 클라이언트 단말기의 사용자에게 노출되지만 상기 구동모듈의 역할은 2차 플래시 컨텐츠를 호출하기 위해 상기 플래시 제공 서버와 통신하는 모듈만 제공함으로써 2차 플래시 컨텐츠의 디컴파일을 차단하는 것을 특징으로 하는 플래시 컨텐츠 제공 방법.The primary flash drive module transmitted to the client terminal in step (a) is automatically stored in a flash file format in a temporary internet file folder of the client terminal and exposed to the user of the client terminal, but the role of the drive module is secondary flash content. Flash content providing method to block the decompile of the secondary flash content by providing only a module in communication with the flash providing server to call. 제 2항에 있어서, 3. The method of claim 2, 상기 (i) 단계에서 플래시 제공 서버에서 전송된 2차 플래시 컨텐츠 파일은 단말기의 임시 인터넷 폴더에 암호화 상태로 저장되고 1차 플래시 구동모듈이 비대칭비공개키를 통해 2차 플래시 컨텐츠를 복호화한 후 암호화에 사용된 키가 모두 사라지므로 플래시 제공 서버의 인증을 거치지 않으면 재실행이 불가하여 사용자에게 직접 노출되지 않는 것을 특징으로 하는 플래시 컨텐츠 제공 방법.The secondary flash content file transmitted from the flash providing server in step (i) is stored in an encrypted state in a temporary internet folder of the terminal, and the primary flash drive module decrypts the secondary flash content through an asymmetric private key and then encrypts the secondary flash content file. Since all used keys disappear, the flash content providing method is not directly exposed to the user because it cannot be re-executed unless the flash providing server is authenticated. 제 2항에 있어서,3. The method of claim 2, 상기 (i) 단계에서, 플래시 제공 서버가 1차 플래시 구동모듈의 복호화부 및 비대칭비공개키(PrivateAKey)를 전송하는 클라이언트 단말기가 1차 플래시 구동모듈의 비대칭비공개키(PrivateAKey)를 이용해 상기 플래시 제공 서버로부터 전송된 2차 플래시 실행컨텐츠의 대칭키(SKey)를 복호화하는 단계; 및 In the step (i), the flash terminal providing the decryption unit and the private AKey of the primary flash drive module, the client terminal using the asymmetric private key (PrivateAKey) of the primary flash drive module the flash providing server Decrypting a symmetric key (SKey) of the secondary flash execution content transmitted from the; And 상기 클라이언트 단말기가 상기 복호화된 대칭키(SKey)를 이용하여 상기 플래시 제공 서버로부터 전송된 2차 플래시 실행컨텐츠의 플래시 컨텐츠(swfFILE)를 복호화하는 단계; 를 포함하는 것을 특징으로 하는 플래시 컨텐츠 제공 방법. Decrypting, by the client terminal, the flash content (swfFILE) of the secondary flash execution content transmitted from the flash providing server by using the decrypted symmetric key (SKey); Flash content providing method comprising a. 제 2항에 있어서, 3. The method of claim 2, 상기 (a)단계에서 플래시 제공 서버가 1차 플래시 구동모듈을 제공하고 상기 (h)단계에서 2차 플래시 실행컨텐츠를 순차적으로 제공함에 따라, 1차 플래시 구동모듈의 제공시에 서버에서 발생하는 사용자인증키(userCertKey), 파일ID 및 시간정보와, 2차 컨텐츠 요청시 클라이언트에서 전송하는 사용자인증키(userCertKey), 비대칭공개키(PublicAkey), 파일ID 및 시간정보와, 2차 플래시 실행컨텐츠 제공시에 서버에서 발생하는 대칭키(SKey), 헤더 정보 및 시간정보를 저장 관리하는 것을 특징으로 하는 플래시 컨텐츠 제공 방법. As the flash providing server provides the primary flash driving module in step (a) and sequentially provides the secondary flash execution content in step (h), a user generated in the server when providing the primary flash driving module is provided. When providing the authentication key (userCertKey), file ID and time information, the user certificate key (userCertKey), asymmetric public key (PublicAkey), file ID and time information transmitted from the client when the secondary content is requested, and the secondary flash execution content. And storing and managing a symmetric key (SKey), header information, and time information generated at the server.
KR1020080122569A 2008-12-04 2008-12-04 Flash contents supplying method KR100959380B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080122569A KR100959380B1 (en) 2008-12-04 2008-12-04 Flash contents supplying method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080122569A KR100959380B1 (en) 2008-12-04 2008-12-04 Flash contents supplying method

Publications (1)

Publication Number Publication Date
KR100959380B1 true KR100959380B1 (en) 2010-05-24

Family

ID=42281998

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080122569A KR100959380B1 (en) 2008-12-04 2008-12-04 Flash contents supplying method

Country Status (1)

Country Link
KR (1) KR100959380B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0936774A1 (en) * 1998-02-13 1999-08-18 CANAL+ Société Anonyme Recording of scrambled digital data
WO2000056068A1 (en) * 1999-03-15 2000-09-21 Thomson Licensing S.A. A global copy protection system for digital home networks
KR20050030982A (en) * 2003-09-27 2005-04-01 나창영 Method and system for safely distributing digital contents through communication network by using user programs containing different digital identifications
KR100699351B1 (en) 2006-06-30 2007-03-23 주식회사 엘지텔레콤 Communication device and method for providing flash contents combined with push service

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0936774A1 (en) * 1998-02-13 1999-08-18 CANAL+ Société Anonyme Recording of scrambled digital data
WO2000056068A1 (en) * 1999-03-15 2000-09-21 Thomson Licensing S.A. A global copy protection system for digital home networks
KR20050030982A (en) * 2003-09-27 2005-04-01 나창영 Method and system for safely distributing digital contents through communication network by using user programs containing different digital identifications
KR100699351B1 (en) 2006-06-30 2007-03-23 주식회사 엘지텔레콤 Communication device and method for providing flash contents combined with push service

Similar Documents

Publication Publication Date Title
US10582256B2 (en) Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform
US7975312B2 (en) Token passing technique for media playback devices
KR100753932B1 (en) contents encryption method, system and method for providing contents through network using the encryption method
JP4366037B2 (en) System and method for controlling and exercising access rights to encrypted media
US20100017599A1 (en) Secure digital content management using mutating identifiers
WO2019200530A1 (en) Remote distribution method and system for terminal master key
JP2008500589A (en) Secure communication with changing identifiers and watermarking in real time
US20170353745A1 (en) Secure media player
US8417937B2 (en) System and method for securely transfering content from set-top box to personal media player
CN103237010B (en) The server end of digital content is cryptographically provided
KR20130093557A (en) System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
CN103237011B (en) Digital content encryption transmission method and server end
JP2000347566A (en) Contents administration device, contents user terminal, and computer-readable recording medium recording program thereon
JP2007515723A (en) Software execution protection using active entities
KR20140071775A (en) Cryptography key management system and method thereof
KR20090024482A (en) Key management system for using content and method thereof
CN114553557A (en) Key calling method, key calling device, computer equipment and storage medium
KR100959380B1 (en) Flash contents supplying method
KR100467570B1 (en) Security service method for digital content and system therefor
TW201530345A (en) Digital right management system, management method and information transmission system and method thereof
Reddy et al. Data Storage on Cloud using Split-Merge and Hybrid Cryptographic Techniques
KR20010095907A (en) A contents providing system and the providing method with new security technology
JP2004064783A (en) Apparatus and method for making safe distributed network

Legal Events

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

Payment date: 20130514

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140513

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee