JP5722281B2 - Network system and determination method - Google Patents

Network system and determination method Download PDF

Info

Publication number
JP5722281B2
JP5722281B2 JP2012136904A JP2012136904A JP5722281B2 JP 5722281 B2 JP5722281 B2 JP 5722281B2 JP 2012136904 A JP2012136904 A JP 2012136904A JP 2012136904 A JP2012136904 A JP 2012136904A JP 5722281 B2 JP5722281 B2 JP 5722281B2
Authority
JP
Japan
Prior art keywords
unit
authentication information
terminal device
verification information
user
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.)
Expired - Fee Related
Application number
JP2012136904A
Other languages
Japanese (ja)
Other versions
JP2014002523A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012136904A priority Critical patent/JP5722281B2/en
Publication of JP2014002523A publication Critical patent/JP2014002523A/en
Application granted granted Critical
Publication of JP5722281B2 publication Critical patent/JP5722281B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明の実施形態は、ネットワークシステム、サーバ装置及び判定方法に関する。   Embodiments described herein relate generally to a network system, a server device, and a determination method.

近年、仮想ホスティング事業者と呼ばれる事業者によって、ユーザから預かった仮想マシンのイメージファイルを実行する環境をユーザに提供する仮想ホスティングといったサービスが提供されつつある。このような仮想ホスティング事業者は、自身が管理するデータセンター等において、ユーザから預かった仮想マシンのイメージファイルの実行環境を提供する。そして、ユーザは、ネットワークを介して、仮想ホスティング事業者が提供する環境で実行している仮想マシンを利用することとなる。   2. Description of the Related Art In recent years, services such as virtual hosting have been provided by businesses called virtual hosting businesses, which provide users with an environment for executing virtual machine image files deposited by users. Such a virtual hosting company provides an execution environment for an image file of a virtual machine deposited by a user in a data center or the like managed by the virtual hosting company. And a user will use the virtual machine currently running in the environment which a virtual hosting provider provides via a network.

上記の通り、仮想ホスティングでは、ユーザが仮想マシンのイメージファイルを仮想ホスティング事業者に預けることになる。すなわち、仮想マシンのイメージファイルはユーザの管理下にないので、仮想ホスティング事業者の不正行為、または、仮想ホスティング事業者の提供する環境へ第三者が不正侵入することにより、仮想マシンのイメージファイルが不正に改竄される可能性がある。このような中で、ネットワーク経由でファイルの完全性を確認する技術も提案されている(特許文献1を参照)。   As described above, in virtual hosting, a user deposits a virtual machine image file with a virtual hosting company. In other words, since the virtual machine image file is not under the control of the user, the virtual machine image file can be detected by an illegal act of the virtual hosting company or by an unauthorized intrusion by a third party into the environment provided by the virtual hosting company. May be tampered with. Under such circumstances, a technique for confirming the integrity of a file via a network has also been proposed (see Patent Document 1).

特開2008−90786号公報JP 2008-90786 A

しかしながら、上記従来技術では、完全性を確認するための演算処理に時間がかかる場合があった。具体的には、上記特許文献1に記載の技術では、完全性確認の対象となる範囲として、ユーザデータ全体を対象としており、さらに、完全性確認のための演算処理の中で、ユーザデータ全体を2進数表記と同一視して冪乗計算を行うため、完全性確認の演算処理に時間がかかるという問題を招く。   However, in the above prior art, there are cases where it takes time to perform arithmetic processing for confirming completeness. Specifically, in the technique described in Patent Document 1, the entire user data is targeted as a range for which the integrity check is performed. Since the power calculation is performed by equating with the binary number notation, it takes time to complete the calculation process of the integrity check.

このような問題は、仮想ホスティング事業者が管理するイメージファイルの完全性を確認する場合だけでなく、ネットワークを介した環境に存在するファイルの完全性を確認する場合において発生し得る。   Such a problem may occur not only when checking the integrity of an image file managed by a virtual hosting company, but also when checking the integrity of a file existing in an environment via a network.

なお、所定のファイルの改竄有無や完全性を確認する技術として、ハッシュ値を用いた手法が広く知られている。しかし、ハッシュ値を用いた技術では、検証者がハッシュ値を生成するためには、検証対象のファイルを保持することを要するので、ネットワークを介した環境に存在するファイルの完全性を確認する際に、検証対象のファイルを検証者に全て転送する必要がある。このことは、ファイルサイズの増大に応じてデータ転送量が増大するため、ネットワーク負荷を増大させるという問題や、データ転送時間が長くなるという問題を招く。   A technique using a hash value is widely known as a technique for confirming the presence / absence or completeness of a predetermined file. However, in the technology using the hash value, in order for the verifier to generate the hash value, it is necessary to hold the file to be verified, so when checking the integrity of the file existing in the environment via the network In addition, it is necessary to transfer all files to be verified to the verifier. This increases the amount of data transferred as the file size increases, leading to problems such as an increase in network load and a longer data transfer time.

本願の開示する技術は、上記に鑑みてなされたものであって、ファイルの完全性を判定する処理を高速化することができるネットワークシステム、サーバ装置及び判定方法を提供することを目的とする。   The technology disclosed in the present application has been made in view of the above, and an object thereof is to provide a network system, a server device, and a determination method capable of speeding up a process for determining the integrity of a file.

実施形態に係るネットワークシステムは、サーバ装置と端末装置とを含むネットワークシステムであって、前記サーバ装置は、複数のユーザにより利用される共通データを記憶する共通データ記憶部と、前記端末装置のユーザを識別するためのユーザ識別子に対応付けて、前記端末装置のユーザにより利用されるデータと前記共通データとの差分である個別データを記憶するユーザ情報記憶部と、前記個別データを用いて、当該個別データを検証するための検証情報を生成する検証情報生成部と、前記端末装置から認証情報の生成元となる認証情報生成因子を受信した場合に、当該認証情報生成因子と当該端末装置に対応する個別データとを用いて認証情報を生成し、生成した認証情報を前記端末装置に送信する認証情報生成部とを備え、前記端末装置は、前記検証情報生成部により生成された検証情報を記憶する検証情報記憶部と、所定の認証情報生成因子を前記サーバ装置に送信することにより、当該サーバ装置に対して認証情報の生成を要求する要求部と、前記要求部による要求の応答として前記サーバ装置から受信した認証情報と、前記検証情報記憶部に記憶されている検証情報とを用いて、前記個別データの正当性を判定する判定部とを備えたことを特徴とする。   The network system according to the embodiment is a network system including a server device and a terminal device, and the server device includes a common data storage unit that stores common data used by a plurality of users, and a user of the terminal device. In association with a user identifier for identifying a user information storage unit that stores individual data that is a difference between data used by a user of the terminal device and the common data, and using the individual data, When a verification information generation unit that generates verification information for verifying individual data and an authentication information generation factor that is a generation source of authentication information from the terminal device are received, the authentication information generation factor corresponds to the terminal device. An authentication information generating unit that generates authentication information using the individual data and transmits the generated authentication information to the terminal device. The terminal device generates authentication information for the server device by transmitting a verification information storage unit that stores the verification information generated by the verification information generation unit and a predetermined authentication information generation factor to the server device. The validity of the individual data is determined using a request unit requesting the authentication, authentication information received from the server device as a response to the request by the request unit, and verification information stored in the verification information storage unit It is characterized by comprising a determination unit for performing.

実施形態に係るネットワークシステム、サーバ装置及び判定方法は、ファイルの完全性を判定する処理を高速化することができるという効果を奏する。   The network system, server device, and determination method according to the embodiment have an effect of speeding up the process of determining file integrity.

図1は、第1の実施形態に係るネットワークシステムの構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of a network system according to the first embodiment. 図2は、第1の実施形態に係るユーザ情報記憶部の一例を示す図である。FIG. 2 is a diagram illustrating an example of a user information storage unit according to the first embodiment. 図3は、第1の実施形態に係る検証情報記憶部の一例を示す図である。FIG. 3 is a diagram illustrating an example of the verification information storage unit according to the first embodiment. 図4は、第1の実施形態に係るネットワークシステムによる初期処理手順を示すシーケンス図である。FIG. 4 is a sequence diagram illustrating an initial processing procedure performed by the network system according to the first embodiment. 図5は、第1の実施形態に係るネットワークシステムによる起動処理手順を示すシーケンス図である。FIG. 5 is a sequence diagram showing a startup processing procedure by the network system according to the first embodiment. 図6は、第1の実施形態に係るネットワークシステムによる停止処理手順を示すシーケンス図である。FIG. 6 is a sequence diagram illustrating a stop processing procedure by the network system according to the first embodiment. 図7は、第2の実施形態に係るネットワークシステムの構成例を示す図である。FIG. 7 is a diagram illustrating a configuration example of a network system according to the second embodiment. 図8は、第2の実施形態に係るネットワークシステムによる初期処理手順を示すシーケンス図である。FIG. 8 is a sequence diagram showing an initial processing procedure by the network system according to the second embodiment. 図9は、第2の実施形態に係るネットワークシステムによる起動処理手順を示すシーケンス図である。FIG. 9 is a sequence diagram illustrating a startup processing procedure by the network system according to the second embodiment. 図10は、第2の実施形態に係るネットワークシステムによる停止処理手順を示すシーケンス図である。FIG. 10 is a sequence diagram illustrating a stop processing procedure by the network system according to the second embodiment. 図11は、認証プログラムを実行するコンピュータを示す図である。FIG. 11 is a diagram illustrating a computer that executes an authentication program.

以下に、本願に係るネットワークシステム、サーバ装置及び判定方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係るネットワークシステム、サーバ装置及び判定方法が限定されるものではない。   Hereinafter, embodiments of a network system, a server device, and a determination method according to the present application will be described in detail with reference to the drawings. Note that the network system, the server device, and the determination method according to the present application are not limited by this embodiment.

(第1の実施形態)
[ネットワークシステムの構成]
まず、図1を用いて、第1の実施形態に係るネットワークシステムについて説明する。図1は、第1の実施形態に係るネットワークシステム1の構成例を示す図である。図1に例示したネットワークシステム1には、サーバ装置100と、端末装置200〜200とが含まれる。サーバ装置100と端末装置200〜200とは、ネットワーク10を介して互いに通信可能に接続される。なお、ネットワークシステム1に含まれる各装置の台数は、図1に示した例に限られない。例えば、ネットワークシステム1には、2台以上のサーバ装置100が含まれてもよい。
(First embodiment)
[Network system configuration]
First, the network system according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating a configuration example of a network system 1 according to the first embodiment. The network system 1 illustrated in FIG. 1 includes a server device 100 and terminal devices 200 1 to 200 n . Server device 100 and terminal devices 200 1 to 200 n are connected to each other via network 10 so that they can communicate with each other. The number of devices included in the network system 1 is not limited to the example shown in FIG. For example, the network system 1 may include two or more server devices 100.

サーバ装置100は、仮想ホスティング事業者によって管理される情報処理装置である。端末装置200〜200は、ユーザによって利用される情報処理装置であり、例えば、PC(Personal Computer)等である。なお、端末装置200〜200は、同様の構成を有するので、以下では、主に端末装置200について説明する。また、以下では、端末装置200〜200を区別する必要がない場合には、これらを総称して「端末装置200」と表記する場合がある。 The server device 100 is an information processing device managed by a virtual hosting company. The terminal devices 200 1 to 200 n are information processing devices used by the user, such as a PC (Personal Computer). The terminal device 200 1 to 200 DEG n has the same configuration, the following description mainly about the terminal apparatus 200 1. In the following description, when there is no need to distinguish the terminal devices 200 1 to 200 n , they may be collectively referred to as “terminal device 200”.

図1に示したネットワークシステム1では、端末装置200を利用する各利用者が、仮想マシンのイメージファイルをサーバ装置100に配置し、かかるイメージファイルをサーバ装置100において実行することにより仮想マシンを利用する。このとき、第1の実施形態に係る端末装置200は、サーバ装置100上で仮想マシンを起動する前に、イメージファイルの完全性を判定する。   In the network system 1 illustrated in FIG. 1, each user who uses the terminal device 200 places a virtual machine image file on the server device 100 and executes the image file on the server device 100 to use the virtual machine. To do. At this time, the terminal device 200 according to the first embodiment determines the integrity of the image file before starting the virtual machine on the server device 100.

具体的には、第1の実施形態において、サーバ装置100は、複数のユーザにより共通して利用される共通イメージファイルを記憶するとともに、ユーザ毎に、かかるユーザにより利用されるイメージファイルと共通イメージファイルとの差分である個別イメージファイルを記憶する。そして、サーバ装置100は、ユーザ毎に、各ユーザに対応する個別イメージファイルを用いて、かかる個別イメージファイルを検証するための検証情報を生成する。そして、各端末装置200は、サーバ装置100によって生成された検証情報を保持しておく。そして、端末装置200は、サーバ装置100上で仮想マシンを起動する場合に、所定の認証情報生成因子をサーバ装置100に送信することにより、サーバ装置100に対して認証情報の生成を要求する。サーバ装置100は、端末装置200からの要求に応答して、認証情報生成因子と端末装置200に対応する個別イメージファイルとを用いて認証情報を生成し、生成した認証情報を端末装置200に送信する。そして、端末装置200は、サーバ装置100から受信した認証情報と予め保持しておいた検証情報とを用いて、個別イメージファイルの正当性を判定する。   Specifically, in the first embodiment, the server device 100 stores a common image file that is commonly used by a plurality of users, and for each user, an image file and a common image that are used by the user. An individual image file that is a difference from the file is stored. And the server apparatus 100 produces | generates the verification information for verifying this separate image file for every user using the separate image file corresponding to each user. Each terminal device 200 holds the verification information generated by the server device 100. When starting the virtual machine on the server device 100, the terminal device 200 requests the server device 100 to generate authentication information by transmitting a predetermined authentication information generation factor to the server device 100. In response to the request from the terminal device 200, the server device 100 generates authentication information using the authentication information generation factor and the individual image file corresponding to the terminal device 200, and transmits the generated authentication information to the terminal device 200. To do. Then, the terminal device 200 determines the validity of the individual image file using the authentication information received from the server device 100 and the verification information held in advance.

