KR102133764B1 - Method for providing contents and server of contents business operator for executing the same - Google Patents

Method for providing contents and server of contents business operator for executing the same Download PDF

Info

Publication number
KR102133764B1
KR102133764B1 KR1020180146984A KR20180146984A KR102133764B1 KR 102133764 B1 KR102133764 B1 KR 102133764B1 KR 1020180146984 A KR1020180146984 A KR 1020180146984A KR 20180146984 A KR20180146984 A KR 20180146984A KR 102133764 B1 KR102133764 B1 KR 102133764B1
Authority
KR
South Korea
Prior art keywords
content
provider server
encryption key
metadata
storage
Prior art date
Application number
KR1020180146984A
Other languages
Korean (ko)
Other versions
KR20200061551A (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 KR1020180146984A priority Critical patent/KR102133764B1/en
Publication of KR20200061551A publication Critical patent/KR20200061551A/en
Application granted granted Critical
Publication of KR102133764B1 publication Critical patent/KR102133764B1/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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Abstract

컨텐츠 제공 방법 및 이를 수행하기 위한 컨텐츠 사업자 서버가 제공된다. 본 발명의 일 실시예에 따른 컨텐츠 사업자 서버는, 컨텐츠 공급자 단말로부터 컨텐츠를 수신하는 컨텐츠 수신부; 상기 컨텐츠의 메타데이터 및 암호화키를 획득하며, 상기 암호화키로 상기 컨텐츠를 암호화한 후 암호화된 상기 컨텐츠를 스토리지 사업자 서버로 전달하고, 상기 메타데이터 및 상기 암호화키를 설정된 복수의 노드(node) 각각에 블록체인 형태로 저장하는 컨텐츠 처리부; 및 컨텐츠 사용자 단말로부터 컨텐츠 요청 메시지를 수신하는 요청 수신부를 포함하며, 상기 컨텐츠 처리부는, 상기 복수의 노드로부터 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 정보에 대응되는 메타데이터 및 암호화키를 획득하고, 획득된 상기 메타데이터 및 상기 암호화키를 상기 스토리지 사업자 서버 및 상기 컨텐츠 사용자 단말로 각각 전달하며, 암호화된 상기 컨텐츠는, 상기 스토리지 사업자 서버에서 상기 메타데이터를 통해 검색되어 상기 컨텐츠 사용자 단말로 전달되고, 상기 컨텐츠 사용자 단말에서 상기 암호화키를 통해 복호화된다.A content provider method and a content provider server for performing the same are provided. Content provider server according to an embodiment of the present invention, the content receiving unit for receiving content from the content provider terminal; Acquiring the metadata and encryption key of the content, encrypting the content with the encryption key, and then transmitting the encrypted content to a storage operator server, and setting the metadata and the encryption key to each of a plurality of configured nodes. A content processing unit that stores in the form of a blockchain; And a request receiving unit for receiving a content request message from a content user terminal, wherein the content processing unit acquires metadata and an encryption key corresponding to content information included in the content request message from the plurality of nodes, and is obtained. The metadata and the encryption key are respectively delivered to the storage operator server and the content user terminal, and the encrypted content is retrieved through the metadata from the storage operator server and delivered to the content user terminal, and the content The user terminal is decrypted through the encryption key.

Description

컨텐츠 제공 방법 및 이를 수행하기 위한 컨텐츠 사업자 서버{METHOD FOR PROVIDING CONTENTS AND SERVER OF CONTENTS BUSINESS OPERATOR FOR EXECUTING THE SAME}METHOD FOR PROVIDING CONTENTS AND SERVER OF CONTENTS BUSINESS OPERATOR FOR EXECUTING THE SAME

본 발명의 실시예들은 컨텐츠 제공 기술과 관련된다.Embodiments of the present invention relate to content providing technology.

일반적으로, 컨텐츠 사업자는 자신이 운영하는 스토리지에 컨텐츠를 저장한 채 사용자의 컨텐츠 요청시 상기 스토리지에 저장된 컨텐츠를 해당 사용자에게 제공하게 된다. 즉, 종래에는 컨텐츠 사업자가 컨텐츠 제공을 위한 서버뿐 아니라 컨텐츠 저장을 위한 스토리지도 함께 운영하는 것이 일반적이었다. 그러나, 컨텐츠 사업자 서버에서 컨텐츠 요청 수신, 컨텐츠 검색, 컨텐츠 제공 기능이 모두 수행됨에 따라 수천~수백만 사용자들의 컨텐츠 요청이 집중될 경우 컨텐츠 사업자 서버 측 부하가 과도하게 증가되는 문제점이 있었다. 또한, 일반적으로 컨텐츠 사업자는 스토리지를 전문적으로 운영하는 사업자가 아니므로 스토리지에 대한 전문성이 떨어질 수 밖에 없으며, 이 경우 스토리지의 품질 저하로 인해 잦은 에러가 발생하는 문제점이 있었다. 이와 같은 스토리지의 품질 저하 문제 때문에 컨텐츠 사업자는 보다 많은 사용자들을 유치하는 데 어려움이 있었다.In general, a content provider stores content in its own storage and provides content to the user when the user requests the content. That is, in the past, it was common for content providers to operate not only a server for providing content but also storage for storing content. However, as content request reception, content search, and content provision functions are all performed by the content provider server, there is a problem in that the load of the content provider server is excessively increased when content requests of thousands to millions of users are concentrated. In addition, in general, since content providers are not operators that specialize in storage, expertise in storage is inevitably reduced. In this case, there is a problem in that frequent errors occur due to deterioration in storage quality. Due to this problem of storage quality degradation, content providers had difficulty in attracting more users.

나아가, 종래에는 컨텐츠 사업자 서버가 컨텐츠와 상기 컨텐츠의 메타데이터를 서로 구분하지 않은 채 동일한 스토리지에 한꺼번에 저장하였으며, 이 경우 컨텐츠를 관리하거나 컨텐츠 공유, 동기화 등의 작업을 수행함에 있어서 에러나 충돌(conflict), 지연(delay) 등과 같은 여러 문제점이 빈번하게 발생되었다. 일반적으로, 컨텐츠 공유, 동기화 등의 작업은 컨텐츠의 이름, 버전, 수정 날짜/생성 날짜 등과 같은 컨텐츠의 메타데이터를 비교 또는 검증하는 방식으로 이루어지며, 메타데이터의 경우 그 크기가 크지 않아 비교, 검증 등과 같은 연산에 소요되는 시간이 매우 짧은 편이다. 반면, 컨텐츠의 업로드, 다운로드와 같은 작업은 컨텐츠 자체의 크기가 큰 경우 오랜 시간이 걸릴 수 밖에 없다. 종래에는 컨텐츠와 상기 컨텐츠의 메타데이터가 모두 하나의 스토리지에서 관리됨에 따라 컨텐츠가 업로드/다운로드되고 있는 도중에 여러 사용자들이 동시에 컨텐츠를 변경하는 경우 에러나 충돌 현상이 발생하였으며, 컨텐츠의 업로드/다운로드 작업으로 인해 컨텐츠 공유, 동기화 등의 작업이 지연되는 현상도 빈번하게 발생하였다.Furthermore, in the related art, the content provider server has stored the content and the metadata of the content in the same storage at a time, and in this case, errors or conflicts in managing content or performing content sharing, synchronization, etc. ), delays, and other problems frequently occurred. In general, content sharing, synchronization, etc. are performed by comparing or verifying the metadata of the content, such as the name, version, modification date/creation date, etc. of the content. The time required for such operations is very short. On the other hand, tasks such as uploading and downloading of content are forced to take a long time when the content itself is large. Conventionally, as both content and metadata of the content are managed in a single storage, when multiple users simultaneously change the content while the content is being uploaded/downloaded, an error or collision occurs, and the content is uploaded/downloaded. As a result, the phenomenon of delayed work such as content sharing and synchronization frequently occurred.

