JP2020201605A - Network system, distribution server, distribution method, distribution program, cache server, cache method and cache program - Google Patents

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

Info

Publication number
JP2020201605A
JP2020201605A JP2019106561A JP2019106561A JP2020201605A JP 2020201605 A JP2020201605 A JP 2020201605A JP 2019106561 A JP2019106561 A JP 2019106561A JP 2019106561 A JP2019106561 A JP 2019106561A JP 2020201605 A JP2020201605 A JP 2020201605A
Authority
JP
Japan
Prior art keywords
data file
terminal
server
cache
identification information
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.)
Granted
Application number
JP2019106561A
Other languages
Japanese (ja)
Other versions
JP7371849B2 (en
Inventor
真聡 吉見
Sanetoshi Yoshimi
真聡 吉見
拓真 中島
Takuma Nakajima
拓真 中島
恵太 江村
Keita Emura
恵太 江村
志帆 盛合
Shiho Moriai
志帆 盛合
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

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

To provide technique of holding information in an encrypted state in a cache server and appropriately decrypting the information to a terminal that requests the information.SOLUTION: A distribution server comprises: a distribution control unit for transmitting, when a request to transmit a data file is received from a terminal, identification information associated with the requested data file to the terminal; and a key management unit for transmitting a key for decrypting an encrypted data file to the terminal. The cache server comprises a cache management unit for, when receiving the request to transmit the data file containing the identification information from the terminal, transmitting the data file to the terminal if the data file is cached in a storage device in association with the requested identification information, and receiving the encrypted data file from the distribution server to store it in the storage device if the data file is not cached in the storage device in association with the requested identification information.SELECTED DRAWING: Figure 1

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 the distribution source server and the distribution destination terminal, the cache server cannot read the distributed information, and it is generally difficult to cache. Further, a technique for caching the contents of encrypted communication has 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 contents of the information held by the cache server and requested from the terminal secret from the cache server and to appropriately use the information for the terminal requesting the information. Therefore, an object of the present invention is to provide a technique for appropriately decrypting a terminal that is held by a cache server in an encrypted state and requests information.

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

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

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

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

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

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

このようにすれば、識別情報を用いてデータファイルを特定するため、データファイル自体は暗号化された状態でもネットワークシステム上にキャッシュし、配信サーバにかかる負荷を低減させることができる。 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 the encrypted state, and the load on the distribution server can be reduced.

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

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

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

以下、図面を参照して本発明を実施するための形態について説明する。 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 showing an example of a configuration of a network system according to an embodiment. The network system 1 of FIG. 1 includes a distribution server 2 that distributes a data file such as a moving image content, a cache server 3 that caches the data file and transmits the cached data file in response to a request, and a user operation. Includes terminals 4 (4A-4C) that request data files accordingly. The distribution server 2, the cache server 3, and the terminal 4 are so-called computers, which are connected to other computers in a communicable manner and transmit and receive data files. In the present embodiment, encrypted communication is performed between the distribution server 2, the cache server 3, and the terminal 4 according to the SSL / TLS protocol and the like. The key used to encrypt the communication path can be generated using existing technology. For example, a common key for encrypting the data body is used independently for each session and is different each time. Further, apart from 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. The Content in FIG. 1 represents a plaintext data file. Further, k is a common key used for encryption and decryption of content data. That is, a key independent of the communication path encryption is used for content data encryption. It is assumed that a different common key k is used for each content. Enc k (Conte
nt) is a data file encrypted using the common key k. Further, Deck (Enck (Conent)) is a data file decrypted by using the common key k. The number of distribution servers 2, cache servers 3, and terminals 4 included in the network system 1 is not limited to that shown in FIG. 1, and may include, for example, a plurality of distribution servers 2 and cache servers 3. Good.

<装置の構成>
図2は、配信サーバ2、キャッシュサーバ3、及び端末4の構成の一例を示すブロック図である。
<Device configuration>
FIG. 2 is a block diagram showing an example of the configuration of the distribution server 2, the cache server 3, and the 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 a computer such as a cache server 3 or a 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 a main storage device (primary storage device) 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. It is a device (secondary storage device). The main storage device 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 unit such as a CPU (Central Processing Unit), and performs each process according to the present embodiment by executing an application. The distribution server 2 shows a functional block in the processor 24. That is, the processor 24 functions as a distribution control unit 241 and a key management unit 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. The identification information associated with the data file is referred to as a "tag" in the present embodiment. The tag may be a data file or a hash obtained from an address on the network of the data file using a predetermined hash function, or may be a random character string assigned independently of the data file. Good. Further, in the present embodiment, the data file is encrypted by a predetermined method, and a decryption key is required 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 another computer 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 storage device temporarily stores programs and data read by the processor, and secures a work area for the processor. The auxiliary storage device stores the program executed by the processor and the encrypted data file in association with the above-mentioned tag. 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 unit such as a CPU, and performs each process according to the present embodiment by executing an application. The cache server 3 also shows a functional block in the processor 34. That is, the processor 34 functions as a cache management unit 341 and a distribution management unit 342. The cache management unit 341 receives a transmission request for a data file including a tag from the terminal 4, and transmits data indicating whether or not a cache hit has occurred to the distribution server 2. The distribution management unit 342 transmits the encrypted data file to the terminal 4, and receives the encrypted data file from the distribution server 2 and caches it when the cache does not 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 another computer based on a predetermined protocol.
For example, it receives an encrypted data file 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, data files, and the like executed by the processor. 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 the 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 unit such as a CPU, and executes each process according to the present embodiment by executing a program. The terminal 4 also shows a functional block in the processor 44. That is, the processor 44 functions as a request processing unit 441 and a decoding processing unit 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 transmits the data file to the cache server 3 using the tag. Request. Further, the request processing unit 441 receives the 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 the encrypted data file, and reproduces the encrypted data file.

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

このように、本実施形態に係るネットワークシステム1は、タグを用いてデータファイルを特定することにより、キャッシュサーバ3に暗号化されたデータファイルを保持させることができる。そして、当該データファイルに対する送信要求に対し、キャッシュサーバ3から配信を行うことにより、ネットワーク上のトラフィックを削減することができる。また、上述した通り、タグは、例えば原像計算困難性(一方向性)を有するハッシュのように、データファイルの平文データやアドレスとは無関係に付与される値である。そして、データファイルの復号鍵は、配信サーバ2と端末4との間の暗号化通信において送受信される。したがって、キャッシュサーバ3は端末4から要求されたデータファイルの内容を復号することはできず、端末4のユーザのプライバシーが守られる。 As described above, the network system 1 according to the present embodiment can make the cache server 3 hold the encrypted data file by specifying the data file by using the tag. Then, the traffic on the network can be reduced by delivering the transmission request for the data file from the cache server 3. Further, as described above, the tag is a value given regardless of the plaintext data or the address of the data file, such as a hash having difficulty in calculating the original image (one-way). Then, the decryption key of the data file is transmitted and received in the 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方式等の暗号化方式により通信の内容が暗号化される。
<Delivery process>
FIG. 3 is a processing flow diagram showing an example of distribution processing. When the user of the terminal 4 performs an operation of requesting the distribution of the content data file, for example, the distribution process as shown in FIGS. 3 and 3 is started. Further, in FIG. 3, the HTTPS session established between the two devices is shown by the rounded rectangle of the alternate long and short dash line. In the HTTPS session, the communication content is encrypted by an encryption method such as the AES method by using the common key shared between the two devices.

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

一方、配信サーバ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 the ID of the data file, the tag, and the key used for encrypting the data file in the storage device 22 in advance 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 that has one direction and can be obtained from a data file based on a predetermined function or by referring to a predetermined table and is used as identification information of the data file is registered. .. The tag may be, for example, a hash value created by using HMAC (Hash-based Message Authentication Code) from plain text of a URI or a data file, or a value randomly created by the distribution server 2 for the data file. It may be. In this embodiment, since the tag is used as the identification information of the data file, it is preferable that the tag has a sufficient size to avoid collision depending on the number of data files, for example, about 256 bits. .. A common key for encrypting and decrypting a data file is registered in the "key" field. The size of the key is preferably 128 bits or the like according to the encryption method.

配信サーバ2の配信制御部241は、通信I/F21を介して端末4からデータファイルの要求を受けた場合、要求に含まれるコンテンツIDに対応付けられたタグをテーブルから読み出し、通信I/F21を介して端末4へ送信する(図3:S2)。本ステップでは、配信制御部241は、要求されたコンテンツに対応するタグを、例えば図4に示したテーブルから抽出して端末4へ送信する。 When the distribution control unit 241 of the distribution server 2 receives a data file request from the terminal 4 via the communication I / F 21, the distribution control unit 241 reads the tag associated with the content ID included in the request from the table and communicates the communication I / F 21. Is transmitted to the terminal 4 via (FIG. 3: S2). In this step, the distribution control unit 241 extracts the 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, when the request processing unit 441 of the terminal 4 receives the tag from the distribution server 2 (FIG. 3: S3), the request processing unit 441 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 a 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 who uses 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が保持する情報からは、データファイルの内容を復号することができず、また、データファイルのオリジナルの所在を特定することもできない。 The cache server 3 has a function of caching the encrypted data file as described above, but 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. As described above, the contents of the data file cannot be decrypted from the information held by the cache server 3, and the original location of the data file cannot be specified.

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

キャッシュがヒットしなかった場合(S5:NO)、接続子「A」を介して図6の処理に遷移する。図6は、配信処理の一例を示す処理フロー図である。そして、キャッシュサーバ3の配信管理部342は、通信I/F31を介して配信サーバ2へ、キャッシュミスを通知する(図6:S6)。本ステップにおいては、例えば端末4から要求されたデータファイルのタグと、端末4又は当該端末を使用するユーザのIDと、キャッシュヒットしなかった旨を示す情報とが通知される。なお、キャッシュサーバ3と配信サーバ2との間でもHTTPSのセッションが開始され、暗号化通信が行われるものとする。 If the cache does not hit (S5: NO), the process proceeds to the process shown in 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 error via the communication I / F 31 (FIG. 6: S6). In this step, for example, the tag of the data file requested from the terminal 4, the ID of the terminal 4 or the user who uses the terminal, and the information indicating that the cache hit has not occurred are notified. It is assumed that the 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 notification of a cache error from the cache server 3 via the communication I / F 21, the encrypted data file is sent to the cache server 3 via the communication I / F 21. (Also referred to as "encrypted content") is transmitted (FIG. 6: S7). In this step, the data file (content) registered in the "content" field of FIG. 4 is encrypted by the common key registered in the "key" field associated with the data file and distributed. It is transmitted by the control unit 241. In the distribution server 2, the encrypted content may be stored in the storage unit 22 in advance, and the content encryption process at the time of transmission may be omitted.

また、キャッシュサーバ3のキャッシュ管理部341は、通信I/F31を介して配信サーバ2から暗号化コンテンツを受信すると、受信した暗号化コンテンツを記憶装置32に記憶させると共に、図5に示したテーブルに暗号化コンテンツとタグとを対応付けて記憶させる(図6:S8)。 Further, when the cache management unit 341 of the cache server 3 receives the encrypted content from the distribution server 2 via the communication I / F 31, the cache management unit 341 stores the received encrypted content in the storage device 32 and 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に記憶させる。 Further, 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 resumed by, for example, an existing session resumption method. 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 a notification of a cache error in S6, transmits the encrypted content to the cache server 3, and then decrypts the encrypted content via the communication I / F 21. The key is transmitted 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 decrypts the encrypted content received in S9 using the common key (FIG. 6: S11). In this way, the terminal 4 can acquire a desired data file from the distribution server 2 and read the contents thereof.

なお、キャッシュミスの場合は、配信サーバ2から端末4へ、直接暗号化コンテンツを送信するようにしてもよい。また、キャッシュサーバ3は、所定の規則に基づいて暗号化コンテンツをキャッシュするか否か判断するようにしてもよいし、配信サーバ2等によっていずれの暗号化コンテンツをキャッシュすべきか制御されるようにしてもよい。 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 determine 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. You may.

また、図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 that a cache hit has occurred in S5 of FIG. 3 (S5: YES), the process proceeds 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, a tag of the data file requested by the terminal 4, and information indicating a cache hit are notified. As a result, it is possible to know that the distribution server 2 also has a cache hit, and if the cache hit occurs, the encrypted content is not transmitted from the distribution server 2 to the cache server 3. 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 the same as S9 in FIG.

また、配信サーバ2の鍵管理部242は、S12においてキャッシュヒットの通知を受けた後に、通信I/F21を介して、暗号化コンテンツを復号するための共通鍵を端末4へ送信する(図7:S14)。キャッシュヒットの通知は、端末4への鍵の送信要求を含むものであってもよい。本ステップは、図6のS10と同様である。 Further, 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 after receiving the cache hit notification in S12 (FIG. 7). : S14). The cache hit notification may include a key transmission request to the terminal 4. This step is the same as 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 decrypts the encrypted content received in S13 using the common key (FIG. 7: S15). This step is the same as S11 in FIG. In this way, the terminal 4 can acquire a desired data file from the distribution server 2 and read the contents thereof.

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

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