これにより、第1の実施形態に係るネットワークシステム1では、ネットワーク10を流通するデータ量を低減するとともに、完全性確認の演算処理を高速化することを可能にする。以下、この点について、サーバ装置100及び端末装置200の構成及び処理手順とともに詳細に説明する。   Thereby, in the network system 1 according to the first embodiment, it is possible to reduce the amount of data flowing through the network 10 and to speed up the calculation process of the integrity check. Hereinafter, this point will be described in detail together with configurations and processing procedures of the server device 100 and the terminal device 200.

[サーバ装置の構成]
次に、図1を用いて、第1の実施形態に係るサーバ装置100の構成について説明する。図1に示すように、第1の実施形態に係るサーバ装置100は、通信部110と、記憶部120と、仮想マシン実行部130と、計算部140とを有する。
[Configuration of server device]
Next, the configuration of the server apparatus 100 according to the first embodiment will be described with reference to FIG. As illustrated in FIG. 1, the server device 100 according to the first embodiment includes a communication unit 110, a storage unit 120, a virtual machine execution unit 130, and a calculation unit 140.

通信部110は、例えばNIC(Network Interface Card)等によって実現される。かかる通信部110は、ネットワーク10と接続され、かかるネットワーク10を介して端末装置200との間で通信を行う。   The communication unit 110 is realized by, for example, a NIC (Network Interface Card). The communication unit 110 is connected to the network 10 and communicates with the terminal device 200 via the network 10.

記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等によって実現される。かかる記憶部120は、図1に示すように、共通データ記憶部121と、個別データ記憶部122〜122と、ユーザ情報記憶部123とを含む。 The storage unit 120 is realized by, for example, a semiconductor memory device such as a random access memory (RAM) or a flash memory, a hard disk, an optical disk, or the like. As shown in FIG. 1, the storage unit 120 includes a common data storage unit 121, individual data storage units 122 1 to 122 n, and a user information storage unit 123.

共通データ記憶部121は、端末装置200〜200の各ユーザによって共通して利用されるイメージファイルである共通イメージファイルを記憶する。個別データ記憶部122〜122は、所定のユーザによって利用されるイメージファイルから共通イメージファイルを除いたイメージファイルである個別イメージファイルを記憶する。例えば、個別データ記憶部122は、端末装置200に対応する個別イメージファイルを記憶し、個別データ記憶部122は、端末装置200に対応する個別イメージファイルを記憶する。 The common data storage unit 121 stores a common image file that is an image file that is commonly used by each user of the terminal devices 200 1 to 200 n . The individual data storage units 122 1 to 122 n store individual image files that are image files obtained by removing a common image file from image files used by a predetermined user. For example, the individual data storage unit 122 1 stores an individual image file corresponding to the terminal device 200 1 , and the individual data storage unit 122 n stores an individual image file corresponding to the terminal device 200 n .

ユーザ情報記憶部123は、端末装置200〜200の各ユーザに関するユーザ情報を記憶する。ここで、図2に、第1の実施形態に係るユーザ情報記憶部123の一例を示す。図2に示すように、ユーザ情報記憶部123は、「ユーザ識別子」、「パスワード」、「第1の値g」、「第2の値N」、「個別識別子」といった項目を有する。 The user information storage unit 123 stores user information regarding each user of the terminal devices 200 1 to 200 n . Here, FIG. 2 shows an example of the user information storage unit 123 according to the first embodiment. As illustrated in FIG. 2, the user information storage unit 123 includes items such as “user identifier”, “password”, “first value g”, “second value N”, and “individual identifier”.

「ユーザ識別子」は、端末装置200〜200の各ユーザを識別するための情報である。図2では、「ユーザ識別子」には、各ユーザを識別するための情報として、図1の端末装置200〜200に付した参照符号(「200」など)が記憶される例を示している。「パスワード」は、各ユーザのパスワードである。「第1の値g」及び「第2の値N」は、後述する計算部140によって、ユーザ毎に払い出される任意の数値である。 The “user identifier” is information for identifying each user of the terminal devices 200 1 to 200 n . FIG. 2 shows an example in which “reference identifiers” (such as “200 1 ”) attached to the terminal apparatuses 200 1 to 200 n in FIG. 1 are stored in the “user identifier” as information for identifying each user. ing. “Password” is the password of each user. The “first value g” and the “second value N” are arbitrary numerical values paid out for each user by the calculation unit 140 described later.

「個別識別子」は、各ユーザに対応する個別イメージファイルを識別するための情報である。例えば、「個別識別子」には、個別データ記憶部122〜122を識別するための識別情報や、各ユーザに対応する個別イメージファイルが格納されているファイルパス名等が記憶される。図2では、「個別識別子」には、個別データ記憶部122〜122を識別するための識別情報として、図1の個別データ記憶部122〜122に付した参照符号(「122」など)が記憶される例を示している。 “Individual identifier” is information for identifying an individual image file corresponding to each user. For example, “individual identifier” stores identification information for identifying the individual data storage units 122 1 to 122 n , a file path name in which an individual image file corresponding to each user is stored, and the like. In Figure 2, the "individual identifier" represents identification information for identifying the individual data storage unit 122 1 to 122 n, the individual data storage unit 122 1-122 reference numerals as those in n ( "122 1 1 ") Is stored.

すなわち、図2では、ユーザ識別子「200」によって識別されるユーザ(端末装置200のユーザ)のパスワードが「P1」であり、かかるユーザに払い出された第1の値gが「4」であり、第2の値Nが「997」であり、かかるユーザに対応する個別イメージファイルが個別データ記憶部122に格納されている例を示している。 That is, in FIG. 2, the password of the user (terminal apparatus 200 1 of the user) identified by the user identifier "200 1" is "P1", the first value g paid out to such a user is "4" , and the second value N is "997", an example in which individual image files corresponding to such user is stored in the individual data storage unit 122 1.

なお、図2の例では、ユーザ情報記憶部123が、ユーザ識別子に対応付けて、個別識別子を記憶する例を示した。しかし、ユーザ情報記憶部123は、ユーザ識別子に対応付けて、個別イメージファイル自体を記憶してもよい。   In the example of FIG. 2, the user information storage unit 123 stores the individual identifier in association with the user identifier. However, the user information storage unit 123 may store the individual image file itself in association with the user identifier.

図1の説明に戻って、仮想マシン実行部130は、仮想マシンの実行に関する各種制御を行う。例えば、仮想マシン実行部130は、端末装置200から仮想マシンの起動指示を受け付けた場合に、共通イメージファイルと、かかる端末装置200のユーザに対応する個別イメージファイルとを用いて仮想マシンを起動させる。なお、仮想マシン実行部130による処理については後述する。   Returning to the description of FIG. 1, the virtual machine execution unit 130 performs various controls related to the execution of the virtual machine. For example, when the virtual machine execution unit 130 receives a virtual machine activation instruction from the terminal device 200, the virtual machine execution unit 130 activates the virtual machine using the common image file and the individual image file corresponding to the user of the terminal device 200. . The processing performed by the virtual machine execution unit 130 will be described later.

計算部140は、図1に示すように、検証情報生成部141と、認証情報生成部142とを有する。検証情報生成部141は、端末装置200によって個別イメージファイルの完全性を判定する処理が行われる際に検証情報を生成する。また、認証情報生成部142は、端末装置200によって個別イメージファイルの完全性を判定する処理が行われる際に認証情報を生成する。検証情報生成部141及び認証情報生成部142による処理については後述する。   As illustrated in FIG. 1, the calculation unit 140 includes a verification information generation unit 141 and an authentication information generation unit 142. The verification information generation unit 141 generates verification information when the terminal device 200 performs processing for determining the integrity of the individual image file. Further, the authentication information generation unit 142 generates authentication information when the terminal device 200 performs processing for determining the integrity of the individual image file. Processing performed by the verification information generation unit 141 and the authentication information generation unit 142 will be described later.

なお、上記の仮想マシン実行部130及び計算部140は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、図示しない記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、例えば、仮想マシン実行部130及び計算部140は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。   Note that the virtual machine execution unit 130 and the calculation unit 140 execute programs stored in a storage device (not shown) by using a RAM as a work area, for example, by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. Is realized. Further, for example, the virtual machine execution unit 130 and the calculation unit 140 are realized by an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).

[端末装置の構成]
次に、図1を用いて、第1の実施形態に係る端末装置200の構成について説明する。図1に示すように、第1の実施形態に係る端末装置200は、通信部210と、仮想マシン利用部220と、検証情報記憶部230と、計算部240とを有する。
[Configuration of terminal device]
Next, the configuration of the terminal device 200 according to the first embodiment will be described with reference to FIG. As illustrated in FIG. 1, the terminal device 200 according to the first embodiment includes a communication unit 210, a virtual machine usage unit 220, a verification information storage unit 230, and a calculation unit 240.

通信部210は、例えばNIC等によって実現される。かかる通信部210は、ネットワーク10と接続され、かかるネットワーク10を介してサーバ装置100との間で通信を行う。   The communication unit 210 is realized by a NIC or the like, for example. The communication unit 210 is connected to the network 10 and communicates with the server device 100 via the network 10.

仮想マシン利用部220は、サーバ装置100上で実行される仮想マシンを利用する機能を有する。かかる仮想マシン利用部220は、ソフトウェア等によって実現され、例えば、リモートデスクトップクライアントやWebブラウザ等に該当する。   The virtual machine using unit 220 has a function of using a virtual machine executed on the server device 100. The virtual machine using unit 220 is realized by software or the like, and corresponds to, for example, a remote desktop client or a Web browser.

検証情報記憶部230は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等によって実現される。かかる検証情報記憶部230は、サーバ装置100によって生成された検証情報等を記憶する。ここで、図3に、第1の実施形態に係る検証情報記憶部230の一例を示す。なお、図3では、図1に示した端末装置200が有する検証情報記憶部230の一例を示す。図3に示すように、検証情報記憶部230は、「第1の値g」、「第2の値N」、「検証情報」といった項目を有する。 The verification information storage unit 230 is realized by, for example, a semiconductor memory element such as a RAM or a flash memory, a hard disk, an optical disk, or the like. The verification information storage unit 230 stores verification information and the like generated by the server device 100. Here, FIG. 3 shows an example of the verification information storage unit 230 according to the first embodiment. In FIG. 3, it shows an example of verification information storage unit 230 included in the terminal apparatus 200 1 shown in FIG. As illustrated in FIG. 3, the verification information storage unit 230 includes items such as “first value g”, “second value N”, and “verification information”.

「第1の値g」は、図2に示したユーザ情報記憶部123の「第1の値g」に対応する。また、「第2の値N」は、図2に示したユーザ情報記憶部123の「第2の値N」に対応する。図3は、端末装置200が有する検証情報記憶部230の一例を示すので、「第1の値g」には、図2に示したユーザ識別子「200」に対応する「4」が記憶され、「第2の値N」には、図2に示したユーザ識別子「200」に対応する「997」が記憶される。「検証情報」は、サーバ装置100の検証情報生成部141によって生成された検証情報(ここの例では、「C(P1)」)が記憶される。 The “first value g” corresponds to the “first value g” in the user information storage unit 123 illustrated in FIG. The “second value N” corresponds to the “second value N” of the user information storage unit 123 illustrated in FIG. 3, since an example of the verification information storage unit 230 included in the terminal device 200 1, the "first value g" corresponds to the user identifier "200 1" shown in FIG. 2 "4" is stored Then, “997” corresponding to the user identifier “200 1 ” illustrated in FIG. 2 is stored in the “second value N”. The “verification information” stores verification information generated by the verification information generation unit 141 of the server apparatus 100 (“C (P1)” in this example).

図1の説明に戻って、計算部240は、要求部241と、判定部242とを有する。要求部241は、仮想マシンの起動前に、サーバ装置100に対して、認証情報を生成する旨の認証情報要求を送信する。また、判定部242は、サーバ装置100に記憶されている個別イメージファイルの完全性を判定する。なお、要求部241及び判定部242による処理については後述する。   Returning to the description of FIG. 1, the calculation unit 240 includes a request unit 241 and a determination unit 242. The request unit 241 transmits an authentication information request for generating authentication information to the server apparatus 100 before starting the virtual machine. Further, the determination unit 242 determines the completeness of the individual image file stored in the server device 100. The processing performed by the request unit 241 and the determination unit 242 will be described later.

このような計算部240は、CPUやMPU等によって、図示しない記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、例えば、計算部240は、ASICやFPGA等の集積回路により実現される。   Such a calculation part 240 is implement | achieved when a program memorize | stored in the memory | storage device which is not shown in figure is executed by RAM and work area | region by CPU or MPU. For example, the calculation unit 240 is realized by an integrated circuit such as an ASIC or FPGA.

[ネットワークシステムによる処理手順]
次に、図4〜図6を用いて、第1の実施形態に係るネットワークシステム1による処理手順について説明する。ネットワークシステム1による処理手順は、ユーザが仮想マシンのイメージファイルをサーバ装置100に登録する初期処理手順と、端末装置200がサーバ装置100に保持されているイメージファイルの完全性を判定した後に仮想マシンを起動させる起動処理手順と、サーバ装置100上で起動している仮想マシンを停止させる停止処理手順とに分けられる。以下では、これらの各処理手順について順に説明する。
[Processing procedure by network system]
Next, a processing procedure performed by the network system 1 according to the first embodiment will be described with reference to FIGS. The processing procedure by the network system 1 includes an initial processing procedure in which a user registers an image file of a virtual machine in the server device 100, and a virtual machine after the terminal device 200 determines the integrity of the image file held in the server device 100. And a stop process procedure for stopping a virtual machine running on the server apparatus 100. Below, each of these processing procedures is demonstrated in order.