한국공개특허공보 제10-2018-0056392호(2018.05.28)Korean Patent Publication No. 10-2018-0056392 (2018.05.28)

본 발명의 실시예들은 컨텐츠 사업자 영역과 스토리지 사업자 영역을 분리시켜 스토리지의 전문성을 강화하고, 컨텐츠와 상기 컨텐츠의 메타데이터가 별도로 관리되도록 함으로써 컨텐츠 관리, 컨텐츠 공유, 컨텐츠 동기화 등의 작업 효율성을 향상시키기 위한 것이다. Embodiments of the present invention enhances the expertise of storage by separating the content provider area and the storage provider area, and improves work efficiency such as content management, content sharing, and content synchronization by separately managing content and metadata of the content. It is for.

예시적인 실시예에 따르면, 컨텐츠 공급자 단말에서, 컨텐츠 사업자 서버로 컨텐츠를 전달하는 단계; 상기 컨텐츠 사업자 서버에서, 상기 컨텐츠의 메타데이터 및 암호화키를 획득하는 단계; 상기 컨텐츠 사업자 서버에서, 상기 암호화키로 상기 컨텐츠를 암호화한 후 암호화된 상기 컨텐츠를 스토리지 사업자 서버로 전달하는 단계; 상기 컨텐츠 사업자 서버에서, 상기 메타데이터 및 상기 암호화키를 설정된 복수의 노드(node) 각각에 블록체인 형태로 저장하는 단계; 컨텐츠 사용자 단말에서, 상기 컨텐츠 사업자 서버로 컨텐츠 요청 메시지를 전달하는 단계; 상기 컨텐츠 사업자 서버에서, 상기 복수의 노드로부터 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 정보에 대응되는 메타데이터 및 암호화키를 획득하는 단계; 상기 컨텐츠 사업자 서버에서, 획득된 상기 메타데이터 및 상기 암호화키를 상기 스토리지 사업자 서버 및 상기 컨텐츠 사용자 단말로 각각 전달하는 단계; 상기 스토리지 사업자 서버에서, 상기 컨텐츠 사업자 서버로부터 수신된 메타데이터에 대응되는 컨텐츠를 검색하는 단계; 상기 스토리지 사업자 서버에서, 검색된 상기 컨텐츠를 상기 컨텐츠 사용자 단말로 전달하는 단계; 및 상기 컨텐츠 사용자 단말에서, 상기 컨텐츠 사업자 서버로부터 수신된 암호화키를 이용하여 수신된 상기 컨텐츠를 복호화하는 단계를 포함하는, 컨텐츠 제공 방법이 제공된다.According to an exemplary embodiment, the step of delivering content from the content provider terminal to the content provider server; Obtaining, from the content provider server, metadata and an encryption key of the content; Encrypting the content with the encryption key in the content provider server, and then transmitting the encrypted content to a storage provider server; Storing, in the content provider server, the metadata and the encryption key in the form of a blockchain in each of a plurality of configured nodes; Transmitting a content request message from the content user terminal to the content provider server; Obtaining, from the content provider server, metadata and an encryption key corresponding to content information included in the content request message from the plurality of nodes; Transmitting the obtained metadata and the encryption key from the content provider server to the storage provider server and the content user terminal, respectively; Searching for content corresponding to metadata received from the content provider server in the storage provider server; Transmitting, from the storage operator server, the searched content to the content user terminal; And decrypting the content received using the encryption key received from the content provider server at the content user terminal.

상기 컨텐츠 제공 방법은, 상기 컨텐츠 사업자 서버에서, 상기 컨텐츠 사용자 단말로부터 상기 컨텐츠의 결제 요청을 수신하는 단계; 및 상기 컨텐츠 사업자 서버에서, 상기 컨텐츠의 결제가 완료되는 경우 컨텐츠 공급비용 지급 메시지 및 스토리지 사용비용 지급 메시지를 상기 컨텐츠 공급자 단말 및 상기 스토리지 사업자 서버로 각각 전달하는 단계를 더 포함할 수 있다.The content providing method may include receiving, at the content provider server, a payment request for the content from the content user terminal; And in the content provider server, when the payment of the content is completed, transmitting the content supply cost payment message and the storage usage cost payment message to the content provider terminal and the storage provider server, respectively.

획득된 상기 메타데이터 및 상기 암호화키를 상기 스토리지 사업자 서버 및 상기 컨텐츠 사용자 단말로 각각 전달하는 단계는, 상기 컨텐츠의 결제가 완료된 이후 수행될 수 있다.Transferring the obtained metadata and the encryption key to the storage operator server and the content user terminal, respectively, may be performed after payment of the content is completed.

상기 컨텐츠 사업자 서버 및 상기 스토리지 사업자 서버는, 서로 다른 사업자에 의해 각각 운영될 수 있다.The content operator server and the storage operator server may be operated by different operators, respectively.