図8は、変形例に係るネットワークシステムの構成及び処理の一例を示す図である。本変形例では、正規のユーザが使用する端末4Cからコンテンツへのリクエストが送信されると(図8(1))、配信サーバ2は本変形例に係る代替タグと、アクセス先のキャッシュサーバ3の識別情報とを端末4Cへ送信する(図8(2))。 FIG. 8 is a diagram showing an example of the configuration and processing of the network system according to the modified example. In this modification, when a request for content is transmitted from the terminal 4C used by a legitimate user (FIG. 8 (1)), the distribution server 2 has an alternative tag related to this modification and the access destination cache server 3. The identification information of 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 the tag, user ID and time. As described above, the tag is the identification information of the content generated by, for example, a one-way function or randomly. The user ID is the identification information of the user of the terminal 4C, and may be a part of the cookie, the IP address of the access source, 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 was generated or the date and time when the alternative tag expires. Further, the alternative tag is encrypted with a predetermined key (referred to as a "tag key" for convenience), and the terminal 4C cannot decrypt it. Note that the distribution server 2 determines the cache server 3 to which the terminal 4C should request the transmission of the cache (that is, the access destination), and substitutes using the common key shared with the determined cache server 3A. The tag is encrypted and transmitted to the terminal 4C. Therefore, only the cache server 3A of the access destination determined by the distribution server 2 can decrypt the alternative tag.

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