なお、以下の説明において、サーバ装置100と端末装置200との間では、ユーザ識別子及びパスワードの組合せが事前に共有されており、ユーザ情報記憶部123は、新規ユーザについても、ユーザ識別子及びパスワードを記憶しているものとする。ただし、ユーザ情報記憶部123は、新規ユーザの「第1の値g」、「第2の値N」及び「個別識別子」については記憶していないものとする。   In the following description, a combination of a user identifier and a password is shared in advance between the server device 100 and the terminal device 200, and the user information storage unit 123 also stores the user identifier and password for a new user. It shall be remembered. However, the user information storage unit 123 does not store the “first value g”, “second value N”, and “individual identifier” of the new user.

[初期処理手順]
図4は、第1の実施形態に係るネットワークシステム1による初期処理手順を示すシーケンス図である。図4に示すように、端末装置200のユーザが仮想マシンのイメージファイルをサーバ装置100に登録する場合、まず、端末装置200とサーバ装置100との間でユーザ認証を行う(ステップS101)。
[Initial processing procedure]
FIG. 4 is a sequence diagram showing an initial processing procedure by the network system 1 according to the first embodiment. As shown in FIG. 4, when the user of the terminal device 200 registers an image file of the virtual machine in the server device 100, first, user authentication is performed between the terminal device 200 and the server device 100 (step S101).

例えば、端末装置200の仮想マシン利用部220は、通信部210を介して、ユーザ識別子及びパスワードの組合せを含むイメージファイルの登録要求をサーバ装置100に送信する。そして、サーバ装置100の仮想マシン実行部130は、端末装置200から受信したユーザ識別子及びパスワードの組合せがユーザ情報記憶部123に記憶されている場合には認証成功と判定し、ユーザ識別子及びパスワードの組合せがユーザ情報記憶部123に記憶されていない場合には認証失敗と判定する。ここでは、仮想マシン実行部130が認証成功と判定したものとする。   For example, the virtual machine using unit 220 of the terminal device 200 transmits an image file registration request including a combination of a user identifier and a password to the server device 100 via the communication unit 210. Then, the virtual machine execution unit 130 of the server device 100 determines that the authentication is successful when the combination of the user identifier and the password received from the terminal device 200 is stored in the user information storage unit 123, and determines the user identifier and password. If the combination is not stored in the user information storage unit 123, it is determined that the authentication has failed. Here, it is assumed that the virtual machine execution unit 130 determines that the authentication is successful.

続いて、サーバ装置100の計算部140は、第1の値g及び第2の値Nを生成する(ステップS102)。このとき、計算部140は、第2の値Nを十分に大きい数値とし、第1の値gを第2の値N未満の数値とする。続いて、計算部140は、通信部110を介して、第1の値g及び第2の値Nを端末装置200に送信する(ステップS103)。   Subsequently, the calculation unit 140 of the server device 100 generates a first value g and a second value N (step S102). At this time, the calculation unit 140 sets the second value N to a sufficiently large value, and sets the first value g to a value less than the second value N. Subsequently, the calculation unit 140 transmits the first value g and the second value N to the terminal device 200 via the communication unit 110 (step S103).

そして、端末装置200の仮想マシン利用部220は、サーバ装置100から第1の値g及び第2の値Nを受信する(ステップS104)。このとき、仮想マシン利用部220は、第1の値g及び第2の値Nを検証情報記憶部230に格納する。   And the virtual machine utilization part 220 of the terminal device 200 receives the 1st value g and the 2nd value N from the server apparatus 100 (step S104). At this time, the virtual machine using unit 220 stores the first value g and the second value N in the verification information storage unit 230.

続いて、サーバ装置100の仮想マシン実行部130は、記憶部120の共通データ記憶部121から、複数のユーザによって共通して利用される共通イメージファイルHを読み込む(ステップS105)。続いて、仮想マシン実行部130は、端末装置200の利用者が利用するイメージファイルと共通イメージファイルHとの差分情報を、かかる利用者が個別に利用する個別イメージファイルPiとして生成する(ステップS106)。このとき、仮想マシン実行部130は、個別イメージファイルPiを個別データ記憶部122に格納する。 Subsequently, the virtual machine execution unit 130 of the server apparatus 100 reads the common image file H commonly used by a plurality of users from the common data storage unit 121 of the storage unit 120 (step S105). Subsequently, the virtual machine execution unit 130 generates difference information between the image file used by the user of the terminal device 200 and the common image file H as an individual image file Pi used individually by the user (step S106). ). At this time, the virtual machine execution unit 130 stores the individual image file Pi in the individual data storage unit 122 i .

続いて、検証情報生成部141は、個別イメージファイルPiを用いて、かかる個別イメージファイルPiを検証するための検証情報C(Pi)を生成する(ステップS107)。   Subsequently, the verification information generation unit 141 generates verification information C (Pi) for verifying the individual image file Pi using the individual image file Pi (step S107).

具体的には、検証情報生成部141は、下記式(1)に示すように、第1の値gを底とし、個別イメージファイルPiによって示される数値を冪数として冪乗演算を行うことにより値「gPi」を求め、かかる値「gPi」を第2の値Nにより除算した際の剰余を検証情報C(Pi)とする。なお、「個別イメージファイルPiによって示される数値」とは、バイナリデータである個別イメージファイルPiを自然数の2進数表記とみなして得られる数値を示す。 Specifically, as shown in the following formula (1), the verification information generation unit 141 performs a power operation with the first value g as a base and the numerical value indicated by the individual image file Pi as a power. A value “g Pi ” is obtained, and the remainder when the value “g Pi ” is divided by the second value N is set as verification information C (Pi). The “numerical value indicated by the individual image file Pi” indicates a numerical value obtained by regarding the individual image file Pi, which is binary data, as a natural number binary notation.

C(Pi) = gPi mod N ・・・ (1) C (Pi) = g Pi mod N (1)

続いて、検証情報生成部141は、通信部110を介して、ステップS107において生成した検証情報C(Pi)を端末装置200に送信する(ステップS108)。続いて、検証情報生成部141は、端末装置200のユーザ識別子に対応付けて、ステップS102において生成した第1の値g及び第2の値Nと、ステップS106において生成した個別イメージファイルPiの個別識別子とをユーザ情報記憶部123に登録する(ステップS109)。なお、仮想マシン実行部130が、ユーザ情報記憶部123に個別識別子を登録してもよい。   Subsequently, the verification information generation unit 141 transmits the verification information C (Pi) generated in step S107 to the terminal device 200 via the communication unit 110 (step S108). Subsequently, the verification information generation unit 141 associates the first value g and the second value N generated in step S102 with the individual identifier of the individual image file Pi generated in step S106 in association with the user identifier of the terminal device 200. The identifier is registered in the user information storage unit 123 (step S109). The virtual machine execution unit 130 may register the individual identifier in the user information storage unit 123.

そして、端末装置200の仮想マシン利用部220は、サーバ装置100から検証情報C(Pi)を受信する(ステップS110)。このとき、仮想マシン利用部220は、検証情報C(Pi)を検証情報記憶部230に格納する。   Then, the virtual machine using unit 220 of the terminal device 200 receives the verification information C (Pi) from the server device 100 (step S110). At this time, the virtual machine using unit 220 stores the verification information C (Pi) in the verification information storage unit 230.

[起動処理手順]
図5は、第1の実施形態に係るネットワークシステム1による起動処理手順を示すシーケンス図である。図5に示すように、端末装置200のユーザがサーバ装置100上で仮想マシンを起動させる場合、まず、端末装置200とサーバ装置100との間でユーザ認証を行う(ステップS201)。
[Startup procedure]
FIG. 5 is a sequence diagram showing a startup processing procedure by the network system 1 according to the first embodiment. As illustrated in FIG. 5, when the user of the terminal device 200 activates a virtual machine on the server device 100, first, user authentication is performed between the terminal device 200 and the server device 100 (step S201).

続いて、端末装置200の要求部241は、所定の乱数rを生成する(ステップS202)。そして、要求部241は、かかる乱数rを用いて、サーバ装置100が生成する認証情報の生成元となる認証情報生成因子Rを生成する(ステップS203)。   Subsequently, the request unit 241 of the terminal device 200 generates a predetermined random number r (step S202). And the request | requirement part 241 produces | generates the authentication information production | generation factor R used as the production | generation source of the authentication information which the server apparatus 100 produces | generates using this random number r (step S203).

具体的には、要求部241は、下記式(2)に示すように、第1の値gを底とし、乱数rを冪数として冪乗演算を行うことにより値「g」を求め、かかる値「g」を第2の値Nにより除算した際の剰余を認証情報生成因子Rとする。 Specifically, as shown in the following formula (2), the request unit 241 obtains a value “g r ” by performing a power operation with the first value g as a base and the random number r as a power, Let the remainder when the value “g r ” is divided by the second value N be an authentication information generation factor R.

R = g mod N ・・・ (2) R = g r mod N ··· ( 2)

そして、要求部241は、このようにして生成した認証情報生成因子Rを含む認証情報要求をサーバ装置100に送信する(ステップS204)。このようにして、要求部241は、サーバ装置100に対して認証情報の生成を要求する。   And the request | requirement part 241 transmits the authentication information request | requirement containing the authentication information production | generation factor R produced | generated in this way to the server apparatus 100 (step S204). In this way, the request unit 241 requests the server device 100 to generate authentication information.

そして、サーバ装置100の認証情報生成部142は、端末装置200から認証情報生成因子Rを受信する(ステップS205)。そして、認証情報生成部142は、認証情報生成因子Rと、端末装置200のユーザに対応する個別イメージファイルPiとを用いて、認証情報R(Pi)を生成する(ステップS206)。   And the authentication information generation part 142 of the server apparatus 100 receives the authentication information generation factor R from the terminal device 200 (step S205). Then, the authentication information generation unit 142 generates authentication information R (Pi) using the authentication information generation factor R and the individual image file Pi corresponding to the user of the terminal device 200 (step S206).

具体的には、認証情報生成部142は、ユーザ情報記憶部123を参照することにより、ステップS201における認証時に用いたユーザ識別子に対応する個別イメージファイルPiを取得する。そして、認証情報生成部142は、下記式(3)に示すように、認証情報生成因子Rを底とし、個別イメージファイルPiによって示される数値を冪数として冪乗演算を行うことにより値「RPi」を求め、かかる値「RPi」を第2の値Nにより除算した際の剰余を認証情報R(Pi)とする。 Specifically, the authentication information generation unit 142 refers to the user information storage unit 123 to acquire the individual image file Pi corresponding to the user identifier used at the time of authentication in step S201. Then, as shown in the following formula (3), the authentication information generation unit 142 performs the power operation with the authentication information generation factor R as the base and the power indicated by the numerical value indicated by the individual image file Pi as a power. Pi ”is obtained, and the remainder when the value“ R Pi ”is divided by the second value N is defined as authentication information R (Pi).

R(Pi) = RPi mod N ・・・ (3) R (Pi) = R Pi mod N (3)

そして、認証情報生成部142は、このようにして生成した認証情報R(Pi)を端末装置200に送信する(ステップS207)。   Then, the authentication information generation unit 142 transmits the authentication information R (Pi) generated in this way to the terminal device 200 (step S207).

そして、端末装置200の判定部242は、サーバ装置100から認証情報R(Pi)を受信する(ステップS208)。続いて、判定部242は、サーバ装置100から受信した認証情報R(Pi)と、検証情報記憶部230に記憶されている検証情報C(Pi)とを用いて、認証情報R(Pi)の正当性を判定する(ステップS209)。   Then, the determination unit 242 of the terminal device 200 receives the authentication information R (Pi) from the server device 100 (step S208). Subsequently, the determination unit 242 uses the authentication information R (Pi) received from the server device 100 and the verification information C (Pi) stored in the verification information storage unit 230 to determine the authentication information R (Pi). The validity is determined (step S209).

具体的には、判定部242は、下記式(4)に示すように、検証情報C(Pi)を底とし、ステップS202において生成した乱数rを冪数として冪乗演算を行うことにより値「C(Pi)」を求め、かかる値「C(Pi)」を第2の値Nにより除算した際の剰余を算出する。そして、判定部242は、下記式(4)により算出した剰余と、サーバ装置100から受信した認証情報R(Pi)とが一致するか否かに基づいて、サーバ装置100に記憶されている個別イメージファイルPiの正当性を判定する。すなわち、判定部242は、サーバ装置100に記憶されている個別イメージファイルPiに対して不正な改竄が行われているか否か等の完全性を判定することとなる。 Specifically, as shown in the following formula (4), the determination unit 242 performs a power operation using the verification information C (Pi) as a base and the random number r generated in step S202 as a power. C (Pi) r ”is obtained, and a remainder when the value“ C (Pi) r ”is divided by the second value N is calculated. Then, the determination unit 242 stores the individual stored in the server device 100 based on whether or not the remainder calculated by the following equation (4) matches the authentication information R (Pi) received from the server device 100. The validity of the image file Pi is determined. In other words, the determination unit 242 determines completeness such as whether or not the individual image file Pi stored in the server device 100 has been tampered with.

C(Pi) mod N ・・・ (4) C (Pi) r mod N (4)

ここで、認証情報R(Pi)と上記式(4)により得られる剰余とが一致するか否かに基づいて、個別イメージファイルPiの完全性を判定することができる理由について説明する。一般的に、数学的法則として、下記式(5)が成立することが知られている。   Here, the reason why the completeness of the individual image file Pi can be determined based on whether or not the authentication information R (Pi) matches the remainder obtained by the above equation (4) will be described. Generally, it is known that the following formula (5) holds as a mathematical law.

(g mod N) mod N = (g mod N) mod N ・・・ (5) (G P mod N) r mod N = (g r mod N) P mod N ··· (5)

上記式(5)における左辺の(g mod N)は、上記式(1)により算出される検証情報C(Pi)に該当する。したがって、上記式(5)における左辺は、上記式(4)に該当する。また、上記式(5)における右辺の(g mod N)は、上記式(2)により算出される認証情報生成因子Rに該当する。したがって、上記式(5)における右辺は、上記式(3)により算出される認証情報R(Pi)に該当する。すなわち、上記式(5)における左辺の値は、上記式(4)の結果であって、端末装置200が予め保持しておいた検証情報C(Pi)から算出される。また、上記式(5)における右辺の値は、認証情報R(Pi)であって、端末装置200によって判定処理が行われる際に、サーバ装置100が保持する個別イメージファイルPiから算出される。このようなことから、判定部242は、認証情報R(Pi)と上記式(4)により得られる剰余とが一致するか否かに基づいて、サーバ装置100に保持されている個別イメージファイルPiに対して改竄等が行われたか否かを判定することができる。 (G P mod N) on the left side in the equation (5) corresponds to the verification information C (Pi) calculated by the equation (1). Therefore, the left side in the above formula (5) corresponds to the above formula (4). Also, the right side in the above equation (5) (g r mod N) corresponds to the authentication information generation factor R calculated by the equation (2). Therefore, the right side in the above equation (5) corresponds to the authentication information R (Pi) calculated by the above equation (3). That is, the value on the left side in the above equation (5) is the result of the above equation (4), and is calculated from the verification information C (Pi) held in advance by the terminal device 200. The value on the right side in the above formula (5) is authentication information R (Pi), and is calculated from the individual image file Pi held by the server device 100 when the terminal device 200 performs the determination process. For this reason, the determination unit 242 determines whether or not the individual image file Pi held in the server device 100 is based on whether or not the authentication information R (Pi) matches the remainder obtained by the above equation (4). It can be determined whether or not falsification or the like has been performed on the image.

判定部242は、認証情報R(Pi)と上記式(4)により得られる剰余とが一致しない場合には(ステップS209否定)、仮想マシンを前回停止してから現時点までの間に、個別イメージファイルPiに対して不正な改竄等が行われたと判定し、仮想マシンの起動を中止する(ステップS210)。このとき、判定部242は、個別イメージファイルPiに対して不正な改竄等が行われた可能性がある旨をサーバ装置100に通知してもよいし、端末装置200のユーザ等に通知してもよい。   When the authentication information R (Pi) and the remainder obtained by the above equation (4) do not match (No at Step S209), the determination unit 242 determines whether the individual image is displayed between the previous stop of the virtual machine and the current time. It is determined that unauthorized tampering or the like has been performed on the file Pi and the activation of the virtual machine is stopped (step S210). At this time, the determination unit 242 may notify the server device 100 that there is a possibility that the individual image file Pi has been tampered with, or notify the user of the terminal device 200 or the like. Also good.

一方、判定部242は、認証情報R(Pi)と上記式(4)により得られる剰余とが一致する場合には(ステップS209肯定)、仮想マシンを前回停止してから現時点までの間に、個別イメージファイルPiに対して不正な改竄等が行われていないと判定する。かかる場合に、仮想マシン利用部220は、サーバ装置100に対して、仮想マシンの起動指示を送信する(ステップS211)。続いて、計算部240は、判定部242による判定処理が終了したので、ステップS203において生成した認証情報生成因子Rと、ステップS208において受信した認証情報R(Pi)とを削除する(ステップS212)。   On the other hand, when the authentication information R (Pi) and the remainder obtained by the above equation (4) match (Yes at Step S209), the determination unit 242 determines whether the virtual machine is stopped from the previous time until the current time. It is determined that unauthorized tampering or the like has not been performed on the individual image file Pi. In such a case, the virtual machine utilization unit 220 transmits a virtual machine activation instruction to the server apparatus 100 (step S211). Subsequently, since the determination process by the determination unit 242 is completed, the calculation unit 240 deletes the authentication information generation factor R generated in step S203 and the authentication information R (Pi) received in step S208 (step S212). .

そして、サーバ装置100の仮想マシン実行部130は、端末装置200から仮想マシンの起動指示を受信する(ステップS213)。続いて、計算部140は、端末装置200による判定処理が終了したので、ステップS205において受信した認証情報生成因子Rと、ステップS206において生成した認証情報R(Pi)とを削除する(ステップS214)。   Then, the virtual machine execution unit 130 of the server device 100 receives a virtual machine activation instruction from the terminal device 200 (step S213). Subsequently, since the determination process by the terminal device 200 is completed, the calculation unit 140 deletes the authentication information generation factor R received in step S205 and the authentication information R (Pi) generated in step S206 (step S214). .

そして、仮想マシン実行部130は、共通データ記憶部121に記憶されている共通イメージファイルHと、個別データ記憶部122に記憶されている個別イメージファイルPiとを用いて、仮想マシンを起動する(ステップS215)。これにより、端末装置200のユーザは、サーバ装置100に記憶されている仮想マシンのイメージファイルの完全性を確認した後に、サーバ装置100上で仮想マシンを起動させることができる。 Then, the virtual machine execution unit 130 starts the virtual machine using the common image file H stored in the common data storage unit 121 and the individual image file Pi stored in the individual data storage unit 122 i. (Step S215). As a result, the user of the terminal device 200 can activate the virtual machine on the server device 100 after confirming the integrity of the virtual machine image file stored in the server device 100.

ここで、図4に示した例のように、ネットワークシステム1における初期処理手順においてサーバ装置100と端末装置200との間で流通するデータは、所定の数値である第1の値gや第2の値N、剰余である検証情報C(Pi)である。また、図5に示した例のように、ネットワークシステム1における起動処理手順においてサーバ装置100と端末装置200との間で流通するデータは、剰余である認証情報生成因子Rや認証情報R(Pi)である。このため、第1の実施形態に係るネットワークシステム1では、サーバ装置100と端末装置200との間におけるデータ転送量を低減することができ、この結果、データ転送時間も短縮することができる。   Here, as in the example illustrated in FIG. 4, the data distributed between the server device 100 and the terminal device 200 in the initial processing procedure in the network system 1 is a first value g or a second value that is a predetermined numerical value. Value N, and verification information C (Pi) that is a remainder. Further, as in the example shown in FIG. 5, the data distributed between the server device 100 and the terminal device 200 in the startup processing procedure in the network system 1 is the authentication information generation factor R or the authentication information R (Pi) that is a surplus. ). For this reason, in the network system 1 according to the first embodiment, the data transfer amount between the server device 100 and the terminal device 200 can be reduced, and as a result, the data transfer time can also be shortened.

また、第1の実施形態に係るネットワークシステム1では、各ユーザにより利用されるイメージファイル全体を用いて、検証情報C(Pi)や認証情報R(Pi)を生成するのではなく、各ユーザにより利用されるイメージファイルと共通イメージファイルとの差分である個別イメージファイルを用いて、検証情報C(Pi)や認証情報R(Pi)を生成する。そして、上記式(1)及び(3)に示すように、自然数の2進数表記とみなされる個別イメージファイルPiは、冪乗演算の冪数となる。第1の実施形態に係るネットワークシステム1では、イメージファイル全体ではなく個別イメージファイルPiを用いることで、冪乗演算における冪数の値を小さくすることができるので、完全性を確認するための演算処理(式(1)や(3)の演算処理)を高速化することができる。   In the network system 1 according to the first embodiment, the verification information C (Pi) and the authentication information R (Pi) are not generated by using the entire image file used by each user, but by each user. Verification information C (Pi) and authentication information R (Pi) are generated using an individual image file that is a difference between the used image file and the common image file. Then, as shown in the above formulas (1) and (3), the individual image file Pi that is regarded as a binary number notation of a natural number is a power of a power calculation. In the network system 1 according to the first embodiment, by using the individual image file Pi instead of the entire image file, the power value in the power calculation can be reduced, so that the calculation for confirming the completeness is performed. It is possible to speed up the processing (calculation processing of formulas (1) and (3)).

以上のことから、第1の実施形態に係るネットワークシステム1では、ファイルの完全性を確認するためのデータ転送量を低減するとともに、完全性を確認するための演算処理を高速化することができる。   As described above, in the network system 1 according to the first embodiment, the data transfer amount for confirming the integrity of the file can be reduced, and the arithmetic processing for confirming the integrity can be speeded up. .

なお、仮想マシンが起動された後に、ユーザによって仮想マシンが利用されることでイメージファイルに対する各種更新情報が発生するが、ここでは、共通イメージファイルHは読込み専用であるものとする。すなわち、仮想マシン実行部130は、各種更新情報を個別イメージファイルPiに書き込むものとする。   Note that, after the virtual machine is activated, various update information for the image file is generated when the user uses the virtual machine. Here, it is assumed that the common image file H is read-only. That is, the virtual machine execution unit 130 writes various update information in the individual image file Pi.

[停止処理手順]
図6は、第1の実施形態に係るネットワークシステム1による停止処理手順を示すシーケンス図である。図6に示すように、端末装置200の仮想マシン利用部220は、ユーザによる操作に従って、サーバ装置100に対して、仮想マシンの停止指示を送信する(ステップS301)。
[Stop processing procedure]
FIG. 6 is a sequence diagram illustrating a stop processing procedure by the network system 1 according to the first embodiment. As illustrated in FIG. 6, the virtual machine utilization unit 220 of the terminal device 200 transmits a virtual machine stop instruction to the server device 100 in accordance with an operation by the user (step S301).

そして、サーバ装置100の仮想マシン実行部130は、端末装置200から仮想マシンの停止指示を受信する(ステップS302)。かかる場合に、仮想マシン実行部130は、仮想マシンを停止させる(ステップS303)。これにより、仮想マシン実行部130は、個別イメージファイルPiに各種更新情報を書き込む処理を終了し、個別イメージファイルを確定させる(ステップS304)。ここでは、更新後の個別イメージファイルを個別イメージファイルPi+1とする。   Then, the virtual machine execution unit 130 of the server device 100 receives a virtual machine stop instruction from the terminal device 200 (step S302). In such a case, the virtual machine execution unit 130 stops the virtual machine (step S303). As a result, the virtual machine execution unit 130 ends the process of writing various update information in the individual image file Pi and determines the individual image file (step S304). Here, the updated individual image file is referred to as an individual image file Pi + 1.

続いて、検証情報生成部141は、下記式(6)に示すように、更新後の個別イメージファイルPi+1を用いて、新たな検証情報C(Pi+1)を生成する(ステップS305)。   Subsequently, the verification information generation unit 141 generates new verification information C (Pi + 1) using the updated individual image file Pi + 1 as shown in the following formula (6) (step S305).

C(Pi+1) = gPi+1 mod N ・・・ (6) C (Pi + 1) = g Pi + 1 mod N (6)

続いて、検証情報生成部141は、ステップS305において生成した検証情報C(Pi+1)を端末装置200に送信する(ステップS306)。   Subsequently, the verification information generation unit 141 transmits the verification information C (Pi + 1) generated in step S305 to the terminal device 200 (step S306).

そして、端末装置200の仮想マシン利用部220は、サーバ装置100から検証情報C(Pi+1)を受信する(ステップS307)。このとき、仮想マシン利用部220は、検証情報記憶部230に記憶されている検証情報C(Pi)を、サーバ装置100から受信した検証情報C(Pi+1)に更新する(ステップS308)。   Then, the virtual machine using unit 220 of the terminal device 200 receives the verification information C (Pi + 1) from the server device 100 (step S307). At this time, the virtual machine using unit 220 updates the verification information C (Pi) stored in the verification information storage unit 230 to the verification information C (Pi + 1) received from the server device 100 (step S308).

続いて、仮想マシン利用部220は、検証情報の更新結果をサーバ装置100に送信する(ステップS309)。具体的には、仮想マシン利用部220は、検証情報記憶部230に記憶されている検証情報C(Pi)を検証情報C(Pi+1)に更新できた場合には、更新成功であることを示す更新結果をサーバ装置100に送信し、検証情報C(Pi)を検証情報C(Pi+1)に更新できなかった場合には、更新失敗であることを示す更新結果をサーバ装置100に送信する。   Subsequently, the virtual machine using unit 220 transmits the update result of the verification information to the server apparatus 100 (Step S309). Specifically, if the verification information C (Pi) stored in the verification information storage unit 230 can be updated to the verification information C (Pi + 1), the virtual machine usage unit 220 indicates that the update is successful. The update result is transmitted to the server apparatus 100. When the verification information C (Pi) cannot be updated to the verification information C (Pi + 1), an update result indicating that the update has failed is transmitted to the server apparatus 100.

そして、サーバ装置100の仮想マシン実行部130は、端末装置200から更新結果を受信する(ステップS310)。そして、仮想マシン実行部130は、端末装置200から受信した更新結果が成功を示すか否かを判定する(ステップS311)。   Then, the virtual machine execution unit 130 of the server device 100 receives the update result from the terminal device 200 (step S310). Then, the virtual machine execution unit 130 determines whether or not the update result received from the terminal device 200 indicates success (step S311).

このとき、仮想マシン実行部130は、更新結果が更新成功を示す場合には(ステップS311肯定)、更新後の個別イメージファイルPi+1を個別データ記憶部122i+1に格納するとともに、端末装置200のユーザのユーザ識別子に対応付けてユーザ情報記憶部123に記憶されている個別イメージファイルPiの個別識別子を、個別イメージファイルPi+1の個別識別子に更新する(ステップS312)。続いて、仮想マシン実行部130は、個別イメージファイルPiを削除する(ステップS313)。すなわち、仮想マシン実行部130は、個別データ記憶部122を削除する。 At this time, if the update result indicates a successful update (Yes at step S311), the virtual machine execution unit 130 stores the updated individual image file Pi + 1 in the individual data storage unit 122 i + 1 and also the user of the terminal device 200 The individual identifier of the individual image file Pi stored in the user information storage unit 123 in association with the user identifier is updated to the individual identifier of the individual image file Pi + 1 (step S312). Subsequently, the virtual machine execution unit 130 deletes the individual image file Pi (step S313). That is, the virtual machine execution unit 130 deletes the individual data storage unit 122 i .

一方、仮想マシン実行部130は、更新結果が更新失敗を示す場合には(ステップS311否定)、個別イメージファイルPi+1を削除し、ロールバックすることにより、端末装置200に対応する個別イメージファイルを個別イメージファイルPiに戻す(ステップS314)。最後に、仮想マシン実行部130は、ステップS306において生成した検証情報C(Pi+1)を削除する(ステップS315)。   On the other hand, when the update result indicates that the update has failed (No in step S311), the virtual machine execution unit 130 deletes the individual image file Pi + 1 and rolls back the individual image file corresponding to the terminal device 200 individually. Return to the image file Pi (step S314). Finally, the virtual machine execution unit 130 deletes the verification information C (Pi + 1) generated in step S306 (step S315).

なお、上記例では、個別イメージファイルPiと個別イメージファイルPi+1とが異なるファイルとして存在することを前提として説明したが、ユーザによって仮想マシンが利用されることにより、仮想マシン実行部130が、個別イメージファイルPiを随時更新して個別イメージファイルPi+1を生成する場合もある。このとき、仮想マシン実行部130は、更新結果が更新成功を示す場合に(ステップS311肯定)、更新後の個別イメージファイルPi+1を個別データ記憶部122に格納したままとし、さらに、ユーザ情報記憶部123に記憶されている個別イメージファイルPiの個別識別子を更新しなくてもよい。また、仮想マシン実行部130は、更新結果が更新失敗を示す場合には(ステップS311否定)、個別データ記憶部122に記憶されている個別イメージファイルPi+1をロールバックすることにより個別イメージファイルPiに戻す処理だけを行ってもよい(ステップS314)。 The above example has been described on the assumption that the individual image file Pi and the individual image file Pi + 1 exist as different files. However, when the virtual machine is used by the user, the virtual machine execution unit 130 may The file Pi may be updated as needed to generate the individual image file Pi + 1. At this time, the virtual machine execution unit 130, when the update result indicates update success (step S311: Yes), the individual image files Pi + 1 of the updated and remain stored in the individual data storage unit 122 i, further user information storage The individual identifier of the individual image file Pi stored in the unit 123 may not be updated. The virtual machine execution unit 130, if the update result indicates update failure (step S311: No), the individual image files Pi by rolling back the individual image files Pi + 1 stored in the individual data storage unit 122 i Only the process of returning to (2) may be performed (step S314).

[第1の実施形態の効果]
上述してきたように、第1の実施形態に係るネットワークシステム1は、サーバ装置100と端末装置200とを含む。かかるサーバ装置100は、共通データ記憶部121と、ユーザ情報記憶部123と、検証情報生成部141と、認証情報生成部142とを有する。そして、共通データ記憶部121は、複数のユーザにより利用される共通イメージファイル(共通データの一例に相当)を記憶する。また、ユーザ情報記憶部123は、端末装置200のユーザを識別するためのユーザ識別子に対応付けて、ユーザにより利用されるイメージファイルと共通イメージファイルとの差分である個別イメージファイル(個別データの一例に相当)を記憶する。また、検証情報生成部141は、個別イメージファイルを用いて、かかる個別イメージファイルを検証するための検証情報を生成する。また、認証情報生成部142は、端末装置200から認証情報生成因子を受信した場合に、かかる認証情報生成因子と、端末装置200に対応する個別イメージファイルとを用いて認証情報を生成し、生成した認証情報を端末装置200に送信する。また、検証情報記憶部230と、要求部241と、判定部242とを有する。検証情報記憶部230は、サーバ装置100の検証情報生成部141により生成された検証情報を記憶する。要求部241は、所定の認証情報生成因子をサーバ装置100に送信することにより、サーバ装置100に対して認証情報の生成を要求する。判定部242は、要求部241による要求の応答としてサーバ装置100から受信した認証情報と、検証情報記憶部230に記憶されている検証情報とを用いて、個別イメージファイルの正当性を判定する。
[Effect of the first embodiment]
As described above, the network system 1 according to the first embodiment includes the server device 100 and the terminal device 200. The server device 100 includes a common data storage unit 121, a user information storage unit 123, a verification information generation unit 141, and an authentication information generation unit 142. The common data storage unit 121 stores a common image file (corresponding to an example of common data) used by a plurality of users. The user information storage unit 123 also associates an individual image file (an example of individual data) that is a difference between an image file used by the user and a common image file in association with a user identifier for identifying the user of the terminal device 200. Equivalent). Further, the verification information generation unit 141 generates verification information for verifying the individual image file using the individual image file. Further, when the authentication information generation unit 142 receives the authentication information generation factor from the terminal device 200, the authentication information generation unit 142 generates and generates authentication information using the authentication information generation factor and the individual image file corresponding to the terminal device 200. The authentication information is transmitted to the terminal device 200. Further, it includes a verification information storage unit 230, a request unit 241, and a determination unit 242. The verification information storage unit 230 stores the verification information generated by the verification information generation unit 141 of the server device 100. The request unit 241 requests the server device 100 to generate authentication information by transmitting a predetermined authentication information generation factor to the server device 100. The determination unit 242 determines the validity of the individual image file using the authentication information received from the server apparatus 100 as a response to the request from the request unit 241 and the verification information stored in the verification information storage unit 230.

これにより、第1の実施形態に係るネットワークシステム1は、各ユーザにより利用されるイメージファイルと共通イメージファイルとの差分である個別イメージファイルを用いて、検証情報や認証情報を生成するので、上記式(1)及び(3)等の演算処理にかかる負荷を低減することができ、この結果、ファイルの完全性を判定する処理を高速化することができる。   Thereby, the network system 1 according to the first embodiment generates verification information and authentication information using an individual image file that is a difference between an image file used by each user and a common image file. It is possible to reduce the load on the arithmetic processing such as the expressions (1) and (3), and as a result, it is possible to speed up the process of determining the integrity of the file.

また、第1の実施形態に係るネットワークシステム1において、サーバ装置100の検証情報生成部141は、ユーザ情報記憶部123に記憶されている個別イメージファイルが更新された場合に、更新後の個別イメージファイルを用いて、新たな検証情報を生成する。また、端末装置200は、検証情報記憶部230に記憶されている検証情報を検証情報生成部141により生成された新たな検証情報に更新する。   Further, in the network system 1 according to the first embodiment, the verification information generation unit 141 of the server device 100 causes the updated individual image to be updated when the individual image file stored in the user information storage unit 123 is updated. New verification information is generated using the file. In addition, the terminal device 200 updates the verification information stored in the verification information storage unit 230 to new verification information generated by the verification information generation unit 141.

これにより、第1の実施形態に係るネットワークシステム1では、仮想マシンが利用されることによりイメージファイルに更新が発生した場合であっても、更新後のイメージファイルについて、完全性を確認することが可能となる。   As a result, in the network system 1 according to the first embodiment, even if the image file is updated by using the virtual machine, the integrity of the updated image file can be confirmed. It becomes possible.

また、第1の実施形態に係るネットワークシステム1において、サーバ装置100及び端末装置200は、上記式(1)〜(3)に示したように、互いに剰余を送受信することにより、個別イメージファイルの完全性判定を行う。これにより、第1の実施形態に係るネットワークシステム1は、サーバ装置100と端末装置200との間におけるデータ転送量を低減することができ、この結果、データ転送時間も短縮することができる。   Further, in the network system 1 according to the first embodiment, the server device 100 and the terminal device 200 transmit and receive a remainder to each other as shown in the above formulas (1) to (3), thereby Perform an integrity check. Thereby, the network system 1 according to the first embodiment can reduce the amount of data transfer between the server device 100 and the terminal device 200, and as a result, the data transfer time can also be shortened.

(第2の実施形態)
上記第1の実施形態では、端末装置200が、イメージファイルの完全性判定処理を行う例を示した。しかし、端末装置200のユーザが利用する移動体端末が、完全性判定処理を行ってもよい。第2の実施形態では、移動体端末が完全性判定処理を行う例について説明する。なお、以下では、既に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。
(Second Embodiment)
In the first embodiment, the example in which the terminal device 200 performs the image file integrity determination process has been described. However, the mobile terminal used by the user of the terminal device 200 may perform the integrity determination process. In the second embodiment, an example in which a mobile terminal performs an integrity determination process will be described. In addition, below, the detailed description is abbreviate | omitted as attaching | subjecting the same code | symbol to the site | part which has the function similar to the already shown component site | part.

[ネットワークシステムの構成]
まず、図7を用いて、第2の実施形態に係るネットワークシステムについて説明する。図7は、第2の実施形態に係るネットワークシステム2の構成例を示す図である。図7に例示したネットワークシステム2には、サーバ装置300と、端末装置400と、移動体端末500とが含まれる。図7に示した例において、端末装置400及び移動体端末500は、同一のユーザによって利用されるものとする。なお、ネットワークシステム2に含まれる各装置の台数は、図7に示した例に限られない。例えば、ネットワークシステム2には、2台以上のサーバ装置300が含まれてもよいし、2台以上の端末装置400が含まれてもよいし、2台以上の移動体端末500が含まれてもよい。
[Network system configuration]
First, a network system according to the second embodiment will be described with reference to FIG. FIG. 7 is a diagram illustrating a configuration example of the network system 2 according to the second embodiment. The network system 2 illustrated in FIG. 7 includes a server device 300, a terminal device 400, and a mobile terminal 500. In the example illustrated in FIG. 7, the terminal device 400 and the mobile terminal 500 are used by the same user. The number of devices included in the network system 2 is not limited to the example illustrated in FIG. For example, the network system 2 may include two or more server devices 300, may include two or more terminal devices 400, and may include two or more mobile terminals 500. Also good.

[サーバ装置の構成]
図7に示すように、第2の実施形態に係るサーバ装置300は、計算部340と、画像生成部350とを有する。計算部340は、検証情報生成部341と認証情報生成部342とを有する。計算部340による処理については後述する。
[Configuration of server device]
As illustrated in FIG. 7, the server apparatus 300 according to the second embodiment includes a calculation unit 340 and an image generation unit 350. The calculation unit 340 includes a verification information generation unit 341 and an authentication information generation unit 342. The processing by the calculation unit 340 will be described later.

画像生成部350は、所定の情報を特定するための画像を生成する。具体的には、画像生成部350は、バーコードやQRコード(登録商標)等の一次元コードや二次元コード等が描出された画像を生成する。第2の実施形態に係る画像生成部350は、二次元コードを生成するものとする。なお、画像生成部350による処理については後述する。   The image generation unit 350 generates an image for specifying predetermined information. Specifically, the image generation unit 350 generates an image in which a one-dimensional code such as a barcode or a QR code (registered trademark), a two-dimensional code, or the like is drawn. The image generation unit 350 according to the second embodiment generates a two-dimensional code. The processing performed by the image generation unit 350 will be described later.

[端末装置の構成]
図7に示すように、第2の実施形態に係る端末装置400は、仮想マシン利用部420と、要求部441と、表示部443とを有する。仮想マシン利用部420及び要求部441による処理については後述する。表示部443は、各種情報を表示するための表示デバイスであり、例えば、液晶表示装置等である。
[Configuration of terminal device]
As illustrated in FIG. 7, the terminal device 400 according to the second embodiment includes a virtual machine utilization unit 420, a request unit 441, and a display unit 443. Processing by the virtual machine using unit 420 and the request unit 441 will be described later. The display unit 443 is a display device for displaying various information, and is, for example, a liquid crystal display device.

[移動体端末の構成]
移動体端末500は、例えば、携帯電話機やPDA(Personal Digital Assistant)等である。かかる移動体端末500は、図7に示すように、読取部510と、検証情報記憶部520と、表示部530と、計算部540とを有する。
[Configuration of mobile terminal]
The mobile terminal 500 is, for example, a mobile phone or a PDA (Personal Digital Assistant). As shown in FIG. 7, the mobile terminal 500 includes a reading unit 510, a verification information storage unit 520, a display unit 530, and a calculation unit 540.

読取部510は、液晶表示装置に表示された一次元コードや二次元コード等を読み取り、読み取ったコードが示す情報を生成する。例えば、読取部510は、カメラ及びカメラを制御する制御回路等によって実現される。なお、読取部510は、紙媒体等に印刷された一次元コードや二次元コード等を読み取ることもできる。   The reading unit 510 reads a one-dimensional code or a two-dimensional code displayed on the liquid crystal display device, and generates information indicated by the read code. For example, the reading unit 510 is realized by a camera and a control circuit that controls the camera. The reading unit 510 can also read a one-dimensional code or a two-dimensional code printed on a paper medium or the like.

検証情報記憶部520は、サーバ装置300によって生成される検証情報を記憶する。なお、検証情報記憶部520は、図3に示した検証情報記憶部230と同様の構成を有する。表示部530は、各種情報を表示するための表示デバイスであり、例えば、液晶表示装置等である。計算部540は、要求部541と判定部542とを有する。計算部540による処理については後述する。   The verification information storage unit 520 stores verification information generated by the server device 300. The verification information storage unit 520 has the same configuration as the verification information storage unit 230 shown in FIG. The display unit 530 is a display device for displaying various types of information, such as a liquid crystal display device. The calculation unit 540 includes a request unit 541 and a determination unit 542. The processing by the calculation unit 540 will be described later.

[ネットワークシステムによる処理手順]
次に、図8〜図10を用いて、第2の実施形態に係るネットワークシステム2による処理手順について説明する。以下では、第1の実施形態と同様に、初期処理手順、起動処理手順、停止処理手順について順に説明する。
[Processing procedure by network system]
Next, a processing procedure performed by the network system 2 according to the second embodiment will be described with reference to FIGS. Hereinafter, as in the first embodiment, an initial process procedure, a startup process procedure, and a stop process procedure will be described in order.

[初期処理手順]
図8は、第2の実施形態に係るネットワークシステム2による初期処理手順を示すシーケンス図である。図8に示すように、端末装置400のユーザが仮想マシンのイメージファイルを端末装置400に登録する場合、まず、端末装置400とサーバ装置300との間でユーザ認証を行う(ステップS401)。ここでは、サーバ装置300の仮想マシン実行部130が認証成功と判定したものとする。
[Initial processing procedure]
FIG. 8 is a sequence diagram showing an initial processing procedure by the network system 2 according to the second embodiment. As shown in FIG. 8, when the user of the terminal device 400 registers the image file of the virtual machine in the terminal device 400, first, user authentication is performed between the terminal device 400 and the server device 300 (step S401). Here, it is assumed that the virtual machine execution unit 130 of the server apparatus 300 determines that the authentication is successful.

続いて、サーバ装置300の計算部340は、第1の実施形態と同様に、第1の値g及び第2の値Nを生成する(ステップS402)。続いて、画像生成部350は、計算部340によって生成された第1の値g及び第2の値Nを特定するための二次元コードが描出された画像を生成する(ステップS403)。続いて、画像生成部350は、このようにして生成した二次元コードが描出された画像を端末装置400に送信する(ステップS404)。なお、以下では、所定の情報を特定するための二次元コードが描出された画像を単に「所定の情報の二次元コード」と表記する場合がある。   Subsequently, the calculation unit 340 of the server device 300 generates the first value g and the second value N as in the first embodiment (step S402). Subsequently, the image generation unit 350 generates an image in which a two-dimensional code for specifying the first value g and the second value N generated by the calculation unit 340 is drawn (step S403). Subsequently, the image generation unit 350 transmits an image in which the two-dimensional code generated in this way is rendered to the terminal device 400 (step S404). Hereinafter, an image in which a two-dimensional code for specifying predetermined information is drawn may be simply referred to as “two-dimensional code of predetermined information”.

そして、端末装置400の仮想マシン利用部420は、サーバ装置300から第1の値g及び第2の値Nの二次元コードを受信した場合に、受信した二次元コードを表示部443に表示制御する(ステップS405)。続いて、移動体端末500の読取部510は、ユーザによる操作に従って、端末装置400の表示部443に表示された二次元コードを読み取る(ステップS406)。このとき、読取部510は、読み取った二次元コードから第1の値g及び第2の値Nを生成する。   When the virtual machine utilization unit 420 of the terminal device 400 receives the two-dimensional code of the first value g and the second value N from the server device 300, the virtual machine utilization unit 420 performs display control of the received two-dimensional code on the display unit 443. (Step S405). Subsequently, the reading unit 510 of the mobile terminal 500 reads the two-dimensional code displayed on the display unit 443 of the terminal device 400 according to the operation by the user (step S406). At this time, the reading unit 510 generates a first value g and a second value N from the read two-dimensional code.

続いて、サーバ装置300の仮想マシン実行部130は、記憶部120の共通データ記憶部121から共通イメージファイルHを読み込む(ステップS407)。続いて、仮想マシン実行部130は、共通イメージファイルHを用いて、端末装置400の利用者が個別に利用する個別イメージファイルPiを生成する(ステップS408)。このとき、仮想マシン実行部130は、個別イメージファイルPiを個別データ記憶部122に格納する。 Subsequently, the virtual machine execution unit 130 of the server device 300 reads the common image file H from the common data storage unit 121 of the storage unit 120 (step S407). Subsequently, the virtual machine execution unit 130 uses the common image file H to generate an individual image file Pi that is used individually by the user of the terminal device 400 (step S408). At this time, the virtual machine execution unit 130 stores the individual image file Pi in the individual data storage unit 122 i .

続いて、検証情報生成部341は、上記式(1)を用いて、個別イメージファイルPiから検証情報C(Pi)を生成する(ステップS409)。続いて、画像生成部350は、検証情報生成部341によって生成された検証情報C(Pi)を特定するための二次元コードが描出された画像を生成し(ステップS410)、生成した検証情報C(Pi)の二次元コードを端末装置400に送信する(ステップS411)。   Subsequently, the verification information generation unit 341 generates verification information C (Pi) from the individual image file Pi using the above formula (1) (step S409). Subsequently, the image generation unit 350 generates an image in which a two-dimensional code for specifying the verification information C (Pi) generated by the verification information generation unit 341 is drawn (step S410), and the generated verification information C The two-dimensional code (Pi) is transmitted to the terminal device 400 (step S411).

続いて、検証情報生成部341は、端末装置400のユーザ識別子に対応付けて、ステップS402において生成した第1の値g及び第2の値Nと、ステップS408において生成した個別イメージファイルPiの個別識別子とをユーザ情報記憶部123に登録する(ステップS412)。   Subsequently, the verification information generation unit 341 associates the first value g and the second value N generated in step S402 with the individual identifier of the individual image file Pi generated in step S408 in association with the user identifier of the terminal device 400. The identifier is registered in the user information storage unit 123 (step S412).

そして、端末装置400の仮想マシン利用部420は、サーバ装置300から検証情報C(Pi)の二次元コードを受信した場合に、受信した二次元コードを表示部443に表示制御する(ステップS413)。   Then, when receiving the two-dimensional code of the verification information C (Pi) from the server device 300, the virtual machine using unit 420 of the terminal device 400 controls the display of the received two-dimensional code on the display unit 443 (Step S413). .

続いて、移動体端末500の読取部510は、ユーザによる操作に従って、端末装置400の表示部443に表示された検証情報C(Pi)の二次元コードを読み取る(ステップS414)。このとき、読取部510は、読み取った二次元コードから検証情報C(Pi)を生成する。そして、読取部510は、ステップS406において読み取った二次元コードから生成した第1の値g及び第2の値Nと、ステップS414において読み取った二次元コードから生成した検証情報C(Pi)とを検証情報記憶部520に登録する(ステップS415)。   Subsequently, the reading unit 510 of the mobile terminal 500 reads the two-dimensional code of the verification information C (Pi) displayed on the display unit 443 of the terminal device 400 according to the operation by the user (step S414). At this time, the reading unit 510 generates verification information C (Pi) from the read two-dimensional code. Then, the reading unit 510 receives the first value g and the second value N generated from the two-dimensional code read in step S406, and the verification information C (Pi) generated from the two-dimensional code read in step S414. Registration is performed in the verification information storage unit 520 (step S415).

[起動処理手順]
図9は、第2の実施形態に係るネットワークシステム2による起動処理手順を示すシーケンス図である。図9に示すように、端末装置400のユーザがサーバ装置300上で仮想マシンを起動させる場合、まず、端末装置400とサーバ装置300との間でユーザ認証を行う(ステップS501)。
[Startup procedure]
FIG. 9 is a sequence diagram showing a startup processing procedure by the network system 2 according to the second embodiment. As illustrated in FIG. 9, when the user of the terminal device 400 activates a virtual machine on the server device 300, first, user authentication is performed between the terminal device 400 and the server device 300 (step S501).

続いて、移動体端末500の要求部541は、所定の乱数rを生成する(ステップS502)。続いて、要求部541は、上記式(2)を用いて、乱数rから認証情報生成因子Rを生成する(ステップS503)。そして、要求部541は、生成した認証情報生成因子Rを表示部530に表示制御する(ステップS504)。   Subsequently, the request unit 541 of the mobile terminal 500 generates a predetermined random number r (step S502). Subsequently, the request unit 541 generates an authentication information generation factor R from the random number r using the above equation (2) (step S503). The request unit 541 controls display of the generated authentication information generation factor R on the display unit 530 (step S504).

そして、端末装置400は、移動体端末500のユーザから認証情報生成因子Rの入力を受け付ける(ステップS505)。例えば、移動体端末500のユーザは、端末装置400の入力部(図示しないキーボードやマウス等)を用いて、表示部530に表示されている認証情報生成因子Rを端末装置400に入力する。そして、端末装置400の要求部441は、ユーザから入力された認証情報生成因子Rをサーバ装置300に送信する(ステップS506)。   And the terminal device 400 receives the input of the authentication information generation factor R from the user of the mobile terminal 500 (step S505). For example, the user of the mobile terminal 500 inputs the authentication information generation factor R displayed on the display unit 530 to the terminal device 400 using an input unit (not shown) such as a keyboard or a mouse. And the request | requirement part 441 of the terminal device 400 transmits the authentication information production | generation factor R input from the user to the server apparatus 300 (step S506).

そして、サーバ装置300の認証情報生成部342は、端末装置400から認証情報生成因子Rを受信する(ステップS507)。続いて、認証情報生成部342は、上記式(3)を用いて、認証情報生成因子Rと端末装置400に対応する個別イメージファイルPiとから認証情報R(Pi)を生成する(ステップS508)。   Then, the authentication information generation unit 342 of the server device 300 receives the authentication information generation factor R from the terminal device 400 (step S507). Subsequently, the authentication information generation unit 342 generates authentication information R (Pi) from the authentication information generation factor R and the individual image file Pi corresponding to the terminal device 400 using the above formula (3) (step S508). .

続いて、画像生成部350は、認証情報生成部342によって生成された認証情報R(Pi)の二次元コードを生成する(ステップS509)。続いて、画像生成部350は、認証情報R(Pi)の二次元コードを端末装置400に送信する(ステップS510)。   Subsequently, the image generation unit 350 generates a two-dimensional code of the authentication information R (Pi) generated by the authentication information generation unit 342 (Step S509). Subsequently, the image generation unit 350 transmits the two-dimensional code of the authentication information R (Pi) to the terminal device 400 (Step S510).

そして、端末装置400の仮想マシン利用部420は、サーバ装置300から認証情報R(Pi)の二次元コードを受信した場合に、受信した二次元コードを表示部443に表示制御する(ステップS511)。続いて、移動体端末500の読取部510は、ユーザによる操作に従って、端末装置400の表示部443に表示された二次元コードを読み取る(ステップS512)。このとき、読取部510は、読み取った二次元コードから認証情報R(Pi)を生成する。   When the virtual machine using unit 420 of the terminal device 400 receives the two-dimensional code of the authentication information R (Pi) from the server device 300, the virtual machine using unit 420 controls the display of the received two-dimensional code on the display unit 443 (Step S511). . Subsequently, the reading unit 510 of the mobile terminal 500 reads the two-dimensional code displayed on the display unit 443 of the terminal device 400 according to the operation by the user (step S512). At this time, the reading unit 510 generates authentication information R (Pi) from the read two-dimensional code.

そして、移動体端末500の判定部542は、読取部510により読み取られた認証情報R(Pi)と、検証情報記憶部520に記憶されている検証情報C(Pi)とを用いて、認証情報R(Pi)の正当性を判定する(ステップS513)。かかる判定処理は、図5のステップS209に示した処理と同様である。   Then, the determination unit 542 of the mobile terminal 500 uses the authentication information R (Pi) read by the reading unit 510 and the verification information C (Pi) stored in the verification information storage unit 520 to use the authentication information. The validity of R (Pi) is determined (step S513). Such determination processing is the same as the processing shown in step S209 of FIG.

そして、判定部542は、認証情報R(Pi)が正しくない場合には(ステップS513否定)、仮想マシンを前回停止してから個別イメージファイルPiに対して不正な改竄等が行われたと判定し、かかる判定結果を表示部530に表示する(ステップS514)。これにより、移動体端末500及び端末装置400のユーザは、サーバ装置300上で仮想マシンを起動することを中止することができる。   Then, when the authentication information R (Pi) is not correct (No at Step S513), the determination unit 542 determines that unauthorized tampering or the like has been performed on the individual image file Pi since the virtual machine was previously stopped. The determination result is displayed on the display unit 530 (step S514). Thereby, the user of the mobile terminal 500 and the terminal device 400 can stop starting the virtual machine on the server device 300.

一方、判定部542は、認証情報R(Pi)が正しい場合には(ステップS513肯定)、仮想マシンを前回停止してから個別イメージファイルPiに対して不正な改竄等が行われていないと判定し、かかる判定結果を表示部530に表示する(ステップS515)。続いて、計算部540は、判定部542による判定処理が終了したので、ステップS503において生成した認証情報生成因子Rと、ステップS512において読み取った認証情報R(Pi)とを削除する(ステップS516)。   On the other hand, if the authentication information R (Pi) is correct (Yes at step S513), the determination unit 542 determines that no unauthorized tampering or the like has been performed on the individual image file Pi since the virtual machine was previously stopped. Then, the determination result is displayed on the display unit 530 (step S515). Subsequently, since the determination process by the determination unit 542 is completed, the calculation unit 540 deletes the authentication information generation factor R generated in step S503 and the authentication information R (Pi) read in step S512 (step S516). .

そして、移動体端末500及び端末装置400のユーザは、表示部530に表示されている表示結果に応じて、サーバ装置300上で仮想マシンを利用できると判断することとなる。かかる場合に、ユーザは、サーバ装置300に起動指示を送信するよう端末装置400に入力する(ステップS517)。そして、端末装置400の仮想マシン利用部420は、ユーザによる操作に従って、サーバ装置300に仮想マシンの起動指示を送信する(ステップS518)。   Then, the user of the mobile terminal 500 and the terminal device 400 determines that the virtual machine can be used on the server device 300 according to the display result displayed on the display unit 530. In such a case, the user inputs to the terminal device 400 to transmit an activation instruction to the server device 300 (step S517). Then, the virtual machine utilization unit 420 of the terminal device 400 transmits a virtual machine activation instruction to the server device 300 in accordance with an operation by the user (step S518).

そして、サーバ装置300の仮想マシン実行部130は、端末装置400から仮想マシンの起動指示を受信する(ステップS519)。続いて、計算部340は、端末装置400による判定処理が終了したので、ステップS507において受信した認証情報生成因子Rと、ステップS508において生成した認証情報R(Pi)とを削除する(ステップS520)。   Then, the virtual machine execution unit 130 of the server device 300 receives a virtual machine activation instruction from the terminal device 400 (step S519). Subsequently, since the determination process by the terminal device 400 is completed, the calculation unit 340 deletes the authentication information generation factor R received in step S507 and the authentication information R (Pi) generated in step S508 (step S520). .

そして、仮想マシン実行部130は、共通データ記憶部121に記憶されている共通イメージファイルHと、個別データ記憶部122に記憶されている個別イメージファイルPiとを用いて、仮想マシンを起動する(ステップS521)。これにより、端末装置400のユーザは、サーバ装置300に記憶されている仮想マシンのイメージファイルの完全性を確認した後に、サーバ装置300上で仮想マシンを起動させることができる。 Then, the virtual machine execution unit 130 starts the virtual machine using the common image file H stored in the common data storage unit 121 and the individual image file Pi stored in the individual data storage unit 122 i. (Step S521). As a result, the user of the terminal device 400 can activate the virtual machine on the server device 300 after confirming the integrity of the virtual machine image file stored in the server device 300.

[停止処理手順]
図10は、第2の実施形態に係るネットワークシステム2による停止処理手順を示すシーケンス図である。図10に示すように、端末装置400の仮想マシン利用部420は、ユーザによる操作に従って、サーバ装置300に対して、仮想マシンの停止指示を送信する(ステップS601)。
[Stop processing procedure]
FIG. 10 is a sequence diagram illustrating a stop processing procedure by the network system 2 according to the second embodiment. As illustrated in FIG. 10, the virtual machine utilization unit 420 of the terminal device 400 transmits a virtual machine stop instruction to the server device 300 in accordance with an operation by the user (step S601).

そして、サーバ装置300の仮想マシン実行部130は、端末装置400から仮想マシンの停止指示を受信する(ステップS602)。かかる場合に、仮想マシン実行部130は、仮想マシンを停止させる(ステップS603)。これにより、仮想マシン実行部130は、個別イメージファイルPiに各種更新情報を書き込む処理を終了し、個別イメージファイルを確定させる(ステップS604)。ここでは、更新後の個別イメージファイルを個別イメージファイルPi+1とする。   Then, the virtual machine execution unit 130 of the server device 300 receives a virtual machine stop instruction from the terminal device 400 (step S602). In such a case, the virtual machine execution unit 130 stops the virtual machine (step S603). As a result, the virtual machine execution unit 130 ends the process of writing various pieces of update information in the individual image file Pi, and determines the individual image file (step S604). Here, the updated individual image file is referred to as an individual image file Pi + 1.

続いて、検証情報生成部341は、上記式(6)を用いて、更新後の個別イメージファイルPi+1から新たな検証情報C(Pi+1)を生成する(ステップS605)。画像生成部350は、検証情報生成部341によって生成された検証情報C(Pi+1)を特定するための二次元コードが描出された画像を生成し(ステップS606)、生成した検証情報C(Pi+1)の二次元コードを端末装置400に送信する(ステップS607)。   Subsequently, the verification information generation unit 341 generates new verification information C (Pi + 1) from the updated individual image file Pi + 1 using the above formula (6) (step S605). The image generation unit 350 generates an image in which a two-dimensional code for specifying the verification information C (Pi + 1) generated by the verification information generation unit 341 is drawn (step S606), and the generated verification information C (Pi + 1) The two-dimensional code is transmitted to the terminal device 400 (step S607).

そして、端末装置400の仮想マシン利用部420は、サーバ装置300から検証情報C(Pi+1)の二次元コードを受信した場合に、受信した二次元コードを表示部443に表示制御する(ステップS608)。   When the virtual machine utilization unit 420 of the terminal device 400 receives the two-dimensional code of the verification information C (Pi + 1) from the server device 300, the virtual machine utilization unit 420 controls the display of the received two-dimensional code on the display unit 443 (step S608). .

続いて、移動体端末500の読取部510は、ユーザによる操作に従って、端末装置400の表示部443に表示された検証情報C(Pi+1)の二次元コードを読み取る(ステップS609)。このとき、読取部510は、読み取った二次元コードから検証情報C(Pi+1)を生成する。そして、読取部510は、検証情報記憶部520に記憶されている検証情報C(Pi)を、ステップS609において読み取った二次元コードから生成した検証情報C(Pi+1)に更新する(ステップS610)。そして、読取部510は、検証情報の更新結果を表示部530に表示する(ステップS611)。   Subsequently, the reading unit 510 of the mobile terminal 500 reads the two-dimensional code of the verification information C (Pi + 1) displayed on the display unit 443 of the terminal device 400 according to the operation by the user (step S609). At this time, the reading unit 510 generates verification information C (Pi + 1) from the read two-dimensional code. Then, the reading unit 510 updates the verification information C (Pi) stored in the verification information storage unit 520 to the verification information C (Pi + 1) generated from the two-dimensional code read in step S609 (step S610). Then, the reading unit 510 displays the update result of the verification information on the display unit 530 (step S611).

そして、移動体端末500及び端末装置400のユーザは、表示部530に表示されている検証情報の更新結果を端末装置400に入力する(ステップS612)。そして、端末装置400の仮想マシン利用部420は、ユーザによる操作に従って、サーバ装置300に検証情報の更新結果を送信する(ステップS613)。   Then, the user of the mobile terminal 500 and the terminal device 400 inputs the update result of the verification information displayed on the display unit 530 to the terminal device 400 (Step S612). Then, the virtual machine utilization unit 420 of the terminal device 400 transmits the verification information update result to the server device 300 according to the operation by the user (step S613).

そして、サーバ装置300の仮想マシン実行部130は、端末装置400から更新結果を受信する(ステップS614)。続いて、仮想マシン実行部130は、端末装置400から受信した更新結果が成功を示すか否かを判定する(ステップS615)。この後のステップS615〜S619における処理手順は、図6に示したステップS311〜S315における処理手順と同様であるので、ここでは説明を省略する。   Then, the virtual machine execution unit 130 of the server device 300 receives the update result from the terminal device 400 (step S614). Subsequently, the virtual machine execution unit 130 determines whether or not the update result received from the terminal device 400 indicates success (step S615). The subsequent processing procedures in steps S615 to S619 are the same as the processing procedures in steps S311 to S315 shown in FIG.

[第2の実施形態の効果]
上述してきたように、第2の実施形態に係るネットワークシステム2において、移動体端末500が、検証情報を保持し、個別イメージファイルの完全性を判定する。これにより、移動体端末500を保持するユーザは、任意の端末装置400において、サーバ装置300上の仮想マシンを利用することが可能になる。例えば、ユーザは、自宅のPCからサーバ装置300上の仮想マシンを利用する場合、移動体端末500と自宅のPCとを用いて、完全性判定処理を行った後に、自宅のPCから仮想マシンを利用することができる。また、かかるユーザは、会社のPCからサーバ装置300上の仮想マシンを利用する場合においても、移動体端末500と会社のPCとを用いて、完全性判定処理を行った後に、会社のPCから仮想マシンを利用することができる。
[Effects of Second Embodiment]
As described above, in the network system 2 according to the second embodiment, the mobile terminal 500 holds the verification information and determines the integrity of the individual image file. As a result, the user holding the mobile terminal 500 can use the virtual machine on the server device 300 in any terminal device 400. For example, when a user uses a virtual machine on the server apparatus 300 from a home PC, the user performs the integrity determination process using the mobile terminal 500 and the home PC, and then moves the virtual machine from the home PC. Can be used. Further, even when the user uses a virtual machine on the server device 300 from a company PC, the user performs the integrity determination process using the mobile terminal 500 and the company PC, and then uses the PC from the company PC. Virtual machines can be used.

また、第2の実施形態に係るネットワークシステム2において、サーバ装置300は、移動体端末500が読み取り可能な二次元コードを生成する。これにより、ユーザは、検証情報や認証情報を容易に移動体端末500に保存することができる。   In the network system 2 according to the second embodiment, the server device 300 generates a two-dimensional code that can be read by the mobile terminal 500. Thereby, the user can easily store verification information and authentication information in the mobile terminal 500.

(第3の実施形態)
上述したネットワークシステム1及び2は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、第3の実施形態では、上記のネットワークシステム1及び2の他の実施形態について説明する。
(Third embodiment)
The network systems 1 and 2 described above may be implemented in various different forms other than the above embodiment. Therefore, in the third embodiment, another embodiment of the network systems 1 and 2 will be described.

[判定対象のデータ]
上記実施形態では、仮想マシンのイメージファイルの完全性を判定する例について説明した。しかし、上述してきたネットワークシステム1及び2は、イメージファイルだけでなく、他のデータ(ファイル等)の完全性を判定する場合についても適用することができる。例えば、ファイルサーバが各ユーザの各種データを保持している場合に、かかるファイルサーバは、各ユーザが利用するデータから、複数のユーザに共通する共通データを除いた個別データを用いて検証情報等を生成することで、上記実施形態における完全性判定処理と同様の処理を実現することができる。
[Data to be judged]
In the above embodiment, the example of determining the integrity of the image file of the virtual machine has been described. However, the network systems 1 and 2 described above can also be applied to the case of determining the integrity of not only the image file but also other data (such as a file). For example, when the file server holds various data of each user, the file server uses individual data obtained by excluding common data common to a plurality of users from data used by each user, etc. By generating, it is possible to realize processing similar to the integrity determination processing in the above embodiment.

[共通イメージファイル]
また、上記実施形態において、記憶部120には、1つの共通データ記憶部121が存在する例を示したが、記憶部120は、複数の共通イメージファイルを記憶してもよい。例えば、記憶部120は、所定のユーザグループG1に対応する共通イメージファイルF1を記憶するとともに、所定のユーザグループG2に対応する共通イメージファイルF2を記憶してもよい。そして、仮想マシン実行部130は、各ユーザが属するユーザグループに対応する共通イメージファイルを用いて、個別イメージファイルを生成する。
[Common image file]
In the above embodiment, an example in which the storage unit 120 has one common data storage unit 121 is shown, but the storage unit 120 may store a plurality of common image files. For example, the storage unit 120 may store the common image file F1 corresponding to the predetermined user group G1 and the common image file F2 corresponding to the predetermined user group G2. Then, the virtual machine execution unit 130 generates an individual image file using a common image file corresponding to the user group to which each user belongs.

[初期処理]
また、上記実施形態では、図4や図8に示したように、サーバ装置側から端末装置200や移動体端末500に第1の値、第2の値及び検証情報を送信する例を示した。しかし、第1の値、第2の値及び検証情報が記憶された媒体を郵送等によってユーザに届ける形態であってもよい。
[Initial processing]
Moreover, in the said embodiment, as shown in FIG.4 and FIG.8, the example which transmits 1st value, 2nd value, and verification information to the terminal device 200 or the mobile terminal 500 from the server apparatus side was shown. . However, the medium in which the first value, the second value, and the verification information are stored may be delivered to the user by mail or the like.

[第2の値N]
また、上記実施形態において、計算部140や340は、剰余演算における除数に用いられる「第2の値N」を、因数分解が困難である値にしてもよい。これにより、剰余を予測することが困難となり、安全性を向上させることができる。
[Second value N]
In the above embodiment, the calculation units 140 and 340 may set the “second value N” used for the divisor in the remainder calculation to a value that is difficult to factorize. Thereby, it becomes difficult to predict the surplus and the safety can be improved.

[システム構成]
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[System configuration]
In addition, among the processes described in the above embodiment, all or part of the processes described as being automatically performed can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedures, specific names, and information including various data and parameters shown in the document and drawings can be arbitrarily changed unless otherwise specified.

例えば、第2の実施形態において、移動体端末500と端末装置400とは、メール送信等によって各種情報を送受してもよい。例えば、移動体端末500は、図9のステップS504において、電子メールにより認証情報生成因子Rを端末装置400に送信してもよい。このとき、端末装置400は、移動体端末500から受信した認証情報生成因子Rをサーバ装置300に送信する。   For example, in the second embodiment, the mobile terminal 500 and the terminal device 400 may send and receive various types of information by mail transmission or the like. For example, the mobile terminal 500 may transmit the authentication information generation factor R to the terminal device 400 by e-mail in step S504 of FIG. At this time, the terminal device 400 transmits the authentication information generation factor R received from the mobile terminal 500 to the server device 300.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。   Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.

例えば、図1に示した例では、端末装置200が、仮想マシン利用部220とは別に計算部240を有する例を示したが、仮想マシン利用部220が計算部240を有してもよい。同様に、図7に示した仮想マシン利用部420は要求部441を有してもよい。   For example, in the example illustrated in FIG. 1, the terminal device 200 includes the calculation unit 240 separately from the virtual machine use unit 220, but the virtual machine use unit 220 may include the calculation unit 240. Similarly, the virtual machine usage unit 420 illustrated in FIG. 7 may include a request unit 441.