다른 예시적인 실시예에 따르면, 컨텐츠 공급자 단말로부터 컨텐츠를 수신하는 컨텐츠 수신부; 상기 컨텐츠의 메타데이터 및 암호화키를 획득하며, 상기 암호화키로 상기 컨텐츠를 암호화한 후 암호화된 상기 컨텐츠를 스토리지 사업자 서버로 전달하고, 상기 메타데이터 및 상기 암호화키를 설정된 복수의 노드(node) 각각에 블록체인 형태로 저장하는 컨텐츠 처리부; 및 컨텐츠 사용자 단말로부터 컨텐츠 요청 메시지를 수신하는 요청 수신부를 포함하며, 상기 컨텐츠 처리부는, 상기 복수의 노드로부터 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 정보에 대응되는 메타데이터 및 암호화키를 획득하고, 획득된 상기 메타데이터 및 상기 암호화키를 상기 스토리지 사업자 서버 및 상기 컨텐츠 사용자 단말로 각각 전달하며, 암호화된 상기 컨텐츠는, 상기 스토리지 사업자 서버에서 상기 메타데이터를 통해 검색되어 상기 컨텐츠 사용자 단말로 전달되고, 상기 컨텐츠 사용자 단말에서 상기 암호화키를 통해 복호화되는, 컨텐츠 사업자 서버가 제공된다.According to another exemplary embodiment, the content receiving unit for receiving content from the content provider terminal; Acquiring the metadata and encryption key of the content, encrypting the content with the encryption key, and then transmitting the encrypted content to a storage operator server, and setting the metadata and the encryption key to each of a plurality of nodes that have been set. A content processing unit that stores in the form of a blockchain; And a request receiving unit for receiving a content request message from a content user terminal, wherein the content processing unit acquires metadata and an encryption key corresponding to content information included in the content request message from the plurality of nodes, and is obtained. The metadata and the encryption key are respectively delivered to the storage operator server and the content user terminal, and the encrypted content is retrieved through the metadata from the storage operator server and delivered to the content user terminal, and the content A content provider server, which is decrypted through the encryption key at a user terminal, is provided.

본 발명의 실시예들에 따르면, 비교적 크기가 작은 메타데이터와 암호화키는 상대적으로 저렴한 블록체인 네트워크의 각 노드에 저장되도록 하고 비교적 크기가 큰 물리 파일, 즉 컨텐츠는 스토리지 사업자가 운영하는 스토리지에 저장되도록 함으로써, 다량의 컨텐츠를 보다 용이하게 백업하고 스토리지에서 에러 발생시 보다 신속하게 이를 복구할 수 있다. 또한, 이 경우 스토리지의 교체가 용이해지며 컨텐츠에 맞는 서로 다른 종류의 여러 스토리지를 동시에 채용할 수도 있다.According to embodiments of the present invention, relatively small metadata and encryption keys are stored in each node of a relatively inexpensive blockchain network, and relatively large physical files, that is, contents are stored in storage operated by a storage operator. By doing so, it is possible to back up a large amount of content more easily and recover it more quickly when an error occurs in storage. In addition, in this case, it is easy to replace the storage, and multiple storages of different types suitable for content may be simultaneously employed.

또한, 본 발명의 실시예들에 따르면, 컨텐츠의 메타데이터와 암호화키를 각 노드에 블록체인 형태로 분산 저장함으로써, 메타데이터와 암호화키의 무결성을 보장하고 이들이 권한 없는 자에 의해 임의로 수정되는 것을 방지할 수 있다.In addition, according to embodiments of the present invention, by storing and storing metadata and encryption keys of contents in a block chain form on each node, it ensures the integrity of metadata and encryption keys and that they are arbitrarily modified by unauthorized persons. Can be prevented.

또한, 본 발명의 실시예들에 따르면, 컨텐츠 제공 시스템 내에서 컨텐츠 공급자, 컨텐츠 사업자, 스토리지 사업자, 컨텐츠 사용자, 블록체인 채굴자 각각의 역할을 분담하여 각자의 역할 수행시 비용을 지급받도록 함으로써, 컨텐츠 제공에 있어서 각 참여자의 참여를 유도하여 컨텐츠 제공/유통 관련 사업을 확장시킬 수 있다. In addition, according to embodiments of the present invention, by sharing the roles of content providers, content providers, storage providers, content users, and block chain miners within the content providing system, content is paid by performing each role, thereby In the provision, it is possible to expand the business related to content provision/distribution by inducing participation of each participant.

도 1은 본 발명의 일 실시예에 따른 컨텐츠 제공 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 컨텐츠 제공 방법을 설명하기 위한 흐름도
도 3은 본 발명의 일 실시예에 따른 컨텐츠 사업자 서버의 상세 구성을 나타낸 블록도
도 4는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a block diagram showing a detailed configuration of a content providing system according to an embodiment of the present invention
2 is a flowchart illustrating a method for providing content according to an embodiment of the present invention
3 is a block diagram showing a detailed configuration of a content provider server according to an embodiment of the present invention
4 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in example embodiments.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to aid in a comprehensive understanding of the methods, devices and/or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, when it is determined that a detailed description of known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to a user's or operator's intention or practice. Therefore, the definition should be made based on the contents throughout this specification. The terminology used in the detailed description is only for describing embodiments of the present invention and should not be limiting. Unless expressly used otherwise, a singular form includes a plural form. In this description, expressions such as “including” or “equipment” are intended to indicate certain characteristics, numbers, steps, actions, elements, parts or combinations thereof, and one or more other than described. It should not be interpreted to exclude the presence or possibility of other characteristics, numbers, steps, actions, elements, or parts or combinations thereof.

도 1은 본 발명의 일 실시예에 따른 컨텐츠 제공 시스템(100)의 상세 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 컨텐츠 제공 시스템(100)은 컨텐츠 공급자 단말(102), 컨텐츠 사업자 서버(104), 블록체인 네트워크(106), 스토리지 사업자 서버(108) 및 컨텐츠 사용자 단말(110)을 포함한다.1 is a block diagram showing a detailed configuration of a content providing system 100 according to an embodiment of the present invention. As shown in FIG. 1, the content providing system 100 according to an embodiment of the present invention includes a content provider terminal 102, a content provider server 104, a blockchain network 106, and a storage provider server 108 And a content user terminal 110.

컨텐츠 공급자 단말(102)은 컨텐츠 공급자가 소지하는 단말로서, 예를 들어 데스크탑, 노트북, 태블릿 컴퓨터, 스마트폰, PDA, 스마트 워치 등과 같은 웨어러블 디바이스 등이 될 수 있다. 컨텐츠 공급자는 컨텐츠를 직접 창작하거나 상기 컨텐츠에 대한 소유권, 접근 권한 등을 보유하고 있을 수 있다. 여기서, 컨텐츠는 이미지 파일, HTML 파일, 이진(Binary) 파일, 동영상 파일 등과 같이 파일 형태로 존재하여 변경되지 않는 정적 컨텐츠 뿐 아니라 특정 서버(미도시) 상에서 주기적으로 갱신되는 분석 데이터, 사용자 입력에 의한 통계 데이터 등과 같이 그 내용, 접근 권한 등이 필요에 따라 변경되는 동적 컨텐츠까지 모두 포함하는 넓은 의미로 사용된다.The content provider terminal 102 is a terminal possessed by a content provider, and may be, for example, a wearable device such as a desktop, laptop, tablet computer, smart phone, PDA, or smart watch. The content provider may directly create content or may have ownership and access rights to the content. Here, the content exists in the form of a file such as an image file, an HTML file, a binary file, a video file, etc., as well as static content that does not change, and analysis data periodically updated on a specific server (not shown), by user input It is used in a broad sense to include all of the dynamic content whose contents, access rights, etc. change as needed, such as statistical data.

