JP4554660B2 - Storage processing device, information providing server, operation method, and program - Google Patents

Storage processing device, information providing server, operation method, and program Download PDF

Info

Publication number
JP4554660B2
JP4554660B2 JP2007284837A JP2007284837A JP4554660B2 JP 4554660 B2 JP4554660 B2 JP 4554660B2 JP 2007284837 A JP2007284837 A JP 2007284837A JP 2007284837 A JP2007284837 A JP 2007284837A JP 4554660 B2 JP4554660 B2 JP 4554660B2
Authority
JP
Japan
Prior art keywords
address conversion
conversion table
address
processing device
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007284837A
Other languages
Japanese (ja)
Other versions
JP2009110476A (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.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
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 Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2007284837A priority Critical patent/JP4554660B2/en
Publication of JP2009110476A publication Critical patent/JP2009110476A/en
Application granted granted Critical
Publication of JP4554660B2 publication Critical patent/JP4554660B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、データの不正な書き換えを抑制する記憶処理装置、情報提供サーバ、動作方法、ならびにコンピュータ上で実現するためのプログラムに関する。   The present invention relates to a storage processing device, an information providing server, an operation method, and a program to be realized on a computer that suppress unauthorized rewriting of data.

従来から、ゲーム装置においては、各種数値パラメータを用いてゲームの状態が表現されている。このような数値パラメータには、プレイヤーが操作するキャラクターの体力やレベル等の各種の能力値、クリアした面の数や過去のスコア履歴など、種々のものがある。数値パラメータは、典型的には、メモリカードやハードディスクなど、ユーザのゲーム装置がローカルに保有する不揮発性記憶媒体に記録される。このように外部メモリに数値パラメータを保存する形態は、ネットワーク対戦型のゲームでも広く採用されている。   Conventionally, in game devices, the state of a game is expressed using various numerical parameters. There are various numerical parameters such as various ability values such as the physical strength and level of the character operated by the player, the number of cleared faces, and past score history. The numerical parameter is typically recorded on a non-volatile storage medium locally owned by the user's game device, such as a memory card or a hard disk. Thus, the form of storing numerical parameters in the external memory is widely adopted in network battle games.

一方、数値パラメータを、自己に有利なように改変する不正行為(チート行為)が頻繁に行われている。数値パラメータの不正な書き換えは、特に複数のユーザが対戦するネットワークゲームなどで問題となっている。このような不正行為を検出するための数値記録装置は、例えば、特許文献1に開示されている。
特開2006−72825号公報
On the other hand, fraudulent acts (cheat acts) that frequently modify numerical parameters in an advantageous manner are carried out. Unauthorized rewriting of numerical parameters is a problem particularly in a network game where a plurality of users battle each other. A numerical value recording apparatus for detecting such an illegal act is disclosed in Patent Document 1, for example.
JP 2006-72825 A

特許文献1に記載の技術によると、保存すべきfloat型の数値をdouble型に昇格変換(アップキャスト)して外部メモリに記憶する。ロードする場合は、外部メモリから読み出したdouble型数値をfloat型降格変換(ダウンキャスト)する。そして、同じ指数部を有するdouble型の数値はfloat型の数値と比較して、229の冗長度を有するという点を利用して、降格変換した結果をさらに昇格変換した値と、外部記憶から読み出した結果を比較し、異なると、不正があった旨の報告を行う。 According to the technique described in Patent Document 1, a float type numerical value to be saved is promoted to a double type (upcast) and stored in an external memory. When loading, double type demotion conversion (downcast) is performed on the double type numerical value read from the external memory. Then, double-type value of having the same exponent as compared to the float-number, by utilizing the fact that with a redundancy of 2 29, and a value obtained by converting demoted converted results further promoted, from the external storage Compare the read results, and if they differ, report that there was fraud.

この方法は、全てのロード時に、不正の有無のチェックが行われるため、不正の検出には有効であるが、計算負荷も多くなる。一方、ゲーム機などのように、計算資源が限られた環境で、計算負荷をかけずに、不正行為を抑制する方法が求められている。   This method is effective in detecting fraud because it is checked whether or not it is fraudulent at all loads, but the calculation load increases. On the other hand, there is a demand for a method of suppressing fraud without applying a calculation load in an environment where calculation resources are limited, such as a game machine.

本発明は、以上のような課題を解決するためのもので、データの不正な書き換えを抑制する記憶処理装置、情報提供サーバ、動作方法、ならびに、コンピュータ上で実現するためのプログラムを提供することを目的とする。   The present invention is to solve the above-described problems, and provides a storage processing device, an information providing server, an operation method, and a program to be realized on a computer that suppress unauthorized rewriting of data. With the goal.

上記目的を達成するため、本発明の第1の観点に係る記憶処理装置は、パラメータ記憶部と、テーブル記憶部と、アドレス取得部と、読書き部と、更新部と、を備える。   In order to achieve the above object, a storage processing device according to a first aspect of the present invention includes a parameter storage unit, a table storage unit, an address acquisition unit, a read / write unit, and an update unit.

パラメータ記憶部は、パラメータ群を記憶する。パラメータ記憶部としては後述するように例えばメモリカード等の不揮発性記憶媒体を想定しており、ゲームの種々のプレイ状態を記憶する。例えば、プレイヤーが操作する各キャラクタのレベルなどの能力値、保持するお金やアイテム、そしてクリアしたステージなど、様々な情報がパラメータとして記憶される。即ち、どのパラメータがどのアドレスに記憶されるかが一度把握されると、そのアドレスのデータを書き換えることで容易に不正を行うことが可能となる。例えば、不正にキャラクタのレベルを書き換えれば、経験を積むことなく、瞬時に高いレベルを有するキャラクタとすることが可能となる。   The parameter storage unit stores a parameter group. As will be described later, a non-volatile storage medium such as a memory card is assumed as the parameter storage unit, and various play states of the game are stored. For example, various information such as ability values such as the level of each character operated by the player, held money and items, and a cleared stage are stored as parameters. That is, once it is ascertained which parameter is stored at which address, fraud can be easily performed by rewriting the data at that address. For example, if the level of a character is rewritten illegally, a character having a high level can be instantaneously obtained without gaining experience.

テーブル記憶部は、当該パラメータ群の各パラメータが記憶されるパラメータ記憶部内の実アドレスと、当該パラメータにアクセスするために指定する仮想アドレスと、を対応付けるアドレス変換テーブルを記憶する。   The table storage unit stores an address conversion table that associates a real address in the parameter storage unit in which each parameter of the parameter group is stored with a virtual address that is designated to access the parameter.

即ち、本実施の形態においては、不成行為者が、パラメータがメモリカード上のどの位置に記憶されるのかを簡単に推定できないようにするため、パラメータ記憶部にアクセスするために指定する仮想アドレスと、パラメータがパラメータ記憶部内に記憶される実アドレスとが異なる。そして、仮想アドレスと実アドレスの対応付けはテーブル記憶部に保存されるアドレス変換テーブルに記憶される。   That is, in the present embodiment, in order to prevent a misbehavior from easily estimating where the parameter is stored on the memory card, a virtual address designated to access the parameter storage unit and The actual address at which the parameter is stored in the parameter storage unit is different. The association between the virtual address and the real address is stored in an address conversion table stored in the table storage unit.

なお、パラメータ記憶部は、1バイト単位で管理され、パラメータ記憶部内のデータにアクセスするための仮想アドレスもバイト単位で指定可能である。そして、テーブル記憶部には、各仮想アドレスに対応付けて、実アドレスが記憶される。   The parameter storage unit is managed in 1-byte units, and a virtual address for accessing data in the parameter storage unit can be specified in byte units. The table storage unit stores the real address in association with each virtual address.

アドレス取得部は、指定された仮想アドレスを入力として、アドレス変換テーブルを参照して、パラメータ記憶部の実アドレスを取得する。即ち、アドレス取得部はアドレス変換テーブルが異なると、同じ仮想アドレスに対して、異なる実アドレスを取得する。   The address acquisition unit receives the designated virtual address as an input, refers to the address conversion table, and acquires the real address of the parameter storage unit. That is, the address acquisition unit acquires different real addresses for the same virtual address when the address conversion tables are different.

読書き部は、指定された仮想アドレスに対する読書き要求を受信すると、アドレス取得部を制御して、当該仮想アドレスに対応する実アドレスを取得し、パラメータ記憶部の当該取得した実アドレスに対して読書きを行う。   When the read / write unit receives a read / write request for the specified virtual address, the read / write unit controls the address acquisition unit to acquire a real address corresponding to the virtual address, and for the acquired real address of the parameter storage unit Read and write.

即ち、読書き部は、不揮発性記憶媒体であるパラメータ記憶部に対してゲーム状態をセーブしたり、ロードする処理において、パラメータ記憶部に実際に読書きする部分を担う。これらセーブやロード処理においては、仮想アドレスを指定したアクセス要求が読書き部に対して発行される。読書き部は指定された仮想アドレスに対応付けられた実アドレスに対し、実際の読書きを行う。   That is, the reading / writing unit is responsible for the actual reading / writing of the parameter storage unit in the process of saving or loading the game state in the parameter storage unit which is a nonvolatile storage medium. In these save and load processes, an access request specifying a virtual address is issued to the read / write unit. The read / write unit actually reads and writes the real address associated with the designated virtual address.

更新部はアドレス変換テーブルを所定のタイミングで更新し、さらに、各仮想アドレスを指定した際に、更新前のアドレス変換テーブルを参照して得られる実アドレスに記憶されるデータと、更新後のアドレス変換テーブルを参照して得られる実アドレスに記憶されるデータとが一致するように、実アドレスに記憶されるデータを更新する。   The update unit updates the address conversion table at a predetermined timing, and when each virtual address is specified, the data stored in the real address obtained by referring to the address conversion table before update and the address after update The data stored in the real address is updated so that the data stored in the real address obtained by referring to the conversion table matches.

即ち、更新部によってアドレス変換テーブルが更新されると、同じ仮想アドレスに対してアクセスを行っても、読書き部が実際にアクセスする実アドレスが異なる。所定のタイミングで、パラメータが保存されるパラメータ記憶部内の実アドレスを変化させれば、容易にどの実アドレスにどのパラメータが記憶されているかを推定し難くなり、不正にデータを書き換えることも困難となる。ただし、データの整合性を維持するために、同じ仮想アドレスに対してアクセスした場合、アドレス変換テーブルを更新する前と、後で、同じ内容のデータが得られるように、更新部がパラメータ記憶部のデータを入れ替える。   That is, when the address conversion table is updated by the update unit, the actual address that the read / write unit actually accesses is different even if the same virtual address is accessed. If the actual address in the parameter storage unit where the parameters are stored is changed at a predetermined timing, it is difficult to estimate which parameter is stored in which actual address, and it is difficult to rewrite data illegally. Become. However, in order to maintain the consistency of data, when accessing the same virtual address, the update unit is a parameter storage unit so that the same data can be obtained before and after updating the address conversion table. Replace the data.

このように、本発明に係る記憶処理装置は、データアクセス時にアドレス変換処理を行うことで、パラメータ記憶部に記憶される各データの位置を容易に不正行為者に把握されないようにすることが可能である。また、アドレス変換テーブルを所定のタイミングで更新することによって、容易に不正行為者に把握されないように、さらに、工夫している。   As described above, the storage processing device according to the present invention can prevent the unauthorized person from easily grasping the position of each data stored in the parameter storage unit by performing the address conversion process at the time of data access. It is. Further, the address conversion table is updated at a predetermined timing so that it is not easily grasped by an unauthorized person.

更新部は、所定のタイミングで、実アドレスと仮想アドレスとの対応付けをランダムに入れ替えて、アドレス変換テーブルを更新するようにしてもよい。即ち、更新部はアドレス変換テーブルを自前で生成するようにしてもよい。   The updating unit may update the address conversion table by randomly changing the association between the real address and the virtual address at a predetermined timing. That is, the update unit may generate the address conversion table by itself.

記憶処理装置はネットワークを介して情報提供サーバに接続されており、受信部はアドレス変換テーブルを情報提供サーバから受信するテーブル受信部をさらに備えるようにしてもよい。即ち、本記憶処理装置がネットワーク接続可能なゲーム機などに接続されている場合を想定して、アドレス変換テーブルをネットワークを介して接続された情報提供サーバから受信してもよい。   The storage processing device may be connected to the information providing server via a network, and the receiving unit may further include a table receiving unit that receives the address conversion table from the information providing server. That is, assuming that the storage processing apparatus is connected to a game machine or the like that can be connected to the network, the address conversion table may be received from the information providing server connected via the network.

更新部は、受信したアドレス変換テーブルによって、アドレス変換テーブルを更新するようにしてもよい。即ち、更新部は、情報提供サーバから送信されたアドレス変換テーブルをテーブル記憶部に保存して、新たなアドレス変換テーブルとする。   The updating unit may update the address conversion table with the received address conversion table. That is, the update unit saves the address conversion table transmitted from the information providing server in the table storage unit, and creates a new address conversion table.

記憶処理装置は、返信部をさらに備えるようにしてもよい。そして、更新部が、当該アドレス変換テーブルと、当該実アドレスに記憶されるデータとを更新すると、返信部は、更新される直前にテーブル記憶部に記憶されていたアドレス変換テーブルと、自己を識別する記憶処理装置識別情報と、を情報提供サーバに返信するようにしてもよい。   The storage processing device may further include a reply unit. When the updating unit updates the address conversion table and the data stored in the real address, the reply unit identifies itself from the address conversion table stored in the table storage unit immediately before the update. The storage processing device identification information to be returned may be returned to the information providing server.

ここで、情報提供サーバ側は、新しいアドレス変換テーブルを記憶処理装置に送ると、記憶処理装置側でアドレス変換テーブルが不正に書き換えられていないかどうかを判定するために、記憶処理装置から古いアドレス変換テーブルを送信してもらう。そして、情報提供サーバは、送信されたテーブルと、当該情報提供サーバが記憶処理装置へ送信したアドレス変換テーブルと、を比較して、両テーブルが異なれば不正な書き込みが行われたと判断する。   Here, when the information providing server sends a new address conversion table to the storage processing device, the old address is sent from the storage processing device to determine whether the address conversion table has been illegally rewritten on the storage processing device side. Have the conversion table sent. Then, the information providing server compares the transmitted table with the address conversion table transmitted from the information providing server to the storage processing device, and determines that illegal writing has been performed if the two tables are different.

このとき、情報提供サーバは自分がどの記憶処理装置にどのアドレス変換テーブルを送信したかを記憶しておかなければ、記憶処理装置から送られてきたアドレス変換テーブルと比較できない。よって、情報提供サーバは、アドレス変換テーブルと、当該アドレス変換テーブルを送信した先の記憶処理装置の識別情報と、を対応付けて記憶する。そして、情報提供サーバが、記憶された記憶処理装置の識別情報から、記憶処理装置に送信した変換テーブルを参照できるように、記憶処理装置の返信部はアドレス変換テーブルと、自己を識別する記憶処理装置識別情報とを情報提供サーバへ送信する。   At this time, the information providing server cannot compare with the address conversion table sent from the storage processing device unless it stores which address conversion table it sent to which storage processing device. Therefore, the information providing server stores the address conversion table and the identification information of the storage processing device that has transmitted the address conversion table in association with each other. Then, the return unit of the storage processing device can refer to the address conversion table and the storage processing for identifying itself so that the information providing server can refer to the conversion table transmitted to the storage processing device from the stored identification information of the storage processing device. The device identification information is transmitted to the information providing server.

返信部は、アドレス変換テーブルに代えて、更新される直前にテーブル記憶部に記憶されていた当該アドレス変換テーブルに所定のハッシュ関数を適用した結果を、情報提供サーバに返信するようにしてもよい。即ち、新しいアドレス変換テーブルが情報提供サーバから送られてくると、返信部は、古いアドレス変換テーブル自体ではなく、古いアドレス変換テーブルに所定のハッシュ関数を適用した結果を送信する。そして、当該古いアドレス変換テーブルが不正に書き換えられていないかどうかを情報提供サーバ側でハッシュ値を比較して判定してもらう。   The reply unit may return, to the information providing server, a result of applying a predetermined hash function to the address conversion table stored in the table storage unit immediately before the update, instead of the address conversion table. . That is, when a new address conversion table is sent from the information providing server, the reply unit transmits a result of applying a predetermined hash function to the old address conversion table, not the old address conversion table itself. Then, the information providing server side determines whether the old address conversion table has been illegally rewritten by comparing the hash values.

テーブル受信部は、情報提供サーバから、アドレス変換テーブルに対応付けられるテーブル識別情報をさらに受信し、返信部は、自己を識別する記憶処理装置識別情報に変えて、受信したテーブル識別情報を情報提供サーバに返信するようにしてもよい。即ち、上述したように、情報提供サーバ側で、どのアドレス変換テーブルをどの記憶処理装置に送信したかを管理するのではなく、記憶処理装置側で、どのアドレス変換テーブルが情報提供サーバから送信されたかを、管理してもよい。   The table receiving unit further receives table identification information associated with the address conversion table from the information providing server, and the reply unit provides the received table identification information instead of the storage processing device identification information for identifying itself. You may make it reply to a server. That is, as described above, instead of managing which address conversion table is transmitted to which storage processing device on the information providing server side, which address conversion table is transmitted from the information providing server on the storage processing device side. You may manage.

一方、情報提供サーバ側は、保有する複数のアドレス変換テーブルに対して、当該テーブルを識別するテーブル識別情報を記憶すればよい。記憶処理装置の返信部がアドレス変換テーブルとテーブル識別情報とを情報提供サーバに送信すれば、情報提供サーバ側は、テーブル識別情報に基づいて、どの変換テーブルを当該記憶処理装置に送信したかが把握できる。これにより、情報提供サーバ側で、当該記憶処理装置に送信したアドレス変換テーブルと、当該記憶処理装置から送信されたアドレス変換テーブルとの比較が可能となり、アドレス変換テーブルに対する不正な書き換みの有無を判定することができる。   On the other hand, the information providing server side may store table identification information for identifying the table for a plurality of address conversion tables held. If the reply unit of the storage processing device transmits the address conversion table and the table identification information to the information providing server, the information providing server side determines which conversion table is transmitted to the storage processing device based on the table identification information. I can grasp. This enables the information providing server to compare the address conversion table transmitted to the storage processing device with the address conversion table transmitted from the storage processing device, and whether or not the address conversion table has been illegally rewritten. Can be determined.

なお、記憶処理装置において、パラメータ記憶部は不揮発性記憶媒体であり、テーブル記憶部は揮発性記憶媒体である。即ち、前述したように、パラメータ記憶部は、ゲームでよく利用される、メモリカードなどを想定している。   In the storage processing device, the parameter storage unit is a nonvolatile storage medium, and the table storage unit is a volatile storage medium. That is, as described above, the parameter storage unit is assumed to be a memory card or the like that is often used in games.

一方、情報提供サーバがアドレス変換テーブルを提供する場合、記憶処理装置は必要に応じて情報提供サーバにアドレス変換テーブルを再送信してもらえば事足りるため、テーブル記憶部には、揮発性記憶媒体が採用される。   On the other hand, when the information providing server provides the address conversion table, the storage processing device suffices to have the information providing server retransmit the address conversion table as necessary. Therefore, the table storage unit includes a volatile storage medium. Adopted.

ただし、記憶処理装置が自前でアドレス変換テーブルを作成する場合は、電源を投入した際に、電源を切る前のアドレス変換テーブルを回復する必要がある。よって、実行時は、テーブル記憶部として、RAMなどの不揮発性記憶媒体が利用され、電源を切る際には、メモリカードなどの不揮発性記憶媒体が採用される。   However, when the storage processing device creates its own address conversion table, it is necessary to recover the address conversion table before turning off the power when the power is turned on. Therefore, a nonvolatile storage medium such as a RAM is used as the table storage unit at the time of execution, and a nonvolatile storage medium such as a memory card is employed when the power is turned off.

本発明の他の観点に係る情報提供サーバは、ネットワークを介して記憶処理装置に接続された情報提供サーバであって、候補記憶部と、テーブル送信部と、送信情報記憶部と、受信部と、判定部と、を備える。   An information providing server according to another aspect of the present invention is an information providing server connected to a storage processing device via a network, and includes a candidate storage unit, a table transmission unit, a transmission information storage unit, and a reception unit. And a determination unit.

ここで、候補記憶部は、記憶処理装置の実アドレスと、実アドレスのそれぞれにアクセスするために指定する仮想アドレスとを対応付けるアドレス変換テーブルを複数記憶する。即ち、情報提供サーバは、前述のアドレス変換テーブルを記憶処理装置に提供するために、候補記憶部に複数のアドレス変換テーブルを記憶する。   Here, the candidate storage unit stores a plurality of address conversion tables associating the real addresses of the storage processing device with the virtual addresses designated for accessing each of the real addresses. That is, the information providing server stores a plurality of address conversion tables in the candidate storage unit in order to provide the above-described address conversion table to the storage processing device.

テーブル送信部は、記憶処理装置へ所定のタイミングで当該アドレス変換テーブルを送信する。上述したように、テーブル送信部は、候補記憶部の中からアドレス変換テーブル1つを選択し、記憶処理装置へ送信する。記憶処理装置側は、送信されたアドレス変換テーブルを新たなアドレス変換テーブルとする。   The table transmission unit transmits the address conversion table to the storage processing device at a predetermined timing. As described above, the table transmission unit selects one address conversion table from the candidate storage units and transmits it to the storage processing device. The storage processing device side uses the transmitted address conversion table as a new address conversion table.

送信情報記憶部は、当該アドレス変換テーブルと、当該アドレス変換テーブルの送信先の記憶処理装置を識別する記憶処理装置識別情報と、を対応付けて記憶する。   The transmission information storage unit stores the address conversion table and storage processing device identification information for identifying the storage processing device that is the transmission destination of the address conversion table in association with each other.

記憶処理装置について説明した際にも触れたが、情報提供サーバは、記憶処理装置側でアドレス変換テーブルが不正に書き換えられていないかどうかを判定するために、記憶処理装置からアドレス変換テーブルを送信してもらう。情報提供サーバは、送信されたテーブルと、当該情報提供サーバが記憶処理装置へ送信したアドレス変換テーブルと、を比較して、両テーブルが異なれば不正な書き込みが行われたと判断する。よって、自分がどの記憶処理装置にどのアドレス変換テーブルを送信したかを記憶しておくために、情報提供サーバは、送信情報記憶部にアドレス変換テーブルと、当該アドレス変換テーブルを送信した先の記憶処理装置の識別情報と、を対応付けて記憶する。   As mentioned when explaining the storage processing device, the information providing server transmits the address conversion table from the storage processing device in order to determine whether the address conversion table has been illegally rewritten on the storage processing device side. do that for me. The information providing server compares the transmitted table with the address conversion table transmitted from the information providing server to the storage processing device, and determines that illegal writing has been performed if the two tables differ. Accordingly, in order to store which address conversion table is transmitted to which storage processing device, the information providing server stores the address conversion table in the transmission information storage unit and the storage of the destination to which the address conversion table is transmitted. The identification information of the processing device is stored in association with each other.

受信部は、記憶処理装置から返信されたアドレス変換テーブルと、送信元の記憶処理装置を識別する記憶処理装置識別情報と、を受信する。そして、判定部は、送信情報記憶部を参照して、受信した当該記憶処理装置識別情報に対応づけられたアドレス変換テーブルを取得し、当該アドレス変換テーブルと、受信したアドレス変換テーブルと、を比較し、両テーブルが一致した場合はデータの改ざんがなく、両テーブルが一致しない場合はデータの改ざんがあった、と判定する。   The receiving unit receives the address conversion table returned from the storage processing device and the storage processing device identification information for identifying the transmission source storage processing device. Then, the determination unit refers to the transmission information storage unit, acquires the address conversion table associated with the received storage processing device identification information, and compares the address conversion table with the received address conversion table. If both tables match, it is determined that the data has not been falsified, and if both tables do not match, it is determined that the data has been falsified.

即ち、本来のアドレス変換テーブルを、自作したテーブルで置き換えることによってデータの書き換えを行うような不正行為を、アドレス変換テーブルの書き換えを判定することで発見することが可能となる。   In other words, it is possible to detect an illegal act of rewriting data by replacing the original address conversion table with a table created by determining the rewriting of the address conversion table.

受信部は、アドレス変換テーブルに代えて、アドレス変換テーブルに所定のハッシュ関数を適用した結果を記憶処理装置から受信するようにしてもよい。即ち、受信部は、記憶処理装置から、アドレス変換テーブルにハッシュ関数を適用した値と、当該記憶処理装置の識別情報を受信するようにしてもよい。   The receiving unit may receive a result of applying a predetermined hash function to the address conversion table from the storage processing device instead of the address conversion table. That is, the receiving unit may receive a value obtained by applying a hash function to the address conversion table and identification information of the storage processing device from the storage processing device.

そして、判定部は、送信情報記憶部を参照して、受信した当該記憶処理装置識別情報に対応づけられたアドレス変換テーブルを取得し、当該アドレス変換テーブルに所定のハッシュ値関数を適用した結果と、受信したハッシュ値と、を比較し、両者が一致した場合はデータの改ざんがなく、両者が一致しない場合はデータの改ざんがあった、と判定するようにしてもよい。   The determination unit refers to the transmission information storage unit, acquires an address conversion table associated with the received storage processing device identification information, and applies a predetermined hash value function to the address conversion table. The received hash value may be compared, and if both match, it may be determined that the data has not been falsified, and if both do not match, it has been determined that the data has been falsified.

即ち、アドレス変換テーブル自体を比較せずに、記憶処理装置から受信されたハッシュ値と、当該記憶処理装置に送信したアドレス変換テーブルにハッシュ関数を適用した結果とを比較することによって、アドレス変換テーブルに対する不正の有無を判断するようにしてもよい。なお、テーブル自体ではなく、ハッシュ値を送信することで、ネットワークのトラフィックを減らすことが可能となる。   That is, the address conversion table is compared by comparing the hash value received from the storage processing device with the result of applying the hash function to the address conversion table transmitted to the storage processing device without comparing the address conversion table itself. The presence or absence of fraud may be determined. Note that it is possible to reduce network traffic by transmitting a hash value instead of the table itself.

このように、アドレス変換テーブルを情報提供サーバ側が提供することで、記憶処理装置側で不正にアドレス変換テーブルへの書き込みがあった場合でも、情報提供サーバ側で不正を発見することが可能となる。   Thus, by providing the address conversion table on the information providing server side, it is possible to detect fraud on the information providing server side even if the storage processing device side has illegally written to the address conversion table. .

本発明の他の観点に係る情報提供サーバは、ネットワークを介して記憶処理装置に接続された情報提供サーバであって、上記情報提供サーバ同様に、候補記憶部と、テーブル送信部と、受信部と、判定部と、を備える。   An information providing server according to another aspect of the present invention is an information providing server connected to a storage processing device via a network, and similar to the information providing server, a candidate storage unit, a table transmission unit, and a reception unit And a determination unit.

候補記憶部は、記憶処理装置の実アドレスと、実アドレスのそれぞれにアクセスするために指定する仮想アドレスとを対応付けるアドレス変換テーブルを複数記憶し、当該アドレス変換テーブルのそれぞれに対して、当該アドレス変換テーブルを識別するテーブル識別情報を記憶する。テーブル送信部は、記憶処理装置へ所定のタイミングで当該アドレス変換テーブルと、対応するテーブル識別情報と、を送信する。   The candidate storage unit stores a plurality of address conversion tables for associating the real addresses of the storage processing device with the virtual addresses designated for accessing each of the real addresses, and for each of the address conversion tables, the address conversion Table identification information for identifying a table is stored. The table transmission unit transmits the address conversion table and corresponding table identification information to the storage processing device at a predetermined timing.

また、受信部は、記憶処理装置から返信されたアドレス変換テーブルと、対応するテーブル識別情報と、を受信する。そして、判定部は、当該テーブル識別情報に対応するアドレス変換テーブルを候補記憶部から取得し、当該アドレス変換テーブルと、受信したアドレス変換テーブルと、を比較し、両テーブルが一致した場合はデータの改ざんがなく、両者が一致しない場合データの改ざんがあった、と判定する。   The receiving unit receives the address conversion table returned from the storage processing device and the corresponding table identification information. Then, the determination unit acquires an address conversion table corresponding to the table identification information from the candidate storage unit, compares the address conversion table with the received address conversion table, and if both tables match, the data If there is no falsification and the two do not match, it is determined that the data has been falsified.

即ち、上記情報提供サーバと異なる点は、送信情報記憶部を有しない点である。本情報提供サーバは、どの記憶処理装置にどのアドレス変換テーブルを送信したかを記憶しない代わりに、アドレス変換テーブルのそれぞれを識別するテーブル識別情報を備える。テーブル送信部は、このテーブル識別情報を、アドレス変換テーブルと共に、記憶処理装置に送信する。   That is, the difference from the information providing server is that it does not have a transmission information storage unit. The information providing server includes table identification information for identifying each address conversion table, instead of storing which address conversion table is transmitted to which storage processing device. The table transmission unit transmits the table identification information together with the address conversion table to the storage processing device.

一方、記憶処理装置側は、アドレス変換テーブルに不正な書き換えがなかったかどうかを情報提供サーバ側で判定してもらうために、アドレス変換テーブルを識別する識別情報を、アドレス変換テーブルと共に送信する。情報提供サーバ側では受信部がこの情報を受信すると、判定部が、テーブル識別情報に基づいて比較対象の正しいアドレス変換テーブルを取得し、不正な書き込みの有無を判定する。   On the other hand, the storage processing device side transmits identification information for identifying the address conversion table together with the address conversion table so that the information providing server side determines whether or not the address conversion table has been illegally rewritten. On the information providing server side, when the receiving unit receives this information, the determining unit acquires a correct address conversion table to be compared based on the table identification information, and determines the presence or absence of unauthorized writing.

本発明の他の観点に係る動作方法は、パラメータ記憶部と、テーブル記憶部と、アドレス取得部と、読書き部と、更新部と、を備える記憶処理装置の動作方法であって、以下の工程を備える。   An operation method according to another aspect of the present invention is an operation method of a storage processing device including a parameter storage unit, a table storage unit, an address acquisition unit, a read / write unit, and an update unit. A process is provided.

パラメータ記憶工程では、パラメータ記憶部が、パラメータ群を記憶する。
テーブル記憶工程では、テーブル記憶部が、当該パラメータ群の各パラメータが記憶されるパラメータ記憶部内の実アドレスと、当該パラメータにアクセスするために指定する仮想アドレスと、を対応付けるアドレス変換テーブルを記憶する。
アドレス取得工程では、アドレス取得部が、指定された仮想アドレスを入力として、アドレス変換テーブルを参照して、パラメータ記憶部の実アドレスを取得する。
In the parameter storage step, the parameter storage unit stores the parameter group.
In the table storage step, the table storage unit stores an address conversion table that associates a real address in the parameter storage unit in which each parameter of the parameter group is stored with a virtual address designated to access the parameter.
In the address acquisition step, the address acquisition unit receives the designated virtual address as input and refers to the address conversion table to acquire the real address of the parameter storage unit.

読書き工程では、読書き部が、指定された仮想アドレスに対する読書き要求を受信すると、アドレス取得部を制御して、パラメータ記憶部の、当該仮想アドレスに対応する実アドレスを取得し、パラメータ記憶部の当該取得した実アドレスに対して読書きを行う。
更新工程では、更新部が、アドレス変換テーブルを所定のタイミングで更新し、さらに、各仮想アドレスを指定した際に、更新前のアドレス変換テーブルを参照して得られる実アドレスに記憶されるデータと、更新後のアドレス変換テーブルを参照して得られる実アドレスに記憶されるデータとが一致するように、実アドレスに記憶されるデータを更新する。
In the read / write process, when the read / write unit receives a read / write request for the designated virtual address, the read / write unit controls the address acquisition unit to acquire a real address corresponding to the virtual address of the parameter storage unit, and stores the parameter storage Read and write the acquired real address of the part.
In the update process, the update unit updates the address conversion table at a predetermined timing, and further, when each virtual address is designated, data stored in the real address obtained by referring to the address conversion table before the update, Then, the data stored in the real address is updated so that the data stored in the real address obtained by referring to the updated address conversion table matches.

本発明の他の観点に係る動作方法は、候補記憶部と、テーブル送信部と、送信情報記憶部と、受信部と、判定部と、を備える、ネットワークを介して記憶処理装置に接続された情報提供サーバの動作方法であって、以下の工程を備える。   An operation method according to another aspect of the present invention is connected to a storage processing device via a network, including a candidate storage unit, a table transmission unit, a transmission information storage unit, a reception unit, and a determination unit. An information providing server operating method comprising the following steps.

候補記憶工程では、候補記憶部が、記憶処理装置の実アドレスと、実アドレスのそれぞれにアクセスするために指定する仮想アドレスとを対応付けるアドレス変換テーブルを複数記憶する。
テーブル送信工程では、テーブル送信部が記憶処理装置へ所定のタイミングで当該アドレス変換テーブルを送信する。
送信情報記憶工程では、送信情報記憶部が、当該アドレス変換テーブルと、当該アドレス変換テーブルの送信先の記憶処理装置を識別する記憶処理装置識別情報と、を対応付けて記憶する。
In the candidate storage step, the candidate storage unit stores a plurality of address conversion tables for associating the real address of the storage processing device with the virtual address designated for accessing each real address.
In the table transmission step, the table transmission unit transmits the address conversion table to the storage processing device at a predetermined timing.
In the transmission information storage step, the transmission information storage unit stores the address conversion table and the storage processing device identification information for identifying the storage processing device that is the transmission destination of the address conversion table in association with each other.

受信工程では、受信部が、記憶処理装置から返信されたアドレス変換テーブルと、送信元の記憶処理装置を識別する記憶処理装置識別情報と、を受信する。
判定工程では、判定部が、送信情報記憶部を参照して、受信した当該記憶処理装置識別情報に対応づけられたアドレス変換テーブルを取得し、当該アドレス変換テーブルと、受信したアドレス変換テーブルと、を比較し、両テーブルが一致した場合はデータの改ざんがなく、両テーブルが一致しない場合はデータの改ざんがあった、と判定する。
In the receiving step, the receiving unit receives the address conversion table returned from the storage processing device and the storage processing device identification information for identifying the storage processing device of the transmission source.
In the determination step, the determination unit refers to the transmission information storage unit, acquires an address conversion table associated with the received storage processing device identification information, the address conversion table, the received address conversion table, If both tables match, it is determined that the data has not been falsified, and if both tables do not match, it is determined that the data has been falsified.

本願発明の他の観点に係る動作方法は、候補記憶部と、テーブル送信部と、受信部と、判定部と、を備える、ネットワークを介して記憶処理装置に接続された情報提供サーバの動作方法であって、
候補記憶部が、記憶処理装置の実アドレスと、実アドレスのそれぞれにアクセスするために指定する仮想アドレスとを対応付けるアドレス変換テーブルを複数記憶し、当該アドレス変換テーブルのそれぞれに対して、当該アドレス変換テーブルを識別するテーブル識別情報を記憶する候補記憶工程と、
テーブル送信部が、記憶処理装置へ所定のタイミングで当該アドレス変換テーブルと、対応するテーブル識別情報と、を送信するテーブル送信工程と、
受信部が、記憶処理装置から返信されたアドレス変換テーブルと、対応するテーブル識別情報と、を受信する受信工程と、
判定部が、当該テーブル識別情報に対応するアドレス変換テーブルを候補記憶部から取得し、当該アドレス変換テーブルと、受信したアドレス変換テーブルと、を比較し、両テーブルが一致した場合はデータの改ざんがなく、両者が一致しない場合データの改ざんがあった、と判定する判定工程と、
を備える、
ことを特徴とする。
An operation method according to another aspect of the present invention is an operation method of an information providing server connected to a storage processing device via a network, including a candidate storage unit, a table transmission unit, a reception unit, and a determination unit. Because
The candidate storage unit stores a plurality of address conversion tables that associate a real address of the storage processing device with a virtual address designated for accessing each real address, and the address conversion is performed for each of the address conversion tables. A candidate storage step for storing table identification information for identifying a table;
A table transmission step in which the table transmission unit transmits the address conversion table and the corresponding table identification information to the storage processing device at a predetermined timing;
A receiving step in which the receiving unit receives the address conversion table returned from the storage processing device and the corresponding table identification information;
The determination unit acquires an address conversion table corresponding to the table identification information from the candidate storage unit, compares the address conversion table with the received address conversion table, and if both tables match, the data is falsified. And a determination step for determining that the data has been falsified if they do not match,
Comprising
It is characterized by that.

本発明の他の観点に係るプログラムは、コンピュータを、上記の記憶処理装置、および、上記の情報提供サーバとして機能させるように構成する。   A program according to another aspect of the present invention is configured to cause a computer to function as the above storage processing device and the above information providing server.

また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。   The program of the present invention can be recorded on a computer-readable information recording medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory. The above program can be distributed and sold via a computer communication network independently of the computer on which the program is executed. The information recording medium can be distributed and sold independently of the computer.

本発明によると、データの不正な書き換えを抑制する記憶処理装置、情報提供サーバ、動作方法、およびプログラムを提供することができる。   According to the present invention, it is possible to provide a storage processing device, an information providing server, an operation method, and a program that prevent unauthorized rewriting of data.

以下に本発明の実施の形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施の形態を説明するが、各種のコンピュータ、PDA、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施の形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと等しいものに置換した実施形態を採用することが可能であるが、これらの実施の形態も本発明の範囲に含まれる。   Embodiments of the present invention will be described below. In the following, for ease of understanding, an embodiment in which the present invention is applied to a game device will be described. However, the present invention is similarly applied to information processing devices such as various computers, PDAs, and mobile phones. Can do. That is, the embodiment described below is for explanation, and does not limit the scope of the present invention. Accordingly, those skilled in the art can employ embodiments in which each or all of these elements are replaced with equivalent ones, and these embodiments are also included in the scope of the present invention.

(実施形態)
図1は、本発明の実施形態の1つに係る記憶処理装置が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
(Embodiment)
FIG. 1 is a schematic diagram showing a schematic configuration of a typical game device in which a storage processing device according to one embodiment of the present invention is realized. Hereinafter, a description will be given with reference to FIG.

ゲーム装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory) 102と、RAM(Random Access Memory)103と、インターフェイス104 と、コントローラ105と、外部メモリ106と、画像処理部107 と、DVD(Digital Versatile Disk)−ROMドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。   The game apparatus 100 includes a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, an interface 104, a controller 105, an external memory 106, an image processing unit 107, A DVD (Digital Versatile Disk) -ROM drive 108, a NIC (Network Interface Card) 109, and an audio processing unit 110.

ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、ゲーム装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の記憶処理装置が実現される。   A DVD-ROM storing a game program and data is loaded into the DVD-ROM drive 108 and the game apparatus 100 is turned on to execute the program, thereby realizing the storage processing apparatus of the present embodiment. The