一方、コンテンツのリクエストを受信した配信サーバ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 (FIG. 8 (6)). This step is the same as S7 in FIG. Then, the cache server 3A transmits the encrypted content to the terminal 4C (FIG. 8 (7)). This step is the same as S9 in FIG. Further, the distribution server 2 transmits the common key used for encrypting the content to the terminal 4C (FIG. 8 (8)). This step is the same as 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 the encrypted alternative tag, the alternative tag cannot be decrypted on the cache server 3B which is not an appropriate access destination, and the processing is interrupted. Further, even in the cache server 3A, which is an appropriate access destination, the processing of the request from the terminal 4D is interrupted due to the fact that it is not within the expiration date and the appropriate combination of the user ID and the terminal 4D. As described above, according to this modification, even if an unauthorized user acquires the key and the tag, the viewing of the content can be restricted.

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

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

また、キャッシュされるコンテンツの暗号化には、例えばAES128−GCMのように、MACを付加して改ざんを検知できる暗号化方式を採用してもよい。また、キャッシュされていた暗号化コンテンツを端末4で復号できなかった場合、再度暗号化コンテンツをキャッシュサーバ3にキャッシュし直すようにしてもよい。 Further, for encryption of the cached contents, an encryption method capable of detecting tampering by adding a MAC may be adopted, for example, AES128-GCM. Further, 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 above-mentioned processing. Further, a computer-readable recording medium on which the program is recorded also belongs to the category of the present invention. With respect to the recording medium on which the program is recorded, the above-mentioned processing can be performed by causing a computer to read and execute the program of the recording medium.

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

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 unit 342: Distribution management unit 35: Bus 4: Terminal 41: Communication I / F
42: Storage device 43: Input / output device 44: Processor 441: Request processing unit 442: Decoding processing unit 45: Bus