컨텐츠 공급자 단말(102)은 컨텐츠를 컨텐츠 사업자 서버(104)로 제공할 수 있다. 이때, 컨텐츠 사업자 서버(104)는 컨텐츠를 제공 받기 위한 전용 웹 페이지(또는 애플리케이션)를 제공할 수 있으며, 컨텐츠 공급자 단말(102)은 상기 웹 페이지를 통해 상기 컨텐츠를 컨텐츠 사업자 서버(104)로 제공할 수 있다.The content provider terminal 102 may provide content to the content provider server 104. At this time, the content provider server 104 may provide a dedicated web page (or application) for receiving content, and the content provider terminal 102 provides the content to the content provider server 104 through the web page can do.

컨텐츠 사업자 서버(104)는 컨텐츠 제공 시스템(100) 내 각 사업자들(또는 참여자들)을 관리하고, 컨텐츠 제공을 위한 각종 기능을 포함하는 전용 웹 페이지를 제공하는 장치이다. 또한, 컨텐츠 사업자는 예를 들어, 블록체인 사업자일 수 있으며, 후술할 메타데이터 및 암호화키의 관리를 위한 블록체인 시스템을 제공할 수 있다.The content provider server 104 is a device that manages each operator (or participants) in the content providing system 100 and provides a dedicated web page including various functions for providing content. In addition, the content provider may be, for example, a blockchain operator, and may provide a blockchain system for managing metadata and encryption keys, which will be described later.

컨텐츠 사업자 서버(104)는 컨텐츠 공급자 단말(102)로부터 컨텐츠를 수신하고, 상기 컨텐츠의 메타데이터 및 상기 컨텐츠를 암호화/복호화하기 위한 암호화키를 획득할 수 있다. 여기서, 메타데이터는 예를 들어, 컨텐츠의 이름(name), 유형(type), 버전(version), 크기(size), 수정 날짜/생성 날짜, 해시(hash) 값 등이 될 수 있다. 컨텐츠 사업자 서버(104)는 컨텐츠 공급자 단말(102)로부터 수신된 컨텐츠로부터 상기 메타데이터를 직접 추출하거나, 컨텐츠 공급자 단말(102)로부터 상기 컨텐츠와 함께 상기 메타데이터를 수신할 수 있다. 또한, 컨텐츠 사업자 서버(104)는 암호화키를 직접 생성하거나, 컨텐츠 공급자 단말(102)로부터 상기 컨텐츠와 함께 상기 암호화키를 수신할 수 있다.The content provider server 104 may receive content from the content provider terminal 102 and obtain metadata of the content and an encryption key for encrypting/decrypting the content. Here, the metadata may be, for example, the name (name) of the content, type (type), version (version), size (size), modification date / creation date, hash (hash) value. The content provider server 104 may directly extract the metadata from the content received from the content provider terminal 102 or receive the metadata together with the content from the content provider terminal 102. In addition, the content provider server 104 may directly generate an encryption key or receive the encryption key together with the content from the content provider terminal 102.

이후, 컨텐츠 사업자 서버(104)는 상기 암호화키로 상기 컨텐츠를 암호화한 후 암호화된 상기 컨텐츠를 스토리지 사업자 서버(108)로 전달할 수 있다. 또한, 컨텐츠 사업자 서버(104)는 상기 메타데이터 및 상기 암호화키를 블록체인 네트워크(106)로 전달할 수 있다. 도 1에 도시된 바와 같이, 블록체인 네트워크(106)는 복수의 노드(node, 106a)를 구비할 수 있으며, 컨텐츠 사업자 서버(104)는 상기 메타데이터 및 상기 암호화키를 상기 복수의 노드(106a) 각각에 블록체인 형태로 저장할 수 있다. 여기서, 각 노드(106a)는 소정의 저장 공간을 구비하는 하드웨어 장치일 수 있다. 즉, 예시적인 실시예에 따르면, 컨텐츠의 메타데이터 및 암호화키를 블록체인으로 연결시켜 각 노드(106a)에 저장함으로써 이들의 무결성을 보장할 수 있으며, 권한 없는 자에 의해 상기 메타데이터 및 암호화키가 임의로 수정되는 것을 방지할 수 있다.Thereafter, the content provider server 104 may encrypt the content with the encryption key and then transmit the encrypted content to the storage provider server 108. In addition, the content provider server 104 may deliver the metadata and the encryption key to the blockchain network 106. As shown in FIG. 1, the blockchain network 106 may include a plurality of nodes (106a), and the content provider server 104 may use the metadata and the encryption key to access the plurality of nodes (106a). ) Each can be stored in the form of a blockchain. Here, each node 106a may be a hardware device having a predetermined storage space. That is, according to an exemplary embodiment, the metadata and encryption key of the content can be connected to the blockchain and stored in each node 106a to ensure their integrity, and the metadata and encryption key can be secured by an unauthorized person. Can be prevented from being modified arbitrarily.

또한, 컨텐츠 사업자 서버(104)는 컨텐츠 사용자 단말(110)로부터 컨텐츠 요청 메시지를 수신하고, 상기 컨텐츠에 대한 컨텐츠 사용자의 결제가 완료되는 경우 상기 복수의 노드(106a)로부터 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 정보에 대응되는 메타데이터 및 암호화키를 획득할 수 있다. 여기서, 컨텐츠 정보는 예를 들어, 컨텐츠의 이름, 유형, 버전 등이 될 수 있다. 컨텐츠 사업자 서버(104)는 획득된 상기 메타데이터 및 상기 암호화키를 스토리지 사업자 서버(108) 및 컨텐츠 사용자 단말(110)로 각각 전달할 수 있다. 또한, 상기 컨텐츠에 대한 컨텐츠 사용자의 결제가 완료되는 경우, 컨텐츠 사업자는 컨텐츠 공급자와 스토리지 사업자에게 각각 컨텐츠 공급비용과 스토리지 사용비용을 지불할 수 있다. 이에 따라, 컨텐츠 사업자 서버(104)는 컨텐츠 공급비용 지급 메시지 및 스토리지 사용비용 지급 메시지를 컨텐츠 공급자 단말(102) 및 스토리지 사업자 서버(108)로 각각 전달할 수 있다.In addition, the content provider server 104 receives the content request message from the content user terminal 110, and when payment of the content user for the content is completed, included in the content request message from the plurality of nodes 106a Metadata and encryption keys corresponding to content information may be obtained. Here, the content information may be, for example, the name, type, version, etc. of the content. The content provider server 104 may transfer the obtained metadata and the encryption key to the storage provider server 108 and the content user terminal 110, respectively. In addition, when payment of the content user for the content is completed, the content provider may pay the content supply cost and the storage use cost to the content provider and the storage provider, respectively. Accordingly, the content provider server 104 may deliver the content supply cost payment message and the storage use cost payment message to the content provider terminal 102 and the storage provider server 108, respectively.

블록체인 네트워크(106)는 피어-투-피어(peer-to-peer) 방식으로 서로 연결되는 복수의 노드(106a)를 포함할 수 있다. 상술한 바와 같이, 각 노드(106a)는 소정의 저장 공간을 구비하는 하드웨어 장치일 수 있다. 또한, 컨텐츠 사업자 서버(104)는 컨텐츠의 메타데이터 및 암호화키를 복수의 노드(106a) 각각에 블록체인 형태로 저장할 수 있다. 이와 같이, 블록체인 채굴자(즉, 각 노드의 소유자)는 컨텐츠 사업자(또는 블록체인 사업자)에게 블록체인 인프라를 제공하고, 컨텐츠와 관련된 각종 정보를 블록체인 네트워크, 즉 각 노드(106a)에 기록(채굴)할 수 있다. 이에 따라, 블록체인 채굴자는 컨텐츠 사업자(또는 블록체인 사업자)로부터 상기 채굴에 대한 대가를 지급 받을 수 있다. The blockchain network 106 may include a plurality of nodes 106a connected to each other in a peer-to-peer manner. As described above, each node 106a may be a hardware device having a predetermined storage space. In addition, the content provider server 104 may store the metadata and encryption key of the content in the form of a blockchain in each of the plurality of nodes 106a. As such, the blockchain miner (i.e., the owner of each node) provides the blockchain infrastructure to the content provider (or blockchain operator) and records various information related to the content in the blockchain network, i.e., each node 106a. (Mining). Accordingly, the blockchain miner can be paid for the mining from a content provider (or a blockchain operator).

스토리지 사업자 서버(108)는 컨텐츠의 저장을 위한 하나 이상의 스토리지(미도시)를 관리한다. 상술한 바와 같이, 컨텐츠 사업자 서버(104)는 암호화키로 컨텐츠를 암호화한 후 암호화된 상기 컨텐츠를 스토리지 사업자 서버(108)로 전달할 수 있다. 스토리지 사업자 서버(108)는 상기 컨텐츠를 상기 스토리지에 저장할 수 있다. 이후, 컨텐츠 사업자 서버(104)로부터 메타데이터를 수신하는 경우, 스토리지 사업자 서버(108)는 상기 메타데이터에 대응되는 컨텐츠를 검색하여 컨텐츠 사용자 단말(110)로 제공할 수 있다.The storage operator server 108 manages one or more storages (not shown) for storage of content. As described above, the content provider server 104 may encrypt the content with an encryption key and then transmit the encrypted content to the storage provider server 108. The storage operator server 108 may store the content in the storage. Thereafter, when receiving metadata from the content provider server 104, the storage provider server 108 may search for content corresponding to the metadata and provide it to the content user terminal 110.

여기서, 스토리지 사업자는 스토리지 관련 전문 사업자(예를 들어, 아마존(Amazon), 구글(Google) 등)로서, 컨텐츠 사업자와는 구별될 수 있다. 이와 같이, 컨텐츠 사업자 서버(104)와 스토리지 사업자 서버(108)는 서로 다른 사업자에 의해 각각 운영될 수 있다. 일반적으로, 영세 사업자의 경우 용량이 큰 스토리지를 효율적으로 관리하는 데 어려움이 있으며, 스토리지에서 에러 발생시 전문성 부족으로 데이터 복구에 어려움을 겪는 경우가 많다. 본 발명의 실시예들에 따르면, 비교적 크기가 작은 메타데이터와 암호화키는 상대적으로 저렴한 블록체인 네트워크의 각 노드(106a)에 저장되도록 하고 비교적 크기가 큰 물리 파일, 즉 컨텐츠는 스토리지 사업자가 운영하는 스토리지에 저장되도록 함으로써, 다량의 컨텐츠를 보다 용이하게 백업하고 스토리지에서 에러 발생시 보다 신속하게 이를 복구할 수 있다. 또한, 이 경우 스토리지의 교체가 용이해지며 컨텐츠에 맞는 서로 다른 종류의 여러 스토리지를 동시에 채용할 수도 있다. Here, the storage operator is a storage-related professional operator (for example, Amazon (Amazon), Google (Google), etc.), and can be distinguished from content providers. As such, the content operator server 104 and the storage operator server 108 may be operated by different operators, respectively. In general, small businesses have difficulties in efficiently managing large-capacity storage, and often experience difficulties in data recovery due to lack of expertise when errors occur in storage. According to embodiments of the present invention, relatively small metadata and encryption keys are stored in each node 106a of a relatively inexpensive blockchain network, and relatively large physical files, that is, contents are operated by a storage operator. By storing it in storage, it is possible to back up a large amount of content more easily and recover it more quickly if an error occurs in storage. In addition, in this case, it is easy to replace the storage, and multiple storages of different types suitable for content may be simultaneously employed.

컨텐츠 사용자 단말(110)은 컨텐츠를 이용하는 사용자가 소지하는 단말로서, 예를 들어 데스크탑, 노트북, 태블릿 컴퓨터, 스마트폰, PDA, 스마트 워치 등과 같은 웨어러블 디바이스 등이 될 수 있다. 컨텐츠 사용자 단말(110)은 컨텐츠 사용자의 명령에 따라 컨텐츠 요청 메시지를 컨텐츠 사업자 서버(104)로 전달하고, 컨텐츠 사업자 서버(104)로부터 상기 컨텐츠의 복호화를 위한 암호화키를 수신할 수 있다. 이때, 컨텐츠 사용자 단말(110)은 컨텐츠 사업자 서버(104)로 상기 컨텐츠의 결제 요청을 전달할 수 있으며, 결제 완료시 컨텐츠 사업자 서버(104)로부터 상기 암호화키를 수신할 수 있다. 이후, 컨텐츠 사용자 단말(110)은 스토리지 사업자 서버(108)로부터 암호화된 상기 컨텐츠를 수신하고, 상기 암호화키를 이용하여 암호화된 상기 컨텐츠를 복호화할 수 있다.The content user terminal 110 is a terminal possessed by a user who uses content, and may be, for example, a wearable device such as a desktop, laptop, tablet computer, smart phone, PDA, smart watch, or the like. The content user terminal 110 may transmit a content request message to the content provider server 104 according to an instruction of the content user, and receive an encryption key for decrypting the content from the content provider server 104. At this time, the content user terminal 110 may deliver a payment request for the content to the content provider server 104, and upon completion of payment, may receive the encryption key from the content provider server 104. Thereafter, the content user terminal 110 may receive the encrypted content from the storage operator server 108 and decrypt the encrypted content using the encryption key.