CPU 101は、ゲーム装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。   The CPU 101 controls the overall operation of the game apparatus 100 and is connected to each component to exchange control signals and data.

ROM 102は、電源投入直後に実行されるIPL(Initial Program Loader)を記憶する。このIPLをCPU 101が実行することにより、DVD−ROMに記録されたプログラムがRAM 103に読み出され、CPU 101による実行が開始される。
また、ROM 102にはゲーム装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
The ROM 102 stores an IPL (Initial Program Loader) that is executed immediately after the power is turned on. When the CPU 101 executes this IPL, the program recorded on the DVD-ROM is read to the RAM 103, and execution by the CPU 101 is started.
The ROM 102 stores an operating system program and various data necessary for operation control of the entire game apparatus 100.

RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータ等が保持される。   The RAM 103 is for temporarily storing data and programs, and holds programs and data read from the DVD-ROM, other data necessary for game progress and chat communication, and the like.

インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。   The controller 105 connected via the interface 104 receives an operation input performed when the user executes the game.

インターフェイス104を介して着脱自在に接続された外部メモリ106には、例えばチャット通信のログのデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記憶することができる。   For example, chat communication log data is rewritably stored in the external memory 106 detachably connected via the interface 104. The user can store these data in the external memory 106 as appropriate by inputting an instruction via the controller 105.