[プログラム]
また、上記実施形態において説明したサーバ装置100及び300や端末装置200及び400が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、サーバ装置100が実行する処理をコンピュータが実行可能な言語で記述した認証プログラムを作成することもできる。この場合、コンピュータが認証プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる認証プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された認証プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、一例として、図1に示したサーバ装置100と同様の機能を実現する認証プログラムを実行するコンピュータの一例を説明する。
[program]
In addition, it is possible to create a program in which processing executed by the server devices 100 and 300 and the terminal devices 200 and 400 described in the above embodiment is described in a language that can be executed by a computer. For example, an authentication program in which processing executed by the server device 100 is described in a language that can be executed by a computer can be created. In this case, when the computer executes the authentication program, the same effect as in the above embodiment can be obtained. Furthermore, the authentication program may be recorded on a computer-readable recording medium, and the authentication program recorded on the recording medium may be read by the computer and executed to execute the same processing as in the above embodiment. Hereinafter, as an example, an example of a computer that executes an authentication program that realizes the same function as that of the server apparatus 100 illustrated in FIG. 1 will be described.

図11は、認証プログラムを実行するコンピュータ1000を示す図である。図11に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。   FIG. 11 is a diagram illustrating a computer 1000 that executes an authentication program. As illustrated in FIG. 11, the computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、図11に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図11に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図11に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図11に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図11に例示するように、例えばディスプレイ1061に接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012 as illustrated in FIG. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1031 as illustrated in FIG. The disk drive interface 1040 is connected to the disk drive 1041 as illustrated in FIG. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive. The serial port interface 1050 is connected to a mouse 1051 and a keyboard 1052, for example, as illustrated in FIG. The video adapter 1060 is connected to a display 1061, for example, as illustrated in FIG.

ここで、図11に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の認証プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。例えば、図1に例示した仮想マシン実行部130と同様の情報処理を実行する仮想マシン実行手順と、検証情報生成部141と同様の情報処理を実行する検証情報生成手順と、認証情報生成部142と同様の情報処理を実行する認証情報生成手順とが記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。   Here, as illustrated in FIG. 11, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the above authentication program is stored in, for example, the hard disk drive 1031 as a program module in which a command to be executed by the computer 1000 is described. For example, a virtual machine execution procedure for executing information processing similar to the virtual machine execution unit 130 illustrated in FIG. 1, a verification information generation procedure for executing information processing similar to the verification information generation unit 141, and an authentication information generation unit 142 The hard disk drive 1031 stores a program module 1093 in which an authentication information generation procedure for executing the same information processing as described above is described.

また、上記実施形態で説明した記憶部120が保持する各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、仮想マシン実行手順、検証情報生成手順、認証情報生成手順を実行する。   Various data held by the storage unit 120 described in the above embodiment is stored as program data in, for example, the memory 1010 or the hard disk drive 1031. Then, the CPU 1020 reads the program module 1093 and program data 1094 stored in the memory 1010 and the hard disk drive 1031 to the RAM 1012 as necessary, and executes a virtual machine execution procedure, a verification information generation procedure, and an authentication information generation procedure.

なお、認証プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、認証プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   Note that the program module 1093 and the program data 1094 related to the authentication program are not limited to being stored in the hard disk drive 1031, but may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive or the like. Good. Alternatively, the program module 1093 and the program data 1094 related to the authentication program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and via the network interface 1070. May be read by the CPU 1020.

1 ネットワークシステム
100 サーバ装置
120 記憶部
121 共通データ記憶部
122 個別データ記憶部
123 ユーザ情報記憶部
130 仮想マシン実行部
140 計算部
141 検証情報生成部
142 認証情報生成部
200 端末装置
210 通信部
220 仮想マシン利用部
230 検証情報記憶部
240 計算部
241 要求部
242 判定部
500 移動体端末
510 読取部
520 検証情報記憶部
530 表示部
540 計算部
541 要求部
542 判定部
DESCRIPTION OF SYMBOLS 1 Network system 100 Server apparatus 120 Storage part 121 Common data storage part 122 Individual data storage part 123 User information storage part 130 Virtual machine execution part 140 Calculation part 141 Verification information generation part 142 Authentication information generation part 200 Terminal apparatus 210 Communication part 220 Virtual Machine utilization unit 230 Verification information storage unit 240 Calculation unit 241 Request unit 242 Determination unit 500 Mobile terminal 510 Reading unit 520 Verification information storage unit 530 Display unit 540 Calculation unit 541 Request unit 542 Determination unit

Claims (4)

サーバ装置と端末装置と移動体端末を含むネットワークシステムであって、
前記サーバ装置は、
複数のユーザにより利用される共通データを記憶する共通データ記憶部と、
前記端末装置のユーザを識別するためのユーザ識別子に対応付けて、前記端末装置のユーザにより利用されるデータと前記共通データとの差分である個別データを記憶するユーザ情報記憶部と、
前記個別データを用いて、当該個別データを検証するための検証情報を生成する検証情報生成部と、
前記端末装置から認証情報の生成元となる認証情報生成因子を受信した場合に、当該認証情報生成因子と当該端末装置に対応する個別データとを用いて認証情報を生成し、生成した認証情報を前記端末装置に送信する認証情報生成部とを備え、
前記端末装置は、
所定の認証情報生成因子を前記サーバ装置に送信することにより、当該サーバ装置に対して認証情報の生成を要求する要求部を備え、
前記移動体端末は、
前記検証情報生成部により生成された検証情報を記憶する検証情報記憶部と、
前記要求部による要求の応答として前記サーバ装置から前記端末装置が受信した認証情報と、前記検証情報記憶部に記憶されている検証情報とを用いて、前記個別データの正当性を判定する判定部と
を備えたことを特徴とするネットワークシステム。
A network system including a server device, a terminal device, and a mobile terminal,
The server device
A common data storage unit for storing common data used by a plurality of users;
A user information storage unit for storing individual data that is a difference between data used by the user of the terminal device and the common data in association with a user identifier for identifying the user of the terminal device;
Using the individual data, a verification information generation unit that generates verification information for verifying the individual data;
When an authentication information generation factor that is a generation source of authentication information is received from the terminal device, authentication information is generated using the authentication information generation factor and individual data corresponding to the terminal device, and the generated authentication information is An authentication information generation unit to be transmitted to the terminal device,
The terminal device
A request unit that requests the server device to generate authentication information by transmitting a predetermined authentication information generation factor to the server device;
The mobile terminal is
A verification information storage unit that stores verification information generated by the verification information generation unit;
A determination unit that determines the validity of the individual data using authentication information received by the terminal device from the server device as a response to the request by the request unit and verification information stored in the verification information storage unit And a network system characterized by comprising:
前記サーバ装置は、
前記認証情報生成部により生成された認証情報を特定するための画像である認証情報画像を生成し、生成した認証情報画像を前記端末装置に送信する画像生成部をさらに備え、
前記端末装置は、
前記画像生成部から受信した認証情報画像を表示する表示部をさらに備え、
前記移動体端末は、
前記表示部に表示された認証情報画像を読み取り、読み取った認証情報画像に基づいて前記認証情報を生成する読取部をさらに備え、
前記判定部は、
前記読取部により生成された認証情報と前記検証情報とを用いて、前記個別データの正当性を判定する
ことを特徴とする請求項に記載のネットワークシステム。
The server device
An image generation unit that generates an authentication information image that is an image for identifying the authentication information generated by the authentication information generation unit, and transmits the generated authentication information image to the terminal device;
The terminal device
A display unit for displaying the authentication information image received from the image generation unit;
The mobile terminal is
A reading unit that reads the authentication information image displayed on the display unit and generates the authentication information based on the read authentication information image;
The determination unit
Network system according to claim 1 with said verification information and the authentication information generated by the reading unit, wherein the determining the validity of the individual data.
前記画像生成部は、
前記検証情報生成部により生成された検証情報を特定するための画像である検証情報画像を生成し、生成した検証情報画像を前記端末装置に送信し、
前記表示部は、
前記画像生成部から受信した検証情報画像を表示し、
前記読取部は、
前記表示部に表示された検証情報画像から読み取った認証情報画像に基づいて前記検証情報を生成し、生成した検証情報を前記検証情報記憶部に格納する
ことを特徴とする請求項に記載のネットワークシステム。
The image generation unit
Generating a verification information image that is an image for specifying the verification information generated by the verification information generation unit, and transmitting the generated verification information image to the terminal device;
The display unit
Display the verification information image received from the image generation unit,
The reading unit is
Generate the verification information based on the authentication information image read from the displayed verification information image on the display unit, according the generated verification information to Claim 2, characterized in that stored in the verification information storage unit Network system.
サーバ装置と端末装置と移動体端末を含むネットワークシステムが実行する判定方法であって、
前記サーバ装置が、
前記端末装置のユーザにより利用されるデータと複数のユーザにより利用される共通データとの差分である個別データを用いて、当該個別データを検証するための検証情報を生成する検証情報生成工程とを含み、
前記端末装置が
定の認証情報の生成元となる認証情報生成因子を前記サーバ装置に送信することにより、当該サーバ装置に対して認証情報の生成を要求する要求工程を含み、
前記サーバ装置が、
前記端末装置から認証情報生成因子を受信した場合に、当該認証情報生成因子と当該端末装置に対応する個別データとを用いて認証情報を生成し、生成した認証情報を前記端末装置に送信する認証情報生成工程を含み、
前記移動体端末が、
前記検証情報生成工程において生成された検証情報を検証情報記憶部に格納する格納工程と、
前記要求工程における要求の応答として前記サーバ装置から前記端末装置が受信した認証情報と、前記検証情報記憶部に記憶されている検証情報とを用いて、前記個別データの正当性を判定する判定工程と
を含んだことを特徴とする判定方法。
A determination method executed by a network system including a server device, a terminal device, and a mobile terminal ,
The server device is
A verification information generating step of generating verification information for verifying the individual data using individual data that is a difference between data used by the user of the terminal device and common data used by a plurality of users; Including
It said terminal device,
By transmitting the authentication information generation factor comprising a generator of Jo Tokoro authentication information to the server apparatus, it includes a more requests Engineering for requesting generation of the authentication information to the server apparatus,
The server device is
Authentication that generates authentication information using the authentication information generation factor and individual data corresponding to the terminal device when the authentication information generation factor is received from the terminal device, and transmits the generated authentication information to the terminal device Including an information generation process,
The mobile terminal is
A storage step of storing the verification information generated in the verification information generation step in the verification information storage unit;
A determination step of determining the validity of the individual data using authentication information received by the terminal device from the server device as a response to the request in the request step and verification information stored in the verification information storage unit The determination method characterized by including.
JP2012136904A 2012-06-18 2012-06-18 Network system and determination method Expired - Fee Related JP5722281B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012136904A JP5722281B2 (en) 2012-06-18 2012-06-18 Network system and determination method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012136904A JP5722281B2 (en) 2012-06-18 2012-06-18 Network system and determination method

Publications (2)

Publication Number Publication Date
JP2014002523A JP2014002523A (en) 2014-01-09
JP5722281B2 true JP5722281B2 (en) 2015-05-20

Family

ID=50035653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012136904A Expired - Fee Related JP5722281B2 (en) 2012-06-18 2012-06-18 Network system and determination method

Country Status (1)

Country Link
JP (1) JP5722281B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022044270A1 (en) * 2020-08-28 2022-03-03 日本電信電話株式会社 Updating device, updating method, and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4762847B2 (en) * 2006-10-05 2011-08-31 日本電信電話株式会社 Online storage system and method
US8171301B2 (en) * 2007-10-07 2012-05-01 Embotics Corporation Method and system for integrated securing and managing of virtual machines and virtual appliances
WO2009107349A1 (en) * 2008-02-25 2009-09-03 パナソニック株式会社 Information processing device
JP5066613B2 (en) * 2009-03-06 2012-11-07 株式会社日立製作所 Security management apparatus and method, and program
WO2011116459A1 (en) * 2010-03-25 2011-09-29 Enomaly Inc. System and method for secure cloud computing

Also Published As

Publication number Publication date
JP2014002523A (en) 2014-01-09

Similar Documents

Publication Publication Date Title
EP3688930B1 (en) System and method for issuing verifiable claims
JP6943356B2 (en) Blockchain-based document management method using UTXO-based protocol and document management server using this {METHOD FOR MANAGING DOCUMENT ON BASIS OF BLOCKCHAIN BY USING UTXO-BASED PROTOCOL, AND DOCUMENT MANAGEN
CN109074579B (en) Method and system for protecting computer software using distributed hash table and blockchain
AU2017263291B2 (en) A method and system for verifying ownership of a digital asset using a distributed hash table and a peer-to-peer distributed ledger
JP6839267B2 (en) Trace objects across different parties
CN107948152B (en) Information storage method, information acquisition method, information storage device, information acquisition device and information acquisition equipment
CN101276389B (en) Separation of logical trusted platform modules within a single physical trusted platform module
US10164970B1 (en) Secure cross-domain page generation
KR20130084671A (en) Application usage policy enforcement
CN111260488B (en) Data processing method and device and readable storage medium
JP6921266B2 (en) Verifying the integrity of the data stored on the consortium blockchain using the public sidechain
CN110659206A (en) Simulation architecture establishing method, device, medium and electronic equipment based on microservice
CN106096418A (en) SELinux-based startup security level selection method and device and terminal equipment
KR20140098912A (en) A system and method for distributing allication
CN113055380A (en) Message processing method and device, electronic equipment and medium
CN114124502A (en) Message transmission method, device, equipment and medium
CN111147235B (en) Object access method and device, electronic equipment and machine-readable storage medium
JP7462903B2 (en) User terminal, authenticator terminal, registrant terminal, management system and program
CN113221154A (en) Service password obtaining method and device, electronic equipment and storage medium
JP5722281B2 (en) Network system and determination method
CN112541820B (en) Digital asset management method, device, computer equipment and readable storage medium
JP2008134819A (en) Information processing system, electronic permission information issuing device, electronic information using device, right issuing device, electronic permission information issuing program, electronic information using program, and right issuing program
CN106575341A (en) Composite document access
JP2011154538A (en) Authentication device and authentication method
CN110995437A (en) ETC system-based user information input method, device, equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150309

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: 20150324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150325

R150 Certificate of patent or registration of utility model

Ref document number: 5722281

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees