JP7371849B2 - Network system, distribution server, distribution method, distribution program - Google Patents

Network system, distribution server, distribution method, distribution program Download PDF

Info

Publication number
JP7371849B2
JP7371849B2 JP2019106561A JP2019106561A JP7371849B2 JP 7371849 B2 JP7371849 B2 JP 7371849B2 JP 2019106561 A JP2019106561 A JP 2019106561A JP 2019106561 A JP2019106561 A JP 2019106561A JP 7371849 B2 JP7371849 B2 JP 7371849B2
Authority
JP
Japan
Prior art keywords
data file
terminal
distribution
server
encrypted
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2019106561A
Other languages
Japanese (ja)
Other versions
JP2020201605A (en
Inventor
真聡 吉見
拓真 中島
恵太 江村
志帆 盛合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Information and Communications Technology
TIS Inc
Original Assignee
National Institute of Information and Communications Technology
TIS Inc
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 National Institute of Information and Communications Technology, TIS Inc filed Critical National Institute of Information and Communications Technology
Priority to JP2019106561A priority Critical patent/JP7371849B2/en
Publication of JP2020201605A publication Critical patent/JP2020201605A/en
Application granted granted Critical
Publication of JP7371849B2 publication Critical patent/JP7371849B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワークシステム、配信サーバ、配信方法、配信プログラム、キャッシュサーバ、キャッシュ方法及びキャッシュプログラムに関する。 The present invention relates to a network system, a distribution server, a distribution method, a distribution program, a cache server, a cache method, and a cache program.

従来、ネットワークに接続されたコンピュータ間で伝送されるファイルを中間的にキャッシュするための様々な技術が提案されている。しかしながら、配信元のサーバと配信先の端末との間で暗号化通信を行う場合、キャッシュサーバは配信される情報を読み取ることができず、一般的にはキャッシュが困難である。また、暗号化された通信の内容をキャッシュするための技術も提案されている(例えば、非特許文献1、2)。 Conventionally, various techniques have been proposed for intermediately caching files transmitted between computers connected to a network. However, when encrypted communication is performed between a distribution source server and a distribution destination terminal, the cache server cannot read the distributed information, and caching is generally difficult. Furthermore, techniques for caching the contents of encrypted communications have also been proposed (for example, Non-Patent Documents 1 and 2).

Jeremie Leguay, Georgios S. Paschos, Elizabeth A. Quaglia, Ben Smyth, “CryptoCache: Network Caching with Confidentiality” IEEE ICC, 2017年5月21-25日, DOI: 10.1109/ICC.2017.7996866Jeremie Leguay, Georgios S. Paschos, Elizabeth A. Quaglia, Ben Smyth, “CryptoCache: Network Caching with Confidentiality” IEEE ICC, May 21-25, 2017, DOI: 10.1109/ICC.2017.7996866 Shujie Cui, Muhammad Rizwan Asghar, and Giovanni Russello, “Multi-CDN: Towards Privacy in Content Delivery Networks”IEEE TDSC, 2018年5月4日, DOI: 10.1109/TDSC.2018.2833110Shujie Cui, Muhammad Rizwan Asghar, and Giovanni Russello, “Multi-CDN: Towards Privacy in Content Delivery Networks” IEEE TDSC, May 4, 2018, DOI: 10.1109/TDSC.2018.2833110

しかしながら、キャッシュサーバが保持し端末から要求される情報の内容についてはキャッシュサーバに対し秘匿し、情報を要求する端末に対しては情報を適切に利用させることは困難であった。そこで、本発明は、情報を暗号化した状態でキャッシュサーバが保持し、且つ情報を要求する端末に対しては適切に復号させるための技術を提供することを目的とする。 However, it has been difficult to keep the content of the information held by the cache server and requested by the terminal a secret from the cache server, and to allow the terminal requesting the information to use the information appropriately. SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a technique for storing information in an encrypted state in a cache server and having a terminal requesting the information appropriately decrypt the information.

ネットワークシステムは、データファイルを配信する配信サーバと、データファイルをキャッシュするキャッシュサーバと、データファイルを受信する端末とを含む。配信サーバは、端末からデータファイルの送信要求を受けた場合、要求されたデータファイルに対して対応付けられた識別情報を端末に送信する配信制御部と、暗号化されたデータファイルを復号するための鍵を端末に送信する鍵管理部とを備える。また、キャッシュサーバは、端末から識別情報を含むデータファイルの送信要求を受けた場合、要求された識別情報と対応付けてデータファイルを記憶装置にキャッシュしているときは、当該データファイルを端末に送信し、要求された識別情報と対応付けてデータファイルを記憶装置にキャッシュしていないときは、暗号化された当該データファイルを配信サーバから受信し、記憶装置に格納するキャッシュ管理部を備える。 The network system includes a distribution server that distributes data files, a cache server that caches data files, and a terminal that receives data files. When the distribution server receives a data file transmission request from a terminal, it has a distribution control unit that transmits identification information associated with the requested data file to the terminal, and a distribution control unit that decrypts the encrypted data file. and a key management unit that transmits the key to the terminal. In addition, when the cache server receives a request to send a data file that includes identification information from a terminal, if the data file is cached in the storage device in association with the requested identification information, the cache server sends the data file to the terminal. When the data file is not cached in the storage device in association with the transmitted and requested identification information, the cache management unit receives the encrypted data file from the distribution server and stores it in the storage device.

配信サーバ、キャッシュサーバ、及び端末が、識別情報を用いてデータファイルを特定するため、データファイル自体は暗号化された状態でもネットワークシステム上にキャッシュし、配信サーバにかかる負荷を低減させることができる。また、キャッシュサーバに対しては、例えばURI(Uniform Resource Identifier)のようなオリジナルのデータ
ファイルを特定するための情報を秘匿することができる。
Since the distribution server, cache server, and terminal identify the data file using identification information, the data file itself can be cached on the network system even if it is encrypted, reducing the load on the distribution server. . Furthermore, information for identifying the original data file, such as a URI (Uniform Resource Identifier), can be hidden from the cache server.

また、識別情報は、当該識別情報と対応付けられるデータファイル、又は当該データファイルのネットワーク上のアドレスから所定の一方向性関数を用いて求められる値であってもよい。このようにすれば、配信サーバは、識別情報を容易に生成することができ、また、キャッシュサーバにおいてもサイズの大きなテーブルに識別情報を記憶させておく必要がなくなる。 Further, the identification information may be a data file associated with the identification information, or a value obtained from the network address of the data file using a predetermined one-way function. In this way, the distribution server can easily generate the identification information, and there is no need for the cache server to store the identification information in a large table.

また、配信サーバと端末とは、配信制御部が行う処理において暗号化通信を行うためのセッションを確立し、鍵管理部が行う処理においてセッションを再開するようにしてもよい。このようにすれば、端末に対し、データファイルを復号するための情報を、適切なタイミングで送信することができる。 Further, the distribution server and the terminal may establish a session for encrypted communication in the process performed by the distribution control unit, and restart the session in the process performed by the key management unit. In this way, information for decoding the data file can be transmitted to the terminal at an appropriate timing.

また、本発明の他の側面に係る配信サーバは、データファイルを配信し、データファイルをキャッシュするキャッシュサーバ、及びデータファイルを受信する端末と通信する。そして、配信サーバは、データファイルの送信要求を端末から受けた場合、要求されたデータファイルに対して対応付けられた識別情報を端末に送信し、当該識別情報を含むデータファイルの送信要求をキャッシュサーバから受けた場合、暗号化された当該データファイルをキャッシュサーバに送信する配信制御部と、暗号化されたデータファイルを復号するための鍵を端末に送信する鍵管理部とを備える。 Further, a distribution server according to another aspect of the present invention communicates with a cache server that distributes data files and caches the data files, and a terminal that receives the data files. When the distribution server receives a data file transmission request from a terminal, it transmits identification information associated with the requested data file to the terminal, and caches the data file transmission request including the identification information. When receiving the encrypted data file from the server, it includes a distribution control unit that transmits the encrypted data file to the cache server, and a key management unit that transmits a key for decrypting the encrypted data file to the terminal.

このようにすれば、識別情報を用いてデータファイルを特定するため、データファイル自体は暗号化された状態でも、ネットワークシステム上にキャッシュし配信サーバにかかる負荷を低減させることができる。 In this way, since the data file is specified using the identification information, even if the data file itself is encrypted, it can be cached on the network system and the load on the distribution server can be reduced.

また、キャッシュサーバは、データファイルを配信する配信サーバ、及びデータファイルを受信する端末と通信を行い、データファイルをキャッシュする。そして、端末から、要求するデータファイルの識別情報を含むデータファイルの送信要求を受けた場合、要求された識別情報と対応付けて暗号化されたデータファイルを記憶装置にキャッシュしているときは、当該暗号化されたデータファイルを端末に送信し、要求された識別情報と対応付けて暗号化されたデータファイルを記憶装置にキャッシュしていないときは、暗号化された当該データファイルを配信サーバから受信し、記憶装置に格納する。 The cache server also communicates with a distribution server that distributes data files and a terminal that receives data files, and caches the data files. When a request to send a data file including identification information of the requested data file is received from a terminal, and the encrypted data file is cached in the storage device in association with the requested identification information, If the encrypted data file is sent to the terminal and the encrypted data file is not cached in the storage device in association with the requested identification information, the encrypted data file is sent from the distribution server. It is received and stored in a storage device.

このようにすれば、識別情報を用いてデータファイルを特定するため、データファイル自体は暗号化された状態でもネットワークシステム上にキャッシュし、配信サーバにかかる負荷を低減させることができる。 In this way, since the data file is specified using the identification information, the data file itself can be cached on the network system even in an encrypted state, and the load on the distribution server can be reduced.

なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。 Note that the contents described in the means for solving the problems can be combined as much as possible without departing from the problems and technical idea of the present invention. Further, the content of the means for solving the problem can be provided as a device such as a computer, a system including a plurality of devices, a method executed by a computer, or a program executed by a computer. Note that a recording medium holding the program may be provided.

本発明によれば、情報を暗号化した状態でキャッシュサーバが保持し、且つ情報を要求する端末に対しては適切に復号させるための技術を提供することができる。 According to the present invention, it is possible to provide a technique for a cache server to hold information in an encrypted state and for a terminal requesting the information to appropriately decrypt the information.

図1は、実施形態に係るネットワークシステムの構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of the configuration of a network system according to an embodiment. 図2は、配信サーバ、キャッシュサーバ、及び端末の構成の一例を示すブロック図である。FIG. 2 is a block diagram showing an example of the configuration of a distribution server, a cache server, and a terminal. 図3は、配信処理の一例を示す処理フロー図である。FIG. 3 is a processing flow diagram showing an example of distribution processing. 図4は、配信サーバが記憶装置に記憶しているテーブルの一例を示す図である。FIG. 4 is a diagram showing an example of a table stored in a storage device by the distribution server. 図5は、キャッシュサーバが記憶装置に記憶しているテーブルの一例を示す図である。FIG. 5 is a diagram showing an example of a table stored in a storage device by a cache server. 図6は、配信処理の一例を示す処理フロー図である。FIG. 6 is a processing flow diagram showing an example of distribution processing. 図7は、配信処理の一例を示す処理フロー図である。FIG. 7 is a processing flow diagram showing an example of distribution processing. 図8は、変形例に係るネットワークシステムの構成及び処理の一例を示す図である。FIG. 8 is a diagram illustrating an example of the configuration and processing of a network system according to a modification.

以下、図面を参照して本発明を実施するための形態について説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.

<システム構成>
図1は、実施形態に係るネットワークシステムの構成の一例を示す図である。図1のネットワークシステム1は、例えば動画コンテンツ等のデータファイルを配信する配信サーバ2と、データファイルをキャッシュし、要求に応じてキャッシュしているデータファイルを送信するキャッシュサーバ3と、ユーザの操作に応じてデータファイルを要求する端末4(4A~4C)とを含む。配信サーバ2、キャッシュサーバ3、端末4はいわゆるコンピュータであり、他のコンピュータと通信可能に接続され、データファイルを送受信する。本実施形態においては、配信サーバ2、キャッシュサーバ3、端末4の間でそれぞれSSL/TLSプロトコル等に従って暗号化通信を行う。通信路の暗号化に用いる鍵は、既存の技術を利用して生成することができる。例えば、データ本文を暗号化する共通鍵は、セッションごとに独立したものが使用され毎回異なる。また、通信経路の暗号化とは別に、データファイル自体も暗号化され、暗号化されたデータファイルがキャッシュサーバ3に保持されるものとする。図1のContentは、平文のデータファイルを表している。また、kは、コンテンツデータの暗号化及び復号に用いる共通鍵である。すなわち、コンテンツデータの暗号化には、通信路の暗号化とは独立した鍵が利用される。なお、共通鍵kは、コンテンツごとに異なるものが使用されるものとする。Enc(Conte
nt)は、共通鍵kを用いて暗号化されたデータファイルである。また、Deck(Enck(Content))は、共通鍵kを用いて復号されたデータファイルである。なお、ネットワークシステム1に含まれる、配信サーバ2、キャッシュサーバ3、端末4の数は、図1に示したものには限定されず、例えば複数の配信サーバ2やキャッシュサーバ3を含んでいてもよい。
<System configuration>
FIG. 1 is a diagram illustrating an example of the configuration of a network system according to an embodiment. A network system 1 in FIG. 1 includes a distribution server 2 that distributes data files such as video content, a cache server 3 that caches data files and transmits the cached data files in response to requests, and user operations. and terminals 4 (4A to 4C) that request data files in response to requests for data files. The distribution server 2, cache server 3, and terminal 4 are so-called computers, and are communicably connected to other computers to transmit and receive data files. In this embodiment, encrypted communication is performed between the distribution server 2, the cache server 3, and the terminal 4 according to the SSL/TLS protocol, respectively. The key used to encrypt the communication path can be generated using existing technology. For example, an independent common key for encrypting the data body is used for each session and is different each time. It is also assumed that, in addition to the encryption of the communication path, the data file itself is also encrypted, and the encrypted data file is held in the cache server 3. Content in FIG. 1 represents a plaintext data file. Further, k is a common key used for encrypting and decrypting content data. That is, a key independent from the communication channel encryption is used to encrypt the content data. Note that a different common key k is used for each content. Enck (Conte
nt) is a data file encrypted using the common key k. Further, Deck (Enck (Content)) is a data file decrypted using the common key k. Note that the numbers of distribution servers 2, cache servers 3, and terminals 4 included in the network system 1 are not limited to those shown in FIG. good.

<装置の構成>
図2は、配信サーバ2、キャッシュサーバ3、及び端末4の構成の一例を示すブロック図である。
<Device configuration>
FIG. 2 is a block diagram showing an example of the configuration of the distribution server 2, cache server 3, and terminal 4.

<配信サーバ>
配信サーバ2は、通信インターフェース(I/F)21と、記憶装置22と、入出力装置23と、プロセッサ24と、バス25とを備えている。通信I/F21は、例えば通信モジュールやネットワークカードであり、所定のプロトコルに基づき、キャッシュサーバ3や端末4等のコンピュータと通信を行う。
<Distribution server>
The distribution server 2 includes a communication interface (I/F) 21, a storage device 22, an input/output device 23, a processor 24, and a bus 25. The communication I/F 21 is, for example, a communication module or a network card, and communicates with computers such as the cache server 3 and the terminal 4 based on a predetermined protocol.

記憶装置22は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置(一次記憶装置)及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、配信するデータ
ファイル等を記憶する。入出力装置23は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。
The storage device 22 includes main storage (primary storage) such as RAM (Random Access Memory) and ROM (Read Only Memory), and auxiliary storage such as HDD (Hard-disk Drive), SSD (Solid State Drive), and flash memory. device (secondary storage device). The main memory temporarily stores programs and data read by the processor, and secures a work area for the processor. The auxiliary storage device stores programs executed by the processor, data files to be distributed, and the like. The input/output device 23 is, for example, an input device such as a keyboard or a mouse, an output device such as a monitor, or a user interface such as a touch panel.

プロセッサ24は、CPU(Central Processing Unit)等の演算処理装置であり、ア
プリケーションを実行することにより本実施の形態に係る各処理を行う。配信サーバ2は、プロセッサ24内に機能ブロックを示している。すなわち、プロセッサ24は、配信制御部241、及び鍵管理部242として機能する。配信制御部241は、キャッシュサーバ3や端末4からの要求に応じて、データファイルや、当該データファイルと対応付けられた識別情報を送信する。なお、データファイルを対応付けられた識別情報を、本実施形態では「タグ」と呼ぶものとする。タグは、データファイル、又は当該データファイルのネットワーク上のアドレスから所定のハッシュ関数を用いて求められるハッシュであってもよいし、データファイルとは無関係に付与されるランダムな文字列であってもよい。また、本実施形態では、データファイルに対し所定の方式で暗号化を施しておき、端末4においてデータファイルを読み出すためには復号鍵が必要になるものとする。鍵管理部242は、所定のタイミングで、データファイルを復号するための復号鍵を端末4へ送信する。例えば、キャッシュサーバ3から端末4へ暗号化されたデータファイルが送信された後に、鍵管理部242は、端末4へ復号鍵を送信する。
The processor 24 is an arithmetic processing device such as a CPU (Central Processing Unit), and performs each process according to the present embodiment by executing an application. Distribution server 2 shows functional blocks within processor 24 . That is, the processor 24 functions as a distribution control section 241 and a key management section 242. The distribution control unit 241 transmits a data file and identification information associated with the data file in response to a request from the cache server 3 or the terminal 4. Note that the identification information associated with the data file is referred to as a "tag" in this embodiment. The tag may be a hash obtained from the data file or the network address of the data file using a predetermined hash function, or it may be a random character string assigned independently of the data file. good. Further, in this embodiment, it is assumed that the data file is encrypted using a predetermined method, and a decryption key is required in order to read the data file at the terminal 4. The key management unit 242 transmits a decryption key for decrypting the data file to the terminal 4 at a predetermined timing. For example, after the encrypted data file is transmitted from the cache server 3 to the terminal 4, the key management unit 242 transmits the decryption key to the terminal 4.

以上のような構成要素が、バス25を介して接続されている。 The above components are connected via the bus 25.

<キャッシュサーバ>
図2に示すように、キャッシュサーバ3も、通信I/F31と、記憶装置32と、入出力装置33と、プロセッサ34と、バス35とを備えている。
<Cache server>
As shown in FIG. 2, the cache server 3 also includes a communication I/F 31, a storage device 32, an input/output device 33, a processor 34, and a bus 35.

通信I/F31は、例えば通信モジュールやネットワークカードであり、所定のプロトコルに基づき、他のコンピュータと通信を行う。例えば、端末4及び配信サーバ5との間においてデータファイルを送受信する。記憶装置32は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、暗号化されたデータファイルを上述したタグと対応付けて記憶する。入出力装置33は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。 The communication I/F 31 is, for example, a communication module or a network card, and communicates with other computers based on a predetermined protocol. For example, data files are transmitted and received between the terminal 4 and the distribution server 5. The storage device 32 is a main storage device such as a RAM or ROM, and an auxiliary storage device such as an HDD, SSD, or flash memory. The main memory temporarily stores programs and data read by the processor, and secures a work area for the processor. The auxiliary storage device stores programs executed by the processor and encrypted data files in association with the tags described above. The input/output device 33 is, for example, an input device such as a keyboard or a mouse, an output device such as a monitor, or a user interface such as a touch panel.

プロセッサ34は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。キャッシュサーバ3においても、プロセッサ34内に機能ブロックを示している。すなわち、プロセッサ34は、キャッシュ管理部341及び配信管理部342として機能する。キャッシュ管理部341は、タグを含むデータファイルの送信要求を端末4から受け、キャッシュヒットしたか否か表すデータを配信サーバ2へ送信する。配信管理部342は、端末4へ暗号化されたデータファイルを送信したり、キャッシュヒットしなかった場合に配信サーバ2から暗号化されたデータファイルを受信してキャッシュしたりする。 The processor 34 is an arithmetic processing device such as a CPU, and performs various processes according to the present embodiment by executing an application. In the cache server 3 as well, functional blocks are shown in the processor 34. That is, the processor 34 functions as a cache management section 341 and a distribution management section 342. The cache management unit 341 receives a request to send a data file including a tag from the terminal 4, and sends data indicating whether or not there is a cache hit to the distribution server 2. The distribution management unit 342 transmits the encrypted data file to the terminal 4, or receives the encrypted data file from the distribution server 2 and caches it if there is no cache hit.

以上のような構成要素が、バス35を介して接続されている。 The above components are connected via the bus 35.

<端末>
端末4は、PC(Personal Computer)、スマートフォン、タブレット等のコンピュー
タであり、通信I/F41と、記憶装置42と、入出力装置43と、プロセッサ44と、バス45とを備えている。通信I/F41は、例えば有線のネットワークカード又は無線の通信モジュールであり、所定のプロトコルに基づき、他のコンピュータと通信を行う。
例えば、キャッシュサーバ3から暗号化されたデータファイルを受信する。記憶装置42は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータファイルを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムやデータファイル等を記憶する。入出力装置43は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等のユーザインターフェースである。例えば、ユーザは、入出力装置43を介して配信サーバ2に対しデータファイルの送信を要求したり、受信したデータファイルを読み出して表示させたりする。
<Terminal>
The terminal 4 is a computer such as a PC (Personal Computer), a smartphone, or a tablet, and includes a communication I/F 41, a storage device 42, an input/output device 43, a processor 44, and a bus 45. The communication I/F 41 is, for example, a wired network card or a wireless communication module, and communicates with other computers based on a predetermined protocol.
For example, an encrypted data file is received from the cache server 3. The storage device 42 is a main storage device such as a RAM or ROM, and an auxiliary storage device such as an HDD, SSD, or flash memory. The main memory temporarily stores programs and data files read by the processor, and secures a work area for the processor. The auxiliary storage device stores programs executed by the processor, data files, and the like. The input/output device 43 is, for example, an input device such as a keyboard or a mouse, an output device such as a monitor, or a user interface such as a touch panel. For example, the user requests the distribution server 2 to transmit a data file via the input/output device 43, or reads and displays the received data file.

プロセッサ44は、CPU等の演算処理装置であり、プログラムを実行することにより本実施の形態に係る各処理を行う。端末4についても、プロセッサ44内に機能ブロックを示している。すなわち、プロセッサ44は、要求処理部441及び復号処理部442として機能する。要求処理部441は、配信サーバ2に対し、データファイルの送信を要求するとともに、配信サーバ2からデータファイルに対応付けられたタグを受信し、タグを用いてキャッシュサーバ3へデータファイルの送信を要求する。また、要求処理部441は、キャッシュサーバ3から、タグに対応する、暗号化されたデータファイルを受信する。復号処理部442は、配信サーバ2から復号鍵を受信し、暗号化されたデータファイルを復号して再生する。 The processor 44 is an arithmetic processing device such as a CPU, and performs each process according to the present embodiment by executing a program. Regarding the terminal 4 as well, functional blocks are shown in the processor 44. That is, the processor 44 functions as a request processing section 441 and a decoding processing section 442. The request processing unit 441 requests the distribution server 2 to transmit the data file, receives the tag associated with the data file from the distribution server 2, and uses the tag to transmit the data file to the cache server 3. request. Further, the request processing unit 441 receives an encrypted data file corresponding to the tag from the cache server 3. The decryption processing unit 442 receives the decryption key from the distribution server 2, decrypts and reproduces the encrypted data file.

以上のような構成要素が、バス45を介して接続されている。 The above components are connected via a bus 45.

このように、本実施形態に係るネットワークシステム1は、タグを用いてデータファイルを特定することにより、キャッシュサーバ3に暗号化されたデータファイルを保持させることができる。そして、当該データファイルに対する送信要求に対し、キャッシュサーバ3から配信を行うことにより、ネットワーク上のトラフィックを削減することができる。また、上述した通り、タグは、例えば原像計算困難性(一方向性)を有するハッシュのように、データファイルの平文データやアドレスとは無関係に付与される値である。そして、データファイルの復号鍵は、配信サーバ2と端末4との間の暗号化通信において送受信される。したがって、キャッシュサーバ3は端末4から要求されたデータファイルの内容を復号することはできず、端末4のユーザのプライバシーが守られる。 In this manner, the network system 1 according to the present embodiment can cause the cache server 3 to hold encrypted data files by identifying the data files using tags. Then, by distributing the transmission request for the data file from the cache server 3, traffic on the network can be reduced. Furthermore, as described above, the tag is a value that is assigned regardless of the plain text data or address of the data file, such as a hash that has difficulty in calculating the original image (unidirectionality). The decryption key for the data file is then transmitted and received in encrypted communication between the distribution server 2 and the terminal 4. Therefore, the cache server 3 cannot decrypt the contents of the data file requested by the terminal 4, and the privacy of the user of the terminal 4 is protected.

<配信処理>
図3は、配信処理の一例を示す処理フロー図である。端末4のユーザが、例えばコンテンツのデータファイルの配信を要求する操作を行うと、図3以降に示すような配信処理が開始される。また、図3においては、2つの装置間に確立されるHTTPSのセッションを、二点鎖線の角丸長方形で示している。HTTPSのセッションにおいては、2つの装置間で共有される共通鍵を利用して、例えばAES方式等の暗号化方式により通信の内容が暗号化される。
<Distribution processing>
FIG. 3 is a processing flow diagram showing an example of distribution processing. When the user of the terminal 4 performs an operation to request distribution of a content data file, for example, distribution processing as shown in FIG. 3 and subsequent figures is started. Further, in FIG. 3, an HTTPS session established between two devices is shown by a rectangle with rounded corners indicated by a chain double-dashed line. In an HTTPS session, the content of the communication is encrypted using a common key shared between two devices using an encryption method such as the AES method.

まず、端末4の要求処理部441は、通信I/F41を介して配信サーバ2に対し、データファイルを要求する旨のデータが送信される(図3:S1)。本ステップにおいては、例えばURIのようなデータファイルのID(「コンテンツID」とも呼ぶ)を含む、データファイルの送信要求が送信される。また、本ステップの実行に際し、上述したHTTPSのセッションが開始されているものとする。 First, the request processing unit 441 of the terminal 4 transmits data requesting a data file to the distribution server 2 via the communication I/F 41 (FIG. 3: S1). In this step, a data file transmission request that includes a data file ID (also referred to as "content ID"), such as a URI, is transmitted. Furthermore, it is assumed that the above-mentioned HTTPS session has been started when this step is executed.

一方、配信サーバ2は、データファイルのIDと、タグと、データファイルの暗号化に用いる鍵とを対応付けて、予め記憶装置22に保持しているものとする。図4は、配信サーバ2が記憶装置22に記憶しているテーブルの一例を示す図である。図4に示すテーブルは、「コンテンツ」、「タグ」、「鍵」の各属性を含む。「コンテンツ」のフィールドには、配信サーバ2が配信するコンテンツIDが登録される。「タグ」のフィールドには
、データファイルから所定の関数に基づいて又は所定のテーブルを参照して求めることができる一方向性を有し、データファイルの識別情報として利用されるタグが登録される。タグは、例えばURIやデータファイルの平文からHMAC(Hash-based Message Authentication Code)を利用して作成されるハッシュ値であってもよいし、配信サーバ2がデータファイルに対してランダムに作成した値であってもよい。なお、本実施形態においては、タグはデータファイルの識別情報として利用されるため、例えば256ビット程度のように、データファイルの数に応じて衝突を避けるために十分な大きさを有することが好ましい。「鍵」のフィールドには、データファイルを暗号化及び復号するための共通鍵が登録される。鍵のサイズは暗号化方式に従い、例えば128ビット等の大きさを有することが好ましい。
On the other hand, it is assumed that the distribution server 2 stores in advance in the storage device 22 the ID of the data file, the tag, and the key used for encrypting the data file in association with each other. FIG. 4 is a diagram showing an example of a table stored in the storage device 22 by the distribution server 2. The table shown in FIG. 4 includes attributes of "content", "tag", and "key". The content ID distributed by the distribution server 2 is registered in the "content" field. In the "tag" field, a tag is registered that has unidirectionality and can be determined from the data file based on a predetermined function or by referring to a predetermined table, and is used as identification information of the data file. . The tag may be, for example, a hash value created from the URI or plain text of the data file using HMAC (Hash-based Message Authentication Code), or a value randomly created by the distribution server 2 for the data file. It may be. Note that in this embodiment, since the tag is used as identification information of the data file, it is preferable that the tag has a size sufficient to avoid collisions depending on the number of data files, such as about 256 bits. . A common key for encrypting and decrypting data files is registered in the "key" field. The key size is preferably 128 bits, for example, depending on the encryption method.

配信サーバ2の配信制御部241は、通信I/F21を介して端末4からデータファイルの要求を受けた場合、要求に含まれるコンテンツIDに対応付けられたタグをテーブルから読み出し、通信I/F21を介して端末4へ送信する(図3:S2)。本ステップでは、配信制御部241は、要求されたコンテンツに対応するタグを、例えば図4に示したテーブルから抽出して端末4へ送信する。 When receiving a request for a data file from the terminal 4 via the communication I/F 21, the distribution control unit 241 of the distribution server 2 reads the tag associated with the content ID included in the request from the table, and sends the tag to the communication I/F 21. (FIG. 3: S2). In this step, the distribution control unit 241 extracts a tag corresponding to the requested content from the table shown in FIG. 4, for example, and transmits it to the terminal 4.

一方、端末4の要求処理部441は、配信サーバ2からタグを受信すると(図3:S3)、タグを用いてキャッシュサーバ3に対しキャッシュファイルの送信を要求する(図3:S4)。本ステップでは、要求処理部441は、S3で受信したタグを含む要求を、通信I/F41を介してキャッシュサーバ3へ送信する。また、要求は、端末4又は当該端末を使用するユーザのIDや、配信サーバ2のIDをさらに含むものであってもよい。なお、端末4とキャッシュサーバ3との間でもHTTPSのセッションが開始され、暗号化通信が行われるものとする。 On the other hand, upon receiving the tag from the distribution server 2 (FIG. 3: S3), the request processing unit 441 of the terminal 4 requests the cache server 3 to transmit the cache file using the tag (FIG. 3: S4). In this step, the request processing unit 441 transmits the request including the tag received in S3 to the cache server 3 via the communication I/F 41. Further, the request may further include the ID of the terminal 4 or the user using the terminal, and the ID of the distribution server 2. It is assumed that an HTTPS session is also started between the terminal 4 and the cache server 3, and encrypted communication is performed.

キャッシュサーバ3は、上述の通り暗号化されたデータファイルをキャッシュする機能を有するが、配信サーバ2が配信するデータファイルをすべてキャッシュしているとは限らない。図5は、キャッシュサーバ3が記憶装置32に記憶しているテーブルの一例を示す図である。図5に示すテーブルは、「暗号化コンテンツ」、「タグ」の各属性を含む。「暗号化コンテンツ」のフィールドには、キャッシュサーバ3がキャッシュしている、暗号化されたデータファイルのIDが登録される。暗号化されたデータファイルのIDは、記憶装置32上のデータファイルの所在を表すファイルパスであってもよいし、ファイルパスを一意に特定するための識別情報であってもよい。「タグ」のフィールドには、当該データファイルに対して配信サーバ2によって対応付けられたタグが登録される。このように、キャッシュサーバ3が保持する情報からは、データファイルの内容を復号することができず、また、データファイルのオリジナルの所在を特定することもできない。 Although the cache server 3 has the function of caching encrypted data files as described above, it does not necessarily cache all the data files distributed by the distribution server 2. FIG. 5 is a diagram showing an example of a table stored in the storage device 32 by the cache server 3. The table shown in FIG. 5 includes attributes of "encrypted content" and "tag". The ID of the encrypted data file cached by the cache server 3 is registered in the "encrypted content" field. The ID of the encrypted data file may be a file path indicating the location of the data file on the storage device 32, or may be identification information for uniquely identifying the file path. In the "tag" field, a tag associated with the data file by the distribution server 2 is registered. In this way, the contents of the data file cannot be decoded from the information held by the cache server 3, nor can the original location of the data file be specified.

キャッシュサーバ3のキャッシュ管理部341は、通信I/F31を介して端末4からキャッシュファイルの要求を受けた場合、要求されたファイルをキャッシュしているか判断する(図3:S5)。本ステップでは、例えば、要求されたタグが、図5に示したテーブルに登録されている場合にキャッシュがヒットしたと判断し、登録されていない場合にキャッシュがヒットしなかったと判断する。 When receiving a cache file request from the terminal 4 via the communication I/F 31, the cache management unit 341 of the cache server 3 determines whether the requested file is cached (FIG. 3: S5). In this step, for example, if the requested tag is registered in the table shown in FIG. 5, it is determined that the cache has been hit, and if it is not registered, it is determined that the cache has not been hit.

キャッシュがヒットしなかった場合(S5:NO)、接続子「A」を介して図6の処理に遷移する。図6は、配信処理の一例を示す処理フロー図である。そして、キャッシュサーバ3の配信管理部342は、通信I/F31を介して配信サーバ2へ、キャッシュミスを通知する(図6:S6)。本ステップにおいては、例えば端末4から要求されたデータファイルのタグと、端末4又は当該端末を使用するユーザのIDと、キャッシュヒットしなかった旨を示す情報とが通知される。なお、キャッシュサーバ3と配信サーバ2との間でもHTTPSのセッションが開始され、暗号化通信が行われるものとする。 If the cache is not hit (S5: NO), the process transitions to the process of FIG. 6 via the connector "A". FIG. 6 is a processing flow diagram showing an example of distribution processing. Then, the distribution management unit 342 of the cache server 3 notifies the distribution server 2 of the cache miss via the communication I/F 31 (FIG. 6: S6). In this step, for example, the tag of the data file requested by the terminal 4, the ID of the terminal 4 or the user using the terminal, and information indicating that there was no cache hit are notified. It is assumed that an HTTPS session is also started between the cache server 3 and the distribution server 2, and encrypted communication is performed.

一方、配信サーバ2の配信制御部241は、通信I/F21を介してキャッシュサーバ3からキャッシュミスの通知を受けた場合、通信I/F21を介してキャッシュサーバ3へ、暗号化されたデータファイル(「暗号化コンテンツ」とも呼ぶ)を送信する(図6:S7)。本ステップでは、図4の「コンテンツ」のフィールドに登録されているデータファイル(コンテンツ)が、当該データファイルに対応付けられて「鍵」のフィールドに登録されている共通鍵によって暗号化され、配信制御部241によって送信される。なお、配信サーバ2においては、あらかじめ暗号化コンテンツを記憶部22に保持させておき、送信時のコンテンツ暗号化処理を省略してもよい。 On the other hand, when the distribution control unit 241 of the distribution server 2 receives a cache miss notification from the cache server 3 via the communication I/F 21, the distribution control unit 241 sends the encrypted data file to the cache server 3 via the communication I/F 21. (also referred to as "encrypted content") (FIG. 6: S7). In this step, the data file (content) registered in the "Content" field in Figure 4 is encrypted using the common key registered in the "Key" field in association with the data file, and then distributed. It is transmitted by the control unit 241. Note that in the distribution server 2, the encrypted content may be stored in the storage unit 22 in advance and content encryption processing at the time of transmission may be omitted.

また、キャッシュサーバ3のキャッシュ管理部341は、通信I/F31を介して配信サーバ2から暗号化コンテンツを受信すると、受信した暗号化コンテンツを記憶装置32に記憶させると共に、図5に示したテーブルに暗号化コンテンツとタグとを対応付けて記憶させる(図6:S8)。 Further, upon receiving the encrypted content from the distribution server 2 via the communication I/F 31, the cache management unit 341 of the cache server 3 stores the received encrypted content in the storage device 32, and also stores the received encrypted content in the storage device 32 and stores the encrypted content in the table shown in FIG. The encrypted content and the tag are stored in association with each other (FIG. 6: S8).

また、キャッシュ管理部341は、通信I/F31を介して端末4に、暗号化コンテンツを送信する(図6:S9)。本ステップは、S4において開始されたHTTPSのセッションが再開され、キャッシュサーバ3と端末4との間で暗号化通信が行われるものとする。セッションの再開は、例えば既存のセッションリサンプション手法により行うことができる。一方、端末4の要求処理部441は、通信I/F41を介して暗号化コンテンツを受信し、記憶装置42に記憶させる。 Furthermore, the cache management unit 341 transmits the encrypted content to the terminal 4 via the communication I/F 31 (FIG. 6: S9). In this step, it is assumed that the HTTPS session started in S4 is restarted and encrypted communication is performed between the cache server 3 and the terminal 4. The session can be restarted using, for example, an existing session resumption technique. On the other hand, the request processing unit 441 of the terminal 4 receives the encrypted content via the communication I/F 41 and stores it in the storage device 42 .

また、配信サーバ2の鍵管理部242は、S6においてキャッシュミスの通知を受け、キャッシュサーバ3へ暗号化コンテンツを送信した後に、通信I/F21を介して、暗号化コンテンツを復号するための共通鍵を端末4へ送信する(図6:S10)。本ステップは、S1において開始されたHTTPSのセッションが再開され、配信サーバ2と端末4との間で暗号化通信が行われるものとする。 Further, the key management unit 242 of the distribution server 2 receives the notification of the cache miss in S6, and after transmitting the encrypted content to the cache server 3, the key management unit 242 of the distribution server 2 transmits the encrypted content via the communication I/F 21 to the common The key is sent to the terminal 4 (FIG. 6: S10). In this step, it is assumed that the HTTPS session started in S1 is restarted and encrypted communication is performed between the distribution server 2 and the terminal 4.

そして、端末4の復号処理部442は、通信I/F41を介して共通鍵を受信し、当該共通鍵を用いて、S9で受信した暗号化コンテンツを復号する(図6:S11)。このようにして、端末4は所望のデータファイルを配信サーバ2から取得し、その内容を読み出すことができる。 Then, the decryption processing unit 442 of the terminal 4 receives the common key via the communication I/F 41, and uses the common key to decrypt the encrypted content received in S9 (FIG. 6: S11). In this way, the terminal 4 can acquire a desired data file from the distribution server 2 and read its contents.

なお、キャッシュミスの場合は、配信サーバ2から端末4へ、直接暗号化コンテンツを送信するようにしてもよい。また、キャッシュサーバ3は、所定の規則に基づいて暗号化コンテンツをキャッシュするか否か判断するようにしてもよいし、配信サーバ2等によっていずれの暗号化コンテンツをキャッシュすべきか制御されるようにしてもよい。 Note that in the case of a cache miss, the encrypted content may be directly transmitted from the distribution server 2 to the terminal 4. Further, the cache server 3 may decide whether or not to cache the encrypted content based on a predetermined rule, or the distribution server 2 or the like may control which encrypted content should be cached. It's okay.

また、図3のS5においてキャッシュヒットしたと判断され場合(S5:YES)、接続子「B」を介して図7の処理に遷移する。図7は、配信処理の一例を示す処理フロー図である。そして、キャッシュサーバ3の配信管理部342は、通信I/F31を介して配信サーバ2に対し、キャッシュヒットを通知する(図7:S12)。本ステップにおいては、例えば端末4を一意に特定するための識別情報と、端末4から要求されたデータファイルのタグと、キャッシュヒットした旨を示す情報とが通知される。これにより、配信サーバ2もキャッシュヒットしたことを把握することができ、キャッシュヒットした場合は、配信サーバ2からキャッシュサーバ3への暗号化コンテンツの送信は行われない。なお、本ステップにおいても、キャッシュサーバ3と配信サーバ2との間でHTTPSのセッションが開始され、暗号化通信が行われる。 If it is determined in S5 of FIG. 3 that a cache hit has occurred (S5: YES), the process transitions to the process of FIG. 7 via the connector "B". FIG. 7 is a processing flow diagram showing an example of distribution processing. Then, the distribution management unit 342 of the cache server 3 notifies the distribution server 2 of the cache hit via the communication I/F 31 (FIG. 7: S12). In this step, for example, identification information for uniquely identifying the terminal 4, the tag of the data file requested by the terminal 4, and information indicating that a cache hit has been made are notified. As a result, the distribution server 2 can also recognize that a cache hit has occurred, and in the case of a cache hit, the encrypted content is not transmitted from the distribution server 2 to the cache server 3. Note that also in this step, an HTTPS session is started between the cache server 3 and the distribution server 2, and encrypted communication is performed.

そして、キャッシュサーバ3のキャッシュ管理部341は、通信I/F31を介して端
末4に、暗号化コンテンツを送信する(図7:S13)。本ステップは、図6のS9と同様である。
Then, the cache management unit 341 of the cache server 3 transmits the encrypted content to the terminal 4 via the communication I/F 31 (FIG. 7: S13). This step is similar to S9 in FIG.

また、配信サーバ2の鍵管理部242は、S12においてキャッシュヒットの通知を受けた後に、通信I/F21を介して、暗号化コンテンツを復号するための共通鍵を端末4へ送信する(図7:S14)。キャッシュヒットの通知は、端末4への鍵の送信要求を含むものであってもよい。本ステップは、図6のS10と同様である。 Further, after receiving the cache hit notification in S12, the key management unit 242 of the distribution server 2 transmits a common key for decrypting the encrypted content to the terminal 4 via the communication I/F 21 (FIG. 7 :S14). The cache hit notification may include a request to send the key to the terminal 4. This step is similar to S10 in FIG.

そして、端末4の復号処理部442は、通信I/F41を介して共通鍵を受信し、当該共通鍵を用いて、S13で受信した暗号化コンテンツを復号する(図7:S15)。本ステップは、図6のS11と同様である。このようにして、端末4は所望のデータファイルを配信サーバ2から取得し、その内容を読み出すことができる。 Then, the decryption processing unit 442 of the terminal 4 receives the common key via the communication I/F 41, and uses the common key to decrypt the encrypted content received in S13 (FIG. 7: S15). This step is similar to S11 in FIG. In this way, the terminal 4 can acquire a desired data file from the distribution server 2 and read its contents.

<効果>
キャッシュヒットした場合に、キャッシュサーバ3から暗号化コンテンツを端末4へ送信することで、配信サーバ2へのアクセスの集中を抑制し、ネットワーク1上のトラフィックを削減することができる。また、上述のタグを利用することで、HTTPS等による暗号化通信を行う場合であっても、データファイルをネットワーク上にキャッシュすることができると共に、キャッシュサーバ3においてはキャッシュしているデータファイルの内容を特定したり、読み出したりすることができないようになっている。暗号化コンテンツを復号するための鍵は、暗号化コンテンツとは別のホストから、また、キャッシュサーバにおいてキャッシュヒットしたか否かを配信サーバが把握した後のタイミングで、端末へ送信される。このとき、暗号化通信のセッションを再開して鍵を送信することにより鍵を適切に管理することができる。
<Effect>
By transmitting the encrypted content from the cache server 3 to the terminal 4 when a cache hit occurs, it is possible to suppress the concentration of access to the distribution server 2 and reduce traffic on the network 1. Furthermore, by using the above-mentioned tags, data files can be cached on the network even when encrypted communication using HTTPS etc., and the cache server 3 can cache data files The contents cannot be specified or read. The key for decrypting the encrypted content is sent to the terminal from a different host than the encrypted content, and at a timing after the distribution server knows whether or not there has been a cache hit in the cache server. At this time, the key can be appropriately managed by restarting the encrypted communication session and transmitting the key.

<変形例>
上述の実施形態に係るネットワークシステムは、暗号化コンテンツを送信する通信路と暗号化コンテンツの復号鍵を送信する通信路とが独立している。そこで、配信サーバ2は、端末4に対し利用可能な通信路を限定するようにしてもよい。例えば、図3のS2において配信サーバ2が端末4へタグを送信した後に、さらにキャッシュサーバ3を指定すると共に指定されたキャッシュサーバ3にアクセスからのみ暗号化コンテンツを取得できるようにする。また、配信サーバ2は、さらにタグの有効期限を設定し、一定時間以内に端末4がキャッシュサーバ3から暗号化コンテンツを取得しなければタグを無効にしてもよい。有効期限を適切に設定することで、仮に第三者が不正に鍵及びタグを取得しても、キャッシュサーバからの暗号化コンテンツの取得を制限できるようになる。
<Modified example>
In the network system according to the embodiment described above, the communication channel for transmitting encrypted content and the communication channel for transmitting the decryption key of the encrypted content are independent. Therefore, the distribution server 2 may limit the communication paths available to the terminal 4. For example, after the distribution server 2 transmits the tag to the terminal 4 in S2 of FIG. 3, the cache server 3 is further specified and the encrypted content can be acquired only by accessing the specified cache server 3. Furthermore, the distribution server 2 may further set an expiration date for the tag, and invalidate the tag if the terminal 4 does not acquire the encrypted content from the cache server 3 within a certain period of time. By appropriately setting the expiration date, even if a third party illegally acquires the key and tag, it is possible to restrict the acquisition of encrypted content from the cache server.

図8は、変形例に係るネットワークシステムの構成及び処理の一例を示す図である。本変形例では、正規のユーザが使用する端末4Cからコンテンツへのリクエストが送信されると(図8(1))、配信サーバ2は本変形例に係る代替タグと、アクセス先のキャッシュサーバ3の識別情報とを端末4Cへ送信する(図8(2))。 FIG. 8 is a diagram illustrating an example of the configuration and processing of a network system according to a modification. In this modification, when a request for content is sent from the terminal 4C used by a regular user ((1) in FIG. 8), the distribution server 2 sends the alternative tag according to this modification and the cache server 3 to be accessed. identification information and is transmitted to the terminal 4C (FIG. 8(2)).

代替タグは、タグ、ユーザID及び時刻を含むものとする。タグは、上述の通り例えば一方向性関数により又はランダムに生成されるコンテンツの識別情報である。ユーザIDは、端末4Cのユーザの識別情報であり、Cookieの一部であってもよいし、アクセス元のIPアドレス等であってもよい。時刻は、有効期限の始期又は終期を示す情報であり、例えば代替タグを生成した日時や代替タグを失効させる日時であってもよい。また、代替タグは所定の鍵(便宜上「タグ鍵」と呼ぶ)で暗号化されており、端末4Cは復号することができないものとする。なお、配信サーバ2は、端末4Cがキャッシュの送信を要求すべき(すなわち、アクセス先の)キャッシュサーバ3を決定し、決定されたキャッシュサーバ3Aとの間で共有された共通鍵を用いて代替タグを暗号化して端末4Cへ送信す
る。したがって、配信サーバ2が決定したアクセス先のキャッシュサーバ3Aのみが、代替タグを復号できる。
The alternative tag shall include a tag, user ID, and time. The tag is identification information of the content that is generated, for example, by a one-way function or randomly, as described above. The user ID is identification information of the user of the terminal 4C, and may be a part of a cookie, an access source IP address, or the like. The time is information indicating the start or end of the expiration date, and may be, for example, the date and time when the alternative tag is generated or the date and time when the alternative tag is to expire. Further, it is assumed that the alternative tag is encrypted with a predetermined key (referred to as a "tag key" for convenience) and cannot be decrypted by the terminal 4C. Note that the distribution server 2 determines the cache server 3 to which the terminal 4C should request cache transmission (that is, the access destination), and uses the common key shared with the determined cache server 3A to perform an alternative cache server 3. The tag is encrypted and sent to the terminal 4C. Therefore, only the access destination cache server 3A determined by the distribution server 2 can decode the alternative tag.

また、端末4Cは、指定されたアクセス先のキャッシュサーバ3Aへ代替タグを含むリクエストを送信する(図8(3))。キャッシュサーバ3Aは、予め保持しているタグ鍵で代替タグを復号する(図8(4))。そして、キャッシュサーバ3Aは、代替タグに含まれていたタグ及びユーザIDを含むコンテンツのリクエストを、配信サーバ2へ送信する(図8(5))。このとき、キャッシュサーバ3Aは、復号が成功したか判断し、予め保持しているタグ鍵で代替タグの復号に失敗した場合は処理を中断してもよい。また、キャッシュサーバ3Aは、代替タグに含まれていた時刻に基づいて所定の有効期限内であるか判断し、有効期限内でない場合は処理を中断してもよい。また、キャッシュサーバ3Aは、代替タグに含まれていたユーザIDに基づいて要求元の端末4CとユーザIDとが予め定められた適切な組み合わせであるか判断し、適切な組み合わせでない場合は処理を中断してもよい。 Furthermore, the terminal 4C transmits a request including the alternative tag to the designated access destination cache server 3A (FIG. 8(3)). The cache server 3A decrypts the alternative tag using a pre-held tag key ((4) in FIG. 8). The cache server 3A then transmits a request for content including the tag and user ID included in the alternative tag to the distribution server 2 ((5) in FIG. 8). At this time, the cache server 3A may determine whether the decryption has been successful, and may interrupt the process if the decryption of the alternative tag fails with the pre-held tag key. Further, the cache server 3A may determine whether the time is within a predetermined expiration date based on the time included in the alternative tag, and may suspend processing if it is not within the expiration date. In addition, the cache server 3A determines whether the requesting terminal 4C and the user ID are a predetermined appropriate combination based on the user ID included in the alternative tag, and if the combination is not appropriate, performs processing. You may interrupt.

一方、コンテンツのリクエストを受信した配信サーバ2は、タグに対応付けられた暗号化コンテンツを読み出し、キャッシュサーバ3Aへ送信する(図8(6))。本ステップは、図6のS7と同様である。そして、キャッシュサーバ3Aは端末4Cへ暗号化コンテンツを送信する(図8(7))。本ステップは、図6のS9と同様である。また、配信サーバ2は、コンテンツの暗号化に使用した共通鍵を端末4Cへ送信する(図8(8))。本ステップは、図6のS10と同様である。このようにして、端末4Cにおいて暗号化コンテンツを復号して再生できるようになる。 On the other hand, the distribution server 2 that has received the content request reads the encrypted content associated with the tag and transmits it to the cache server 3A ((6) in FIG. 8). This step is similar to S7 in FIG. The cache server 3A then transmits the encrypted content to the terminal 4C ((7) in FIG. 8). This step is similar to S9 in FIG. Furthermore, the distribution server 2 transmits the common key used to encrypt the content to the terminal 4C ((8) in FIG. 8). This step is similar to S10 in FIG. In this way, the encrypted content can be decrypted and played back on the terminal 4C.

また、不正なユーザが使用する端末4Dが、仮に暗号化された代替タグを入手したとしても、適切なアクセス先でないキャッシュサーバ3Bにおいては代替タグを復号できず処理が中断される。また、適切なアクセス先であるキャッシュサーバ3Aにおいても、端末4Dからのリクエストに対しては、有効期限内でないことや、ユーザIDと端末4Dとの組み合わせの適切性により、処理が中断される。このように、本変形例によれば、鍵及びタグを不正なユーザが取得したとしても、コンテンツの閲覧を制限できる。 Further, even if the terminal 4D used by an unauthorized user obtains an encrypted alternative tag, the alternative tag cannot be decrypted in the cache server 3B, which is not an appropriate access destination, and processing is interrupted. Also, in the cache server 3A, which is an appropriate access destination, processing is interrupted in response to a request from the terminal 4D because the expiration date has not expired or the combination of the user ID and the terminal 4D is appropriate. In this way, according to this modification, even if an unauthorized user acquires the key and tag, viewing of the content can be restricted.

<その他>
実施形態及び変形例の構成は例示であり、本発明は上述した構成に限定されない。また、実施形態及び変形例に示した構成は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。
<Others>
The configurations of the embodiments and modified examples are illustrative, and the present invention is not limited to the configurations described above. Further, the configurations shown in the embodiments and modified examples can be combined as much as possible without departing from the problems and technical ideas of the present invention.

なお、キャッシュされるデータファイルは、動画や音楽等のコンテンツに限らず、文書やアプリケーションの実行ファイル等、コンピュータによって生成、読み出し、書き込み、記憶等される様々な電子データであってもよい。また、配信サーバ2は、端末4のユーザがデータファイルにアクセスする権限を有するか、例えばユーザに対して発行されたIDやパスワード等に基づいてさらに判断するようにしてもよい。 Note that data files to be cached are not limited to content such as videos and music, but may also be various electronic data generated, read, written, stored, etc. by a computer, such as documents and executable files of applications. Furthermore, the distribution server 2 may further determine whether the user of the terminal 4 has the authority to access the data file, based on, for example, the ID and password issued to the user.

また、キャッシュされるコンテンツの暗号化には、例えばAES128-GCMのように、MACを付加して改ざんを検知できる暗号化方式を採用してもよい。また、キャッシュされていた暗号化コンテンツを端末4で復号できなかった場合、再度暗号化コンテンツをキャッシュサーバ3にキャッシュし直すようにしてもよい。 Further, for encrypting the content to be cached, an encryption method such as AES128-GCM that can add a MAC to detect tampering may be adopted. Furthermore, if the cached encrypted content cannot be decrypted by the terminal 4, the encrypted content may be cached again in the cache server 3.

本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。 The present invention includes a computer program that performs the processing described above. Furthermore, a computer-readable recording medium on which the program is recorded also belongs to the scope of the present invention. Regarding the recording medium on which the program is recorded, the above-mentioned processing becomes possible by causing a computer to read and execute the program on the recording medium.

ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやROM等がある。 Here, the computer-readable recording medium refers to a recording medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read by a computer. Among such recording media, those that can be removed from the computer include flexible disks, magneto-optical disks, optical disks, magnetic tapes, and memory cards. Furthermore, examples of recording media fixed to the computer include a hard disk drive, ROM, and the like.

1 :ネットワークシステム
2 :配信サーバ
21 :通信I/F
22 :記憶装置
23 :入出力装置
24 :プロセッサ
241 :配信制御部
242 :鍵管理部
25 :バス
3 :配信サーバ
31 :通信I/F
32 :記憶装置
33 :入出力装置
34 :プロセッサ
341 :キャッシュ管理部
342 :配信管理部
35 :バス
4 :端末
41 :通信I/F
42 :記憶装置
43 :入出力装置
44 :プロセッサ
441 :要求処理部
442 :復号処理部
45 :バス
1: Network system 2: Distribution server 21: Communication I/F
22: Storage device 23: Input/output device 24: Processor 241: Distribution control unit 242: Key management unit 25: Bus 3: Distribution server 31: Communication I/F
32: Storage device 33: Input/output device 34: Processor 341: Cache management section 342: Distribution management section 35: Bus 4: Terminal 41: Communication I/F
42: Storage device 43: Input/output device 44: Processor 441: Request processing unit 442: Decryption processing unit 45: Bus

Claims (6)

データファイルを配信する配信サーバと、前記データファイルをキャッシュするキャッシュサーバと、前記データファイルを受信する端末とを含むネットワークシステムであって、
前記配信サーバは、
前記端末からデータファイルの送信要求を受けた場合、要求されたデータファイルに対して対応付けられた識別情報を前記端末に送信する配信制御部と、
暗号化されたデータファイルを復号するための鍵を前記端末に送信する鍵管理部と
を備え、
前記キャッシュサーバは、
前記端末から前記識別情報を含むデータファイルの送信要求を受けた場合、要求された識別情報と対応付けてデータファイルを記憶装置にキャッシュしているときは、当該データファイルを前記端末に送信し、要求された識別情報と対応付けてデータファイルを記憶装置にキャッシュしていないときは、暗号化された当該データファイルを前記配信サーバから受信し、前記記憶装置に格納するキャッシュ管理部を備え
前記配信サーバと前記端末とは、前記配信制御部が行う処理において暗号化通信を行うためのセッションを確立し、前記鍵管理部が行う処理において前記セッションを再開する
ネットワークシステム。
A network system including a distribution server that distributes a data file, a cache server that caches the data file, and a terminal that receives the data file,
The distribution server is
a distribution control unit that, when receiving a data file transmission request from the terminal, transmits identification information associated with the requested data file to the terminal;
a key management unit that transmits a key for decrypting an encrypted data file to the terminal;
The cache server is
When receiving a request to transmit a data file including the identification information from the terminal, if the data file is cached in a storage device in association with the requested identification information, transmitting the data file to the terminal; a cache management unit that receives the encrypted data file from the distribution server and stores it in the storage device when the data file is not cached in the storage device in association with the requested identification information ;
The distribution server and the terminal establish a session for encrypted communication in a process performed by the distribution control unit, and restart the session in a process performed by the key management unit.
network system.
前記識別情報は、当該識別情報と対応付けられるデータファイル、又は当該データファイルのネットワーク上のアドレスから所定の一方向性関数を用いて求められる値である
請求項1に記載のネットワークシステム。
The network system according to claim 1, wherein the identification information is a value calculated from a data file associated with the identification information or a network address of the data file using a predetermined one-way function.
前記配信サーバ、前記キャッシュサーバ、及び前記端末は、互いに暗号化通信を行う
請求項1又は2に記載のネットワークシステム。
The network system according to claim 1 or 2, wherein the distribution server, the cache server, and the terminal perform encrypted communication with each other.
データファイルを配信し、前記データファイルをキャッシュするキャッシュサーバ、及び前記データファイルを受信する端末と通信する配信サーバであって、
データファイルの送信要求を前記端末から受けた場合、要求されたデータファイルに対して対応付けられた識別情報を前記端末に送信し、当該識別情報を含むデータファイルの送信要求を前記キャッシュサーバから受けた場合、暗号化された当該データファイルを前記キャッシュサーバに送信する配信制御部と、
暗号化されたデータファイルを復号するための鍵を前記端末に送信する鍵管理部と
を備え
前記端末との間で、前記配信制御部が行う処理において暗号化通信を行うためのセッションを確立し、前記鍵管理部が行う処理において前記セッションを再開する
配信サーバ。
A cache server that distributes a data file and caches the data file, and a distribution server that communicates with a terminal that receives the data file,
When a data file transmission request is received from the terminal, identification information associated with the requested data file is transmitted to the terminal, and a data file transmission request including the identification information is received from the cache server. a distribution control unit that transmits the encrypted data file to the cache server;
a key management unit that transmits a key for decrypting an encrypted data file to the terminal ;
Establishing a session with the terminal for encrypted communication in a process performed by the distribution control unit, and restarting the session in a process performed by the key management unit.
Distribution server.
データファイルを配信し、前記データファイルをキャッシュするキャッシュサーバ、及び前記データファイルを受信する端末と通信する配信サーバが実行する配信方法であって、
データファイルの送信要求を前記端末から受けた場合、要求されたデータファイルに対して対応付けられた識別情報を前記端末に送信し、当該識別情報を含むデータファイルの送信要求を前記キャッシュサーバから受けた場合、暗号化された当該データファイルを前記キャッシュサーバに送信する第1ステップと
暗号化されたデータファイルを復号するための鍵を前記端末に送信する第2ステップと、
を含み、
前記端末との間で、前記第1ステップにおいて、暗号化通信を行うためのセッションを確立し、前記第2ステップにおいて前記セッションを再開する
配信方法。
A distribution method executed by a cache server that distributes a data file and caches the data file, and a distribution server that communicates with a terminal that receives the data file, the method comprising:
When a data file transmission request is received from the terminal, identification information associated with the requested data file is transmitted to the terminal, and a data file transmission request including the identification information is received from the cache server. a first step of transmitting the encrypted data file to the cache server;
a second step of transmitting a key for decrypting the encrypted data file to the terminal;
including;
A session for performing encrypted communication is established with the terminal in the first step, and the session is restarted in the second step.
Delivery method.
データファイルを配信し、前記データファイルをキャッシュするキャッシュサーバ、及び前記データファイルを受信する端末と通信する配信サーバによって実行される配信プログラムであって、
データファイルの送信要求を前記端末から受けた場合、要求されたデータファイルに対して対応付けられた識別情報を前記端末に送信し、当該識別情報を含むデータファイルの送信要求を前記キャッシュサーバから受けた場合、暗号化された当該データファイルを前記キャッシュサーバに送信する第1ステップと
暗号化されたデータファイルを復号するための鍵を前記端末に送信する第2ステップと、
を配信サーバに実行させると共に
前記配信サーバに、前記端末との間で、前記第1ステップにおいて、暗号化通信を行うためのセッションを確立させ、前記第2ステップにおいて前記セッションを再開させる
配信プログラム。
A distribution program executed by a cache server that distributes a data file and caches the data file, and a distribution server that communicates with a terminal that receives the data file,
When a data file transmission request is received from the terminal, identification information associated with the requested data file is transmitted to the terminal, and a data file transmission request including the identification information is received from the cache server. a first step of transmitting the encrypted data file to the cache server;
a second step of transmitting a key for decrypting the encrypted data file to the terminal;
In addition to having the distribution server execute
causing the distribution server to establish a session for performing encrypted communication with the terminal in the first step, and restarting the session in the second step.
Delivery program.
JP2019106561A 2019-06-06 2019-06-06 Network system, distribution server, distribution method, distribution program Active JP7371849B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019106561A JP7371849B2 (en) 2019-06-06 2019-06-06 Network system, distribution server, distribution method, distribution program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019106561A JP7371849B2 (en) 2019-06-06 2019-06-06 Network system, distribution server, distribution method, distribution program

Publications (2)

Publication Number Publication Date
JP2020201605A JP2020201605A (en) 2020-12-17
JP7371849B2 true JP7371849B2 (en) 2023-10-31

Family

ID=73742720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019106561A Active JP7371849B2 (en) 2019-06-06 2019-06-06 Network system, distribution server, distribution method, distribution program

Country Status (1)

Country Link
JP (1) JP7371849B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010109791A (en) 2008-10-31 2010-05-13 Hitachi Ltd Content delivery system with advertisement and content information server
WO2013140774A1 (en) 2012-03-20 2013-09-26 パナソニック株式会社 Server device, player device, and content distribution system
WO2018092679A1 (en) 2016-11-17 2018-05-24 国立大学法人電気通信大学 Network system, cache method, cache program, management device, management method and management program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175475A (en) * 1997-12-11 1999-07-02 Nippon Telegr & Teleph Corp <Ntt> Access control method and record medium for recording access control program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010109791A (en) 2008-10-31 2010-05-13 Hitachi Ltd Content delivery system with advertisement and content information server
WO2013140774A1 (en) 2012-03-20 2013-09-26 パナソニック株式会社 Server device, player device, and content distribution system
WO2018092679A1 (en) 2016-11-17 2018-05-24 国立大学法人電気通信大学 Network system, cache method, cache program, management device, management method and management program

Also Published As

Publication number Publication date
JP2020201605A (en) 2020-12-17

Similar Documents

Publication Publication Date Title
JP6389895B2 (en) Data security using keys supplied by request
US8959605B2 (en) System and method for asset lease management
JP4690389B2 (en) Digital copyright management method and apparatus using certificate disposal list
US8966287B2 (en) Systems and methods for secure third-party data storage
WO2020019387A1 (en) Method for acquiring video resource file, and management system
US7912223B2 (en) Method and apparatus for data protection
US7095859B2 (en) Managing private keys in a free seating environment
US20140086412A1 (en) Encryption device, encryption method, and encryption program
US10423798B2 (en) Mobile device authenticated print
CN110868291B (en) Data encryption transmission method, device, system and storage medium
KR20230041971A (en) Method, apparatus and computer readable medium for secure data transfer over a distributed computer network
US8402278B2 (en) Method and system for protecting data
JP2001244925A (en) System and method for managing enciphered data and storage medium
CN112954000A (en) Privacy information management method and system based on block chain and IPFS technology
KR101479290B1 (en) Agent for providing security cloud service, security token device for security cloud service
US10380568B1 (en) Accessing rights-managed content from constrained connectivity devices
JP2006285697A (en) File management method and file management system
JP7371849B2 (en) Network system, distribution server, distribution method, distribution program
JP4969093B2 (en) Ticket protection method and client
CN110063089B (en) Computing system, method and storage medium for transmitting content
KR20170081506A (en) Apparatus and method for data storage using partial data encryption
JP4584995B2 (en) Apparatus and method for processing digital rights objects
JP2017004494A (en) Information processing system, information processing apparatus, program, and information protection method
CN112689276B (en) Bluetooth headset firmware updating processing method
JP7000961B2 (en) File operation management system and file operation management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231011

R150 Certificate of patent or registration of utility model

Ref document number: 7371849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150