DVD−ROMドライブ108に装着されるDVD−ROMには、前述のようにゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出す。読み出されたデータはRAM103等に一時的に記憶される。   The DVD-ROM mounted on the DVD-ROM drive 108 stores a program for realizing the game and image data and audio data associated with the game as described above. Under the control of the CPU 101, the DVD-ROM drive 108 performs a reading process on the DVD-ROM mounted on the DVD-ROM drive 108 to read out necessary programs and data. The read data is temporarily stored in the RAM 103 or the like.

画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。   The image processing unit 107 processes the data read from the DVD-ROM by an image arithmetic processor (not shown) included in the CPU 101 or the image processing unit 107, and then processes the processed data on a frame memory ( (Not shown). The image information recorded in the frame memory is converted into a video signal at a predetermined synchronization timing and output to a monitor (not shown) connected to the image processing unit 107. Thereby, various image displays are possible.

画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。   The image calculation processor can execute a two-dimensional image overlay calculation, a transmission calculation such as α blending, and various saturation calculations at high speed.

また、3次元仮想空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から3次元仮想空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。   In addition, the polygon information arranged in the three-dimensional virtual space and added with various kinds of texture information is rendered by the Z buffer method, and a rendering image obtained by overlooking the polygon arranged in the three-dimensional virtual space from a predetermined viewpoint position is obtained. High speed execution of the obtained operation is also possible.

さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。   Further, the CPU 101 and the image arithmetic processor operate in a coordinated manner, so that a character string can be drawn as a two-dimensional image in a frame memory or drawn on the surface of each polygon according to font information that defines the character shape. is there. The font information is recorded in the ROM 102, but it is also possible to use dedicated font information recorded in the DVD-ROM.

NIC 109は、ゲーム装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものである。NIC 109は、例えばLAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格に準拠するものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェイス(図示せず)により構成される。   The NIC 109 is for connecting the game apparatus 100 to a computer communication network (not shown) such as the Internet. The NIC 109 is based on, for example, a 10BASE-T / 100BASE-T standard used when configuring a LAN (Local Area Network), an analog modem for connecting to the Internet using a telephone line, ISDN (Integrated Services). A digital network (ADSL) modem, an ADSL (Asymmetric Digital Subscriber Line) modem, a cable modem for connecting to the Internet using a cable television line, and an interface (not shown) that mediates between these and the CPU 101. The

インターネット内のSNTPサーバにNIC 109を介して接続し、ここから情報を取得することによって現在の日時情報を得ることができる。また、各種のネットワークゲームのサーバ装置が、SNTPサーバと同様の機能を果たすように構成設定してもよい。   The current date and time information can be obtained by connecting to an SNTP server in the Internet via the NIC 109 and acquiring information therefrom. In addition, various network game server devices may be configured and configured to perform the same functions as the SNTP server.

音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。   The audio processing unit 110 converts audio data read from the DVD-ROM into an analog audio signal and outputs the analog audio signal from a speaker (not shown) connected thereto. Further, under the control of the CPU 101, sound effects and music data to be generated during the progress of the game are generated, and sound corresponding to this is output from the speaker.

このほか、ゲーム装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。   In addition, the game apparatus 100 may be configured to perform the same function as a DVD-ROM or the like mounted on the ROM 102, the RAM 103, and the DVD-ROM drive 108 using a large-capacity external storage device such as a hard disk. Good.

なお、本実施の形態に係る記憶処理装置は、ゲーム装置100や、携帯式のゲーム装置上に実現されるが、一般的なコンピュータ上に実現することもできる。一方、本実施の形態に係る情報提供サーバ300は、通常一般的なコンピュータ上に実現されるが、ゲーム装置100を情報提供サーバ300として利用してもよい。一般的なコンピュータは、上記ゲーム装置100と同様に、CPU、RAM、ROM、DVD−ROM ドライブ、および、NICを備え、ゲーム装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、プログラムをインストールした後に、そのプログラムを実行させると、記憶処理装置や情報提供サーバとして機能させることができる。   The storage processing device according to the present embodiment is realized on game device 100 or a portable game device, but can also be realized on a general computer. On the other hand, information providing server 300 according to the present embodiment is usually realized on a general computer, but game device 100 may be used as information providing server 300. Similar to the game apparatus 100, a general computer includes a CPU, RAM, ROM, DVD-ROM drive, and NIC, an image processing unit having functions simpler than the game apparatus 100, and external storage. In addition to having a hard disk as a device, a flexible disk, a magneto-optical disk, a magnetic tape, and the like can be used. In addition, a keyboard, a mouse or the like is used as an input device instead of a controller. Then, after the program is installed, when the program is executed, it can function as a storage processing device or an information providing server.

以下では、注記しない限り、記憶処理装置200、および情報提供サーバ300について、図1に示したゲーム装置100により説明を加える。記憶処理装置200、および情報提供サーバ300は、必要に応じて適宜一般的なコンピュータの要素に置換することができ、これらの実施の形態も本発明の範囲に含まれる。   Hereinafter, unless otherwise noted, the storage processing device 200 and the information providing server 300 will be described using the game device 100 shown in FIG. The storage processing device 200 and the information providing server 300 can be appropriately replaced with general computer elements as necessary, and these embodiments are also included in the scope of the present invention.

図2は、本実施の形態に係る記憶処理装置200と情報提供サーバ300の概要構成を示す模式図である。なお、図2では、理解を容易にするため、記憶処理装置200と情報提供サーバ300を1つずつ示しているが、典型的には、図3に示すように、情報提供サーバ300に対して、1つ以上の記憶処理装置200が通信ネットワーク10を介して接続された構成を有する。以下本図を参照してまず、記憶処理装置200から説明する。   FIG. 2 is a schematic diagram showing a schematic configuration of the storage processing device 200 and the information providing server 300 according to the present embodiment. In FIG. 2, one storage processing device 200 and one information providing server 300 are shown for ease of understanding, but typically, as shown in FIG. One or more storage processing devices 200 are connected via the communication network 10. Hereinafter, the storage processing apparatus 200 will be described first with reference to this figure.

記憶処理装置200は、データの不正な書き換えを抑制する装置であり、典型的には、ゲーム端末等に適用される。記憶処理装置200は、図2に示すように、パラメータ記憶部201、テーブル記憶部202、アドレス取得部203、読書き部204、そして更新部205、テーブル受信部206、返信部207等を備える。
以下に記憶処理装置200の各構成要素について説明する。
The storage processing device 200 is a device that suppresses unauthorized rewriting of data, and is typically applied to a game terminal or the like. As shown in FIG. 2, the storage processing device 200 includes a parameter storage unit 201, a table storage unit 202, an address acquisition unit 203, a read / write unit 204, an update unit 205, a table reception unit 206, a reply unit 207, and the like.
Hereinafter, each component of the storage processing device 200 will be described.

パラメータ記憶部201は、上述したように、ゲームの状態を表現する種々のパラメータを記憶する。パラメータ記憶部201は典型的には、メモリカードなどの外部メモリ106、即ち、不揮発性記憶装置から構成される。パラメータ記憶部201に記憶されるパラメータ群は、適宜後述の読書き部204等によってアクセスされる。   As described above, the parameter storage unit 201 stores various parameters representing the game state. The parameter storage unit 201 is typically composed of an external memory 106 such as a memory card, that is, a nonvolatile storage device. The parameter group stored in the parameter storage unit 201 is appropriately accessed by a later-described read / write unit 204 or the like.

テーブル記憶部202は、パラメータ記憶部201に保存されている各種パラメータデータにアクセスするための仮想アドレスと、パラメータ記憶部201内の実際にパラメータデータが保存されている実アドレスと、を対応付けるアドレス変換テーブルを記憶する。典型的にはRAM 103などの揮発性記憶装置がテーブル記憶部202として機能する。   The table storage unit 202 associates a virtual address for accessing various parameter data stored in the parameter storage unit 201 with a real address in the parameter storage unit 201 where the parameter data is actually stored. Remember the table. Typically, a volatile storage device such as the RAM 103 functions as the table storage unit 202.

アドレス取得部203は、仮想アドレスを入力として、テーブル記憶部202に記憶されたアドレス変換テーブルを参照して、当該アドレスに対応する実アドレスを取得する。CPU 101、RAM 103、などが協働して動作することにより、アドレス取得部203として機能する。   The address acquisition unit 203 receives a virtual address as input and refers to an address conversion table stored in the table storage unit 202 to acquire a real address corresponding to the address. The CPU 101, the RAM 103, and the like work together to function as the address acquisition unit 203.

読書き部204は、上述したように、パラメータ記憶部201に対してゲーム状態をセーブしたり、ロードする処理において、パラメータ記憶部201に実際にアクセスする部分を担う。セーブやロード処理の実行は、典型的には、プレイヤーがインターフェイス104を介して接続された入力装置を操作して指示する。そして、当該指示に応答して、ゲームプログラム中のセーブ/ロードプログラムがRAM 103に展開され、CPU101は、展開されたプログラムにしたがって、セーブ/ロード処理を実行する。これらセーブ/ロード処理においては、仮想アドレスを指定したアクセス要求が読書き部204に対して発行される。読書き部204は指定された仮想アドレスに対応付けられた実アドレスを、アドレス変換テーブルを参照して取得し、当該実アドレスに対し、実際の読書きを行う。このように、CPU 101、RAM 103、などが協働して動作することにより、読書き部204として機能する。   As described above, the reading / writing unit 204 is responsible for the part that actually accesses the parameter storage unit 201 in the process of saving or loading the game state in the parameter storage unit 201. The execution of the save or load process is typically instructed by the player operating an input device connected via the interface 104. In response to the instruction, the save / load program in the game program is expanded in the RAM 103, and the CPU 101 executes a save / load process according to the expanded program. In these save / load processes, an access request designating a virtual address is issued to the read / write unit 204. The read / write unit 204 acquires a real address associated with the designated virtual address with reference to the address conversion table, and performs actual read / write on the real address. As described above, the CPU 101, the RAM 103, and the like operate in cooperation to function as the reading / writing unit 204.

テーブル受信部206は、情報提供サーバ300からアドレス変換テーブル等を受信する。NIC109などが、テーブル受信部206として機能する。   The table receiving unit 206 receives an address conversion table and the like from the information providing server 300. The NIC 109 or the like functions as the table receiving unit 206.

更新部205は、テーブル受信部206が受信した新たなアドレス変換テーブルで、テーブル記憶部202内に記憶されたアドレス変換テーブルを上書きして更新する。また、アドレス変換テーブルが変わっても、データの整合性を保つために、即ち、同じ仮想アドレスを指定したときに、同じデータにアクセスできるように、更新部205はパラメータ記憶部201のデータを入れ替える。整合性維持の詳細については動作説明部分にて後述する。このように、CPU 101、RAM 103、などが協働して、更新部205として機能する。   The updating unit 205 overwrites and updates the address conversion table stored in the table storage unit 202 with the new address conversion table received by the table receiving unit 206. Even if the address conversion table changes, the updating unit 205 replaces the data in the parameter storage unit 201 so that the data consistency is maintained, that is, the same data can be accessed when the same virtual address is designated. . Details of the consistency maintenance will be described later in the operation explanation section. In this way, the CPU 101, the RAM 103, and the like cooperate to function as the update unit 205.

返信部207は、新たに情報提供サーバ300からアドレス変換テーブルを受信すると、次の処理を行う。即ち、アドレス変換テーブルに対して不正な書き込みがあったかどうかを情報提供サーバ300に判定してもらうために、情報提供サーバ300にアドレス変換テーブルや自分を識別するための識別情報を送信する。このように、CPU 101、RAM 103、NIC109などが協働して、返信部207として機能する。   When the reply unit 207 newly receives an address conversion table from the information providing server 300, the reply unit 207 performs the following processing. In other words, in order to have the information providing server 300 determine whether there has been an illegal write in the address conversion table, the address conversion table and identification information for identifying itself are transmitted to the information providing server 300. As described above, the CPU 101, the RAM 103, the NIC 109, and the like cooperate to function as the reply unit 207.

次に、情報提供サーバ300について、同じく図2を参照して説明する。なお、ここでは、情報提供サーバ300は、記憶処理装置200とは別のゲーム装置100によって情報提供サーバ300を実現するものとして説明する。   Next, the information providing server 300 will be described with reference to FIG. Here, the information providing server 300 will be described as realizing the information providing server 300 by the game device 100 different from the storage processing device 200.

候補記憶部301は、記憶処理装置200に送信するために複数のアドレス変換テーブルを記憶する。アドレス変換テーブルは、例えば、予め作成してハードディスクなどの外部メモリ106に記憶しておき、起動時に、RAM 103などに読み込まれて利用するようにしてもよい。このように、CPU 101、RAM 103、外部メモリ106などが協働して候補記憶部301として機能する。   The candidate storage unit 301 stores a plurality of address conversion tables for transmission to the storage processing device 200. For example, the address conversion table may be created in advance and stored in the external memory 106 such as a hard disk, and may be read and used in the RAM 103 or the like at the time of activation. As described above, the CPU 101, the RAM 103, the external memory 106, and the like cooperate to function as the candidate storage unit 301.

テーブル送信部302は、所定のタイミングで、例えば、所定の時間間隔で、あるいは、所定の時刻で、記憶処理装置200に候補記憶部301に記憶される複数のアドレス変換テーブルの中から1つを送信する。複数の中からどのアドレス変換テーブルを送信するかは、例えばランダムに選択すればよい。このように、CPU 101、RAM 103、NIC 109などが協働して、テーブル送信部302として機能する。   The table transmission unit 302 selects one of a plurality of address conversion tables stored in the candidate storage unit 301 in the storage processing device 200 at a predetermined timing, for example, at a predetermined time interval or at a predetermined time. Send. Which address conversion table is to be transmitted from a plurality of addresses may be selected at random, for example. As described above, the CPU 101, the RAM 103, the NIC 109, and the like cooperate to function as the table transmission unit 302.

送信情報記憶部303は、図9に示すように、テーブル送信部302の送信したアドレス変換テーブルと、その送信先の記憶処理装置200を対応付けて記憶する。例えば、候補記憶部301は、アドレス変換テーブルに対応付けて当該テーブルを識別するテーブル識別番号を記憶させてもよい。そして、送信情報記憶部303は、当該テーブル識別情報と、送信した先の記憶処理装置200を識別する識別情報とを対応付けて記憶する。送信情報記憶部303の内容は、ハードディスクなどの外部メモリ106に記憶され、適宜RAM 103を介してアクセスされる。このように、CPU 101、RAM 103、外部メモリ106が協働して、送信情報記憶部303として機能する。   As illustrated in FIG. 9, the transmission information storage unit 303 stores the address conversion table transmitted by the table transmission unit 302 and the storage processing device 200 of the transmission destination in association with each other. For example, the candidate storage unit 301 may store a table identification number that identifies the table in association with the address conversion table. Then, the transmission information storage unit 303 stores the table identification information and the identification information for identifying the destination storage processing device 200 in association with each other. The contents of the transmission information storage unit 303 are stored in an external memory 106 such as a hard disk and accessed via the RAM 103 as appropriate. As described above, the CPU 101, the RAM 103, and the external memory 106 cooperate to function as the transmission information storage unit 303.

受信部304は、記憶処理装置200から、アドレス変換テーブルと、当該記憶処理装置200を識別する識別情報を受信する。このように、NIC109が、主に受信部304として機能する。   The reception unit 304 receives an address conversion table and identification information for identifying the storage processing device 200 from the storage processing device 200. Thus, the NIC 109 mainly functions as the receiving unit 304.

判定部305は、受信部304から受信したアドレス変換テーブルに不正な書き込みがなかったどうかを、候補記憶部301に記憶されたアドレス変換テーブルと比較することで判定する。動作の詳細は後述するが、判定部305は、候補記憶部301を参照するため、CPU 101、RAM 103、などが協働して候補記憶部305として機能する。   The determination unit 305 determines whether or not there is any unauthorized writing in the address conversion table received from the reception unit 304 by comparing with the address conversion table stored in the candidate storage unit 301. Although details of the operation will be described later, since the determination unit 305 refers to the candidate storage unit 301, the CPU 101, the RAM 103, and the like function as the candidate storage unit 305 in cooperation.

以上のような構成を有する記憶処理装置200、および情報提供サーバ300の動作をについて以下に説明する。   Operations of the storage processing device 200 and the information providing server 300 having the above-described configurations will be described below.

(アドレス変換テーブルの更新)
図4は、記憶処理装置200が、情報提供サーバ300の送信したアドレス変換テーブルを、自分のアドレス変換テーブルとして更新するフローを示す図である。
(Update address translation table)
FIG. 4 is a diagram illustrating a flow in which the storage processing device 200 updates the address conversion table transmitted from the information providing server 300 as its own address conversion table.

まず、情報提供サーバ300のテーブル送信部302は所定のタイミング(例えば、所定の時間間隔、所定の時刻、あるいは、記憶処理装置200がネットワークに接続され、情報提供サーバ300に信号を送信したタイミングでもよい)で、候補記憶部301の中から、例えばランダムに1つアドレス変換テーブルを選択する(ステップS101)。そして、当該テーブルを記憶処理装置200に送信する(ステップS102)。   First, the table transmission unit 302 of the information providing server 300 is configured at a predetermined timing (for example, a predetermined time interval, a predetermined time, or a timing at which the storage processing device 200 is connected to the network and transmits a signal to the information providing server 300). Then, for example, one address conversion table is randomly selected from the candidate storage unit 301 (step S101). Then, the table is transmitted to the storage processing device 200 (step S102).

ここで、記憶処理装置200の識別情報(例えばシリアル番号)は予めプレイヤーによって情報提供サーバ300に登録されているものとする。あるいは、記憶処理装置200には、情報提供サーバ300のネットワークアドレスをROM 102などに記憶させておき、初めて通信ネットワーク10に接続した際に、必ず自己の記憶処理装置識別情報を情報提供サーバ300に送信するようにしてもよい。そして受信した情報提供サーバ300は、これをハードディスクなどの外部メモリ106に記憶させてもよい。情報提供サーバのテーブル送信部302は、各登録されている記憶処理装置200のそれぞれに対して、所定のタイミングでアドレス変換テーブルを送信する。   Here, it is assumed that the identification information (for example, serial number) of the storage processing device 200 is registered in advance in the information providing server 300 by the player. Alternatively, the storage processing device 200 stores the network address of the information providing server 300 in the ROM 102 and the like, and when the storage processing device 200 is connected to the communication network 10 for the first time, the storage processing device identification information is always sent to the information providing server 300. You may make it transmit. The received information providing server 300 may store the information in the external memory 106 such as a hard disk. The table transmission unit 302 of the information providing server transmits an address conversion table to each of the registered storage processing devices 200 at a predetermined timing.

送信情報記憶部303はステップS101で選択されたアドレス変換テーブルを識別するテーブル識別情報と、当該アドレス変換テーブルの送信先の記憶処理装置の識別情報とを、対応付けて記憶する(ステップS103)。なお、ステップS103はステップS102と並行して行っても、S102の前に行ってもかまわない。   The transmission information storage unit 303 stores the table identification information for identifying the address conversion table selected in step S101 and the identification information of the storage processing device that is the transmission destination of the address conversion table in association with each other (step S103). Note that step S103 may be performed in parallel with step S102 or before step S102.

次いで、記憶処理装置200のテーブル受信部206が、アドレス変換テーブルを受信する(ステップS121)と、更新部205は当該受信されたテーブルをRAM 103へ一時的に記憶させる(ステップS122)。そして、同じ仮想アドレスを指定した際に、現在テーブル記憶部202に記憶されているアドレス変換テーブルを参照して得られる実アドレスに記憶されるデータと、新しく受信したアドレス変換テーブルを参照して得られる実アドレスに記憶されるデータとが一致するように、実アドレスに記憶されるデータを入れ替える(ステップS123)。   Next, when the table receiving unit 206 of the storage processing device 200 receives the address conversion table (step S121), the updating unit 205 temporarily stores the received table in the RAM 103 (step S122). When the same virtual address is designated, the data stored in the real address obtained by referring to the address conversion table currently stored in the table storage unit 202 and the newly received address conversion table are obtained. The data stored in the real address is switched so that the data stored in the real address matches the data stored in the real address (step S123).

図5にパラメータ記憶部201内のデータを入れ替える様子を示す。古いアドレス変換テーブルをA、新たなアドレス変換テーブルをB、とする。このとき、例えば仮想アドレス0を指定すると、テーブルAを参照した場合、実アドレス1が取得され、パラメータ記憶部201内の実アドレス1に記憶された0x01が読み出される(0xは16進を意味する)。一方、同じように仮想アドレス0を指定しても、テーブルBを参照した場合、実アドレスnが得られる。したがって、データを入れ替えた後のパラメータ記憶部201’のアドレスnには、データを入れ替える前のパラメータ記憶部201のアドレス1に記憶されるデータ、0x01が記憶されるようにパラメータ記憶部201内データを入れ替える必要がある。   FIG. 5 shows how data in the parameter storage unit 201 is exchanged. The old address conversion table is A, and the new address conversion table is B. At this time, for example, if virtual address 0 is specified, when referring to table A, real address 1 is acquired, and 0x01 stored in real address 1 in parameter storage unit 201 is read (0x means hexadecimal) ). On the other hand, even if the virtual address 0 is designated in the same manner, when the table B is referred to, the real address n is obtained. Therefore, in the address n of the parameter storage unit 201 ′ after the data exchange, the data stored in the address 1 of the parameter storage unit 201 before the data exchange, the data in the parameter storage unit 201 so that 0x01 is stored. Need to be replaced.

同様に、テーブルAを参照して、仮想アドレス1を参照すると、実アドレスnが、そしてテーブルBを参照して、仮想アドレス1を参照すると、実アドレス0がそれぞれ取得される。したがって、パラメータ記憶部201’の実アドレス0には、パラメータ記憶部201の実アドレスnに記憶されるデータ0x12が記憶されるようにデータが入れ替えられる。
全てのデータを同じ要領で入れ替えると、図5の下部に示すようなデータ構成を有するパラメータ記憶部201’が得られる。なお、データの入替処理を実行中は、パラメータ記憶部201に対するデータの読書きは行わない。
Similarly, when referring to the table A and referring to the virtual address 1, the real address n is acquired. When referring to the table B and referring to the virtual address 1, the real address 0 is acquired. Therefore, the data is replaced so that the data 0x12 stored in the actual address n of the parameter storage unit 201 is stored in the actual address 0 of the parameter storage unit 201 ′.
When all the data are replaced in the same manner, a parameter storage unit 201 ′ having a data configuration as shown in the lower part of FIG. 5 is obtained. During the data replacement process, data reading / writing with respect to the parameter storage unit 201 is not performed.

実アドレスのデータの入替えが終了すると、更新部205はステップS122でRAM 103に一時記憶された新たなテーブルをテーブル記憶部202に保存して(ステップS124)、アドレス変換テーブルの更新処理を終える。   When the replacement of the real address data is completed, the updating unit 205 stores the new table temporarily stored in the RAM 103 in step S122 in the table storage unit 202 (step S124), and ends the address conversion table updating process.

(アドレス変換テーブルに対する不正行為の判定)
記憶処理装置200は、自己の有するアドレス変換テーブルを情報提供サーバ300に送信すると、情報提供サーバ300は、当該テーブルに不正な書き換えがあったかどうか判定する。この不正判定の処理を図6を参照して説明する。
(Judgment of fraud against address translation table)
When the storage processing device 200 transmits its own address conversion table to the information providing server 300, the information providing server 300 determines whether the table has been illegally rewritten. This fraud determination process will be described with reference to FIG.

ステップS124でテーブル記憶部202に新たなアドレス変換テーブルを保存すると、記憶処理装置200の返信部207は、古いアドレス変換テーブルと、自己を識別する記憶処理装置識別情報と、を情報提供サーバ300へ送信する(ステップS201)。なお、更新部205は新たなアドレス変換テーブルをテーブル記憶部202に保存する際に、古いアドレス変換テーブルをRAM 103に一時的に記憶させ、更新部205はこのRAM 103に記憶されたテーブルを送信するものとする。   When the new address conversion table is stored in the table storage unit 202 in step S124, the reply unit 207 of the storage processing device 200 sends the old address conversion table and the storage processing device identification information for identifying itself to the information providing server 300. Transmit (step S201). When the update unit 205 stores a new address conversion table in the table storage unit 202, the update unit 205 temporarily stores the old address conversion table in the RAM 103, and the update unit 205 transmits the table stored in the RAM 103. It shall be.

次いで、情報提供サーバ300の受信部304は、返信部207から送信されたデータを受信する(ステップS221)と、判定部305は、送信情報記憶部303を参照して、受信された記憶処理装置識別情報に対応付けられるテーブル識別情報を取得する。そして、取得したテーブル識別情報に対応付けられるアドレス変換テーブルを取得する(ステップS222)。判定部305は当該取得されたアドレス変換テーブルと、ステップS221)で記憶処理装置から受信したアドレス変換テーブルとを比較する(ステップS223)。両テーブルが一致すれば(ステップS224;Yes)、判定部305は、記憶処理装置200におけるアドレス変換テーブルの不正な書き換えはなかったと判定し(ステップS225)処理を終了する。一方、両者が一致しなかった場合(ステップS226;No)、不正な書き換えがあったと判定し、例えば、当該記憶処理装置識別情報を有する記憶処理装置へ、警告を出すなどの、対応処置を行う。   Next, when the reception unit 304 of the information providing server 300 receives the data transmitted from the reply unit 207 (step S221), the determination unit 305 refers to the transmission information storage unit 303 and receives the received storage processing device. The table identification information associated with the identification information is acquired. Then, an address conversion table associated with the acquired table identification information is acquired (step S222). The determination unit 305 compares the acquired address conversion table with the address conversion table received from the storage processing device in step S221) (step S223). If the two tables match (step S224; Yes), the determination unit 305 determines that there has been no unauthorized rewriting of the address conversion table in the storage processing device 200 (step S225), and ends the process. On the other hand, if the two do not match (step S226; No), it is determined that there has been an unauthorized rewrite, and for example, a countermeasure is taken such as issuing a warning to the storage processing device having the storage processing device identification information. .

(データの読出し)
上記のように更新されるアドレス変換テーブルを用いて、データの読出しを行う場合の処理について、図7を参照して説明する。
(Reading data)
Processing for reading data using the address conversion table updated as described above will be described with reference to FIG.

記憶処理装置200が電源を投入され、且つメモリカードなどの外部メモリ106が差し込まれた状態で、プレイヤーがコントローラ105などの操作部を操作して、パラメータ記憶部201に記憶されたパラメータ群をロードするように指示したとする。CPU 101は指示に従って、上述したように、ロードプログラムを実行し、ロード処理が開始される。   When the storage processing device 200 is powered on and the external memory 106 such as a memory card is inserted, the player operates the operation unit such as the controller 105 to load the parameter group stored in the parameter storage unit 201. Suppose you have instructed In accordance with the instruction, the CPU 101 executes the load program as described above, and the load process is started.

記憶処理装置200のCPU 101は、ロードプログラムに従って、まず、テーブル記憶部202にアドレス変換テーブルが記憶されているか否かを判断する(ステップS301)。本実施の形態に係る記憶処理装置200においては、書き換えを困難にするために、アドレス変換テーブルはRAM 103のみに記憶する。よって、電源が落とされると、テーブルの情報は消えてしまう。そのため、読出し処理が、電源を入れてから最初の読み出し処理である場合は、電源を切る前に利用していたアドレス変換テーブルを情報提供サーバ300から受信する必要がある。   The CPU 101 of the storage processing device 200 first determines whether an address conversion table is stored in the table storage unit 202 according to the load program (step S301). In the storage processing device 200 according to the present embodiment, the address conversion table is stored only in the RAM 103 in order to make rewriting difficult. Therefore, when the power is turned off, the information in the table is lost. Therefore, when the reading process is the first reading process after turning on the power, it is necessary to receive the address conversion table used before turning off the power from the information providing server 300.

アドレス変換テーブルがテーブル記憶部202に記憶されていないと判断された場合(ステップS301;No)、記憶処理装置200の返信部207は、自己を識別する記憶処理装置識別情報を情報提供サーバ300に送信する(ステップS302)。情報提供サーバ300の受信部304は、記憶処理識別情報を受信する(ステップS321)。テーブル送信部302は、当該受信した記憶処理識別情報に対応付けて記憶されるテーブル識別情報によって特定されるアドレス変換テーブルを、候補記憶部301から取得する(ステップS322)。そして、当該特定されたテーブルを記憶処理装置200へ送信する(ステップS323)。記憶処理装置のテーブル受信部206は、テーブルを受信(ステップ303)して、テーブル記憶部202に記憶する(ステップS304)。
なお、ステップS301でYesと判断された場合、処理はステップS305へと進む。
When it is determined that the address conversion table is not stored in the table storage unit 202 (step S301; No), the reply unit 207 of the storage processing device 200 sends the storage processing device identification information for identifying itself to the information providing server 300. Transmit (step S302). The receiving unit 304 of the information providing server 300 receives the storage process identification information (step S321). The table transmission unit 302 acquires the address conversion table specified by the table identification information stored in association with the received storage process identification information from the candidate storage unit 301 (step S322). Then, the specified table is transmitted to the storage processing device 200 (step S323). The table reception unit 206 of the storage processing device receives the table (step 303) and stores it in the table storage unit 202 (step S304).
If it is determined as Yes in step S301, the process proceeds to step S305.

次いで、記憶処理装置200のCPU 101はパラメータそれぞれの記憶された仮想アドレス、およびデータ長を指定して、読み出し要求を読書き部204に送信する(ステップS305)。読書き部204は、アドレス取得部203を制御して、当該仮想アドレスに対応する実アドレスを取得する(ステップS306)。読書き部204は、取得された実アドレスに記憶されるデータを読み出す(ステップS307)。全てのパラメータの読出しが終了するまで、ステップS305〜S307が繰り返される。   Next, the CPU 101 of the storage processing device 200 designates the stored virtual address and data length of each parameter, and transmits a read request to the read / write unit 204 (step S305). The read / write unit 204 controls the address acquisition unit 203 to acquire a real address corresponding to the virtual address (step S306). The read / write unit 204 reads data stored at the acquired real address (step S307). Steps S305 to S307 are repeated until all parameters have been read.

例えば、アドレス変換テーブルの更新の処理にて説明したように、図5に示したアドレス変換テーブルAを保有していたときに、仮想アドレス0に記憶されたデータを指定して読み出し要求を発行すると、実アドレス1が取得され、パラメータ記憶部201内の実アドレス1に記憶された0x01が読み出される(0xは16進を意味する)。   For example, as described in the address conversion table update process, when the address conversion table A shown in FIG. 5 is held, a read request is issued by designating data stored in the virtual address 0. The real address 1 is acquired, and 0x01 stored in the real address 1 in the parameter storage unit 201 is read (0x means hexadecimal).

次に、例えば、アドレス変換テーブルAを参照したときに、仮想アドレス1を指定してshort型(即ち保存に2バイト必要)データを読み出したいとする。この場合、ロードプログラムにおいては、仮想アドレス1から2バイト長データを読み出したいという読出し要求を読書き部204に発行する。読み出し要求を受け取ると、読書き部204は、アドレス取得部を制御して、仮想アドレス1と、仮想アドレス2に対応する実アドレスn、および、実アドレス0を取得する。そして、実アドレスnおよび0のそれぞれに記憶されているデータ(0x12および0x00)を取得し、正しいバイトオーダに並べて2バイト長データとして返す。例えば、バイトオーダがビッグエンディアンであれば、0x12が上位バイト、0x00が下位バイトとなり、0x1200(即ち十進数で4608)が得られる。   Next, for example, when referring to the address conversion table A, it is assumed that the virtual address 1 is specified and short type data (that is, 2 bytes are required for storage) is read. In this case, the load program issues a read request to the read / write unit 204 to read 2-byte length data from the virtual address 1. When receiving the read request, the read / write unit 204 controls the address acquisition unit to acquire the virtual address 1, the real address n corresponding to the virtual address 2, and the real address 0. Then, the data (0x12 and 0x00) stored in each of the real addresses n and 0 are acquired, arranged in the correct byte order, and returned as 2-byte length data. For example, if the byte order is big endian, 0x12 is the upper byte and 0x00 is the lower byte, and 0x1200 (that is, 4608 in decimal) is obtained.

同様にnバイト必要なデータは開始アドレスからn−1までの仮想アドレスにのそれぞれに対応する実アドレスのデータを取得し、正しいバイトオーダに並べて、nバイト長のデータとして返す。   Similarly, for the data that requires n bytes, the data of the real addresses corresponding to the virtual addresses from the start address to n−1 are obtained, arranged in the correct byte order, and returned as n-byte length data.

(データの書込み)
記憶処理装置200が電源を投入され、且つメモリカードなどの外部メモリ106が差し込まれた状態で、プレイヤーがコントローラ105などの操作部を操作して、ゲームの状態を表現する各種パラメータをパラメータ記憶部201にセーブするように指示したとする。CPU 101は指示に従って、セーブプログラムを実行する。
(Data writing)
In the state where the storage processing device 200 is turned on and the external memory 106 such as a memory card is inserted, the player operates the operation unit such as the controller 105 and various parameters representing the game state are stored in the parameter storage unit. Suppose that an instruction is given to save to 201. The CPU 101 executes the save program according to the instruction.

記憶処理装置200のCPU 101は、セーブプログラムに従って、まず、読み出し処理のステップS301と同様に、テーブル記憶部202にアドレス変換テーブルが記憶されているか否かを判断する(ステップS401)。そして変換テーブルがテーブル記憶部202に記憶されていないと判断された場合、ステップS302、S321〜S323、S302〜S304と同様の処理である、ステップS402、S421〜S423、S402〜S403を実行して、アドレス変換テーブルを情報提供サーバ300から受信する。   In accordance with the save program, the CPU 101 of the storage processing device 200 first determines whether or not an address conversion table is stored in the table storage unit 202 as in step S301 of the read process (step S401). If it is determined that the conversion table is not stored in the table storage unit 202, steps S402, S421 to S423, and S402 to S403, which are the same processes as steps S302, S321 to S323, and S302 to S304, are executed. The address conversion table is received from the information providing server 300.

次いで、記憶処理装置200のCPU 101はパラメータそれぞれを記憶する仮想アドレス、データ長、および書き込むべきデータを指定して、書込み要求を読書き部204に送信する(ステップS405)。読書き部204は、アドレス取得部203を制御して、当該仮想アドレスに対応する実アドレスを取得する(ステップS406)。読書き部204は、読み出し時とは逆の要領で、指定されたバイト数をまたがって実アドレスを取得し、書き込むべきデータをバイト毎に分割して、対応する実アドレスに書き込んでいく(ステップS407)。全てのパラメータの書込みが終了するまで、ステップS405〜S407が繰り返される。   Next, the CPU 101 of the storage processing device 200 designates a virtual address for storing each parameter, a data length, and data to be written, and transmits a write request to the read / write unit 204 (step S405). The read / write unit 204 controls the address acquisition unit 203 to acquire a real address corresponding to the virtual address (step S406). The read / write unit 204 obtains the real address across the specified number of bytes in the reverse manner to the time of reading, divides the data to be written into bytes, and writes the data to the corresponding real address (step) S407). Steps S405 to S407 are repeated until all parameters have been written.

このように、上記実施の形態は、アドレス変換テーブルを採用し、これを所定のタイミングで更新することによって、パラメータがメモリカード上のどの位置に記憶されるのかを推定しにくくする。これにより、不正なパラメータの書き換えを抑制することが可能となる。上記実施の形態では、不揮発性記憶媒体であるパラメータ記憶部に対する読書きを、仮想アドレスを指定して行っているが、揮発性記憶媒体に本手法を適用しても同様の抑制効果が得られる。   As described above, the above embodiment adopts the address conversion table and updates it at a predetermined timing, thereby making it difficult to estimate at which position on the memory card the parameter is stored. As a result, it is possible to suppress rewriting of illegal parameters. In the above embodiment, the parameter storage unit that is a non-volatile storage medium is read and written by specifying a virtual address, but the same suppression effect can be obtained even if this method is applied to a volatile storage medium. .

以上、本発明の実施の形態について説明したが、本発明は、上述した実施形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。   As mentioned above, although embodiment of this invention was described, this invention is not limited to embodiment mentioned above, A various deformation | transformation and application are possible. Moreover, it is also possible to freely combine the constituent elements of the above-described embodiments.

例えば、上記実施の形態においては、アドレス変換テーブルを1つのみ使用したが、ゲーム毎、あるいは各ゲームで作成される保存ファイル毎にアドレス変換テーブルを用意してもよい。   For example, in the above-described embodiment, only one address conversion table is used. However, an address conversion table may be prepared for each game or for each saved file created in each game.

また、上記実施の形態においては、1つの情報提供サーバに対して、複数の記憶処理装置が接続されている例を示したが、複数の情報提供サーバを用意して、それぞれの情報提供サーバに複数の記憶処理装置を接続するようにしてもよい。この場合、各記憶処理装置のそれぞれはどの情報提供サーバからアドレス変換テーブルを受信するかは一意に決定され、アドレス変換テーブルに対する不正の有無の判定も、当該記憶処理装置に割り当てられた情報提供サーバが行うようにすればよい。   In the above embodiment, an example is shown in which a plurality of storage processing devices are connected to one information providing server. However, a plurality of information providing servers are prepared and each information providing server is provided with each information providing server. A plurality of storage processing devices may be connected. In this case, each storage processing device is uniquely determined as to which information providing server receives the address conversion table, and the information providing server assigned to the storage processing device also determines whether or not the address conversion table is invalid. Should do.

また、上記実施の形態では、情報提供サーバ側で、送信情報記憶部を備えることで、どの記憶処理装置にどのアドレス変換テーブルを送信したかを管理して、アドレス変換テーブルに対する不正行為の判定を行った。しかし、そうではなく、記憶処理装置側で、どのアドレス変換テーブルを利用したかを記憶させてもよい。   In the above embodiment, the information providing server includes a transmission information storage unit to manage which address conversion table is transmitted to which storage processing device, and to determine fraudulent acts on the address conversion table. went. However, instead, the storage processing device may store which address conversion table is used.

即ち、情報提供サーバ側は、送信情報記憶部を備えない。代わりに、テーブル送信部はアドレス変換テーブルとともに、当該アドレス変換テーブルを識別するテーブル識別情報を記憶処理装置に送信する。なお、テーブル識別情報は、候補記憶部等に記憶されているものとする。   That is, the information providing server side does not include a transmission information storage unit. Instead, the table transmission unit transmits table identification information for identifying the address conversion table together with the address conversion table to the storage processing device. It is assumed that the table identification information is stored in the candidate storage unit or the like.

一方、記憶処理装置側では、受信したテーブル識別情報をRAM 103などに一時記憶する。また、電源を落とす場合は、RAM 103 から、カードメモリなどの不揮発性記憶媒体にテーブル識別情報を移行する。返信部は、アドレス変換テーブルと共に、記憶したテーブル識別情報を、情報提供サーバへ送信する。そして、情報提供サーバ側は、例えば、受信したテーブル識別情報に対応付けられるアドレス変換テーブルを候補記憶部から取得し、取得されたアドレス変換テーブルを記憶処理装置から受信したものとを比較すればよい。   On the other hand, on the storage processing device side, the received table identification information is temporarily stored in the RAM 103 or the like. When the power is turned off, the table identification information is transferred from the RAM 103 to a nonvolatile storage medium such as a card memory. The reply unit transmits the stored table identification information together with the address conversion table to the information providing server. And the information provision server side should just acquire the address conversion table matched with the received table identification information from a candidate memory | storage part, and should compare the acquired address conversion table with what was received from the memory | storage processing apparatus, for example. .

また、上記実施の形態では、記憶処理装置は、不正書込みの判定のため、アドレス変換テーブル自体を情報提供サーバに送信した。そうではなく、テーブル送信部は、アドレス変換テーブルに所定のハッシュ関数を適用した結果(ハッシュ値)を情報提供サーバに送信してもよい。ハッシュ値を送信することで、アドレス変換テーブル自体を送信するよりも通信コストを軽減することができる。情報提供サーバ側は、例えば、図6のステップS221〜223に代えて、ハッシュ値と記憶処理装置識別情報を受信し、取得したアドレス変換テーブルのハッシュ値を求め、両ハッシュ値を比較すればよい。なお、ハッシュ関数は例えばMD5など、既存のものを利用すればよい。   Further, in the above embodiment, the storage processing device transmits the address conversion table itself to the information providing server in order to determine illegal writing. Instead, the table transmission unit may transmit a result (hash value) obtained by applying a predetermined hash function to the address conversion table to the information providing server. By transmitting the hash value, it is possible to reduce the communication cost compared to transmitting the address conversion table itself. For example, instead of steps S221 to 223 in FIG. 6, the information providing server side receives the hash value and the storage processing device identification information, obtains the hash value of the acquired address conversion table, and compares both hash values. . The hash function may be an existing one such as MD5.

また、上記実施の形態では、情報提供サーバが記憶処理装置に対してアドレス変換テーブルを提供した。そうではなく、記憶処理装置自体がアドレス変換テーブルを生成するようにしてもよい。例えば、図10に示すように、記憶処理装置200’を、テーブル受信部や返信部を備えない構成にする。そして、更新部205’が、所定のタイミング(例えば、定時、あるいは所定の時間間隔)でアドレス変換テーブルをランダムに入れ替えて更新する。後は、図4に示すステップS122〜S124と同様の処理を行い、テーブル更新処理を実行する。   In the above embodiment, the information providing server provides the address conversion table to the storage processing device. Instead, the storage processing device itself may generate the address conversion table. For example, as shown in FIG. 10, the storage processing device 200 ′ is configured not to include a table receiving unit or a reply unit. Then, the updating unit 205 ′ updates the address conversion table by randomly replacing it at a predetermined timing (for example, at a fixed time or a predetermined time interval). After that, processing similar to steps S122 to S124 shown in FIG. 4 is performed, and table update processing is executed.

ただし、このように、記憶処理装置が自前でアドレス変換テーブルを生成する場合は、電源を投入した際に、電源を切る前のアドレス変換テーブルの内容を回復する必要がある。よって、実行時は、テーブル記憶部として、RAMなどの不揮発性記憶媒体を利用し、電源を切る際には、メモリカードなどの不揮発性記憶媒体にテーブル記憶部の内容を移行する必要がある。   However, when the storage processing device generates the address conversion table on its own, it is necessary to restore the contents of the address conversion table before the power is turned off when the power is turned on. Therefore, at the time of execution, it is necessary to use a nonvolatile storage medium such as a RAM as the table storage unit, and to transfer the contents of the table storage unit to a nonvolatile storage medium such as a memory card when the power is turned off.

本発明の実施の形態に係る記憶処理装置等が実現される典型的なゲーム装置の概要構成を示す模式図である。It is a mimetic diagram showing the outline composition of the typical game device in which the storage processing unit etc. concerning an embodiment of the invention are realized. 本実施の形態に係る記憶処理装置、および、情報提供サーバの概要構成を示すブロック図である。It is a block diagram which shows the schematic structure of the memory | storage processing apparatus which concerns on this Embodiment, and an information provision server. 本実施の形態で想定している記憶処理装置、および、情報提供サーバの接続例を示す図である。It is a figure which shows the example of a connection of the memory | storage processing apparatus assumed by this Embodiment, and an information provision server. 本実施の形態に係るアドレス変換テーブルの更新処理を説明するフロー図である。It is a flowchart explaining the update process of the address conversion table which concerns on this Embodiment. アドレス変換テーブルの更新時に、パラメータ記憶部内のデータの入れ替えを行った例を説明するフロー図である。It is a flowchart explaining the example which replaced the data in a parameter memory | storage part at the time of the update of an address conversion table. 本実施の形態に係る不正行為の判定処理を説明するフロー図である。It is a flowchart explaining the determination process of the fraudulent act which concerns on this Embodiment. 本実施の形態に係る読出し処理を説明するフロー図である。It is a flowchart explaining the read-out process which concerns on this Embodiment. 本実施の形態に係る書込み処理を説明するフロー図である。It is a flowchart explaining the write-in process which concerns on this Embodiment. 本実施の形態に係る送信情報記憶部の構成例を示した図である。It is the figure which showed the structural example of the transmission information storage part which concerns on this Embodiment. 本発明の他の実施の形態に係る記憶処理装置の概要構成示すブロック図である。It is a block diagram which shows schematic structure of the storage processing apparatus which concerns on other embodiment of this invention.

符号の説明Explanation of symbols

100 ゲーム装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
200 記憶処理装置
201 パラメータ記憶部
202 テーブル記憶部
203 アドレス取得部
204 読書き部
205 更新部
206 テーブル受信部
207 返信部
300 情報提供サーバ
301 候補記憶部
302 テーブル送信部
303 送信情報記憶部
304 テーブル送信部
305 判定部
100 game machine 101 CPU
102 ROM
103 RAM
104 Interface 105 Controller 106 External Memory 107 Image Processing Unit 108 DVD-ROM Drive 109 NIC
DESCRIPTION OF SYMBOLS 110 Speech processing unit 200 Storage processing device 201 Parameter storage unit 202 Table storage unit 203 Address acquisition unit 204 Read / write unit 205 Update unit 206 Table reception unit 207 Reply unit 300 Information providing server 301 Candidate storage unit 302 Table transmission unit 303 Transmission information storage Unit 304 table transmission unit 305 determination unit

Claims (14)

パラメータ群が記憶されるパラメータ記憶部と、
当該パラメータ群の各パラメータが記憶される前記パラメータ記憶部内の実アドレスと、当該パラメータにアクセスするために指定する仮想アドレスと、を対応付けるアドレス変換テーブルを記憶するテーブル記憶部と、
指定された仮想アドレスを入力として、前記アドレス変換テーブルを参照して、前記パラメータ記憶部の実アドレスを取得するアドレス取得部と、
指定された仮想アドレスに対する読書き要求を受信すると、前記アドレス取得部を制御して、当該仮想アドレスに対応する実アドレスを取得し、前記パラメータ記憶部の当該取得した実アドレスに対して読書きを行う読書き部と、
前記アドレス変換テーブルを所定のタイミングで更新し、さらに、各仮想アドレスを指定した際に、更新前の前記アドレス変換テーブルを参照して得られる実アドレスに記憶されるデータと、更新後の前記アドレス変換テーブルを参照して得られる実アドレスに記憶されるデータとが一致するように、実アドレスに記憶されるデータを更新する更新部と、
を備える、ことを特徴とする記憶処理装置であって、
前記記憶処理装置はネットワークを介して情報提供サーバに接続されており、
前記アドレス変換テーブルを前記情報提供サーバから受信するテーブル受信部をさらに備え、
前記更新部は、前記受信したアドレス変換テーブルによって、前記アドレス変換テーブルを更新する、
ことを特徴とする記憶処理装置
A parameter storage unit for storing parameter groups;
A table storage unit that stores an address conversion table that associates a real address in the parameter storage unit in which each parameter of the parameter group is stored with a virtual address that is designated to access the parameter;
With the specified virtual address as an input, referring to the address conversion table, an address acquisition unit that acquires the real address of the parameter storage unit;
Upon receiving a read / write request for the specified virtual address, the address acquisition unit is controlled to acquire a real address corresponding to the virtual address, and read / write is performed on the acquired real address of the parameter storage unit. The reading and writing section to perform,
The address conversion table is updated at a predetermined timing, and when each virtual address is specified, data stored in a real address obtained by referring to the address conversion table before update, and the address after update An update unit that updates data stored in the real address so that the data stored in the real address obtained by referring to the conversion table matches;
A storage processing device characterized by comprising :
The storage processing device is connected to an information providing server via a network;
A table receiving unit for receiving the address conversion table from the information providing server;
The update unit updates the address conversion table with the received address conversion table;
A storage processing device .
請求項に記載の記憶処理装置であって、
前記更新部が、当該アドレス変換テーブルと、当該実アドレスに記憶されるデータとを更新すると、更新される直前に前記テーブル記憶部に記憶されていたアドレス変換テーブルと、自己を識別する記憶処理装置識別情報と、を前記情報提供サーバに返信する返信部、
をさらに備える、ことを特徴とする記憶処理装置。
The storage processing device according to claim 1 ,
When the update unit updates the address conversion table and the data stored in the real address, the address conversion table stored in the table storage unit immediately before the update and the storage processing device for identifying itself A reply unit that returns identification information to the information providing server,
A storage processing apparatus, further comprising:
請求項に記載の記憶処理装置であって、
前記返信部は、前記アドレス変換テーブルに代えて、更新される直前に前記テーブル記憶部に記憶されていた当該アドレス変換テーブルに所定のハッシュ関数を適用した結果を、前記情報提供サーバに返信する、
ことを特徴とする記憶処理装置。
The storage processing device according to claim 2 ,
The reply unit returns a result of applying a predetermined hash function to the address conversion table stored in the table storage unit immediately before being updated, instead of the address conversion table, to the information providing server.
A storage processing device.
請求項に記載の記憶処理装置であって、
前記テーブル受信部は、前記情報提供サーバから、アドレス変換テーブルに対応付けられるテーブル識別情報をさらに受信し、
前記返信部は、前記自己を識別する記憶処理装置識別情報に変えて、前記受信したテーブル識別情報を前記情報提供サーバに返信する、
ことを特徴とする記憶処理装置。
The storage processing device according to claim 2 ,
The table receiving unit further receives table identification information associated with an address conversion table from the information providing server,
The reply unit returns the received table identification information to the information providing server instead of the storage processing device identification information for identifying the self.
A storage processing device.
請求項に記載の記憶処理装置であって、
前記パラメータ記憶部は不揮発性記憶媒体であり、前記テーブル記憶部は揮発性記憶媒体である、
ことを特徴とする記憶処理装置。
The storage processing device according to claim 1 ,
The parameter storage unit is a nonvolatile storage medium, and the table storage unit is a volatile storage medium.
A storage processing device.
ネットワークを介して記憶処理装置に接続された情報提供サーバであって、
前記記憶処理装置の実アドレスと、前記実アドレスのそれぞれにアクセスするために指定する仮想アドレスとを対応付けるアドレス変換テーブルを複数記憶する候補記憶部と、
前記記憶処理装置へ所定のタイミングで当該アドレス変換テーブルを送信するテーブル送信部と、
当該アドレス変換テーブルと、当該アドレス変換テーブルの送信先の前記記憶処理装置を識別する記憶処理装置識別情報と、を対応付けて記憶する送信情報記憶部と、
前記記憶処理装置から返信されたアドレス変換テーブルと、送信元の前記記憶処理装置を識別する記憶処理装置識別情報と、を受信する受信部と、
前記送信情報記憶部を参照して、受信した当該記憶処理装置識別情報に対応づけられたアドレス変換テーブルを取得し、当該アドレス変換テーブルと、受信したアドレス変換テーブルと、を比較し、両テーブルが一致した場合はデータの改ざんがなく、両テーブルが一致しない場合はデータの改ざんがあった、と判定する判定部と、
を備える、
ことを特徴とする情報提供サーバ。
An information providing server connected to a storage processing device via a network,
A candidate storage unit that stores a plurality of address conversion tables that associate the real addresses of the storage processing device with the virtual addresses that are designated to access each of the real addresses;
A table transmission unit that transmits the address conversion table to the storage processing device at a predetermined timing;
A transmission information storage unit that stores the address conversion table in association with the storage processing device identification information that identifies the storage processing device that is the transmission destination of the address conversion table;
A receiving unit that receives an address conversion table returned from the storage processing device, and storage processing device identification information that identifies the storage processing device of the transmission source;
Referring to the transmission information storage unit, obtains an address conversion table associated with the received storage processing device identification information, compares the address conversion table with the received address conversion table, and both tables are A determination unit that determines that there is no data falsification if they match, and that there is data falsification if both tables do not match;
Comprising
An information providing server characterized by that.
請求項に記載の情報提供サーバであって、
前記受信部は、前記アドレス変換テーブルに代えて、前記アドレス変換テーブルに所定のハッシュ関数を適用した結果を前記記憶処理装置から受信し、
前記判定部は、前記送信情報記憶部を参照して、受信した当該記憶処理装置識別情報に対応づけられたアドレス変換テーブルを取得し、当該アドレス変換テーブルに所定のハッシュ値関数を適用した結果と、受信したハッシュ値と、を比較し、両者が一致した場合はデータの改ざんがなく、両者が一致しない場合はデータの改ざんがあった、と判定する、
ことを特徴とする情報提供サーバ。
The information providing server according to claim 6 ,
The receiving unit receives a result of applying a predetermined hash function to the address conversion table instead of the address conversion table from the storage processing device,
The determination unit refers to the transmission information storage unit, obtains an address conversion table associated with the received storage processing device identification information, and results of applying a predetermined hash value function to the address conversion table; The received hash value is compared, and if both match, it is determined that the data has not been falsified, and if both do not match, it is determined that the data has been falsified.
An information providing server characterized by that.
ネットワークを介して記憶処理装置に接続された情報提供サーバであって、
前記記憶処理装置の実アドレスと、前記実アドレスのそれぞれにアクセスするために指定する仮想アドレスとを対応付けるアドレス変換テーブルを複数記憶し、当該アドレス変換テーブルのそれぞれに対して、当該アドレス変換テーブルを識別するテーブル識別情報を記憶する候補記憶部と、
前記記憶処理装置へ所定のタイミングで当該アドレス変換テーブルと、対応するテーブル識別情報と、を送信するテーブル送信部と、
前記記憶処理装置から返信されたアドレス変換テーブルと、対応するテーブル識別情報と、を受信する受信部と、
当該テーブル識別情報に対応するアドレス変換テーブルを前記候補記憶部から取得し、当該アドレス変換テーブルと、受信したアドレス変換テーブルと、を比較し、両テーブルが一致した場合はデータの改ざんがなく、両テーブルが一致しない場合データの改ざんがあった、と判定する判定部と、
を備える、
ことを特徴とする情報提供サーバ。
An information providing server connected to a storage processing device via a network,
Stores a plurality of address conversion tables for associating the real addresses of the storage processing device with virtual addresses designated for accessing each of the real addresses, and identifies the address conversion table for each of the address conversion tables A candidate storage unit for storing table identification information to be
A table transmission unit for transmitting the address conversion table and corresponding table identification information to the storage processing device at a predetermined timing;
A receiving unit that receives the address conversion table returned from the storage processing device and the corresponding table identification information;
An address conversion table corresponding to the table identification information is acquired from the candidate storage unit, the address conversion table and the received address conversion table are compared, and if both tables match, there is no data falsification. A determination unit that determines that data has been tampered with if the tables do not match;
Comprising
An information providing server characterized by that.
パラメータ記憶部と、テーブル記憶部と、アドレス取得部と、読書き部と、テーブル受信部と、更新部と、を備える、ネットワークを介して情報提供サーバに接続された記憶処理装置の動作方法であって、
前記パラメータ記憶部が、パラメータ群を記憶するパラメータ記憶工程と、
前記テーブル記憶部が、当該パラメータ群の各パラメータが記憶される前記パラメータ記憶部内の実アドレスと、当該パラメータにアクセスするために指定する仮想アドレスと、を対応付けるアドレス変換テーブルを記憶するテーブル記憶工程と、
前記アドレス取得部が、指定された仮想アドレスを入力として、前記アドレス変換テーブルを参照して、前記パラメータ記憶部の実アドレスを取得するアドレス取得工程と、
前記読書き部が、指定された仮想アドレスに対する読書き要求を受信すると、前記アドレス取得部を制御して、前記パラメータ記憶部の、当該仮想アドレスに対応する実アドレスを取得し、前記パラメータ記憶部の当該取得した実アドレスに対して読書きを行う読書き工程と、
前記テーブル受信部が、前記アドレス変換テーブルを前記情報提供サーバから受信するテーブル受信工程と、
前記更新部が、前記受信したアドレス変換テーブルによって、前記アドレス変換テーブルを所定のタイミングで更新し、さらに、各仮想アドレスを指定した際に、更新前の前記アドレス変換テーブルを参照して得られる実アドレスに記憶されるデータと、更新後の前記アドレス変換テーブルを参照して得られる実アドレスに記憶されるデータとが一致するように、実アドレスに記憶されるデータを更新する更新工程と、
を備える、ことを特徴とする記憶処理装置の動作方法。
An operation method of a storage processing device connected to an information providing server via a network , comprising a parameter storage unit, a table storage unit, an address acquisition unit, a read / write unit, a table reception unit, and an update unit. There,
A parameter storage step in which the parameter storage unit stores a parameter group;
A table storage step for storing an address conversion table in which the table storage unit associates a real address in the parameter storage unit in which each parameter of the parameter group is stored with a virtual address designated to access the parameter; ,
The address acquisition unit receives the specified virtual address as an input, refers to the address conversion table, and acquires an actual address of the parameter storage unit; and
When the read / write unit receives a read / write request for a designated virtual address, the address storage unit is controlled to acquire a real address corresponding to the virtual address of the parameter storage unit, and the parameter storage unit A reading and writing process of reading and writing to the acquired real address of
A table receiving step in which the table receiving unit receives the address conversion table from the information providing server;
The update unit updates the address conversion table with the received address conversion table at a predetermined timing, and further, when each virtual address is designated, is obtained by referring to the address conversion table before the update. An update process for updating the data stored in the real address so that the data stored in the address matches the data stored in the real address obtained by referring to the updated address conversion table;
A method of operating a storage processing device, comprising:
候補記憶部と、テーブル送信部と、送信情報記憶部と、受信部と、判定部と、を備える、ネットワークを介して記憶処理装置に接続された情報提供サーバの動作方法であって、
前記候補記憶部が、前記記憶処理装置の実アドレスと、前記実アドレスのそれぞれにアクセスするために指定する仮想アドレスとを対応付けるアドレス変換テーブルを複数記憶する候補記憶工程と、
前記テーブル送信部が前記記憶処理装置へ所定のタイミングで当該アドレス変換テーブルを送信するテーブル送信工程と、
前記送信情報記憶部が、当該アドレス変換テーブルと、当該アドレス変換テーブルの送信先の前記記憶処理装置を識別する記憶処理装置識別情報と、を対応付けて記憶する送信情報記憶工程と、
前記受信部が、前記記憶処理装置から返信されたアドレス変換テーブルと、送信元の前記記憶処理装置を識別する記憶処理装置識別情報と、を受信する受信工程と、
前記判定部が、前記送信情報記憶部を参照して、受信した当該記憶処理装置識別情報に対応づけられたアドレス変換テーブルを取得し、当該アドレス変換テーブルと、受信したアドレス変換テーブルと、を比較し、両テーブルが一致した場合はデータの改ざんがなく、両テーブルが一致しない場合はデータの改ざんがあった、と判定する判定工程と、
を備える、
ことを特徴とする、情報提供サーバの動作方法。
A method of operating an information providing server connected to a storage processing device via a network, comprising a candidate storage unit, a table transmission unit, a transmission information storage unit, a reception unit, and a determination unit,
A candidate storage step for storing a plurality of address conversion tables in which the candidate storage unit associates a real address of the storage processing device with a virtual address designated for accessing each of the real addresses;
A table transmission step in which the table transmission unit transmits the address conversion table to the storage processing device at a predetermined timing;
A transmission information storage step in which the transmission information storage unit stores the address conversion table in association with storage processing device identification information for identifying the storage processing device that is a transmission destination of the address conversion table;
A receiving step for receiving the address conversion table returned from the storage processing device and the storage processing device identification information for identifying the storage processing device of the transmission source;
The determination unit refers to the transmission information storage unit, acquires an address conversion table associated with the received storage processing device identification information, and compares the address conversion table with the received address conversion table And a determination step for determining that the data has not been falsified when both tables match, and that the data has been falsified when both tables do not match,
Comprising
An operating method of the information providing server, characterized in that
候補記憶部と、テーブル送信部と、受信部と、判定部と、を備える、ネットワークを介して記憶処理装置に接続された情報提供サーバの動作方法であって、
前記候補記憶部が、前記記憶処理装置の実アドレスと、前記実アドレスのそれぞれにアクセスするために指定する仮想アドレスとを対応付けるアドレス変換テーブルを複数記憶し、当該アドレス変換テーブルのそれぞれに対して、当該アドレス変換テーブルを識別するテーブル識別情報を記憶する候補記憶工程と、
前記テーブル送信部が、前記記憶処理装置へ所定のタイミングで当該アドレス変換テーブルと、対応するテーブル識別情報と、を送信するテーブル送信工程と、
前記受信部が、前記記憶処理装置から返信されたアドレス変換テーブルと、対応するテーブル識別情報と、を受信する受信工程と、
前記判定部が、当該テーブル識別情報に対応するアドレス変換テーブルを前記候補記憶部から取得し、当該アドレス変換テーブルと、受信したアドレス変換テーブルと、を比較し、両テーブルが一致した場合はデータの改ざんがなく、両テーブルが一致しない場合データの改ざんがあった、と判定する判定工程と、
を備える、
ことを特徴とする、情報提供サーバの動作方法。
An operation method of an information providing server connected to a storage processing device via a network, comprising a candidate storage unit, a table transmission unit, a reception unit, and a determination unit,
The candidate storage unit stores a plurality of address conversion tables associating real addresses of the storage processing device and virtual addresses designated for accessing each of the real addresses, and for each of the address conversion tables, A candidate storage step for storing table identification information for identifying the address conversion table;
A table transmission step in which the table transmission unit transmits the address conversion table and corresponding table identification information to the storage processing device at a predetermined timing;
A receiving step in which the receiving unit receives an address conversion table returned from the storage processing device and corresponding table identification information;
The determination unit acquires an address conversion table corresponding to the table identification information from the candidate storage unit, compares the address conversion table with the received address conversion table, and if both tables match, A determination step for determining that the data has been falsified when there is no falsification and the two tables do not match;
Comprising
An operating method of the information providing server, characterized in that
ネットワークを介して情報提供サーバに接続されたコンピュータを、記憶処理装置として機能させるプログラムであって、
前記プログラムは、前記コンピュータを、
パラメータ群が記憶されるパラメータ記憶部、
当該パラメータ群の各パラメータが記憶される前記パラメータ記憶部内の実アドレスと、当該パラメータにアクセスするために指定する仮想アドレスと、を対応付けるアドレス変換テーブルを記憶するテーブル記憶部、
指定された仮想アドレスを入力として、前記アドレス変換テーブルを参照して、前記パラメータ記憶部の実アドレスを取得するアドレス取得部、
指定された仮想アドレスに対する読書き要求を受信すると、前記アドレス取得部を制御して、当該仮想アドレスに対応する実アドレスを取得し、前記パラメータ記憶部の当該取得した実アドレスに対して読書きを行う読書き部、
前記アドレス変換テーブルを前記情報提供サーバから受信するテーブル受信部、
前記受信したアドレス変換テーブルによって、前記アドレス変換テーブルを所定のタイミングで更新し、さらに、各仮想アドレスを指定した際に、更新前の前記アドレス変換テーブルを参照して得られる実アドレスに記憶されるデータと、更新後の前記アドレス変換テーブルを参照して得られる実アドレスに記憶されるデータとが一致するように、実アドレスに記憶されるデータを更新する更新部、
として機能させる、
ことを特徴とするプログラム。
A program for causing a computer connected to an information providing server via a network to function as a storage processing device,
The program causes the computer to
A parameter storage unit for storing parameter groups;
A table storage unit that stores an address conversion table that associates a real address in the parameter storage unit in which each parameter of the parameter group is stored with a virtual address that is designated to access the parameter;
An address acquisition unit that acquires a real address of the parameter storage unit by referring to the address conversion table with a specified virtual address as input,
Upon receiving a read / write request for the specified virtual address, the address acquisition unit is controlled to acquire a real address corresponding to the virtual address, and read / write is performed on the acquired real address of the parameter storage unit. Reading and writing part,
A table receiving unit for receiving the address conversion table from the information providing server;
Based on the received address conversion table, the address conversion table is updated at a predetermined timing. Further, when each virtual address is designated, it is stored in a real address obtained by referring to the address conversion table before update. An update unit for updating the data stored in the real address so that the data matches the data stored in the real address obtained by referring to the updated address conversion table;
Function as
A program characterized by that.
ネットワークを介して記憶処理装置に接続されたコンピュータを、情報提供サーバとして機能させるプログラムであって、
前記プログラムは、前記コンピュータを、
前記記憶処理装置の実アドレスと、前記実アドレスのそれぞれにアクセスするために指定する仮想アドレスとを対応付けるアドレス変換テーブルを複数記憶する候補記憶部、
前記記憶処理装置へ所定のタイミングで当該アドレス変換テーブルを送信するテーブル送信部、
当該アドレス変換テーブルと、当該アドレス変換テーブルの送信先の前記記憶処理装置を識別する記憶処理装置識別情報と、を対応付けて記憶する送信情報記憶部、
前記記憶処理装置から返信されたアドレス変換テーブルと、送信元の前記記憶処理装置を識別する記憶処理装置識別情報と、を受信する受信部、
前記送信情報記憶部を参照して、受信した当該記憶処理装置識別情報に対応づけられたアドレス変換テーブルを取得し、当該アドレス変換テーブルと、受信したアドレス変換テーブルと、を比較し、両テーブルが一致した場合はデータの改ざんがなく、両テーブルが一致しない場合はデータの改ざんがあった、と判定する判定部、
として機能させる、
ことを特徴とするプログラム。
A program for causing a computer connected to a storage processing device via a network to function as an information providing server,
The program causes the computer to
A candidate storage unit that stores a plurality of address conversion tables that associate real addresses of the storage processing device with virtual addresses that are designated to access each of the real addresses;
A table transmission unit that transmits the address conversion table to the storage processing device at a predetermined timing;
A transmission information storage unit that stores the address conversion table in association with storage processing device identification information that identifies the storage processing device that is the transmission destination of the address conversion table;
A receiving unit that receives an address conversion table returned from the storage processing device and storage processing device identification information for identifying the storage processing device of the transmission source;
Referring to the transmission information storage unit, obtains an address conversion table associated with the received storage processing device identification information, compares the address conversion table with the received address conversion table, and both tables are A determination unit that determines that there is no data falsification if they match, and that there is data falsification if both tables do not match,
Function as
A program characterized by that.
ネットワークを介して記憶処理装置に接続されたコンピュータを、情報提供サーバとして機能させるプログラムであって、
前記プログラムは、前記コンピュータを
前記記憶処理装置の実アドレスと、前記実アドレスのそれぞれにアクセスするために指定する仮想アドレスとを対応付けるアドレス変換テーブルを複数記憶し、当該アドレス変換テーブルのそれぞれに対して、当該アドレス変換テーブルを識別するテーブル識別情報を記憶する候補記憶部、
前記記憶処理装置へ所定のタイミングで当該アドレス変換テーブルと、対応するテーブル識別情報と、を送信するテーブル送信部、
前記記憶処理装置から返信されたアドレス変換テーブルと、対応するテーブル識別情報と、を受信する受信部、
当該テーブル識別情報に対応するアドレス変換テーブルを前記候補記憶部から取得し、当該アドレス変換テーブルと、受信したアドレス変換テーブルと、を比較し、両テーブルが一致した場合はデータの改ざんがなく、両テーブルが一致しない場合データの改ざんがあった、と判定する判定部、
として機能させる、
ことを特徴とするプログラム。
A program for causing a computer connected to a storage processing device via a network to function as an information providing server,
The program stores a plurality of address conversion tables associating the computer with real addresses of the storage processing device and virtual addresses that are designated to access the real addresses, and for each of the address conversion tables A candidate storage unit for storing table identification information for identifying the address conversion table;
A table transmission unit for transmitting the address conversion table and corresponding table identification information to the storage processing device at a predetermined timing;
A receiving unit that receives the address conversion table returned from the storage processing device and the corresponding table identification information;
An address conversion table corresponding to the table identification information is acquired from the candidate storage unit, the address conversion table and the received address conversion table are compared, and if both tables match, there is no data falsification. A determination unit that determines that the data has been altered if the tables do not match;
Function as
A program characterized by that.
JP2007284837A 2007-11-01 2007-11-01 Storage processing device, information providing server, operation method, and program Active JP4554660B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007284837A JP4554660B2 (en) 2007-11-01 2007-11-01 Storage processing device, information providing server, operation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007284837A JP4554660B2 (en) 2007-11-01 2007-11-01 Storage processing device, information providing server, operation method, and program

Publications (2)

Publication Number Publication Date
JP2009110476A JP2009110476A (en) 2009-05-21
JP4554660B2 true JP4554660B2 (en) 2010-09-29

Family

ID=40778864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007284837A Active JP4554660B2 (en) 2007-11-01 2007-11-01 Storage processing device, information providing server, operation method, and program

Country Status (1)

Country Link
JP (1) JP4554660B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5476088B2 (en) * 2009-10-20 2014-04-23 株式会社コナミデジタルエンタテインメント Game system
JP5152297B2 (en) 2010-10-28 2013-02-27 株式会社デンソー Electronic equipment
JP5706173B2 (en) 2011-01-26 2015-04-22 任天堂株式会社 Information processing program, information processing apparatus, information processing method, and information processing system
US10649656B2 (en) 2017-12-28 2020-05-12 Micron Technology, Inc. Techniques to update a trim parameter in non-volatile memory
JP7014613B2 (en) * 2018-01-11 2022-02-01 株式会社バンダイナムコエンターテインメント Programs and game equipment
EP3822799B1 (en) * 2018-08-17 2023-11-08 Siemens Ltd. China Address identification method, apparatus and system, and storage medium, processor and terminal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07153285A (en) * 1993-11-29 1995-06-16 Sansei Denshi Japan Kk Control method for non-volatile flash memory and its device
JP2005144055A (en) * 2003-11-19 2005-06-09 Creatures Inc Game data control program, game data rewriting program and game data rewriting device
JP2005149262A (en) * 2003-11-18 2005-06-09 Renesas Technology Corp Information processor
JP2006228407A (en) * 2005-01-19 2006-08-31 Saifun Semiconductors Ltd Method of preventing fixed pattern programming

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07153285A (en) * 1993-11-29 1995-06-16 Sansei Denshi Japan Kk Control method for non-volatile flash memory and its device
JP2005149262A (en) * 2003-11-18 2005-06-09 Renesas Technology Corp Information processor
JP2005144055A (en) * 2003-11-19 2005-06-09 Creatures Inc Game data control program, game data rewriting program and game data rewriting device
JP2006228407A (en) * 2005-01-19 2006-08-31 Saifun Semiconductors Ltd Method of preventing fixed pattern programming

Also Published As

Publication number Publication date
JP2009110476A (en) 2009-05-21

Similar Documents

Publication Publication Date Title
JP4554660B2 (en) Storage processing device, information providing server, operation method, and program
JP4810548B2 (en) Server apparatus, updated image detection method and program
JP4408929B2 (en) Online game system
JP5792773B2 (en) Program, information processing apparatus and control method
US8585508B1 (en) Non-transitory computer-readable storage medium and information processing device
US9623327B2 (en) Determining triggers for cloud-based emulated games
US9680894B2 (en) Multiple virtual machine memory usage reduction system and method
US20130093779A1 (en) Graphics processing unit memory usage reduction
US20060135230A1 (en) Post-deployment spot creation
US20150120674A1 (en) Virtual program installation and state restoration
CN112368057A (en) System, server, program, and method for detecting user cheating in game
JP2015088146A (en) Information processing device
JP2015088143A (en) Information processing device and data structure of game data
JP5112971B2 (en) Game device
JP2017507395A (en) Multi-mode gaming server
JP2015088144A (en) Information processing device and data structure of game data
JP5660557B2 (en) Network boot system
JP3563398B2 (en) Score system
JP2009020723A (en) Server device and program
US20070120820A1 (en) Graphics device comprising remote transfer controller for remote visualization
US20140304481A1 (en) Information processing system, control method, program, and recording medium
US8799567B2 (en) Method for accessing files in a management system
JP3198022B2 (en) Video game equipment
US11188463B2 (en) Reduced downtime for a virtual machine content-based read cache
US20230001299A1 (en) Program, server, method, and system for increasing predictability of enemy next action

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100714

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4554660

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140723

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250