Claims (10)

データファイルを配信する配信サーバと、前記データファイルをキャッシュするキャッシュサーバと、前記データファイルを受信する端末とを含むネットワークシステムであって、
前記配信サーバは、
前記端末からデータファイルの送信要求を受けた場合、要求されたデータファイルに対して対応付けられた識別情報を前記端末に送信する配信制御部と、
暗号化されたデータファイルを復号するための鍵を前記端末に送信する鍵管理部と
を備え、
前記キャッシュサーバは、
前記端末から前記識別情報を含むデータファイルの送信要求を受けた場合、要求された識別情報と対応付けてデータファイルを記憶装置にキャッシュしているときは、当該データファイルを前記端末に送信し、要求された識別情報と対応付けてデータファイルを記憶装置にキャッシュしていないときは、暗号化された当該データファイルを前記配信サーバから受信し、前記記憶装置に格納するキャッシュ管理部を備える
ネットワークシステム。
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
When a data file transmission request is received from the terminal, a distribution control unit that transmits the identification information associated with the requested data file to the terminal, and
It is equipped with a key management unit that sends a key for decrypting an encrypted data file to the terminal.
The cache server
When a request for transmission of a data file containing the identification information is received from the terminal, and the data file is cached in the storage device in association with the requested identification information, the data file is transmitted to the terminal. A network system including 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. ..
前記識別情報は、当該識別情報と対応付けられるデータファイル、又は当該データファイルのネットワーク上のアドレスから所定の一方向性関数を用いて求められる値である
請求項1に記載のネットワークシステム。
The network system according to claim 1, wherein the identification information is a value obtained from a data file associated with the identification information or an address on the network 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.
前記配信サーバと前記端末とは、前記配信制御部が行う処理において暗号化通信を行うためのセッションを確立し、前記鍵管理部が行う処理において前記セッションを再開する
請求項1から3のいずれか一項に記載のネットワークシステム。
Any one of claims 1 to 3 in which the distribution server and the terminal establish a session for performing encrypted communication in the process performed by the distribution control unit, and restart the session in the process performed by the key management unit. The network system described in paragraph 1.
データファイルを配信し、前記データファイルをキャッシュするキャッシュサーバ、及び前記データファイルを受信する端末と通信する配信サーバであって、
データファイルの送信要求を前記端末から受けた場合、要求されたデータファイルに対して対応付けられた識別情報を前記端末に送信し、当該識別情報を含むデータファイルの送信要求を前記キャッシュサーバから受けた場合、暗号化された当該データファイルを前記キャッシュサーバに送信する配信制御部と、
暗号化されたデータファイルを復号するための鍵を前記端末に送信する鍵管理部と
を備える配信サーバ。
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, the identification information associated with the requested data file is transmitted to the terminal, and a data file transmission request containing the identification information is received from the cache server. If so, the distribution control unit that sends the encrypted data file to the cache server, and
A distribution server including a key management unit that transmits a key for decrypting an encrypted data file to the terminal.
データファイルを配信し、前記データファイルをキャッシュするキャッシュサーバ、及び前記データファイルを受信する端末と通信する配信サーバが実行する配信方法であって、
データファイルの送信要求を前記端末から受けた場合、要求されたデータファイルに対して対応付けられた識別情報を前記端末に送信し、当該識別情報を含むデータファイルの送信要求を前記キャッシュサーバから受けた場合、暗号化された当該データファイルを前記キャッシュサーバに送信し、
暗号化されたデータファイルを復号するための鍵を前記端末に送信する
配信方法。
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.
When a data file transmission request is received from the terminal, the identification information associated with the requested data file is transmitted to the terminal, and a data file transmission request containing the identification information is received from the cache server. If so, the encrypted data file is sent to the cache server,
A distribution method in which a key for decrypting an encrypted data file is transmitted to the terminal.
データファイルを配信し、前記データファイルをキャッシュするキャッシュサーバ、及び前記データファイルを受信する端末と通信する配信サーバによって実行される配信プロ
グラムであって、
データファイルの送信要求を前記端末から受けた場合、要求されたデータファイルに対して対応付けられた識別情報を前記端末に送信し、当該識別情報を含むデータファイルの送信要求を前記キャッシュサーバから受けた場合、暗号化された当該データファイルを前記キャッシュサーバに送信し、
暗号化されたデータファイルを復号するための鍵を前記端末に送信する
処理を配信サーバに実行させる配信プログラム。
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, the identification information associated with the requested data file is transmitted to the terminal, and a data file transmission request containing the identification information is received from the cache server. If so, the encrypted data file is sent to the cache server,
A distribution program that causes a distribution server to execute a process of transmitting a key for decrypting an encrypted data file to the terminal.
データファイルを配信する配信サーバ、及び前記データファイルを受信する端末と通信を行い、前記データファイルをキャッシュするキャッシュサーバであって、
前記端末から、要求するデータファイルの識別情報を含むデータファイルの送信要求を受けた場合、要求された識別情報と対応付けて暗号化された前記データファイルを記憶装置にキャッシュしているときは、当該暗号化されたデータファイルを前記端末に送信し、要求された識別情報と対応付けて暗号化されたデータファイルを記憶装置にキャッシュしていないときは、暗号化された当該データファイルを前記配信サーバから受信し、前記記憶装置に格納する
キャッシュサーバ。
A distribution server that distributes a data file and a cache server that communicates with a terminal that receives the data file and caches the data file.
When a request for transmission of a data file including the identification information of the requested data file is received from the terminal, and when the data file encrypted in association with the requested identification information is cached in the storage device, When the encrypted data file is transmitted to the terminal and the encrypted data file associated with the requested identification information is not cached in the storage device, the encrypted data file is distributed. A cache server that receives data from a server and stores it in the storage device.
データファイルを配信する配信サーバ、及び前記データファイルを受信する端末と通信を行い、前記データファイルをキャッシュするキャッシュサーバが実行するキャッシュ方法であって、
前記端末から、要求するデータファイルの識別情報を含むデータファイルの送信要求を受けた場合、要求された識別情報と対応付けて暗号化された前記データファイルを記憶装置にキャッシュしているときは、当該暗号化されたデータファイルを前記端末に送信し、要求された識別情報と対応付けて暗号化されたデータファイルを記憶装置にキャッシュしていないときは、暗号化された当該データファイルを前記配信サーバから受信し、前記記憶装置に格納する
キャッシュ方法。
A cache method executed by a cache server that communicates with a distribution server that distributes a data file and a terminal that receives the data file and caches the data file.
When a request for transmission of a data file including the identification information of the requested data file is received from the terminal, and when the data file encrypted in association with the requested identification information is cached in the storage device, When the encrypted data file is transmitted to the terminal and the encrypted data file associated with the requested identification information is not cached in the storage device, the encrypted data file is distributed. A cache method that receives data from a server and stores it in the storage device.
データファイルを配信する配信サーバ、及び前記データファイルを受信する端末と通信を行い、前記データファイルをキャッシュするキャッシュサーバによって実行されるキャッシュプログラムであって、
前記端末から、要求するデータファイルの識別情報を含むデータファイルの送信要求を受けた場合、要求された識別情報と対応付けて暗号化された前記データファイルを記憶装置にキャッシュしているときは、当該暗号化されたデータファイルを前記端末に送信し、要求された識別情報と対応付けて暗号化されたデータファイルを記憶装置にキャッシュしていないときは、暗号化された当該データファイルを前記配信サーバから受信し、前記記憶装置に格納する
処理をキャッシュサーバに実行させるキャッシュプログラム。
A cache program executed by a distribution server that distributes a data file and a cache server that communicates with a terminal that receives the data file and caches the data file.
When a request for transmission of a data file including the identification information of the requested data file is received from the terminal, and when the data file encrypted in association with the requested identification information is cached in the storage device, When the encrypted data file is transmitted to the terminal and the encrypted data file associated with the requested identification information is not cached in the storage device, the encrypted data file is distributed. A cache program that causes a cache server to execute a process that receives data from a server and stores it in the storage device.
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 true JP2020201605A (en) 2020-12-17
JP7371849B2 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 (4)

* 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
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

Patent Citations (4)

* 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
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
JP7371849B2 (en) 2023-10-31

Similar Documents

Publication Publication Date Title
JP6389895B2 (en) Data security using keys supplied by request
US9137017B2 (en) Key recovery mechanism
US11329962B2 (en) Pluggable cipher suite negotiation
US7823187B2 (en) Communication processing method and system relating to authentication information
US9973481B1 (en) Envelope-based encryption method
WO2020019387A1 (en) Method for acquiring video resource file, and management system
JP4219965B2 (en) One-time ID authentication
EP2605168A2 (en) System and method for preventing the unauthorized playback of content
US10423798B2 (en) Mobile device authenticated print
CN102427442A (en) Combining request-dependent metadata with media content
JP2006345261A (en) Data processor
US9118483B2 (en) Communication system, relay device, and non-transitory computer readable medium
US8402278B2 (en) Method and system for protecting data
JP2001244925A (en) System and method for managing enciphered data and storage medium
KR20220039779A (en) Enhanced security encryption and decryption system
JP2016189527A (en) Information processing unit and information processing system and information processing method and information processing program
CN108737412B (en) Method and terminal for realizing data request
JP2006285697A (en) File management method and file management system
JP6366883B2 (en) Attribute linkage device, transfer system, attribute linkage method, and attribute linkage program
JP2012003682A (en) Access control system, access control method, authentication device and authentication system
US8276187B2 (en) Information processing system
CN110063089B (en) Computing system, method and storage medium for transmitting content
JP4969093B2 (en) Ticket protection method and client
JP7371849B2 (en) Network system, distribution server, distribution method, distribution program
JP2014150518A (en) User terminal, key generation management device, and program

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