도 2는 본 발명의 일 실시예에 따른 컨텐츠 제공 방법을 설명하기 위한 흐름도이다. 이하의 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.2 is a flowchart illustrating a method for providing content according to an embodiment of the present invention. In the following flowchart, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed by reversing the order, combined with other steps, omitted, or divided into detailed steps, or illustrated. One or more steps that are not performed may be performed.

S102 단계에서, 컨텐츠 공급자 단말(102)은 컨텐츠 사업자 서버(104)로 컨텐츠를 전달한다.In step S102, the content provider terminal 102 delivers content to the content provider server 104.

S104 단계에서, 컨텐츠 사업자 서버(104)는 상기 컨텐츠의 메타데이터 및 암호화키를 획득한다.In step S104, the content provider server 104 obtains the metadata and encryption key of the content.

S106 단계에서, 컨텐츠 사업자 서버(104)는 상기 암호화키로 상기 컨텐츠를 암호화한 후 암호화된 상기 컨텐츠를 스토리지 사업자 서버(108)로 전달한다. 스토리지 사업자 서버(108)는 암호화된 상기 컨텐츠를 스토리지에 저장할 수 있다.In step S106, the content provider server 104 encrypts the content with the encryption key and then transmits the encrypted content to the storage provider server 108. The storage operator server 108 may store the encrypted content in storage.

S108 단계에서, 컨텐츠 사업자 서버(104)는 상기 메타데이터 및 상기 암호화키를 설정된 복수의 노드(106a) 각각에 블록체인 형태로 저장한다.In step S108, the content provider server 104 stores the metadata and the encryption key in the form of a blockchain in each of a plurality of configured nodes 106a.

S110 단계에서, 컨텐츠 사용자 단말(110)은 컨텐츠 사업자 서버(104)로 컨텐츠 요청 메시지를 전달한다. 이때, 컨텐츠 사용자 단말(110)은 상기 컨텐츠 요청 메시지와 함께 컨텐츠의 결제 요청 메시지를 컨텐츠 사업자 서버(104)로 전달할 수 있다.In step S110, the content user terminal 110 transmits a content request message to the content provider server 104. At this time, the content user terminal 110 may transmit the content request message together with the content request message to the content provider server 104.

S112 단계에서, 상기 컨텐츠의 결제가 완료되는 경우, 컨텐츠 사업자 서버(104)는 상기 복수의 노드(106a)로부터 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 정보에 대응되는 메타데이터 및 암호화키를 획득한다.In step S112, when payment of the content is completed, the content provider server 104 obtains metadata and an encryption key corresponding to content information included in the content request message from the plurality of nodes 106a.

S114 단계에서, 컨텐츠 사업자 서버(104)는 획득된 상기 암호화키를 컨텐츠 사용자 단말(110)로 전달한다.In step S114, the content provider server 104 delivers the obtained encryption key to the content user terminal 110.

S116 단계에서, 컨텐츠 사업자 서버(104)는 획득된 상기 메타데이터를 스토리지 사업자 서버(108)로 전달한다.In step S116, the content provider server 104 delivers the obtained metadata to the storage provider server 108.

S118 단계에서, 스토리지 사업자 서버(108)는 스토리지에 저장된 컨텐츠들 중 컨텐츠 사업자 서버(104)로부터 수신된 메타데이터에 대응되는 컨텐츠를 검색한다.In step S118, the storage operator server 108 searches for content corresponding to metadata received from the content operator server 104 among contents stored in the storage.

S120 단계에서, 스토리지 사업자 서버(108)는 검색된 컨텐츠(즉, 암호화된 컨텐츠)를 컨텐츠 사용자 단말(110)로 전달한다.In step S120, the storage operator server 108 delivers the searched content (ie, encrypted content) to the content user terminal 110.

S122 단계에서, 컨텐츠 사용자 단말(110)은 컨텐츠 사업자 서버(104)로부터 수신된 암호화키를 이용하여 암호화된 상기 컨텐츠를 복호화한다.In step S122, the content user terminal 110 decrypts the encrypted content using the encryption key received from the content provider server 104.

도 3은 본 발명의 일 실시예에 따른 컨텐츠 사업자 서버(104)의 상세 구성을 나타낸 블록도이다. 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 컨텐츠 사업자 서버(104)는 컨텐츠 수신부(302), 컨텐츠 처리부(304) 및 요청 수신부(306)를 포함한다.3 is a block diagram showing a detailed configuration of a content provider server 104 according to an embodiment of the present invention. As shown in FIG. 3, the content provider server 104 according to an embodiment of the present invention includes a content receiving unit 302, a content processing unit 304, and a request receiving unit 306.

컨텐츠 수신부(302)는 컨텐츠 공급자 단말(102)로부터 컨텐츠를 수신한다.The content receiving unit 302 receives content from the content provider terminal 102.

컨텐츠 처리부(304)는 상기 컨텐츠의 메타데이터 및 암호화키를 획득하며, 상기 암호화키로 상기 컨텐츠를 암호화한 후 암호화된 상기 컨텐츠를 스토리지 사업자 서버(108)로 전달하고, 상기 메타데이터 및 상기 암호화키를 설정된 복수의 노드(106a) 각각에 블록체인 형태로 저장한다.The content processing unit 304 obtains the metadata and encryption key of the content, encrypts the content with the encryption key, delivers the encrypted content to the storage operator server 108, and transmits the metadata and the encryption key. It is stored in the form of a blockchain in each of the plurality of nodes 106a.

요청 수신부(306)는 컨텐츠 사용자 단말(110)로부터 컨텐츠 요청 메시지를 수신한다. 또한, 요청 수신부(306)는 컨텐츠 사용자 단말(110)로부터 컨텐츠 결제 요청 메시지를 수신할 수 있다. The request receiving unit 306 receives a content request message from the content user terminal 110. In addition, the request receiving unit 306 may receive a content payment request message from the content user terminal 110.

만약, 컨텐츠에 대한 결제가 완료되는 경우, 컨텐츠 처리부(304)는 상기 복수의 노드(106a)로부터 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 정보에 대응되는 메타데이터 및 암호화키를 획득하고, 획득된 상기 메타데이터 및 상기 암호화키를 스토리지 사업자 서버(108) 및 컨텐츠 사용자 단말(110)로 각각 전달할 수 있다.If the payment for the content is completed, the content processing unit 304 obtains metadata and an encryption key corresponding to the content information included in the content request message from the plurality of nodes 106a, and the obtained meta Data and the encryption key may be delivered to the storage operator server 108 and the content user terminal 110, respectively.

또한, 컨텐츠 처리부(304)는 상기 컨텐츠의 결제가 완료되는 경우 컨텐츠 공급비용 지급 메시지 및 스토리지 사용비용 지급 메시지를 컨텐츠 공급자 단말(102) 및 스토리지 사업자 서버(108)로 각각 전달할 수 있다.In addition, the content processing unit 304 may deliver a content supply cost payment message and a storage use cost payment message to the content provider terminal 102 and the storage provider server 108, respectively, when payment of the content is completed.

도 4는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.4 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 컨텐츠 제공 시스템(100), 또는 컨텐츠 제공 시스템(100)에 포함되는 하나 이상의 컴포넌트일 수 있다.The illustrated computing environment 10 includes a computing device 12. In one embodiment, the computing device 12 may be a content providing system 100 or one or more components included in the content providing system 100.

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The computing device 12 includes at least one processor 14, a computer readable storage medium 16 and a communication bus 18. The processor 14 can cause the computing device 12 to operate in accordance with the exemplary embodiment mentioned above. For example, processor 14 may execute one or more programs stored on computer readable storage medium 16. The one or more programs can include one or more computer-executable instructions, which, when executed by processor 14, configure computing device 12 to perform operations in accordance with an exemplary embodiment. Can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer readable storage medium 16 is configured to store computer executable instructions or program code, program data and/or other suitable types of information. The program 20 stored on the computer readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, the computer readable storage medium 16 is a memory (volatile memory such as random access memory, nonvolatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash Memory devices, other types of storage media that can be accessed by the computing device 12 and store desired information, or suitable combinations thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.The communication bus 18 interconnects various other components of the computing device 12, including a processor 14 and a computer readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more I/O interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more I/O devices 24. The input/output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input/output device 24 may be connected to other components of the computing device 12 through the input/output interface 22. Exemplary input/output devices 24 include pointing devices (such as a mouse or trackpad), keyboards, touch input devices (such as touch pads or touch screens), voice or sound input devices, various types of sensor devices, and/or imaging devices. Input devices and/or output devices such as display devices, printers, speakers and/or network cards. The exemplary input/output device 24 is a component constituting the computing device 12 and may be included inside the computing device 12 or may be connected to the computing device 12 as a separate device distinct from the computing device 12. It might be.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. Although the present invention has been described in detail through exemplary embodiments above, those skilled in the art to which the present invention pertains are capable of various modifications within the limits of the embodiments described above without departing from the scope of the present invention. Will understand. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims to be described later, but also by the claims and equivalents.

100 : 컨텐츠 제공 시스템
102 : 컨텐츠 공급자 단말
104 : 컨텐츠 사업자 서버
106 : 블록체인 네트워크
108 : 스토리지 사업자 서버
110 : 컨텐츠 사용자 단말
302 : 컨텐츠 수신부
304 : 컨텐츠 처리부
306 : 요청 수신부
100: content providing system
102: content provider terminal
104: content provider server
106: blockchain network
108: storage operator server
110: content user terminal
302: content receiving unit
304: content processing unit
306: request receiving unit

Claims (5)

컨텐츠 공급자 단말에서, 컨텐츠 사업자 서버로 컨텐츠를 전달하는 단계;
상기 컨텐츠 사업자 서버에서, 상기 컨텐츠의 메타데이터 및 암호화키를 획득하는 단계;
상기 컨텐츠 사업자 서버에서, 상기 암호화키로 상기 컨텐츠를 암호화한 후 암호화된 상기 컨텐츠를 스토리지 사업자 서버로 전달하는 단계;
상기 컨텐츠 사업자 서버에서, 상기 메타데이터 및 상기 암호화키를 설정된 복수의 노드(node) 각각에 블록체인 형태로 저장하는 단계;
컨텐츠 사용자 단말에서, 상기 컨텐츠 사업자 서버로 컨텐츠 요청 메시지를 전달하는 단계;
상기 컨텐츠 사업자 서버에서, 상기 컨텐츠 사용자 단말로부터 상기 컨텐츠의 결제 요청을 수신하는 단계;
상기 컨텐츠 사업자 서버에서, 상기 복수의 노드로부터 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 정보에 대응되는 메타데이터 및 암호화키를 획득하는 단계;
상기 컨텐츠 사업자 서버에서, 획득된 상기 메타데이터 및 상기 암호화키를 상기 스토리지 사업자 서버 및 상기 컨텐츠 사용자 단말로 각각 전달하는 단계;
상기 스토리지 사업자 서버에서, 상기 컨텐츠 사업자 서버로부터 수신된 메타데이터에 대응되는 컨텐츠를 검색하는 단계;
상기 스토리지 사업자 서버에서, 검색된 상기 컨텐츠를 상기 컨텐츠 사용자 단말로 전달하는 단계;
상기 컨텐츠 사용자 단말에서, 상기 컨텐츠 사업자 서버로부터 수신된 암호화키를 이용하여 수신된 상기 컨텐츠를 복호화하는 단계; 및
상기 컨텐츠 사업자 서버에서, 상기 컨텐츠의 결제가 완료되는 경우 컨텐츠 공급비용 지급 메시지 및 스토리지 사용비용 지급 메시지를 상기 컨텐츠 공급자 단말 및 상기 스토리지 사업자 서버로 각각 전달하는 단계를 포함하는, 컨텐츠 제공 방법.
Transmitting content from the content provider terminal to a content provider server;
Obtaining, from the content provider server, metadata and an encryption key of the content;
Encrypting the content with the encryption key in the content provider server, and then transmitting the encrypted content to a storage provider server;
Storing, in the content provider server, the metadata and the encryption key in the form of a blockchain in each of a plurality of configured nodes;
Transmitting a content request message from the content user terminal to the content provider server;
Receiving, at the content provider server, a payment request for the content from the content user terminal;
Obtaining, from the content provider server, metadata and an encryption key corresponding to content information included in the content request message from the plurality of nodes;
Transmitting the obtained metadata and the encryption key from the content provider server to the storage provider server and the content user terminal, respectively;
Searching for content corresponding to metadata received from the content provider server in the storage provider server;
Transmitting, from the storage operator server, the searched content to the content user terminal;
Decrypting the content received from the content user terminal using an encryption key received from the content provider server; And
And in the content provider server, transmitting the content supply cost payment message and the storage usage cost payment message to the content provider terminal and the storage provider server, respectively, when payment of the content is completed.
삭제delete 청구항 1에 있어서,
획득된 상기 메타데이터 및 상기 암호화키를 상기 스토리지 사업자 서버 및 상기 컨텐츠 사용자 단말로 각각 전달하는 단계는, 상기 컨텐츠의 결제가 완료된 이후 수행되는, 컨텐츠 제공 방법.
The method according to claim 1,
The step of delivering the obtained metadata and the encryption key to the storage operator server and the content user terminal, respectively, is performed after payment of the content is completed.
청구항 1에 있어서,
상기 컨텐츠 사업자 서버 및 상기 스토리지 사업자 서버는, 서로 다른 사업자에 의해 각각 운영되는, 컨텐츠 제공 방법.
The method according to claim 1,
The content provider server and the storage provider server are each operated by different operators, the content providing method.
컨텐츠 공급자 단말로부터 컨텐츠를 수신하는 컨텐츠 수신부;
상기 컨텐츠의 메타데이터 및 암호화키를 획득하며, 상기 암호화키로 상기 컨텐츠를 암호화한 후 암호화된 상기 컨텐츠를 스토리지 사업자 서버로 전달하고, 상기 메타데이터 및 상기 암호화키를 설정된 복수의 노드(node) 각각에 블록체인 형태로 저장하는 컨텐츠 처리부; 및
컨텐츠 사용자 단말로부터 컨텐츠 요청 메시지 및 컨텐츠 결제 요청 메시지를 수신하는 요청 수신부를 포함하며,
상기 컨텐츠 처리부는, 상기 복수의 노드로부터 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 정보에 대응되는 메타데이터 및 암호화키를 획득하고, 획득된 상기 메타데이터 및 상기 암호화키를 상기 스토리지 사업자 서버 및 상기 컨텐츠 사용자 단말로 각각 전달하며,
암호화된 상기 컨텐츠는, 상기 스토리지 사업자 서버에서 상기 메타데이터를 통해 검색되어 상기 컨텐츠 사용자 단말로 전달되고, 상기 컨텐츠 사용자 단말에서 상기 암호화키를 통해 복호화되며,
상기 컨텐츠 처리부는, 상기 컨텐츠의 결제가 완료되는 경우 컨텐츠 공급비용 지급 메시지 및 스토리지 사용비용 지급 메시지를 상기 컨텐츠 공급자 단말 및 상기 스토리지 사업자 서버로 각각 전달하는, 컨텐츠 사업자 서버.
A content receiving unit that receives content from a content provider terminal;
Acquiring the metadata and encryption key of the content, encrypting the content with the encryption key, and then transmitting the encrypted content to a storage operator server, and setting the metadata and the encryption key to each of a plurality of nodes that have been set. A content processing unit that stores in the form of a blockchain; And
It includes a request receiving unit for receiving a content request message and a content payment request message from the content user terminal,
The content processing unit acquires metadata and an encryption key corresponding to content information included in the content request message from the plurality of nodes, and the obtained metadata and the encryption key are the storage operator server and the content user terminal To each,
The encrypted content is retrieved through the metadata from the storage operator server, delivered to the content user terminal, and decrypted through the encryption key at the content user terminal,
The content processing unit transmits a content supply cost payment message and a storage use cost payment message to the content provider terminal and the storage provider server, respectively, when payment of the content is completed.
KR1020180146984A 2018-11-26 2018-11-26 Method for providing contents and server of contents business operator for executing the same KR102133764B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180146984A KR102133764B1 (en) 2018-11-26 2018-11-26 Method for providing contents and server of contents business operator for executing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180146984A KR102133764B1 (en) 2018-11-26 2018-11-26 Method for providing contents and server of contents business operator for executing the same

Publications (2)

Publication Number Publication Date
KR20200061551A KR20200061551A (en) 2020-06-03
KR102133764B1 true KR102133764B1 (en) 2020-07-14

Family

ID=71087765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180146984A KR102133764B1 (en) 2018-11-26 2018-11-26 Method for providing contents and server of contents business operator for executing the same

Country Status (1)

Country Link
KR (1) KR102133764B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821381B (en) * 2021-11-18 2022-07-08 深圳电通信息技术有限公司 Block chain node resource backup and off-line node resource transfer method and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101001048B1 (en) * 2003-04-25 2010-12-14 애플 인크. Methods and system for secure network-based distribution of content
KR20180056392A (en) 2016-11-17 2018-05-28 한국기술교육대학교 산학협력단 System for providing contents

Also Published As

Publication number Publication date
KR20200061551A (en) 2020-06-03

Similar Documents

Publication Publication Date Title
US20220407725A1 (en) File storage method, terminal, and storage medium
KR101897032B1 (en) Apparatus and method for digital rights management using block chain
JP6961818B2 (en) Data sharing methods, clients, servers, computing devices, and storage media
US10762229B2 (en) Secure searchable and shareable remote storage system and method
CN106612285B (en) Distributed cloud data management method and system based on peer-to-peer network
CN109522330B (en) Cloud platform data processing method, device, equipment and medium based on block chain
US9037870B1 (en) Method and system for providing a rotating key encrypted file system
US9137222B2 (en) Crypto proxy for cloud storage services
US9910895B2 (en) Push subscriptions
US20170310650A1 (en) Encrypted purging of data from content node storage
EP3671518B1 (en) Metadata distribution and management via transactional blockchain technology
CN103931156A (en) Cloud file system with server-side deduplication of user-agnostic encrypted files
US11314885B2 (en) Cryptographic data entry blockchain data structure
US20140304384A1 (en) Uploading large content items
US20200153889A1 (en) Method for uploading and downloading file, and server for executing the same
US20140089379A1 (en) Systems and methods for collaborative mobile device applications
US9854030B2 (en) Searching content associated with multiple applications
CN109522462B (en) Cloud query method, device, equipment and storage medium based on block chain
US20150222431A1 (en) Random identifier generation for offline database
US20160110555A1 (en) Resource sharing apparatus, method, and non-transitory computer readable storage medium thereof
KR102133764B1 (en) Method for providing contents and server of contents business operator for executing the same
US10783264B2 (en) Non-transitory computer-readable storage medium, and information processing device using unique file-specific information for decryption of a target file
US10296760B2 (en) System of shared secure data storage and management
CN113177048A (en) Data processing method, terminal, node, system, electronic device and storage medium
KR102393183B1 (en) Method, device and system for managing and processing log data of corporate server

Legal Events

Date Code Title Description
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant