JP5502181B2 - Download security system - Google Patents

Download security system Download PDF

Info

Publication number
JP5502181B2
JP5502181B2 JP2012263939A JP2012263939A JP5502181B2 JP 5502181 B2 JP5502181 B2 JP 5502181B2 JP 2012263939 A JP2012263939 A JP 2012263939A JP 2012263939 A JP2012263939 A JP 2012263939A JP 5502181 B2 JP5502181 B2 JP 5502181B2
Authority
JP
Japan
Prior art keywords
data
server
command
key
mode
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
JP2012263939A
Other languages
Japanese (ja)
Other versions
JP2013047992A (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.)
Nintendo Co Ltd
Original Assignee
Nintendo 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2012263939A priority Critical patent/JP5502181B2/en
Publication of JP2013047992A publication Critical patent/JP2013047992A/en
Application granted granted Critical
Publication of JP5502181B2 publication Critical patent/JP5502181B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明はダウンロードセキュリティシステムに関し、特にたとえば意図したダウンロードデータのみを所定の記憶領域に書き込むダウンロードセキュリティシステムに関する。また、この発明は、ダウンロードセキュリティシステムに用いられる情報処理装置、サーバ、メモリコントローラおよびセキュリティ方法に関する。   The present invention relates to a download security system, and more particularly to a download security system that writes only intended download data into a predetermined storage area. The present invention also relates to an information processing apparatus, a server, a memory controller, and a security method used in a download security system.

サーバからデータを携帯端末のICカードにダウンロードする技術の一例が、たとえば特許文献1に開示されている。具体的には、特許文献1の技術では、ICカードはファイル毎のアクセスキーで保護されたファイル構造を有しており、ICカードにアクセスしてファイルの内容を読みかつ書き換える際のリード・アンド・ライト可能キーは、ホストサーバのみによって管理される。ICカードに書かれている内容の追加・変更は、携帯端末を通してホストサーバとのオンライン接続後に、ホストサーバからの書き込み命令のみによって行うことが可能であり、つまり、命令に付加されて送られるリード・アンド・ライト可能キーがICカード側で照合され、照合が一致する場合にのみ当該ファイルにアクセス可能にされる。
特開2002−281181号公報
An example of a technique for downloading data from a server to an IC card of a mobile terminal is disclosed in Patent Document 1, for example. Specifically, in the technique of Patent Document 1, the IC card has a file structure protected by an access key for each file, and read and write when reading and rewriting the contents of the file by accessing the IC card. -Writable keys are managed only by the host server. The addition / change of the contents written on the IC card can be performed only by a write command from the host server after online connection with the host server through the portable terminal, that is, a read sent in addition to the command. The key is collated on the IC card side, and the file can be accessed only when the collation matches.
JP 2002-281181 A

しかし、特許文献1の技術では、ファイルへのアクセスキーの付加された書き込み命令によってICカードのファイルへの書き込みをサーバから制御しようとするだけであり、この特許文献1にはICカードのモードを遷移させるという発想がないので、不正なデータを書き込まれるおそれがあった。   However, in the technique of Patent Document 1, it is only attempted to control writing to a file on an IC card from a server by a write command with an access key added to the file. Since there was no idea of making a transition, there was a risk of writing invalid data.

それゆえに、この発明の主たる目的の一つは、新規な、ダウンロードセキュリティシステム、ならびにそれに用いられる情報処理装置、サーバ、メモリコントローラおよびセキュリティ方法を提供することである。 Therefore, one of the main objects of the present invention is to provide a novel download security system, and an information processing apparatus, server, memory controller and security method used therefor.

この発明の他の目的は、意図しないデータが書き込まれるのを防止できる、ダウンロードセキュリティシステム、ならびにそれに用いられる情報処理装置、サーバ、メモリコントローラおよびセキュリティ方法を提供することである。   Another object of the present invention is to provide a download security system capable of preventing unintended data from being written, and an information processing apparatus, server, memory controller and security method used therefor.

この発明は、上記の課題を解決するために、一例として以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。 In order to solve the above problems, the present invention employs the following configuration as an example . Note that reference numerals in parentheses, supplementary explanations, and the like indicate correspondence with embodiments to be described later in order to help understanding of the present invention, and do not limit the present invention.

本発明の一例は、サーバと、記憶手段を含み、当該サーバからデータをダウンロードして当該記憶手段に書き込む情報処理装置と、を含む情報処理システムであって、
サーバは、情報処理装置を記憶手段に書き込み可能な書込み可能モードに遷移させるための第1遷移コマンドを暗号化する暗号化手段、暗号化された第1遷移コマンドを情報処理装置に送信する遷移コマンド送信手段、およびデータを情報処理装置に送信するデータ送信手段を含み、第1遷移コマンドは、データを書き込むために指定された記憶手段のアドレスを含み、
情報処理装置は、サーバから送信された暗号化された第1遷移コマンドを復号化する復号化手段、復号化手段によって復号化された第1遷移コマンドに応じて情報処理装置が書込み可能モードに遷移したとき、記憶手段における指定されたアドレスのみにデータを書き込み可能にする書込み可能化手段、および書き込み可能となったデータを指定されたアドレスに書き込む書込み手段をさらに含む、ダウンロードセキュリティシステムである
An example of the present invention is an information processing system including a server and a storage unit, and an information processing apparatus that downloads data from the server and writes the data in the storage unit,
The server that sends the first transition command for transitioning the information processing apparatus to a writable writable mode storage unit encrypting means for encrypting the first transition command is encrypted information processing apparatus Qian A transition command transmission means and a data transmission means for transmitting data to the information processing device, wherein the first transition command includes an address of a storage means designated for writing the data;
The information processing apparatus decrypts the encrypted first transition command transmitted from the server, and the information processing apparatus transitions to the writable mode in response to the first transition command decrypted by the decryption means. In this case , the download security system further includes a write enabling unit that enables data to be written only to a designated address in the storage unit, and a writing unit that writes the writable data to the designated address.

本発明の一例では、ダウンロードセキュリティシステム(100)はサーバ(102)および情報処理装置(10)を含む。情報処理装置には、サーバからダウンロードしたデータを記憶するために記憶手段(64)が設けられる。サーバは、たとえば生成手段(S29)によって生成した、情報処理装置を記憶手段に書き込み可能な書込み可能モードに遷移させるための第1遷移コマンドを暗号化する暗号化手段(S31)を含み、暗号化された第1遷移コマンドは遷移コマンド送信手段(S33、S323)によって情報処理装置に送信される。また、サーバは、データ送信手段(S67、S341)を含み、ダウンロード用のデータを情報処理装置に送信する。情報処理装置の復号化手段(S37)は受信した暗号化された第1遷移コマンドを復号化し、書込み可能化手段(S45、S237)は、復号化された第1遷移コマンドに応じて記憶手段における指定されたアドレスのみ書込み可能なモードに遷移させる。また、書込み手段(S83、S267)を含み、書込み可能なモードにおいて、サーバから送信されたデータを記憶手段のその指定されたアドレスに書き込む。 In one example of the present invention, the download security system (100) includes a server (102) and an information processing device (10). The information processing apparatus, Ru storage means (64) is provided for storing data downloaded from the server. Servers may include, for example, generated by the generation means (S29), encryption means for encrypting the first transition command for transitioning the information processing apparatus to a writable writable mode storing means (S31), The encrypted first transition command is transmitted to the information processing apparatus by the transition command transmitting means (S33, S323) . The server also includes data transmission means (S67, S341), and transmits data for download to the information processing apparatus. The decryption means (S37) of the information processing apparatus decrypts the received encrypted first transition command, and the write enable means (S45, S237) in the storage means according to the decrypted first transition command . Transitions to a mode in which only the specified address can be written. Also includes writing included means (S83, S 267), the writable mode, and writes the data transmitted from the server to the designated address of the memory means.

本発明の一例によれば、サーバからの第1遷移コマンドに応じて書込み可能なモードに遷移させることができ、そして、当該書込み可能なモードにおいてサーバからのデータを記憶手段の第1遷移コマンドで指定したアドレスのみに書き込むことができる。つまり、データの書込みのためにモードの遷移を必要とするので、段階的なセキュリティをかけることができ、セキュリティ度を高めることができる。しかも、第1遷移コマンドを暗号化して送信することができるので、モード遷移に対するセキュリティ度を高めることができる。 According to one example of the present invention, it is possible to transition in the book included possible modes in response to a first transition command from the server, then the first transition command storage means data from the server in the writable mode Can be written only to the address specified by . That is, since mode transition is required for data writing, stepwise security can be applied and the security level can be increased. In addition, since the first transition command can be encrypted and transmitted, the degree of security against mode transition can be increased.

本発明の一例、ダウンロードセキュリティシステムであって、書込み可能化手段は、指定されたアドレスから一定範囲を書込み可能にする。 An example of the present invention, there is provided a down load security system, write enable means enables writing a predetermined range from the specified address.

本発明の一例では、第1遷移コマンドで書込み可能なモードに遷移させることができるとともに、指定したアドレスから一定範囲を書込み可能にすることができる。 In an example of the present invention , the mode can be changed to a writable mode by the first transition command, and a certain range can be written from a specified address.

本発明の一例、ダウンロードセキュリティシステムであって、サーバは、第1遷移コマンドの暗号のための第1キー、および第1キーと異なるデータの暗号のための第2キーを記憶する。暗号化手段は、第1キーを用いて第1遷移コマンドを暗号化し、データ送信手段は、第2キーを用いて暗号化されたデータを送信する。記憶手段は、第1キーおよび第2キーを記憶する。復号化手段は、暗号化された第1遷移コマンドを第1キーを用いて復号化する。書込み手段は、書込み可能モードにおいて第2キーを用いてデータを復号化して記憶手段に書き込む。 An example of the present invention, there is provided a down load the security system, the server stores the second key for the first key, and the first key and different data encryption for the first transition command encryption. The encryption means encrypts the first transition command using the first key, and the data transmission means transmits the encrypted data using the second key. The storage means stores the first key and the second key. The decrypting means decrypts the encrypted first transition command using the first key. The writing means decrypts the data using the second key in the writable mode and writes the data to the storage means.

本発明の一例では、第1遷移コマンドの暗号のための第1キーと、第1キーとは異なり、ダウンロードするデータの暗号のための第2キーとが、サーバおよび記憶手段に記憶される。つまり、サーバと制御手段は、第1遷移コマンドのための共通キー(第1キー)と、ダウンロードするデータのための共通キー(第2キー)とを有している。サーバによって第1キーで暗号化されて送信された第1遷移コマンドは、制御手段によって第1キーで復号化され、制御手段は当該第1遷移コマンドによって書込み可能なモードに遷移する。また、サーバによって第2キーで暗号化されて送信されたダウンロードデータは、制御手段によって第2キーで復号化され、書込み可能モードにおいて記憶手段に書込まれる。 In an example of the present invention, a first key for encryption of the first transition command and a second key for encryption of data to be downloaded unlike the first key are stored in the server and the storage means. That is, the server and the control means have a common key (first key) for the first transition command and a common key (second key) for data to be downloaded. The first transition command encrypted and transmitted with the first key by the server is decrypted with the first key by the control means, and the control means transits to a writable mode by the first transition command. The download data encrypted and transmitted by the server with the second key is decrypted by the control means with the second key and written in the storage means in the writable mode.

本発明の一例によれば、モード遷移およびダウンロードデータに対して別々のセキュリティをかけることができ、セキュリティ度をより高めることができる。 According to an example of the present invention, separate security can be applied to mode transition and download data, and the degree of security can be further increased.

本発明の一例、ダウンロードセキュリティシステムであって、サーバは、データのメッセージダイジェスト認証用の第3キーをさらに記憶する。データ送信手段は、第3キーを用いて生成された認証記号を付加したデータを、第2キーを用いて暗号化して、当該暗号化されたデータを送信する。記憶手段は、第3キーをさらに記憶する。制御手段は、書込み可能モードにおいて、暗号化されたデータを第2キーを用いて復号化する。書込み手段は、復号化したデータが第3キーを用いて認証されたとき、当該データを書き込む。 An example of the present invention, there is provided a down load the security system, the server further stores a third key message digest for authentication data. The data transmission means encrypts the data to which the authentication symbol generated using the third key is added using the second key, and transmits the encrypted data. The storage means further stores a third key. In the writable mode, the control means decrypts the encrypted data using the second key. When the decrypted data is authenticated using the third key, the writing means writes the data.

本発明の一例では、ダウンロードするデータのメッセージダイジェスト認証用の第3キーが、サーバおよび記憶手段に記憶される。サーバは、第3キーを用いて生成された認証記号(MIC)を付加したデータを、第2キーで暗号化して送信する。制御手段は、書込み可能モードにおいて、暗号化されたデータを第2キーで復号化する。そして、当該復号化したデータが第3キーを用いて認証されたときには、当該データが記憶手段に書込まれる。 In an example of the present invention, a third key for message digest authentication of data to be downloaded is stored in the server and storage means. The server encrypts the data to which the authentication symbol (MIC) generated using the third key is added with the second key and transmits the encrypted data. The control means decrypts the encrypted data with the second key in the writable mode. When the decrypted data is authenticated using the third key, the data is written into the storage means.

本発明の一例によれば、ダウンロードするデータについてメッセージダイジェスト認証を行うことができる。 According to an example of the present invention, message digest authentication can be performed on data to be downloaded.

本発明の一例、ダウンロードセキュリティシステムであって、第3キーは、第2キーの一部を置き換えることによって得られるキーである。 An example of the present invention, there is provided a down load security system, third key is obtained by replacing a part of the second key.

本発明の一例では、メッセージダイジェスト認証用の第3キーは、ダウンロードするデータの暗号のための第2キーの一部置換によって得られるキーである。したがって、第2キーと第3キーとで同一部分を共用するようにすれば、キーを記憶しておくための領域のサイズを抑制することができ、コストを低減することができる。 In an example of the present invention, the third key for message digest authentication is a key obtained by partial replacement of the second key for encryption of data to be downloaded. Therefore, if the same part is shared by the second key and the third key, the size of the area for storing the key can be suppressed, and the cost can be reduced.

本発明の一例は、ダウンロードセキュリティシステムであって、情報処理装置は、通常モードにおいて、記憶手段にアクセスするためのコマンドを、暗号化手段とは異なるアルゴリズムで暗号化する通常暗号化手段をさらに含む。
本発明の一例は、ダウンロードシステムであって、情報処理装置は、アプリケーション実行モードにおいて、記憶手段にアクセスするためのコマンドを、暗号化手段とは異なるアルゴリズムで暗号化する通常暗号化手段をさらに含む。
An example of the present invention is a download security system, and the information processing apparatus further includes a normal encryption unit that encrypts a command for accessing the storage unit in an ordinary mode using an algorithm different from the encryption unit. .
An example of the present invention is a download system, and the information processing apparatus further includes a normal encryption unit that encrypts a command for accessing the storage unit with an algorithm different from the encryption unit in the application execution mode. .

本発明の一例では、通常暗号化手段によって、通常モードやアプリケーション実行モードにおいて記憶手段にアクセスするためのコマンドを処理負担の比較的軽いアルゴリズムに従って暗号化することができる。 In an example of the present invention, the normal encryption unit can encrypt a command for accessing the storage unit in the normal mode or the application execution mode according to an algorithm with a relatively light processing load.

本発明の一例、ダウンロードセキュリティシステムであって、情報処理装置は、制御手段に書込みを指示するための書込みコマンドを発行する書込み発行手段をさらに含む。制御手段は、書込み可能なモードにおいて書込みコマンドに応じてデータを記憶手段に書き込む。 An example of the present invention, there is provided a down load the security system, the information processing apparatus further includes a writing issuing means for issuing a write command for instructing writing to the control means. The control means writes data to the storage means in response to the write command in the writable mode.

本発明の一例では、情報処理装置は、書込み発行手段(S73、S143)をさらに含み、書込みコマンドを制御手段に発行する。制御手段は、書込み可能なモードにおいて書込みコマンドに応じてデータの書込みを行う。 In an example of the present invention , the information processing apparatus further includes write issuing means (S73, S143), and issues a write command to the control means. The control means writes data in response to a write command in a writable mode.

本発明の一例によれば、情報処理装置からの書込み指示によって、サーバからダウンロードしたデータを記憶手段に書き込むことができる。データの送信と書込みとを分けて処理するので、データ消えなどを起こり難くすることができる。 According to an example of the present invention, data downloaded from a server can be written in a storage unit in accordance with a write instruction from an information processing apparatus. Since data transmission and writing are processed separately, data disappearance can be made difficult to occur.

本発明の一例、ダウンロードセキュリティシステムであって、記憶手段は、当該記憶手段の識別情報を記憶している。情報処理装置は、記憶手段に記憶された識別情報をサーバに送信する識別情報送信手段を含む。サーバは、複数の識別情報に対応付けられた、第1遷移コマンドの暗号のための複数の第1キーを記憶している。暗号化手段は、記憶手段の識別情報に対応する第1キーを用いて、第1遷移コマンドを暗号化する。 An example of the present invention, there is provided a down load security system, storage means stores the identification information of the storage means. The information processing apparatus includes identification information transmitting means for transmitting the identification information stored in the storage means to the server. The server stores a plurality of first keys for encryption of the first transition command associated with a plurality of pieces of identification information. The encryption unit encrypts the first transition command using the first key corresponding to the identification information of the storage unit.

本発明の一例では、記憶手段は、当該記憶手段の識別情報を記憶している。この識別情報は、識別情報送信手段(S5、S105)によってサーバに送信される。一方、サーバは、複数の識別情報に対応付けられた複数の第1キーを記憶している。つまり、第1遷移コマンドの暗号のための第1キーは、記憶手段ごとに準備されて、当該記憶手段およびサーバに記憶されている。暗号化手段によって、第1遷移コマンドは、受信した識別情報に対応する第1キーを用いて暗号化される。 In one example of the present invention , the storage means stores identification information of the storage means. This identification information is transmitted to the server by the identification information transmitting means (S5, S105). On the other hand, the server stores a plurality of first keys associated with a plurality of identification information. That is, the first key for encryption of the first transition command is prepared for each storage unit and stored in the storage unit and the server. The first transition command is encrypted by the encryption means using the first key corresponding to the received identification information.

本発明の一例によれば、記憶手段ごとの第1キーによって第1遷移コマンドを暗号化することができ、当該第1遷移コマンドによって制御手段を書込み可能なモードに遷移させることができるので、セキュリティ度を高めることができる。 According to an example of the present invention, the first transition command can be encrypted by the first key for each storage unit, and the control unit can be shifted to a writable mode by the first transition command. The degree can be increased.

本発明の一例、ダウンロードセキュリティシステムであって、記憶手段は、当該記憶手段に記憶されるアプリケーションプログラムの識別情報を記憶する。情報処理装置は、記憶手段に記憶された識別情報をサーバに送信する識別情報送信手段を含む。サーバは、複数の識別情報に対応付けられた、第1遷移コマンドの暗号のための複数の第1キーを記憶している。暗号化手段は、受信したアプリケーションプログラムの識別情報に対応する第1キーを用いて、第1遷移コマンドを暗号化する。 An example of the present invention, there is provided a down load security system, storage means stores identification information of the application program stored in the storage means. The information processing apparatus includes identification information transmitting means for transmitting the identification information stored in the storage means to the server. The server stores a plurality of first keys for encryption of the first transition command associated with a plurality of pieces of identification information. The encryption means encrypts the first transition command using the first key corresponding to the received identification information of the application program.

本発明の一例では、記憶手段は、当該記憶手段に記憶されるアプリケーションプログラムの識別情報を記憶している。この識別情報は、識別情報送信手段(S105)によってサーバに送信される。一方、サーバは、複数の識別情報に対応付けられた複数の第1キーを記憶している。つまり、第1遷移コマンドの暗号のための第1キーは、アプリケーション(ゲーム)ごとに準備されて、記憶手段およびサーバに記憶されている。暗号化手段によって、第1遷移コマンドは、受信した識別情報に対応する第1キーを用いて暗号化される。 In an example of the present invention , the storage unit stores identification information of an application program stored in the storage unit. This identification information is transmitted to the server by the identification information transmitting means (S105). On the other hand, the server stores a plurality of first keys associated with a plurality of identification information. That is, the first key for encryption of the first transition command is prepared for each application (game) and stored in the storage means and the server. The first transition command is encrypted by the encryption means using the first key corresponding to the received identification information.

本発明の一例によれば、アプリケーションごとの第1キーによって第1遷移コマンドを暗号化することができ、当該第1遷移コマンドによって制御手段を書込み可能なモードに遷移させることができるので、セキュリティ度を高めることができる。 According to an example of the present invention, the first transition command can be encrypted by the first key for each application, and the control unit can be shifted to a writable mode by the first transition command. Can be increased.

本発明の一例、ダウンロードセキュリティシステムであって、記憶手段は、第1領域および第2領域を有する。制御手段は、第1領域に対してのみ、第1遷移コマンドに応じて遷移した書込み可能なモードにおいて書込み手段による書込みを行い、第2領域に対して、書込み手段による書込みとは異なる書込みを行う。 An example of the present invention, there is provided a down load security system, storage means comprises a first region and a second region. The control means performs writing by the writing means in the writable mode that has transitioned according to the first transition command only to the first area, and performs writing different from the writing by the writing means in the second area. .

本発明の一例では、記憶手段は第1領域(204)および第2領域(206)を有している。制御手段は、第1領域に対してのみ、書込み手段による書込みを行う。つまり、制御手段は、第1遷移コマンドに応じて遷移された書込み可能なモードにおいて、ダウンロードデータを第1領域に書き込む。一方、制御手段は、第2領域に対しては、第1領域に対する書込みとは異なる書込みを行う。 In one example of the present invention , the storage means has a first area (204) and a second area (206). The control means performs writing by the writing means only on the first area. That is, the control means writes the download data to the first area in the writable mode that is changed according to the first transition command. On the other hand, the control means performs writing different from writing to the first area in the second area.

本発明の一例によれば、記憶手段のうち所定の領域に対してのみ、第1遷移コマンドに応じた書込み可能なモードへの遷移によってセキュリティのかけられる書込みを行うことができるとともに、他の領域には、モード遷移によるセキュリティを施さないような他の書込みを行うことができる。したがって、書込みの用途に応じて書込み領域を使い分けて、適切な書込みを行うことができる。 According to an example of the present invention, it is possible to perform security-enhanced writing only by changing to a writable mode according to the first transition command in a predetermined area of the storage unit, and to other areas. In other words, other writing that does not provide security by mode transition can be performed. Therefore, appropriate writing can be performed using different write areas depending on the purpose of writing.

本発明の一例、ダウンロードセキュリティシステムであって、記憶手段は、第1領域および第2領域の境界データを記憶する。 An example of the present invention, there is provided a down load security system, storage means stores boundary data of the first and second regions.

本発明の一例では、記憶手段には、第1領域および第2領域の境界データが記憶される。制御手段は、第1領域の境界データおよび第2領域の境界データをそれぞれ参照することによって、第1領域および第2領域のそれぞれを把握して、アクセスすることができる。 In an example of the present invention , the storage unit stores boundary data of the first area and the second area. The control means can grasp and access each of the first area and the second area by referring to the boundary data of the first area and the boundary data of the second area, respectively.

本発明の一例、ダウンロードセキュリティシステムであって、記憶手段および制御手段は、情報処理装置に装着可能な記憶媒体に設けられた。 An example of the present invention, there is provided a down load security system, storage means and control means are provided in the storage medium mounted on the information processing apparatus.

本発明の一例では、記憶手段および制御手段が情報処理装置に装着可能な記憶媒体(28)に設けられる。したがって、記憶媒体に設けられた記憶手段へのダウンロードデータの書込みに対して、段階的なセキュリティをかけることができる。 In one example of the present invention , the storage means and the control means are provided in a storage medium (28) that can be attached to the information processing apparatus. Therefore, stepwise security can be applied to the writing of download data to the storage means provided in the storage medium.

本発明の一例は、サーバおよびサーバからデータをダウンロードする情報処理装置を含むダウンロードセキュリティシステムにおいて、ダウンロードしたデータを記憶するための記憶手段に対する書込みを制御するメモリコントローラである。メモリコントローラは、サーバから情報処理装置に送信された暗号化された第1遷移コマンドを復号化する復号化手段、復号化手段によって復号化された第1遷移コマンドに応じて、記憶手段に書込み可能なモードに遷移する遷移手段、および書込み可能なモードにおいて、サーバから送信されたデータを記憶手段に書き込む書込み手段を備える。 An example of the present invention is a memory controller that controls writing to storage means for storing downloaded data in a download security system including a server and an information processing apparatus that downloads data from the server. The memory controller can write to the storage means according to the first transition command decrypted by the decryption means for decrypting the encrypted first transition command transmitted from the server to the information processing apparatus. Transition means for transitioning to a different mode, and writing means for writing the data transmitted from the server to the storage means in the writable mode.

本発明の一例では、メモリコントローラ(62)は、ダウンロードセキュリティシステム(100)において用いられ、サーバ(102)からダウンロードしたデータを記憶する記憶手段(64)に対しての書込みを制御する。具体的には、メモリコントローラは、遷移手段(S43、S235)を含み、サーバから情報処理装置(10)に送信されかつ復号化手段で復号化された第1遷移コマンドに応じて、記憶手段に書込み可能なモードに遷移する。この書込み可能なモードに遷移することによって記憶手段に対しての書込みが可能になる。メモリコントローラは、書込み手段(S83、S267)をさらに含み、書込み可能なモードにおいて、サーバからダウンロードしたデータを記憶手段に書き込む。 In one example of the present invention, the memory controller (62) is used in the download security system (100) and controls writing to the storage means (64) that stores data downloaded from the server (102). Specifically, the memory controller includes transition means (S43, S235), and stores in the storage means according to the first transition command transmitted from the server to the information processing device (10) and decrypted by the decryption means. Transition to writable mode. By changing to this writable mode, writing to the storage means becomes possible. The memory controller further includes writing means (S83, S267), and writes the data downloaded from the server to the storage means in the writable mode.

本発明の一例は、データをダウンロードする情報処理装置、データを記憶するための記憶手段、および記憶手段に対する書込みを制御する制御手段を含むダウンロードセキュリティシステムにおいて用いられるサーバである。サーバは、情報処理装置を記憶手段に書き込み可能な書込み可能モードに遷移させるための第1遷移コマンドを暗号化する暗号化手段、暗号化された第1遷移コマンドを情報処理装置に送信する遷移コマンド送信手段、および情報処理装置にデータを送信するデータ送信手段を備える。 An example of the present invention is a server used in a download security system that includes an information processing apparatus that downloads data, a storage unit that stores data, and a control unit that controls writing to the storage unit. The server that sends the first transition command for transitioning the information processing apparatus to a writable writable mode storage unit encrypting means for encrypting the first transition command is encrypted information processing apparatus Qian Transfer command transmitting means and data transmitting means for transmitting data to the information processing apparatus are provided.

本発明の一例では、サーバ(102)は、ダウンロードセキュリティシステム(100)において使用され、情報処理装置(10)にダウンロードするデータを提供する。システムは、ダウンロードしたデータを記憶する記憶手段(64)をさらに含む。サーバは、たとえば生成手段(S29)によって生成した情報処理装置を記憶手段に書き込み可能な書込み可能モードに遷移させるための第1遷移コマンドを暗号化する暗号化手段(S31)を含み、暗号化された第1遷移コマンドは遷移コマンド送信手段(S33、S323)によって情報処理装置に送信される。この第1遷移コマンドによって情報処理装置は書込み可能なモードに遷移する。また、サーバは、データ送信手段(S67、S341)をさらに含み、情報処理装置にデータを送信する。データは情報処理装置から制御手段に与えられ、書込み可能なモードにある制御手段によって記憶手段に書込まれることとなる。 In one example of the present invention, the server (102) is used in the download security system (100) and provides data to be downloaded to the information processing apparatus (10). The system further includes storage means (64 ) for storing downloaded data. The server includes, for example, an encryption unit (S31) that encrypts a first transition command for transitioning the information processing device generated by the generation unit (S29) to a writable mode in which the storage unit can be written. The first transition command is transmitted to the information processing apparatus by the transition command transmitting means (S33, S323) . With this first transition command , the information processing apparatus transitions to a writable mode. The server further includes data transmission means (S67, S341), and transmits data to the information processing apparatus. Data is given from the information processing apparatus to the control means, and is written into the storage means by the control means in a writable mode.

本発明の一例は、サーバ、サーバからダウンロードしたデータを書き込むための記憶手段、および記憶手段の書込みを制御する制御手段を含むダウンロードセキュリティシステムにおいて用いられる情報処理装置である。情報処理装置は、制御手段を記憶手段に書込み可能なモードに遷移させるための暗号化された第1遷移コマンドをサーバから受信したとき、当該第1遷移コマンドを復号化して制御手段に与える遷移コマンド提供手段、サーバからデータを受信したとき、当該データを制御手段に与えるデータ提供手段、およびデータの書込み命令を制御手段に発行する書込み発行手段を備える。 An example of the present invention is an information processing apparatus used in a download security system including a server, storage means for writing data downloaded from the server, and control means for controlling writing of the storage means. When the information processing apparatus receives from the server an encrypted first transition command for causing the control means to transition to a mode writable to the storage means, the information processing apparatus decrypts the first transition command and gives it to the control means A provision means, a data provision means for giving the data to the control means when data is received from the server, and a write issuing means for issuing a data write command to the control means.

本発明の一例は、情報処理装置(10)はダウンロードセキュリティシステム(100)において使用され、サーバ(102)からデータをダウンロードする。システムは、ダウンロードしたデータを書き込む記憶手段(64)、および書込みを制御する制御手段(62)を含む。情報処理装置は、遷移コマンド提供手段(S35、S125)を含み、書込み可能なモードに制御手段を遷移させるための暗号化された第1遷移コマンドをサーバから受信したとき、当該第1遷移コマンドを復号化して制御手段に与える。この第1遷移コマンドに応じて、制御手段は書込み可能なモードに遷移する。また、情報処理装置は、データ提供手段(S69、S141)をさらに含み、サーバからデータを受信したとき、当該データを制御手段に与える。さらに、情報処理装置は、書込み発行手段(S73、S143)をさらに含み、データの書込み命令を制御手段に発行する。この書込み命令に応じて、制御手段は、受信したデータを記憶手段に書き込むこととなる。 In an example of the present invention, the information processing apparatus (10) is used in the download security system (100) to download data from the server (102). The system includes storage means (64) for writing downloaded data and control means (62) for controlling writing. The information processing apparatus includes transition command providing means (S35, S125), and when receiving an encrypted first transition command for causing the control means to transition to a writable mode from the server, the information processing apparatus receives the first transition command. Decrypt and give to control means. In response to the first transition command, the control means transits to a writable mode. The information processing apparatus further includes data providing means (S69, S141). When data is received from the server, the information processing apparatus gives the data to the control means. Further, the information processing apparatus further includes write issuing means (S73, S143), and issues a data write command to the control means. In response to this write command, the control means writes the received data to the storage means.

本発明の一例は、サーバ、サーバからデータをダウンロードする情報処理装置、データを記憶するための記憶手段を含むダウンロードセキュリティシステムにおけるセキュリティ方法である。セキュリティ方法は、サーバが情報処理装置を記憶手段に書き込み可能な書込み可能モードに遷移させるための第1遷移コマンドを暗号化する暗号化ステップ、暗号化された第1遷移コマンドを情報処理装置に送信するステップ、サーバがデータを情報処理装置に送信するステップ、データを書き込むために指定された記憶手段のアドレスを含む暗号化された第1遷移コマンドを復号化する復号化ステップ、復号化された第1遷移コマンドに応じて情報処理装置が書込み可能モードに遷移したとき、データを指定されたアドレスのみに書き込み可能にするステップ、および書き込み可能となったデータを指定されたアドレスに書き込むステップを含む。 An example of the present invention is a security method in a download security system including a server, an information processing apparatus for downloading data from the server, and a storage unit for storing the data. The security method includes: an encryption step for encrypting a first transition command for causing the server to transition the information processing apparatus to a writable mode in which the information processing apparatus can be written to the storage unit; steps, the server is decoding step, decoding for decoding a first transition command encrypted contains the address of the specified memory means to write the step of transmitting the data to the information processing apparatus, data When the information processing apparatus transitions to the writable mode in response to one transition command, the method includes a step of allowing data to be written only to a designated address, and a step of writing the data that has become writable to a designated address.

本発明の一例では、セキュリティ方法は、ダウンロードセキュリティシステム(100)において、サーバ(102)から情報処理装置(10)にダウンロードしたデータを、制御手段(62)によって記憶手段(64)に書き込む際のセキュリティ方法である。この方法において、サーバは、暗号化ステップにおいて、書込み可能なモードに制御手段を遷移させるための第1遷移コマンドを暗号化し、送信ステップにおいて暗号化された第1遷移コマンドを情報処理装置に送信する(S33、S323)。この第1遷移コマンドが復号化され、復号化された第1遷移コマンドに応じて、書込み可能なモードに遷移する(S43、S235)。また、サーバは情報処理装置にダウンロードのためのデータを送信する(S67、S341)。書き込みステップでは、書込み可能なモードにおいて、情報処理装置から与えられた当該データを記憶手段に書き込む(S83、S267)。 In one example of the present invention, the security method is performed when the download security system (100) writes data downloaded from the server (102) to the information processing device (10) into the storage means (64) by the control means (62). It is a security method. In this method, the server encrypts a first transition command for causing the control unit to transition to a writable mode in the encryption step, and transmits the first transition command encrypted in the transmission step to the information processing apparatus. (S33, S323). The first transition command is decoded, in response to a first transition command decoded, a transition in the book included possible modes (S43, S235). In addition, the server transmits data for download to the information processing apparatus (S67, S341). In the writing step, in the writable mode, the data given from the information processing apparatus is written in the storage means (S83, S267).

本発明の一例によれば、ダウンロードするデータを記憶手段に書き込むために、サーバからの遷移コマンドによって制御手段を書込み可能なモードへ遷移させるようにしたので、段階的なセキュリティをかけることができ、セキュリティ度を高めることができる。したがって、不正な書込みに対する安全性を確保することができ、意図しないデータが書込まれるのを防止することができる。 According to an example of the present invention, in order to write the data to be downloaded to the storage means, the control means is shifted to a writable mode by a transition command from the server, so that stepwise security can be applied, The degree of security can be increased. Therefore, safety against illegal writing can be ensured and unintended data can be prevented from being written.

この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。   The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.

図1はこの発明のセキュリティシステムの一実施例を示す図解図である。FIG. 1 is an illustrative view showing one embodiment of a security system of the present invention. 図2は図1に示すゲーム装置を示す図解図である。FIG. 2 is an illustrative view showing the game apparatus shown in FIG. 図3は図2に示すゲーム装置の電気的構成の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of the electrical configuration of the game apparatus shown in FIG. 図4は図3に示すフラッシュメモリのメモリマップの一例を示す図解図である。FIG. 4 is an illustrative view showing one example of a memory map of the flash memory shown in FIG. 図5は図3に示すメモリコントローラのモード遷移の概要を示す図解図である。FIG. 5 is an illustrative view showing an outline of mode transition of the memory controller shown in FIG. 図6はダウンロードモードに遷移する場合のフラッシュメモリのメモリマップの変化を示す図解図である。FIG. 6 is an illustrative view showing a change in the memory map of the flash memory when transitioning to the download mode. 図7はバックアップモードに遷移する場合のフラッシュメモリのメモリマップの変化を示す図解図である。FIG. 7 is an illustrative view showing a change in the memory map of the flash memory when transitioning to the backup mode. 図8は図4に示すインフォメーション領域のメモリマップの一例を示す図解図である。FIG. 8 is an illustrative view showing one example of a memory map of the information area shown in FIG. 図9はメモリコントローラの内部RAMのメモリマップの一例を示す図解図である。FIG. 9 is an illustrative view showing one example of a memory map of the internal RAM of the memory controller. 図10は図9に示すキー記憶領域のメモリマップの変化を示す図解図である。FIG. 10 is an illustrative view showing a change in the memory map of the key storage area shown in FIG. 図11は図1に示すサーバのデータベースの一例を示す図解図である。FIG. 11 is an illustrative view showing one example of a database of the server shown in FIG. 図12はサーバのRAMのメモリマップの一例を示す図解図である。FIG. 12 is an illustrative view showing one example of a memory map of the RAM of the server. 図13はダウンロード処理時のゲーム装置のRAMのメモリマップの一例を示す図解図である。FIG. 13 is an illustrative view showing one example of a memory map of the RAM of the game device at the time of download processing. 図14はバックアップ処理時のゲーム装置のRAMのメモリマップの一例を示す図解図である。FIG. 14 is an illustrative view showing one example of a memory map of the RAM of the game device at the time of backup processing. 図15はバックアップ領域に書き込まれるパリティ付きデータの一例を示す図解図である。FIG. 15 is an illustrative view showing one example of data with parity written in the backup area. 図16はダウンロード処理時のシステムの動作の一例の一部を示すフロー図である。FIG. 16 is a flowchart showing a part of an example of the operation of the system during the download process. 図17は図16の続きの一部を示すフロー図である。FIG. 17 is a flowchart showing part of the continuation of FIG. 図18は図17の続きの一部を示すフロー図である。FIG. 18 is a flowchart showing a part of the continuation of FIG. 図19は図18の続きを示すフロー図である。FIG. 19 is a flowchart showing the continuation of FIG. 図20はダウンロード処理時のゲーム装置の動作の一例の一部を示すフロー図である。FIG. 20 is a flowchart showing a part of an example of the operation of the game device during the download process. 図21は図20の続きの一部を示すフロー図である。FIG. 21 is a flowchart showing part of the continuation of FIG. 図22は図21の続きを示すフロー図である。FIG. 22 is a flowchart showing the continuation of FIG. 図23はダウンロード処理時のメモリコントローラの動作の一例の一部を示すフロー図である。FIG. 23 is a flowchart showing a part of an example of the operation of the memory controller during the download process. 図24は図23の続きの一部を示すフロー図である。FIG. 24 is a flowchart showing part of the continuation of FIG. 図25は図24の続きの一部を示すフロー図である。FIG. 25 is a flowchart showing part of the continuation of FIG. 図26は図25の続きを示すフロー図である。FIG. 26 is a flowchart showing the continuation of FIG. 図27はダウンロード処理時のサーバの動作の一例の一部を示すフロー図である。FIG. 27 is a flowchart showing a part of an example of the operation of the server during download processing. 図28は図27の続きの一部を示すフロー図である。FIG. 28 is a flowchart showing part of the continuation of FIG. 図29は図28の続きを示すフロー図である。FIG. 29 is a flowchart showing the continuation of FIG. 図30はバックアップ書込み時のゲーム装置の動作の一例を示すフロー図である。FIG. 30 is a flowchart showing an example of the operation of the game device during backup writing. 図31はバックアップ読出し時のゲーム装置の動作の一例を示すフロー図である。FIG. 31 is a flowchart showing an example of the operation of the game apparatus during backup reading. 図32はバックアップモードのメモリコントローラの動作の一例の一部を示すフロー図である。FIG. 32 is a flowchart showing a part of an example of the operation of the memory controller in the backup mode. 図33は図32の続きを示すフロー図である。FIG. 33 is a flowchart showing the continuation of FIG.

図1を参照して、この発明の実施例のセキュリティシステム(以下、単に「システム」という。)100は、情報処理装置10およびサーバ102を含む。情報処理装置10は、サーバ102からデータをダウンロードして、当該データを所定の記憶領域に保存する。この実施例のシステム100は、ダウンロードセキュリティシステムであり、ダウンロードしたデータを書き込むための所定の記憶領域が不正なダウンロードによって利用されるのを防止しようとするものである。また、情報処理装置10は、バックアップデータのための書込み領域セキュリティシステムとしても機能し、バックアップデータを書き込むための所定の記憶領域が不正利用されるのを防止するものでもある。なお、システム100がバックアップデータのための書込み領域セキュリティシステムとして機能する場合もある。   Referring to FIG. 1, a security system (hereinafter simply referred to as “system”) 100 according to an embodiment of the present invention includes an information processing apparatus 10 and a server 102. The information processing apparatus 10 downloads data from the server 102 and saves the data in a predetermined storage area. The system 100 of this embodiment is a download security system, and is intended to prevent a predetermined storage area for writing downloaded data from being used by unauthorized download. The information processing apparatus 10 also functions as a write area security system for backup data and prevents unauthorized use of a predetermined storage area for writing backup data. Note that the system 100 may function as a write area security system for backup data.

なお、情報処理装置10は、この実施例では携帯型ゲーム装置の形態で実現されるが、他の実施例では、携帯情報端末、携帯電話機、パーソナルコンピュータまたは据え置き型ゲーム装置等のような他の形態のコンピュータであってよい。また、サーバ102はコンピュータであり、図示は省略するが、CPU、RAM、ROM、HDD、通信装置等を備えている。   The information processing apparatus 10 is realized in the form of a portable game device in this embodiment, but in other embodiments, other information such as a portable information terminal, a mobile phone, a personal computer, or a stationary game device is used. It may be a computer in the form. The server 102 is a computer, and includes a CPU, a RAM, a ROM, an HDD, a communication device, and the like (not shown).

情報処理装置すなわちゲーム装置10は、アクセスポイント104およびネットワーク106を介してサーバ102に接続可能である。ネットワーク106は、たとえば、ワイドエリアネットワーク(WAN)やインターネット等であり、あるいはローカルエリアネットワーク(LAN)であってもよい。ゲーム装置10は、サーバ102からデータをダウンロードする際には、無線(または有線)によってアクセスポイント104に接続し、当該アクセスポイント104を介してネットワーク106上のサーバ102と通信する。なお、ゲーム装置10は、ユーザの入力またはリスト選択等によってアクセスポイント104およびサーバ102のIPアドレスを取得する。   The information processing apparatus, that is, the game apparatus 10 can be connected to the server 102 via the access point 104 and the network 106. The network 106 is, for example, a wide area network (WAN), the Internet, etc., or may be a local area network (LAN). When the game apparatus 10 downloads data from the server 102, the game apparatus 10 is connected to the access point 104 by wireless (or wired), and communicates with the server 102 on the network 106 via the access point 104. Note that the game apparatus 10 acquires the IP addresses of the access point 104 and the server 102 by user input or list selection.

図2を参照して、ゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。LCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。   Referring to FIG. 2, game device 10 includes a first liquid crystal display (LCD) 12 and a second LCD 14. The LCD 12 and the LCD 14 are accommodated in the housing 16 so as to be in a predetermined arrangement position. In this embodiment, the housing 16 includes an upper housing 16a and a lower housing 16b. The LCD 12 is stored in the upper housing 16a, and the LCD 14 is stored in the lower housing 16b. Therefore, the LCD 12 and the LCD 14 are arranged close to each other so as to be arranged vertically (up and down).

なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic
Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
In this embodiment, an LCD is used as the display. However, instead of the LCD, an EL (Electronic Electronic) is used.
A Luminescence) display or a plasma display may be used.

図2からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bの平面形状およびサイズも上側ハウジング16aと同等に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。下側ハウジング16bの右側面には電源スイッチ18が設けられる。   As can be seen from FIG. 2, the upper housing 16a has a planar shape slightly larger than the planar shape of the LCD 12, and an opening is formed so as to expose the display surface of the LCD 12 from one main surface. On the other hand, the planar shape and size of the lower housing 16b are also selected to be the same as the upper housing 16a, and an opening is formed so as to expose the display surface of the LCD 14 at a substantially central portion in the horizontal direction. A power switch 18 is provided on the right side surface of the lower housing 16b.

また、上側ハウジング16aには、LCD12を挟んで左右に、スピーカ36aおよび36b(図3参照)のための音抜き孔20aおよび20bが形成される。   In addition, sound release holes 20a and 20b for speakers 36a and 36b (see FIG. 3) are formed in the upper housing 16a on the left and right sides of the LCD 12.

上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。   In the upper housing 16a and the lower housing 16b, a lower side (lower end) of the upper housing 16a and a part of an upper side (upper end) of the lower housing 16b are rotatably connected. Therefore, for example, when the game is not played, if the upper housing 16a is rotated and folded so that the display surface of the LCD 12 and the display surface of the LCD 14 face each other, the display surface of the LCD 12 and the display surface of the LCD 14 are displayed. Damage such as scratches can be prevented. However, the upper housing 16a and the lower housing 16b may be formed as a housing 16 in which they are integrally (fixed) provided without being rotatably connected.

そして、上側ハウジング16aと下側ハウジング16bとの連結部の中央には、マイク(図示せず)のためのマイク孔20cが形成される。マイクから取り込んだ音、音声または息などによる音声信号に基づいてゲーム処理を行うことが可能である。   A microphone hole 20c for a microphone (not shown) is formed in the center of the connecting portion between the upper housing 16a and the lower housing 16b. It is possible to perform game processing based on sound signals taken from a microphone, sound or breath signals.

また、下側ハウジング16bには、操作スイッチ22(22a,22b,22c,22d,22e,22Lおよび22R)が設けられる。操作スイッチ22は、方向指示スイッチ(十字スイッチ)22a,スタートスイッチ22b、セレクトスイッチ22c、動作スイッチ(Aボタン)22d、動作スイッチ(Bボタン)22e、動作スイッチ(Xボタン)22f、動作スイッチ(Yボタン)22g、動作スイッチ(Lボタン)22Lおよび動作スイッチ(Rボタン)22Rを含む。   The lower housing 16b is provided with operation switches 22 (22a, 22b, 22c, 22d, 22e, 22L and 22R). The operation switch 22 includes a direction switch (cross switch) 22a, a start switch 22b, a select switch 22c, an operation switch (A button) 22d, an operation switch (B button) 22e, an operation switch (X button) 22f, and an operation switch (Y Button) 22g, an operation switch (L button) 22L, and an operation switch (R button) 22R.

スイッチ22aは、下側ハウジング16bの一方主面であり、LCD14の左側に配置される。その他のスイッチ22b−22gは、下側ハウジング16bの一方主面であり、LCD14の右側に配置される。さらに、動作スイッチ22Lおよび22Rは、それぞれ下側ハウジング16bの上端面の左右角部に配置される。なお、動作スイッチ22Lおよび22Rは下側ハウジング16bの背面に設けられており、図2のような正面視では連結部の背後に隠れているので破線で示されている。   The switch 22 a is one main surface of the lower housing 16 b and is disposed on the left side of the LCD 14. The other switches 22b-22g are disposed on the right side of the LCD 14 on one main surface of the lower housing 16b. Further, the operation switches 22L and 22R are respectively arranged at the left and right corners of the upper end surface of the lower housing 16b. Note that the operation switches 22L and 22R are provided on the back surface of the lower housing 16b, and are hidden behind the connecting portion in a front view as shown in FIG.

方向指示スイッチ22aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、ユーザないしプレイヤによって操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)の進行方向(移動方向)を指示したり、カーソルの進行方向を指示したりする等のために用いられる。また、各押圧部には、特定の役割を割り当てることができ、4つの押圧部の1つを操作することによって、割り当てられた役割を指示(指定)することができる。   The direction indicating switch 22a functions as a digital joystick and operates one of the four pressing portions to indicate the traveling direction (moving direction) of the player object (or player character) that can be operated by the user or the player. It is used to indicate the direction of cursor movement. Moreover, a specific role can be assigned to each pressing part, and the assigned role can be instructed (designated) by operating one of the four pressing parts.

スタートスイッチ22bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止(Pause)したりする等に用いられる。また、セレクトスイッチ22cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。   The start switch 22b includes a push button, and is used to start (resume) a game, pause (pause), and the like. The select switch 22c is formed of a push button and is used for selecting a game mode.

動作スイッチ22dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤオブジェクトに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。動作スイッチ22eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ22cで選択したゲームモードの変更やAボタン22dで決定したアクションの取り消し等のために用いられる。   The action switch 22d, that is, the A button is configured by a push button, and can cause an action other than a direction instruction, that is, an arbitrary action such as hitting (punching), throwing, grabbing (obtaining), riding, jumping, etc. it can. For example, in an action game, it is possible to instruct to jump, punch, move a weapon, and the like. In the role playing game (RPG) and the simulation RPG, it is possible to instruct acquisition of items, selection and determination of weapons and commands, and the like. The operation switch 22e, that is, the B button is constituted by a push button, and is used for changing the game mode selected by the select switch 22c, canceling the action determined by the A button 22d, or the like.

動作スイッチ22fすなわちXボタン、および動作スイッチ22gすなわちYボタンは、プッシュボタンで構成され、Aボタン22dとBボタン22eだけでは、ゲーム進行ができないときに、補助的な操作に用いられる。ただし、Xボタン22fおよびYボタン22gは、Aボタン22dおよびBボタン22eと同様の操作に用いることも可能である。もちろん、ゲームプレイにおいてXボタン22fとYボタン22gとを必ずしも使用しなくてよい。   The operation switch 22f, that is, the X button, and the operation switch 22g, that is, the Y button are configured by push buttons, and are used for auxiliary operations when the game cannot be progressed with only the A button 22d and the B button 22e. However, the X button 22f and the Y button 22g can be used for the same operation as the A button 22d and the B button 22e. Of course, the X button 22f and the Y button 22g are not necessarily used in the game play.

動作スイッチ22L(左押しボタン)および動作スイッチ22R(右押しボタン)は、プッシュボタンで構成され、左押しボタン(Lボタン)22Lおよび右押しボタン(Rボタン)22Rは、Aボタン22dおよびBボタン22eと同様の操作に用いることができ、また、Aボタン22dおよびBボタン22eの補助的な操作に用いることができる。さらに、Lボタン22LおよびRボタン22Rは、方向スイッチ22a,Aボタン22d,Bボタン22e,Xボタン22f,Yボタン22gに割り当てられた役割を、他の役割に変更することができる。   The operation switch 22L (left push button) and the operation switch 22R (right push button) are configured by push buttons, and the left push button (L button) 22L and the right push button (R button) 22R are an A button 22d and a B button. It can be used for the same operation as 22e, and can be used for an auxiliary operation of the A button 22d and the B button 22e. Further, the L button 22L and the R button 22R can change the roles assigned to the direction switch 22a, the A button 22d, the B button 22e, the X button 22f, and the Y button 22g to other roles.

また、LCD14の上面には、タッチパネル24が装着される。タッチパネル24としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル24は、その上面をスティック26ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック26等」という場合がある。)で、押圧したり、撫でたり、触れたりすることにより操作(タッチ入力)すると、スティック26等の操作位置の座標を検出して、当該検出座標に対応する座標データを出力する。   A touch panel 24 is attached to the upper surface of the LCD 14. As the touch panel 24, for example, any of a resistive film type, an optical type (infrared type), and a capacitive coupling type can be used. The touch panel 24 is operated by pressing, stroking, or touching the upper surface of the touch panel 24 with a stick 26 or a pen (stylus pen) or a finger (hereinafter, these may be referred to as “stick 26 etc.”). When (touch input) is performed, the coordinates of the operation position of the stick 26 and the like are detected, and coordinate data corresponding to the detected coordinates is output.

なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotである。タッチパネル24の検出精度も表示画面に対応して256dot×192dotとしてあるが、タッチパネル24の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。   In this embodiment, the resolution of the display surface of the LCD 14 (the LCD 12 is the same or substantially the same) is 256 dots × 192 dots. Although the detection accuracy of the touch panel 24 is also 256 dots × 192 dots corresponding to the display screen, the detection accuracy of the touch panel 24 may be lower or higher than the resolution of the display screen.

LCD12およびLCD14には異なるゲーム画面を表示することができる。たとえば、レースゲームでは一方のLCDに運転席からの視点による画面を表示し、他方のLCDにレース(コース)全体の画面を表示することができる。また、RPGでは、一方のLCDにマップやプレイヤオブジェクト等のキャラクタを表示し、他方のLCDにプレイヤオブジェクトが所有するアイテムを表示することができる。さらに、一方のLCDにプレイヤオブジェクトやノンプレイヤオブジェクトなどを含むゲーム画面を表示し、他方のLCDに当該プレイヤオブジェクトやノンプレイヤオブジェクトに関する情報を含む他のゲーム画面または当該プレイヤオブジェクトを操作するための操作画面を表示することができる。さらには、2つのLCD12およびLCD14を合わせて1つの画面として用いることにより、プレイヤオブジェクトが倒さなければならない巨大な怪物(敵オブジェクト)を表示することもできる。   Different game screens can be displayed on the LCD 12 and the LCD 14. For example, in a racing game, a screen from the viewpoint of the driver's seat can be displayed on one LCD, and the entire race (course) screen can be displayed on the other LCD. In RPG, a character such as a map or a player object can be displayed on one LCD, and an item owned by the player object can be displayed on the other LCD. Further, a game screen including a player object or a non-player object is displayed on one LCD, and another game screen including information on the player object or the non-player object or an operation for operating the player object is displayed on the other LCD. A screen can be displayed. Furthermore, by using the two LCDs 12 and 14 together as one screen, it is possible to display a huge monster (enemy object) that the player object must defeat.

したがって、プレイヤはスティック26等でタッチパネル24を操作することにより、LCD14の画面に表示されるプレイヤオブジェクト、敵オブジェクト、アイテムオブジェクト、操作オブジェクトなどの画像を指示(操作)したり、コマンドを選択(入力)したりすることができる。また、仮想ゲーム空間(3次元ゲーム空間)に設けられる仮想カメラ(視点)の方向(視線の向き)を変化させたり、ゲーム画面(マップ)のスクロール(徐々に移動表示)方向を指示したりすることもできる。   Therefore, when the player operates the touch panel 24 with the stick 26 or the like, the player designates (operates) images such as player objects, enemy objects, item objects, and operation objects displayed on the screen of the LCD 14, and selects (inputs) commands. ). Also, the direction of the virtual camera (viewpoint) provided in the virtual game space (three-dimensional game space) (the direction of the line of sight) is changed, and the direction of scrolling (gradual movement display) of the game screen (map) is indicated. You can also.

なお、ゲームの種類によっては、タッチパネル24を用いることにより、その他の入力指示も可能である。たとえば、LCD14上のタッチパネル24において文字,数字,記号等を手書き入力することができる。   Depending on the type of game, other input instructions can be given by using the touch panel 24. For example, characters, numbers, symbols, and the like can be input by handwriting on the touch panel 24 on the LCD 14.

このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル24が設けられるので、2画面(12,14)と2系統の操作部(22,24)とを有する構成になっている。   As described above, the game apparatus 10 includes the LCD 12 and the LCD 14 serving as a display unit for two screens, and the touch panel 24 is provided on the upper surface of either one (in this embodiment, the LCD 14). 14) and two operation units (22, 24).

なお、この実施例では、第1のLCD12と第2のLCD14とを縦方向に並べて配置するようにしているが、2つのLCDの配置は適宜に変更され得る。他の実施例では、第1のLCD12と第2のLCD14とを横方向に並べて配置するようにしてもよい。   In this embodiment, the first LCD 12 and the second LCD 14 are arranged side by side in the vertical direction, but the arrangement of the two LCDs can be changed as appropriate. In another embodiment, the first LCD 12 and the second LCD 14 may be arranged side by side in the horizontal direction.

また、この実施例では、2つのLCDを設けるようにしていたが、表示手段としてのLCDの数は適宜変更され得る。他の実施例では、縦長形状の1つのLCDを設けて、表示領域を上下に分けて、2つのゲーム画面をそれぞれの表示領域に表示するようにしてもよいし、あるいは、横長形状の1つのLCDを設けて、表示領域を左右に分割し、2つゲーム画面をそれぞれの表示領域に表示するようにしてもよい。   In this embodiment, two LCDs are provided, but the number of LCDs as display means can be changed as appropriate. In another embodiment, a vertically long LCD may be provided so that the display area is divided into upper and lower parts and two game screens are displayed in the respective display areas. An LCD may be provided so that the display area is divided into left and right, and two game screens are displayed in the respective display areas.

また、スティック26は、たとえば下側ハウジング16bに設けられる収納部(図示せず)に収納することができ、必要に応じて取り出される。ただし、スティック26を設けない場合には、その収納部も設ける必要はない。   Further, the stick 26 can be housed in a housing portion (not shown) provided in the lower housing 16b, for example, and taken out as necessary. However, when the stick 26 is not provided, it is not necessary to provide the storage portion.

さらに、ゲーム装置10はメモリカード(またはカートリッジ)28を含み、このメモリカード28はゲーム装置10に装着可能な記憶媒体であり、下側ハウジング16bの上端面に設けられる挿入部30(図2では点線で示す)に挿入される。挿入部30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ60と接合するためのコネクタ32(図3参照)が設けられており、したがって、メモリカード28が挿入部30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPU34(図3参照)がメモリカード28にアクセス可能となる。   Furthermore, the game apparatus 10 includes a memory card (or cartridge) 28. The memory card 28 is a storage medium that can be attached to the game apparatus 10, and an insertion portion 30 (in FIG. 2) provided on the upper end surface of the lower housing 16b. (Shown by dotted line). A connector 32 (see FIG. 3) for joining to the connector 60 provided at the distal end in the insertion direction of the memory card 28 is provided at the back of the insertion unit 30, so that the memory card 28 is connected to the insertion unit 30. When inserted, the connectors are joined together, and the CPU 34 (see FIG. 3) of the game apparatus 10 can access the memory card 28.

なお、図1では省略するが、たとえば、下側ハウジング16bにおいて、その裏面には電池収容ボックスが設けられ、下端面(底面)には、音量スイッチおよびイヤフォンジャックなどが設けられ、上端面(天面)には、外部拡張コネクタなどが設けられる。   Although not shown in FIG. 1, for example, in the lower housing 16b, a battery storage box is provided on the back surface thereof, and a volume switch and an earphone jack are provided on the lower end surface (bottom surface). Surface) is provided with an external expansion connector or the like.

図3はゲーム装置10の電気的な構成を示すブロック図である。この図3を参照して、ゲーム装置10は電子回路基板38を含み、この電子回路基板38には上述のCPU34等の回路コンポーネントが実装される。CPU34は、バス40を介して前述のコネクタ32に接続されるととともに、RAM42、第1のグラフィック処理ユニット(GPU)44、第2のGPU46、入出カインターフェース回路(以下、「I/F回路」という。)48、LCDコントローラ50および無線通信部58に接続される。   FIG. 3 is a block diagram showing an electrical configuration of the game apparatus 10. Referring to FIG. 3, game device 10 includes an electronic circuit board 38 on which circuit components such as CPU 34 described above are mounted. The CPU 34 is connected to the above-described connector 32 via the bus 40, and also includes a RAM 42, a first graphic processing unit (GPU) 44, a second GPU 46, an input / output interface circuit (hereinafter referred to as “I / F circuit”). 48), connected to the LCD controller 50 and the wireless communication unit 58.

コネクタ32には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、メモリコントローラ62およびフラッシュメモリ64を含み、メモリコントローラ62はバスを介してフラッシュメモリ64およびコネクタ60と接続される。したがって、上述したように、CPU34は、メモリコントローラ62を介してフラッシュメモリ64にアクセスすることができる。   As described above, the memory card 28 is detachably connected to the connector 32. The memory card 28 includes a memory controller 62 and a flash memory 64, and the memory controller 62 is connected to the flash memory 64 and the connector 60 via a bus. Therefore, as described above, the CPU 34 can access the flash memory 64 via the memory controller 62.

メモリコントローラ62は、フラッシュメモリ64の書込みおよび読出しを制御する制御装置である。メモリコントローラ66は内部メモリとしてRAM66を有する。   The memory controller 62 is a control device that controls writing and reading of the flash memory 64. The memory controller 66 has a RAM 66 as an internal memory.

フラッシュメモリ64は、ゲーム装置10で実行すべきゲームのためのゲームプログラム、画像データ(文字やオブジェクトの画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像など)およびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。また、後述するように、フラッシュメモリ64には、ダウンロードしたデータを保存するための領域や、そのゲームの途中データやゲームの結果データなどのバックアップデータを記憶するための領域が設けられている。また、この実施例ではフラッシュメモリ64としてNAND型フラッシュメモリが適用される。他の実施例では、他の不揮発性メモリが適用されてよい。   The flash memory 64 is a game program for a game to be executed on the game apparatus 10, image data (character or object image, background image, item image, icon (button) image, message image, etc.), and sound necessary for the game. (Music) data (sound data) and the like are stored in advance. Further, as will be described later, the flash memory 64 is provided with an area for storing downloaded data and an area for storing backup data such as mid-game data and game result data. In this embodiment, a NAND flash memory is applied as the flash memory 64. In other embodiments, other non-volatile memories may be applied.

ゲーム装置10のRAM42は、バッファメモリやワーキングメモリとして使用される。つまり、CPU34は、メモリカード28に記憶されたゲームプログラム、画像データおよび音データ等をRAM42にロードし、ロードしたゲームプログラムを実行する。また、CPU34は、ゲームの進行に応じて一時的に生成するデータ(ゲームデータやフラグデータ)をRAM42に記憶しつつゲーム処理を実行する。   The RAM 42 of the game apparatus 10 is used as a buffer memory or a working memory. That is, the CPU 34 loads the game program, image data, sound data, and the like stored in the memory card 28 into the RAM 42 and executes the loaded game program. Further, the CPU 34 executes the game process while storing in the RAM 42 data (game data and flag data) that is temporarily generated in accordance with the progress of the game.

なお、ゲームプログラム、画像データおよび音データ等は、メモリカード28から一度に全部または部分的にかつ順次的に読み出され、RAM42に記憶される。   Note that the game program, image data, sound data, and the like are read from the memory card 28 all at once or partially and sequentially and stored in the RAM 42.

ただし、ゲーム装置10ではゲーム以外の他のアプリケーションが実行されてよく、この場合、メモリカード28のフラッシュメモリ64には、当該アプリケーションについてのプログラムおよび画像データ等の必要なデータが記憶されてよい。また、必要に応じて、音(音楽)データが記憶されてもよい。   However, the game apparatus 10 may execute an application other than the game. In this case, the flash memory 64 of the memory card 28 may store necessary data such as a program and image data for the application. Further, sound (music) data may be stored as necessary.

GPU44およびGPU46は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPU34からのグラフィックスコマンド(作画命令)を受け、そのグラフィックスコマンドに従って画像データを生成する。ただし、CPU34は、グラフィックスコマンドに加えて、画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU44およびGPU46のそれぞれに与える。   Each of the GPU 44 and the GPU 46 forms part of a drawing unit, and is composed of, for example, a single chip ASIC, receives a graphics command (drawing command) from the CPU 34, and generates image data according to the graphics command. However, the CPU 34 gives each of the GPU 44 and the GPU 46 an image generation program (included in the game program) necessary for generating image data in addition to the graphics command.

また、GPU44には、第1のビデオRAM(以下、「VRAM」という。)52が接続され、GPU46には、第2のVRAM54が接続される。GPU44およびGPU46が作画コマンドを実行するにあたって必要なデータ(画像データ:ポリゴンやテクスチャ等のデータ)は、GPU44およびGPU46が、それぞれ、第1のVRAM52および第2のVRAM54にアクセスして取得する。   The GPU 44 is connected to a first video RAM (hereinafter referred to as “VRAM”) 52, and the GPU 46 is connected to a second VRAM 54. Data (image data: data such as polygons and textures) necessary for the GPU 44 and the GPU 46 to execute the drawing command is obtained by the GPU 44 and the GPU 46 accessing the first VRAM 52 and the second VRAM 54, respectively.

なお、CPU34は、描画に必要な画像データをGPU44およびGPU46を介して第1のVRAM52および第2のVRAM54に書き込む。GPU44はVRAM52にアクセスして描画のための画像データを作成し、その画像データをVRAM52の描画バッファに記憶する。GPU46はVRAM54にアクセスして描画のための画像データを作成し、その画像データをVRAM54の描画バッファに記憶する。描画バッファとしてはフレームバッファまたはラインバッファ等が採用されてよい。   Note that the CPU 34 writes image data necessary for drawing into the first VRAM 52 and the second VRAM 54 via the GPU 44 and the GPU 46. The GPU 44 accesses the VRAM 52 to create image data for drawing, and stores the image data in the drawing buffer of the VRAM 52. The GPU 46 accesses the VRAM 54 to create image data for drawing, and stores the image data in the drawing buffer of the VRAM 54. A frame buffer or a line buffer may be employed as the drawing buffer.

VRAM52およびVRAM54は、LCDコントローラ50に接続される。LCDコントローラ50はレジスタ56を含み、レジスタ56はたとえば1ビットで構成され、CPU34の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ50は、レジスタ56のデータ値が「0」である場合には、GPU44によって作成された画像データをLCD12に出力し、GPU46によって作成された画像データをLCD14に出力する。また、LCDコントローラ50は、レジスタ56のデータ値が「1」である場合には、GPU44によって作成された画像データをLCD14に出力し、GPU46によって作成された画像データをLCD12に出力する。   The VRAM 52 and VRAM 54 are connected to the LCD controller 50. The LCD controller 50 includes a register 56. The register 56 is composed of, for example, 1 bit, and stores a value (data value) of “0” or “1” according to an instruction from the CPU 34. When the data value of the register 56 is “0”, the LCD controller 50 outputs the image data created by the GPU 44 to the LCD 12, and outputs the image data created by the GPU 46 to the LCD 14. When the data value of the register 56 is “1”, the LCD controller 50 outputs the image data created by the GPU 44 to the LCD 14 and the image data created by the GPU 46 to the LCD 12.

なお、LCDコントローラ50は、VRAM52およびVRAM54から直接画像データを読み出したり、GPU44およびGPU46を介してVRAM52およびVRAM54から画像データを読み出したりする。   The LCD controller 50 reads image data directly from the VRAM 52 and VRAM 54, and reads image data from the VRAM 52 and VRAM 54 via the GPU 44 and GPU 46.

また、VRAM52およびVRAM54はRAM42に設けられてもよいし、あるいはその描画バッファおよびZバッファがRAM42に設けられてもよい。   The VRAM 52 and the VRAM 54 may be provided in the RAM 42, or the drawing buffer and the Z buffer may be provided in the RAM 42.

I/F回路48には、操作スイッチ22,タッチパネル24およびスピーカ36a,36bが接続される。ここで、操作スイッチ22は、上述したスイッチ22a,22b,22c,22d,22e,22g,22Lおよび22Rであり、操作スイッチ22が操作されると、対応する操作信号(操作データ)がI/F回路48を介してCPU34に入力される。また、タッチパネル24からの座標データがI/F回路48を介してCPU34に入力される。さらに、CPU34は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM42から読み出し、I/F回路48を介してスピーカ36a,36bから当該音を出力する。   The operation switch 22, the touch panel 24, and the speakers 36a and 36b are connected to the I / F circuit 48. Here, the operation switch 22 is the above-described switches 22a, 22b, 22c, 22d, 22e, 22g, 22L and 22R. When the operation switch 22 is operated, a corresponding operation signal (operation data) is I / F. This is input to the CPU 34 via the circuit 48. In addition, coordinate data from the touch panel 24 is input to the CPU 34 via the I / F circuit 48. Further, the CPU 34 reads out sound data necessary for the game, such as game music (BGM), sound effects or sound of the game character (pseudo-sound), from the RAM 42, and outputs the sound from the speakers 36 a and 36 b via the I / F circuit 48. Is output.

無線通信部58は他のゲーム装置10や通信機器等との間で無線によってデータを送受信するための通信手段である。なお、ゲーム装置10が送受信する微弱電波は、電波法による規制のかからない強度に設定されている。CPU34がゲームデータやコマンドなどのデータを無線通信部58に与えると、無線通信部58は、相手方へのデータを無線信号に変調してアンテナから送信する。また、無線通信部58は、相手方からの無線信号を同じアンテナで受信してデータに復調し、当該データをCPU34に与える。この無線通信部58を用いて、ゲーム装置10は、他のゲーム装置10との間でデータを通信しつつ通信ゲームを実行することが可能である。また、ゲーム装置10は、上述のように、無線通信部58を介してアクセスポイント104およびネットワーク106に接続することができ、ネットワーク106上のサーバ102からプログラムやデータをダウンロードしたり、ネットワーク106を介して他のゲーム装置10と通信したりすることが可能である。   The wireless communication unit 58 is a communication means for transmitting and receiving data wirelessly with other game apparatuses 10 and communication devices. Note that the weak radio wave transmitted and received by the game apparatus 10 is set to an intensity that is not restricted by the Radio Law. When the CPU 34 gives game data or data such as a command to the wireless communication unit 58, the wireless communication unit 58 modulates data to the other party into a wireless signal and transmits it from the antenna. The wireless communication unit 58 receives a radio signal from the other party with the same antenna, demodulates it into data, and gives the data to the CPU 34. Using the wireless communication unit 58, the game apparatus 10 can execute a communication game while communicating data with other game apparatuses 10. In addition, as described above, the game apparatus 10 can be connected to the access point 104 and the network 106 via the wireless communication unit 58, and can download programs and data from the server 102 on the network 106, It is possible to communicate with other game apparatuses 10 through the network.

このシステム10では、サーバ102からダウンロードしたデータを書き込むための所定の領域がメモリカード28のフラッシュメモリ64に設けられる。また、ゲーム(アプリケーション)の実行中に生成されるバックアップデータを書き込むための所定の領域がフラッシュメモリ64に設けられる。図4にフラッシュメモリ64のメモリマップの一例が示される。フラッシュメモリ64にはインフォメーション領域200、ゲーム領域202、ダウンロード領域204およびバックアップ領域206等が設けられる。なお、図4はメモリマップの一部を示しており、他の領域が設けられ得る。   In this system 10, a predetermined area for writing data downloaded from the server 102 is provided in the flash memory 64 of the memory card 28. In addition, a predetermined area for writing backup data generated during the execution of the game (application) is provided in the flash memory 64. FIG. 4 shows an example of a memory map of the flash memory 64. The flash memory 64 is provided with an information area 200, a game area 202, a download area 204, a backup area 206, and the like. FIG. 4 shows a part of the memory map, and other areas can be provided.

ダウンロード領域204がサーバ102からダウンロードしたデータを書き込むための領域であり、バックアップ領域206がバックアップデータを書き込むための領域である。なお、インフォメーション領域200には、後述の図8のように、フラッシュメモリ64のヘッダ情報や所定のデータが予め記憶される。また、ゲーム領域202には、ゲームプログラムやデータが予め記憶される。ゲームプログラムは、たとえば、ゲーム処理プログラム、ダウンロード処理プログラム、およびバックアップ処理プログラムなどを含んでいる。   The download area 204 is an area for writing data downloaded from the server 102, and the backup area 206 is an area for writing backup data. In the information area 200, header information and predetermined data of the flash memory 64 are stored in advance as shown in FIG. The game area 202 stores game programs and data in advance. The game program includes, for example, a game processing program, a download processing program, a backup processing program, and the like.

このフラッシュメモリ64に設けられた書込み領域に対して段階的なセキュリティをかけることができるように、メモリコントローラ62の動作をモードに応じて制御するようにしている。各モードではメモリコントローラ62の実行可能な動作が限られ、必要な動作を実行するためにはモードを切替える必要がある。メモリコントローラ62のモード遷移の概要が図5に示されている。メモリコントローラ62は、この実施例では、ゲームモード、DL(Download)セキュアモード、ダウンロードモードおよびバックアップモード等を有する。メモリコントローラ62は、外部(ホストであるCPU34、またはネットワーク106上のサーバ102)から与えられる各種の遷移コマンドに応じて、そのモードを遷移させるようになっている。なお、CPU34は、メモリカード28に記憶されるアプリケーションプログラム(ゲーム装置10内に記憶されるプログラムでもよい)を実行することにより遷移コマンドを発行する。   The operation of the memory controller 62 is controlled according to the mode so that stepwise security can be applied to the write area provided in the flash memory 64. In each mode, the executable operation of the memory controller 62 is limited, and the mode needs to be switched in order to execute a necessary operation. An outline of mode transition of the memory controller 62 is shown in FIG. In this embodiment, the memory controller 62 has a game mode, a DL (Download) secure mode, a download mode, a backup mode, and the like. The memory controller 62 shifts its mode in accordance with various transition commands given from the outside (the CPU 34 as the host or the server 102 on the network 106). The CPU 34 issues a transition command by executing an application program stored in the memory card 28 (or a program stored in the game apparatus 10).

ゲームモードは、通常のモードである。メモリコントローラ62は、たとえばゲーム装置10の電源がオンされたときに、当該ゲーム装置10から電力が供給されてメモリコントローラ62が起動する。メモリコントローラ62は、起動すると、このゲームモードに置かれ、ゲーム実行中も基本的には(より具体的には、フラッシュメモリにデータを書き込む必要がないときには)このゲームモードにある。ゲーム実行中はフラッシュメモリ64からプログラムおよびデータを必要に応じて読み出す必要があるので、このゲームモードでは、フラッシュメモリ64からの読出しが高速に行えるようにするのが望ましい。このため、このゲームモードでは、メモリコントローラ62に与えられるコマンドは、暗号化されなくてもよいが、コマンドを暗号化する場合でも、処理負担の軽いアルゴリズムで暗号化する程度のセキュリティがかけられればよい。なお、ゲームモードでは、たとえホスト(CPU34)がフラッシュメモリ64へのデータ書込みコマンドを発行したとしても、メモリコントローラ62は当該コマンドを受け付けないため、フラッシュメモリ64にデータを書き込むことはできない。   The game mode is a normal mode. For example, when the power of the game apparatus 10 is turned on, the memory controller 62 is powered by the game apparatus 10 and the memory controller 62 is activated. When activated, the memory controller 62 is placed in this game mode, and is basically in this game mode even during game execution (more specifically, when there is no need to write data to the flash memory). Since it is necessary to read the program and data from the flash memory 64 as necessary during the execution of the game, it is desirable that reading from the flash memory 64 can be performed at high speed in this game mode. Therefore, in this game mode, the command given to the memory controller 62 does not have to be encrypted. However, even when the command is encrypted, it is sufficient if the security to the extent that it is encrypted with an algorithm with a light processing burden is applied. Good. In the game mode, even if the host (CPU 34) issues a data write command to the flash memory 64, the memory controller 62 does not accept the command and therefore cannot write data to the flash memory 64.

ゲーム実行中にプレイヤの選択またはプログラムに従ってサーバ102からデータをダウンロードする場合のために、フラッシュメモリ64にはダウンロードしたデータを書き込むためのダウンロード領域204が設けられている。ダウンロードする場合、フラッシュメモリ64を不正アクセスから保護するために、セキュリティ度を高める必要がある。そこで、メモリコントローラ62を、フラッシュメモリ64へのアクセスが容易なゲームモードから、セキュリティ度の高いモードに遷移させる。   In order to download data from the server 102 according to the player's selection or program during game execution, the flash memory 64 is provided with a download area 204 for writing the downloaded data. When downloading, it is necessary to increase the security level in order to protect the flash memory 64 from unauthorized access. Therefore, the memory controller 62 is shifted from a game mode in which access to the flash memory 64 is easy to a mode with a high security level.

また、ダウンロードデータを書き込むことのできるダウンロードモードにゲームモードからいきなり遷移させるのではなく、この実施例では、ダウンロードの際に2段階のセキュリティをかけることができるように、別のモード、すなわち、DLセキュアモードを介在させるようにしている。   Also, instead of sudden transition from the game mode to the download mode in which the download data can be written, in this embodiment, another mode, ie, DL, is provided so that two levels of security can be applied at the time of download. Secure mode is interposed.

具体的には、ゲームモードにおいてgCHG_DL_MODEコマンドがメモリコントローラ62に与えられると、メモリコントローラ62はゲームモードからDLセキュアモードに遷移する。なお、gCHG_DL_MODEコマンドは、ゲームモードからDLセキュアモードへ遷移させるための遷移コマンドであり、ゲーム装置10のCPU34によって発行される。   Specifically, when a gCHG_DL_MODE command is given to the memory controller 62 in the game mode, the memory controller 62 transitions from the game mode to the DL secure mode. The gCHG_DL_MODE command is a transition command for making a transition from the game mode to the DL secure mode, and is issued by the CPU 34 of the game apparatus 10.

DLセキュアモードは、ダウンロードの際のセキュリティ度を高めるために設けられたモードである。このDLセキュアモードで、メモリコントローラ62に与えられるコマンドは暗号化される。具体的には、暗号化されたdsCHG_MODEコマンドがメモリコントローラ62に与えられる。なお、dsCHG_MODEコマンドは、DLセキュアモードからダウンロードモードに遷移するための遷移コマンドである。このダウンロードモードへの遷移コマンドは、ゲーム装置10のCPU34から発行されるのではなく、サーバ102で暗号化されてサーバ102から送信される。なお、ゲーム装置10のCPU34はdsCHG_MODEコマンドを生成することができない。なぜなら、dsCHG_MODEコマンドは暗号化された状態でメモリコントローラ62に与えられるべきものであり、ゲーム装置10のCPU34は当該暗号化のための鍵データを有しないためである。メモリコントローラ62は、DLセキュアモードで受信したコマンドを復号化し、そのコマンドがdsCHG_MODEコマンドであれば、ダウンロードモードに遷移する。この遷移コマンドの暗号のために、サーバ102およびメモリカード28は共通キーを記憶している。   The DL secure mode is a mode provided to increase the security level at the time of downloading. In this DL secure mode, the command given to the memory controller 62 is encrypted. Specifically, an encrypted dsCHG_MODE command is given to the memory controller 62. The dsCHG_MODE command is a transition command for transitioning from the DL secure mode to the download mode. The transition command to the download mode is not issued from the CPU 34 of the game apparatus 10 but is encrypted by the server 102 and transmitted from the server 102. Note that the CPU 34 of the game apparatus 10 cannot generate the dsCHG_MODE command. This is because the dsCHG_MODE command is to be given to the memory controller 62 in an encrypted state, and the CPU 34 of the game apparatus 10 does not have key data for the encryption. The memory controller 62 decrypts the command received in the DL secure mode, and transitions to the download mode if the command is a dsCHG_MODE command. For encryption of the transition command, the server 102 and the memory card 28 store a common key.

このように、DLセキュアモードからダウンロードモードへの遷移に対してセキュリティをかけることができる。また、DLセキュアモードへの遷移コマンドをホストであるCPU34から発行し、ダウンロードモードへの遷移コマンドをサーバ102から発行するようにしており、つまり、CPU34とサーバ102の協働によってダウンロードモードへの遷移を可能にしているので、さらにセキュリティ度を高めることができる。   In this way, security can be applied to the transition from the DL secure mode to the download mode. In addition, a transition command to the DL secure mode is issued from the host CPU 34, and a transition command to the download mode is issued from the server 102. That is, the transition to the download mode is performed by the cooperation of the CPU 34 and the server 102. This makes it possible to further increase the security level.

ダウンロードモードでは、サーバからダウンロードしたデータがダウンロード領域204に書き込まれることとなる。ダウンロードされるデータはサーバで暗号化されて送信され、受信したデータはメモリコントローラ62によって復号化される。このように、ダウンロードするデータに対してセキュリティをかけることができる。また、DLセキュアモードでの暗号のキーとダウンロードモードでの暗号のキーとを変えるので、2段階のセキュリティが存在することとなり、遷移コマンドとデータとに別々のセキュリティをかけることができる。   In the download mode, data downloaded from the server is written to the download area 204. The downloaded data is transmitted after being encrypted by the server, and the received data is decrypted by the memory controller 62. Thus, security can be applied to the data to be downloaded. In addition, since the encryption key in the DL secure mode and the encryption key in the download mode are changed, there are two levels of security, and it is possible to apply different security to the transition command and data.

ダウンロードデータは、上述のようにサーバで暗号化されており、CPU34は、当該暗号化されたデータを受信するとメモリコントローラ62に転送する。このデータの書込みのために、CPU34は、書込みコマンド(dWR_PAGEコマンド)を発行する。当該書込みコマンドに応じて、メモリコントローラ62は、データの復号化など、データを書き込むための処理を実行する。受信したデータが正当なデータであることが認証されれば、メモリコントローラ62は、当該データをダウンロード領域204に書き込む。このダウンロード領域204への書込みは、ダウンロードモードにおいてのみ可能である。メモリコントローラ62は、CPU34の発行する書込みコマンドをダウンロードモードにおいてのみ受け付けるようになっており、したがって、他のモードではダウンロード領域204への書込みは行えない。   The download data is encrypted by the server as described above, and the CPU 34 transfers the encrypted data to the memory controller 62 when receiving the encrypted data. In order to write this data, the CPU 34 issues a write command (dWR_PAGE command). In response to the write command, the memory controller 62 executes a process for writing data, such as data decoding. If the received data is authenticated as valid data, the memory controller 62 writes the data in the download area 204. Writing to the download area 204 is possible only in the download mode. The memory controller 62 accepts a write command issued by the CPU 34 only in the download mode, and therefore cannot write to the download area 204 in other modes.

所定のデータを書き込んだ後に、dlCHG_MODEコマンドに応じてメモリコントローラ62はゲームモードに遷移する。なお、dlCHG_MODEコマンドは、ダウンロードモードからゲームモードに遷移させるための遷移コマンドであり、CPU34から発行される。   After writing predetermined data, the memory controller 62 shifts to the game mode in response to the dlCHG_MODE command. The dlCHG_MODE command is a transition command for making a transition from the download mode to the game mode, and is issued from the CPU 34.

このようなダウンロードの場合のモードの遷移において、フラッシュメモリ64に対するアクセスの可否状態が変化される。図6には、ダウンロードモードに遷移する場合のフラッシュメモリ64のメモリマップの変化が示されている。まず、ゲームモードにおいては、ゲーム領域202およびダウンロード領域204は読出しのみ可能にされている。そして、gCHG_DL_MODEコマンドに応じてDLセキュアモードに遷移したとき、全領域が読出しおよび書込みの不可能な状態にされる。このようなフラッシュメモリ64の全領域へのアクセスが不可能にされた状態で、暗号化されたdsCHG_MODEコマンドの処理が行われることとなる。そして、dsCHG_MODEコマンドに応じてダウンロードモードに遷移したときには、ダウンロード領域202がアクセス可能な状態にされる。しかも、この実施例では、ダウンロード領域202のうち、dsCHG_MODEコマンドで指定されたブロックのみがアクセス可能にされる。このように、モードの遷移に応じて、フラッシュメモリ64の各領域に対して、読出しおよび書込み可能な状態を変化させ、つまり、モードごとにメモリマップを変化させるようにしたので、セキュリティ度を高めることができる。   In such a mode transition in the case of download, the accessibility state of the flash memory 64 is changed. FIG. 6 shows a change in the memory map of the flash memory 64 when transitioning to the download mode. First, in the game mode, the game area 202 and the download area 204 can only be read. Then, when the mode transits to the DL secure mode in response to the gCHG_DL_MODE command, the entire area is made in a state where reading and writing are impossible. The encrypted dsCHG_MODE command is processed in such a state that access to the entire area of the flash memory 64 is disabled. When the transition to the download mode is made in response to the dsCHG_MODE command, the download area 202 is made accessible. In addition, in this embodiment, only the block specified by the dsCHG_MODE command in the download area 202 is made accessible. As described above, according to the mode transition, the readable / writable state is changed for each area of the flash memory 64, that is, the memory map is changed for each mode, so that the degree of security is increased. be able to.

一方、ゲーム実行中にはCPU34はゲームのバックアップデータを生成する。このバックアップデータを書き込むためのバックアップ領域206がフラッシュメモリ64に設けられている。バックアップ領域206への書込み自体は本来ローカルなものであるが、このバックアップ領域206に対して、たとえばネットワーク106上から不正に入手したプログラムデータが書き込まれてしまうおそれがある。このバックアップ領域206の不正利用を防止するために、バックアップ領域206のセキュリティ度を上げる。   On the other hand, during the game execution, the CPU 34 generates game backup data. A backup area 206 for writing the backup data is provided in the flash memory 64. Although the writing to the backup area 206 itself is local in nature, there is a possibility that program data obtained illegally from the network 106 may be written to the backup area 206, for example. In order to prevent unauthorized use of the backup area 206, the security level of the backup area 206 is increased.

図5に示すように、バックアップ領域206に対する書込みまたは読出しのために、メモリコントローラ62は、gCHG_BK_MODEコマンドに応じて、ゲームモードからバックアップモードに遷移される。なお、このgCHG_BK_MODEコマンドは、ゲームモードからバックアップモードに遷移させるための遷移コマンドであり、ホストであるCPU34がメモリコントローラ62に発行する。また、bCHG_MODEコマンドに応じて、メモリコントローラ62はゲームモードに遷移する。なお、このbCHG_MODEコマンドは、バックアップモードからゲームモードに遷移させるための遷移コマンドであり、ホストであるCPU34がメモリコントローラ62に発行する。   As shown in FIG. 5, in order to write to or read from the backup area 206, the memory controller 62 transitions from the game mode to the backup mode in response to the gCHG_BK_MODE command. The gCHG_BK_MODE command is a transition command for making a transition from the game mode to the backup mode, and is issued to the memory controller 62 by the CPU 34 as the host. Further, in response to the bCHG_MODE command, the memory controller 62 transitions to the game mode. The bCHG_MODE command is a transition command for making a transition from the backup mode to the game mode, and is issued to the memory controller 62 by the CPU 34 as the host.

バックアップモードでは、データを書き込む際には、CPU34によって書込みデータが所定のフォーマットに変換され、当該所定のフォーマットのデータがメモリコントローラ62によってバックアップ領域206に書き込まれる。一方、データを読み出す際には、メモリコントローラ62によって、読み出したデータが所定のフォーマットであるか否かが判定される。データが所定のフォーマットであると判定される場合には当該データはCPU34に出力される。   In the backup mode, when data is written, the write data is converted into a predetermined format by the CPU 34, and the data in the predetermined format is written into the backup area 206 by the memory controller 62. On the other hand, when reading data, the memory controller 62 determines whether or not the read data is in a predetermined format. When it is determined that the data has a predetermined format, the data is output to the CPU 34.

しかし、データが所定のフォーマットでないと判定される場合には、当該データはバックアップ領域に不正に書き込まれたデータであるとみなされ、メモリコントローラ62はイリーガルモードに遷移する。イリーガルモードに遷移すると、当該データは出力されず、したがって、バックアップ領域の不正利用を防止することができる。   However, if it is determined that the data is not in a predetermined format, the data is regarded as data that has been illegally written in the backup area, and the memory controller 62 transitions to the illegal mode. When the transition to the illegal mode is made, the data is not output, and therefore, unauthorized use of the backup area can be prevented.

なお、この実施例では、書込まれていたデータが所定のフォーマットでないと判定されるとき、メモリコントローラ62が何らデータを出力しないようにしているが、他の実施例では、メモリコントローラ62が、不正データであることを示す所定のデータをCPU34に出力するようにして、不正な書込みデータであることをCPU34が認識できるようにしてもよい。この場合にも、書込まれていたデータが正常に出力されないので、バックアップ領域206を不正利用から保護することができる。   In this embodiment, when it is determined that the written data is not in a predetermined format, the memory controller 62 does not output any data. In other embodiments, the memory controller 62 Predetermined data indicating that the data is illegal may be output to the CPU 34 so that the CPU 34 can recognize that the data is illegal. Also in this case, since the written data is not normally output, the backup area 206 can be protected from unauthorized use.

このようなバックアップの場合のモードの遷移においても、フラッシュメモリ64に対するアクセスの可否状態が変化される。図7には、バックアップモードに遷移する場合のフラッシュメモリ64のメモリマップの変化が示されている。ゲームモードでは、ゲーム領域202は読出しのみ可能な状態にされており、バックアップ領域206は、読出しおよび書込みともに不可能な状態にされている。そして、gCHG_BK_MODEコマンドに応じて、バックアップモードに遷移したとき、バックアップ領域206のみがアクセス可能な状態にされる。しかも、この実施例では、バックアップ領域206のうち、gCHG_BK_MODEコマンドで指定されたブロックのみがアクセス可能にされる。ダウンロードの場合と同様に、モードの遷移に応じて、フラッシュメモリ64の各領域に対して、読出しおよび書込み可能な状態を変化させ、つまり、モードごとにメモリマップを変化させるようにしたので、セキュリティ度を高めることができる。   Even in such a mode transition in the case of backup, the access permission / inhibition state of the flash memory 64 is changed. FIG. 7 shows a change in the memory map of the flash memory 64 when transitioning to the backup mode. In the game mode, the game area 202 is in a state where only reading is possible, and the backup area 206 is in a state where reading and writing are impossible. Then, in response to the gCHG_BK_MODE command, only the backup area 206 is made accessible when transitioning to the backup mode. In addition, in this embodiment, only the block specified by the gCHG_BK_MODE command in the backup area 206 is made accessible. As in the case of downloading, the read / write state is changed for each area of the flash memory 64 according to the mode transition, that is, the memory map is changed for each mode. The degree can be increased.

なお、本実施例においては、バックアップモードに遷移した後でないとバックアップ領域206に書込みできないようにした。これは、例えば工場出荷時などにおいて一度書き込んだデータを間違って上書きしてしまわないようにするためである。しかしながら、変形例としては、フラッシュメモリ64のうちバックアップ領域206はゲームモードでも書き込み可能にしてもよい。   In this embodiment, it is possible to write to the backup area 206 only after the transition to the backup mode. This is to prevent data written once at the time of factory shipment from being overwritten by mistake. However, as a modification, the backup area 206 of the flash memory 64 may be writable even in the game mode.

図8にはフラッシュメモリ64のインフォメーション領域200のメモリマップの一例が示される。なお、図8はインフォメーション領域200の一部であり、ゲーム領域202の開始アドレスなど他の必要なデータも記憶されている。   FIG. 8 shows an example of a memory map of the information area 200 of the flash memory 64. FIG. 8 is a part of the information area 200, and other necessary data such as the start address of the game area 202 is also stored.

記憶領域210にはダウンロード領域204の開始アドレスが予め記憶され、記憶領域212にはバックアップ領域206の開始アドレスが予め記憶されている。その他にダウンロード領域204およびバックアップ領域206のサイズまたは終了アドレスなどが記憶されてもよい。ヘッダ情報としては、ダウンロード領域204およびバックアップ領域206のそれぞれと他の領域とを区別することのできるデータ、すなわち、各領域の境界データが記憶されればよい。メモリコントローラ62は、各領域の境界データを参照することによって、各領域を把握してアクセスすることができる。   The storage area 210 stores the start address of the download area 204 in advance, and the storage area 212 stores the start address of the backup area 206 in advance. In addition, the sizes or end addresses of the download area 204 and the backup area 206 may be stored. As the header information, data that can distinguish each of the download area 204 and the backup area 206 from other areas, that is, boundary data of each area may be stored. The memory controller 62 can grasp and access each area by referring to the boundary data of each area.

記憶領域214には、暗号化されたキー1が予め記憶されている。キー1は、DLセキュアモード用のキー(暗号鍵)、つまり、DLセキュアモードにおいて使用されるキーである。このキー1によって、サーバ102で暗号化されたdsCHG_MODEコマンドが復号化される。   In the storage area 214, the encrypted key 1 is stored in advance. The key 1 is a DL secure mode key (encryption key), that is, a key used in the DL secure mode. With this key 1, the dsCHG_MODE command encrypted by the server 102 is decrypted.

なお、フラッシュメモリ64には暗号化されたキーを記憶するようにしているので、メモリカード28からフラッシュメモリ64が抜き取られてデータが不正に読み出されても、キーの内容を読み取られないようにすることができる。   Since the encrypted key is stored in the flash memory 64, even if the flash memory 64 is extracted from the memory card 28 and the data is read illegally, the contents of the key cannot be read. Can be.

記憶領域216には、暗号化されたキー2が予め記憶されている。キー2はダウンロードモード用のキー(暗号鍵)、つまり、ダウンロードモードにおいて使用されるキーである。このキー2によって、サーバ102で暗号化されたダウンロード用データが復号化される。   In the storage area 216, the encrypted key 2 is stored in advance. Key 2 is a key for download mode (encryption key), that is, a key used in download mode. With this key 2, the download data encrypted by the server 102 is decrypted.

記憶領域218には、暗号化されたキー3が予め記憶されている。キー3は、ダウンロード用データのメッセージダイジェスト認証用のキー(暗号鍵)であり、つまり、ダウンロード用データの認証記号としてのメッセージ完全性コード(MIC: Message Integrity Code)を算出するためのキーである。ただし、この実施例では、キー3の一部がキー2の一部と同一になるような構成を採用している。つまり、キー3は、キー2の一部(同一部分を除いた部分)を置き換えることによって得られるキーである。そして、この記憶領域218には、上述のようなキー3の残りの部分(キー2との同一部分を除いた部分)だけを暗号化して記憶するようにしている。MIC算出のために完全なキー3を必要とするときは、記憶領域218のキー3とキー2の同一部分とが使用されるようにしている。   In the storage area 218, the encrypted key 3 is stored in advance. The key 3 is a key (encryption key) for message digest authentication of download data, that is, a key for calculating a message integrity code (MIC) as an authentication symbol of download data. . However, in this embodiment, a configuration in which a part of the key 3 is the same as a part of the key 2 is adopted. That is, the key 3 is a key obtained by replacing a part of the key 2 (a part excluding the same part). In the storage area 218, only the remaining portion of the key 3 as described above (the portion excluding the same portion as the key 2) is encrypted and stored. When the complete key 3 is required for the MIC calculation, the key 3 in the storage area 218 and the same part of the key 2 are used.

記憶領域220には、メモリカード28(フラッシュメモリ64)の識別情報を示すユニークIDが記憶される。また、記憶領域222には、メモリカード28のゲームないしアプリケーションの識別情報を示すゲームIDが記憶される。ゲームIDはゲームのタイトルや種類であってよい。   In the storage area 220, a unique ID indicating identification information of the memory card 28 (flash memory 64) is stored. The storage area 222 stores a game ID indicating identification information of a game or application in the memory card 28. The game ID may be a game title or type.

なお、この実施例では、フラッシュメモリ64には、メモリカード28に固有のキーが記憶される。つまり、ユニークIDに対応するキー1、2および3が記憶されている。他の実施例では、ゲームタイトルに固有のキー、すなわち、ゲームIDに対応するキー1、2および3が記憶されてもよい。   In this embodiment, a key specific to the memory card 28 is stored in the flash memory 64. That is, keys 1, 2, and 3 corresponding to the unique ID are stored. In another embodiment, keys unique to the game title, that is, keys 1, 2 and 3 corresponding to the game ID may be stored.

図9にはメモリコントローラ62の内部RAM66のメモリマップの一例が示される。なお、図9は当該内部RAM66のメモリマップの一部である。   FIG. 9 shows an example of a memory map of the internal RAM 66 of the memory controller 62. FIG. 9 is a part of the memory map of the internal RAM 66.

記憶領域300には現在のモードが記憶される。このモードデータによってメモリコントローラ62は現在のモードを把握することが可能である。コマンドを受信したときには、メモリコントローラ62は、たとえば、当該コマンドの実行の前に、当該コマンドが現在のモードで発行されることを規定されたコマンドであるか否かを判定するようにしてよい。これによって、正規に発行されたコマンドを判別することができる。   The storage area 300 stores the current mode. From this mode data, the memory controller 62 can grasp the current mode. When the command is received, the memory controller 62 may determine, for example, whether or not the command is specified to be issued in the current mode before the execution of the command. This makes it possible to determine a command that has been issued normally.

記憶領域302はキー記憶領域である。現在のモードに応じたキーが記憶される。上述のように、この実施例では、各キーは暗号化されてフラッシュメモリ64のインフォメーション領域200に記憶されているので、メモリコントローラ62は、内部RAM66のワークエリアにキーを読み出して復号化し、当該復号化したキーを記憶領域302に記憶する。また、各キーは、各遷移コマンドに応じて各モードに遷移したときに、この記憶領域302に展開されてよい。   The storage area 302 is a key storage area. The key corresponding to the current mode is stored. As described above, in this embodiment, since each key is encrypted and stored in the information area 200 of the flash memory 64, the memory controller 62 reads and decrypts the key in the work area of the internal RAM 66, and The decrypted key is stored in the storage area 302. Each key may be expanded in this storage area 302 when transitioning to each mode in accordance with each transition command.

具体的には、図10に示すように、DLセキュアモードにおいては、キー記憶領域302には、復号化済みのキー1および復号化済みのキー3(この実施例では、厳密にはキー3の一部)が記憶される。なお、キー1はDLセキュアモード用のキーであるが、この実施例では、ゲームモードにおいても、このキー1を使用して所定のデータ(乱数およびユニークIDもしくはゲームID)を暗号化するようにしているので、ゲームモードのときから既にキー1を記憶領域302に記憶するようにしている。また、キー3は電源オフまで常駐された状態になる。このキー3の一部は、キー2と共用される部分に比べて小さいので、予め展開されるようにしている。なお、ゲームモードからDLセキュアモードに遷移する際には、キー1を再度フラッシュメモリ64から読み出して復号化して、その後記憶領域302に展開するようにしている。これは、何らかの事故で内部RAM66上のデータが書き換わってしまう場合を考慮し、念の為の再展開である。   Specifically, as shown in FIG. 10, in the DL secure mode, the key storage area 302 has the decrypted key 1 and the decrypted key 3 (in this embodiment, strictly speaking, the key 3 Part) is memorized. The key 1 is a key for the DL secure mode, but in this embodiment, the key 1 is used to encrypt predetermined data (random number and unique ID or game ID) even in the game mode. Therefore, the key 1 has already been stored in the storage area 302 since the game mode. The key 3 remains resident until the power is turned off. Since a part of the key 3 is smaller than the part shared with the key 2, it is developed in advance. When the game mode is changed to the DL secure mode, the key 1 is read again from the flash memory 64, decrypted, and then expanded in the storage area 302. This is a re-development to make sure that the data on the internal RAM 66 is rewritten due to some accident.

ダウンロードモードに遷移すると、キー1がキー2に置き換えられる。つまり、キー1が記憶領域302から消去されるとともに、フラッシュメモリ64からキー2をワークエリアに読み出して復号化し、当該復号化したキーを記憶領域302に記憶する。また、キー3はそのまま記憶される。上述のように、キー2は、ダウンロードモードにおけるダウンロード用のデータの暗号のために使用され、一方、キー3は、ダウンロード用のデータのMIC算出のために使用される。この実施例のように、キー2とキー3とで一部を共用することによって、キー記憶領域302のために確保すべき領域のサイズを抑えることができ、結果として内部RAM66の容量を抑制して、コストを低減することができる。   When transitioning to the download mode, key 1 is replaced with key 2. That is, the key 1 is erased from the storage area 302, the key 2 is read from the flash memory 64 into the work area and decrypted, and the decrypted key is stored in the storage area 302. The key 3 is stored as it is. As described above, the key 2 is used for encrypting download data in the download mode, while the key 3 is used for calculating the MIC of the download data. As in this embodiment, by sharing a part between the key 2 and the key 3, the size of the area to be secured for the key storage area 302 can be suppressed, and as a result, the capacity of the internal RAM 66 is suppressed. Thus, the cost can be reduced.

なお、他の実施例では、完全なキー3を予め記憶しておき、当該キー3をキー記憶領域302に展開するようにしてよい。   In another embodiment, the complete key 3 may be stored in advance, and the key 3 may be expanded in the key storage area 302.

図9に戻って、記憶領域304には乱数が記憶される。乱数は疑似乱数であり、メモリコントローラ62で所定の処理が実行されるときに発生される。また、記憶領域306にはライトプロテクトを示すフラグが記憶される。このライトプロテクトがオンされているときには、フラッシュメモリ64のダウンロード領域204に対する書込みが禁止される。   Returning to FIG. 9, random numbers are stored in the storage area 304. The random number is a pseudo-random number and is generated when a predetermined process is executed by the memory controller 62. The storage area 306 stores a flag indicating write protection. When this write protection is on, writing to the download area 204 of the flash memory 64 is prohibited.

図11にはサーバ102のデータベースに記憶されるデータの一例を示す。なお、このデータベースは、サーバ102のHDDまたはROMなどに記憶されている。   FIG. 11 shows an example of data stored in the database of the server 102. The database is stored in the HDD or ROM of the server 102.

データベースには、ダウンロード用データが記憶されている。ダウンロード用データは、メモリカード28のダウンロード領域204に記憶するためのデータである。たとえばゲームタイトルごとに、つまり、ゲームIDに対応付けられたダウンロード用のファイルが準備されてよい。   Download data is stored in the database. The download data is data to be stored in the download area 204 of the memory card 28. For example, for each game title, that is, a download file associated with the game ID may be prepared.

また、データベースにはキーデータが記憶される。この実施例では、上述のようにメモリカード28ごとに固有のキーを準備しているので、ユニークIDに対応付けて、キー1、キー2およびキー3が記憶されている。なお、メモリカード28と同様に、キー3としては、一部がキー2と共用のため、残りの一部のみが記憶されてもよいし、または、完全なキー3を記憶するようにしてもよい。   In addition, key data is stored in the database. In this embodiment, since a unique key is prepared for each memory card 28 as described above, key 1, key 2 and key 3 are stored in association with the unique ID. As with the memory card 28, since the key 3 is partially shared with the key 2, only the remaining part may be stored, or the complete key 3 may be stored. Good.

なお、他の実施例では、ゲームタイトルごとのキーが準備されてもよく、つまり、ゲームIDに対応付けてキー1、2および3が記憶されてもよい。   In another embodiment, a key for each game title may be prepared, that is, keys 1, 2, and 3 may be stored in association with the game ID.

図12にはサーバ102のRAMのメモリマップの一例が示される。なお、このメモリマップは一部を示しており、他の必要なプログラムおよびデータも記憶される。   FIG. 12 shows an example of a memory map of the RAM of the server 102. Note that this memory map shows a part, and other necessary programs and data are also stored.

記憶領域400はプログラム記憶領域であり、当該サーバ102のダウンロード処理を実行するためのプログラムが記憶される。プログラムはROMまたはHDD等から読み出される。   The storage area 400 is a program storage area, and stores a program for executing download processing of the server 102. The program is read from a ROM or HDD.

記憶領域402はデータ記憶領域であり、ROMまたはHDD等から読み出されたデータ、CPUによって生成されたデータ、ゲーム装置10から受信したデータ等が記憶される。   A storage area 402 is a data storage area, and stores data read from a ROM or HDD, data generated by a CPU, data received from the game apparatus 10, and the like.

記憶領域404には、最初に受信したユニークIDが記憶され、記憶領域406には、ゲームIDが記憶される。具体的には、ダウンロード処理が開始されると、最初にゲーム装置10からユニークIDとゲームIDが送信されてくるので、当該ユニークIDおよびゲームIDが記憶領域404および406に記憶される。   The storage area 404 stores the first received unique ID, and the storage area 406 stores the game ID. Specifically, when the download process is started, a unique ID and a game ID are first transmitted from the game apparatus 10, so that the unique ID and the game ID are stored in the storage areas 404 and 406.

記憶領域408には、データベースから読み出されたキーが記憶される。この実施例では、ユニークIDに対応するキー1、2および3が記憶される。   The storage area 408 stores a key read from the database. In this embodiment, keys 1, 2 and 3 corresponding to the unique ID are stored.

記憶領域410には乱数およびユニークIDが記憶される。具体的には、ゲーム装置10から最初のユニークIDの後に、乱数およびユニークIDをキー1で暗号化したデータがゲーム装置10から送信されてくるので、当該受信データをキー1で復号化して得られた乱数およびユニークIDがこの記憶領域410に記憶される。   The storage area 410 stores a random number and a unique ID. Specifically, after the first unique ID is transmitted from the game apparatus 10, data obtained by encrypting the random number and the unique ID with the key 1 is transmitted from the game apparatus 10, so that the received data is obtained by decrypting with the key 1. The random number and the unique ID are stored in the storage area 410.

記憶領域412にはブロックアドレスが記憶される。具体的には、上述の乱数およびユニークIDの後に、ゲーム装置10から書込みを行うブロックアドレスが送信されてくるので、当該ブロックアドレスがこの記憶領域412に記憶される。この実施例では、サーバ102は、ブロックアドレスを指定した遷移コマンドをゲーム装置10経由でメモリコントローラ62に送信し、ダウンロードするファイルを書き込むブロックアドレスを指示する。   A block address is stored in the storage area 412. Specifically, since the block address for writing is transmitted from the game apparatus 10 after the random number and the unique ID, the block address is stored in the storage area 412. In this embodiment, the server 102 transmits a transition command designating a block address to the memory controller 62 via the game apparatus 10 and instructs a block address for writing a file to be downloaded.

記憶領域414には書込みファイルが記憶される。具体的には、データベースから読み出されたダウンロード用データのファイルが記憶される。ゲームタイトルごとにダウンロードデータが準備される場合、ゲームIDに対応するデータが記憶される。なお、ユニークIDに対応するデータ、つまり、メモリカード28ごとのデータが読み出されてもよいし、ゲームIDやユニークIDにかかわらず所定のデータが読み出されてもよい。この書込みファイルから所定量のデータが順に取り出されて、ゲーム装置10に送信される。   A write file is stored in the storage area 414. Specifically, a download data file read from the database is stored. When download data is prepared for each game title, data corresponding to the game ID is stored. Data corresponding to the unique ID, that is, data for each memory card 28 may be read, or predetermined data may be read regardless of the game ID or the unique ID. A predetermined amount of data is sequentially extracted from the write file and transmitted to the game apparatus 10.

図13には、ダウンロード処理を実行する際のゲーム装置10のRAM42のメモリマップの一例が示される。なお、図13はメモリマップの一部を示しており、他に必要なデータが記憶される。   FIG. 13 shows an example of a memory map of the RAM 42 of the game apparatus 10 when executing the download process. FIG. 13 shows a part of the memory map, and other necessary data is stored.

記憶領域500はプログラム記憶領域であり、ゲーム装置10の処理を実行するためのプログラムがメモリカード28から読み出されて記憶される。プログラムは、ゲーム処理プログラムやダウンロード処理プログラム等を含む。   The storage area 500 is a program storage area, and a program for executing processing of the game apparatus 10 is read from the memory card 28 and stored. The program includes a game processing program, a download processing program, and the like.

記憶領域502はデータ記憶領域であり、メモリカード28から取得されたデータ、CPU34によって生成されたデータ、サーバ102から受信したデータ等が記憶される。   A storage area 502 is a data storage area in which data acquired from the memory card 28, data generated by the CPU 34, data received from the server 102, and the like are stored.

記憶領域504はゲームIDが記憶される。ゲームIDは、たとえば電源オンの際にフラッシュメモリ64のインフォメーション領域200の記憶領域222からメモリコントローラ62によって読み出されて出力され、コネクタ60およびコネクタ32等を介してCPU34に与えられる。このゲームIDは、最初にユニークIDをサーバ102に送信する際に、一緒に送信される。   A storage area 504 stores a game ID. For example, when the power is turned on, the game ID is read and output from the storage area 222 of the information area 200 of the flash memory 64 by the memory controller 62, and is given to the CPU 34 via the connector 60, the connector 32, and the like. This game ID is transmitted together when the unique ID is transmitted to the server 102 for the first time.

記憶領域506にはダウンロードしたデータを書き込むブロックアドレスが記憶される。ゲーム装置10では、ダウンロード領域204の空き領域が確保され、当該空き領域から書き込むブロックアドレスが決定される。このブロックアドレスはサーバ102に送信される。   A storage area 506 stores a block address to which downloaded data is written. In the game apparatus 10, a free area in the download area 204 is secured, and a block address to be written is determined from the free area. This block address is transmitted to the server 102.

記憶領域508にはサーバ102からダウンロードされるファイルデータ量が記憶される。ダウンロードされるファイルのファイルデータ量はサーバ102から送信されてくるので、当該受信したファイルデータ量がこの記憶領域508に記憶される。このデータファイル量によって、CPU34は、書込みファイルのすべてを書き込んだか否かを判定することができる。   A storage area 508 stores the amount of file data downloaded from the server 102. Since the file data amount of the file to be downloaded is transmitted from the server 102, the received file data amount is stored in the storage area 508. Based on this data file amount, the CPU 34 can determine whether or not all of the write files have been written.

図14には、バックアップ処理の際のゲーム装置10のRAM42のメモリマップの一例が示される。なお、この図14も図13と同様にメモリマップの一部のみを示す。   FIG. 14 shows an example of a memory map of the RAM 42 of the game apparatus 10 during the backup process. FIG. 14 also shows only a part of the memory map as in FIG.

記憶領域500はプログラム記憶領域であり、メモリカード28から読み出されたゲーム処理プログラムおよびバックアップ処理プログラム等が記憶される。   A storage area 500 is a program storage area in which a game processing program, a backup processing program, and the like read from the memory card 28 are stored.

データ記憶領域502の記憶領域504には、図13のダウンロード処理の場合と同様に、メモリカード28から読み出したゲームIDが記憶される。   In the storage area 504 of the data storage area 502, the game ID read from the memory card 28 is stored as in the download process of FIG.

記憶領域510には書き込むデータが記憶される。つまり、CPU34がゲーム(アプリケーション)実行中に生成したバックアップデータが記憶される。   Data to be written is stored in the storage area 510. That is, the backup data generated by the CPU 34 during execution of the game (application) is stored.

記憶領域512にはパリティ付きデータが記憶される。書き込むデータは、CPU34によって所定のフォーマットに変換されてバックアップ領域206に書き込まれる。この実施例では、バックアップデータにはパリティビットが付加される。このパリティ付きデータがバックアップ領域206に書き込まれる。   Data with parity is stored in the storage area 512. Data to be written is converted into a predetermined format by the CPU 34 and written in the backup area 206. In this embodiment, a parity bit is added to the backup data. This data with parity is written to the backup area 206.

図15にパリティ付きデータの一例が示される。図15は、バックアップ領域206のページデータ(512バイト)の構成例であり、この実施例では、各バイトのデータの構成が、「7ビットのデータ」+「7ビットのデータのパリティ(1ビット)」にされる。つまり、書き込むデータについて、7ビットごとに1ビットのパリティビットを付加することによって、パリティ付きデータを生成する。たとえば、ビット0−6のビット列において「1」が偶数個あった場合、ビット7には「1」が書かれ、一方、ビット列において「1」が奇数個あった場合、ビット7には「0」が書かれる。   FIG. 15 shows an example of data with parity. FIG. 15 shows a configuration example of page data (512 bytes) in the backup area 206. In this embodiment, the configuration of each byte data is “7-bit data” + “7-bit data parity (1 bit). ) ”. That is, for data to be written, data with parity is generated by adding one parity bit for every 7 bits. For example, if there is an even number of “1” in the bit string of bits 0-6, “1” is written in bit 7, while if there is an odd number of “1” in the bit string, “0” Is written.

記憶領域514には書き込むブロックアドレスが記憶される。ゲーム装置10のCPU34は、バックアップ領域206の空き領域を確保し、パリティ付きデータを書き込むブロックアドレスを決定し、この記憶領域514に記憶する。この書き込むブロックアドレスは、バックアップモードに遷移させるための遷移コマンドにおいて指定される。   The storage area 514 stores a block address to be written. The CPU 34 of the game apparatus 10 secures a free area in the backup area 206, determines a block address for writing data with parity, and stores it in the storage area 514. This block address to be written is specified in the transition command for transitioning to the backup mode.

記憶領域516には読み出すブロックアドレスが記憶される。CPU34は、バックアップ領域206の読み出すデータの格納場所を確認して、読み出すブロックアドレスを決定し、この記憶領域516に記憶する。この読み出すブロックアドレスは、バックアップモードに遷移させるための遷移コマンドにおいて指定される。   The storage area 516 stores a block address to be read. The CPU 34 confirms the storage location of the data to be read from the backup area 206, determines the block address to be read, and stores it in the storage area 516. This block address to be read is specified in a transition command for transitioning to the backup mode.

記憶領域518には、メモリカード28のバックアップ領域206から読み出したデータが記憶される。バックアップ領域206から読み出そうとしているデータがパリティ付きデータであるか否かは、読み出す際にメモリコントローラ62によってチェックされる。バックアップ領域206からデータが読み出されれば、当該データは正規にバックアップ領域206に書き込まれたデータであるので、CPU34は、当該読み出したデータからパリティを除去して元のデータに変換して、当該データを利用することができる。一方、パリティチェックの結果、バックアップ領域206のデータが不正に書き込まれたデータと判断される場合、メモリコントローラ62はイリーガルモードに遷移し、当該データを出力しない。したがって、バックアップデータの読出し処理が完了せず、正常な動作が行われなくなる。   Data read from the backup area 206 of the memory card 28 is stored in the storage area 518. Whether the data to be read from the backup area 206 is data with parity is checked by the memory controller 62 when reading. If the data is read from the backup area 206, the data is the data that has been written to the backup area 206 in a regular manner. Therefore, the CPU 34 removes the parity from the read data and converts it to the original data. Can be used. On the other hand, if it is determined that the data in the backup area 206 is illegally written as a result of the parity check, the memory controller 62 shifts to the illegal mode and does not output the data. Therefore, the backup data reading process is not completed and normal operation is not performed.

ダウンロード処理の際のシステム10の全体的な動作を図16から図19を参照しながら簡単に説明する。なお、ダウンロード処理の際の、ゲーム装置10、メモリコントローラ62およびサーバ102のそれぞれの動作は、個別のフロー図を用いて後に説明する。   The overall operation of the system 10 during the download process will be briefly described with reference to FIGS. Note that the operations of the game apparatus 10, the memory controller 62, and the server 102 during the download process will be described later with reference to individual flowcharts.

ダウンロード処理は、メモリカード28のメモリコントローラ62がゲームモードにあるときに開始される。図16を参照して、ダウンロード処理が開始されると、まずステップS1で、ゲーム装置10のCPU34は、gRD_UIDコマンドをメモリカード28に発行する。このgRD_UIDコマンドは、メモリカード28からユニークIDを読むためのコマンドである。これに応じて、メモリコントローラ62は、ステップS3でユニークIDをフラッシュメモリ64から読み出してゲーム装置10に出力する。CPU34は、受信したユニークIDを、ステップS5でサーバ102に転送し、サーバ102のCPUは受信したユニークIDをRAMに記憶する。このようにして、メモリカード28のユニークIDがサーバ102に送信される。このユニークIDは、メモリカード28の認証のために、後に受信されるユニークIDと比較される。   The download process is started when the memory controller 62 of the memory card 28 is in the game mode. Referring to FIG. 16, when the download process is started, first, CPU 34 of game device 10 issues a gRD_UID command to memory card 28 in step S1. This gRD_UID command is a command for reading a unique ID from the memory card 28. In response to this, the memory controller 62 reads the unique ID from the flash memory 64 and outputs it to the game apparatus 10 in step S3. The CPU 34 transfers the received unique ID to the server 102 in step S5, and the CPU of the server 102 stores the received unique ID in the RAM. In this way, the unique ID of the memory card 28 is transmitted to the server 102. This unique ID is compared with a unique ID received later for authentication of the memory card 28.

続いて、ゲーム装置10のCPU34は、ステップS9でgRD_IFコマンドをメモリカード28に発行する。このgRD_IFコマンドは、メモリカード28の乱数およびユニークIDを読むためのコマンドである。これに応じて、メモリコントローラ62は、ステップS11で、発生した乱数およびフラッシュメモリ64から読み出したユニークIDをゲーム装置10に出力する。ただし、乱数およびユニークIDは、内部RAM66に展開されているキー1で暗号化される。CPU34は、ステップS13で、受信したデータをサーバ102に転送する。サーバ102のCPUは、ステップS15で、受信したデータをキー1で復号化する。使用されるキー1はユニークIDに対応するキー1である。そして、サーバ102のCPUはステップS17で、ステップS15で復号化したユニークIDとステップS7で最初に受信したユニークIDとが一致するか否かを判定する。ステップS17で“NO”の場合、つまり、ユニークIDが最初に受信したユニークIDと異なる場合には、メモリカード28が正規のカードであるとは認められないので、サーバ102のCPUはステップS19でダウンロード書込み処理を終了する。   Subsequently, the CPU 34 of the game apparatus 10 issues a gRD_IF command to the memory card 28 in step S9. This gRD_IF command is a command for reading the random number and unique ID of the memory card 28. In response to this, the memory controller 62 outputs the generated random number and the unique ID read from the flash memory 64 to the game apparatus 10 in step S11. However, the random number and the unique ID are encrypted with the key 1 developed in the internal RAM 66. In step S <b> 13, the CPU 34 transfers the received data to the server 102. The CPU of the server 102 decrypts the received data with the key 1 in step S15. The key 1 used is the key 1 corresponding to the unique ID. In step S17, the CPU of the server 102 determines whether or not the unique ID decrypted in step S15 matches the unique ID first received in step S7. If “NO” in the step S17, that is, if the unique ID is different from the first received unique ID, the memory card 28 is not recognized as a legitimate card, and the CPU of the server 102 in step S19. The download writing process is terminated.

一方、ステップS17で“YES”の場合、つまり、メモリカード28が正規のカードであるとサーバ102で判定された場合には、ゲーム装置10のCPU34は、ステップS21で、ダウンロード領域204のうち、ダウンロードするデータを書込むブロックアドレスを決定する。また、CPU34は、ステップS23で、gCHG_DL_MODEコマンドをメモリカード28に発行する。このgCHG_DL_MODEコマンドは、ゲームモードからDLセキュアモードに遷移させるための遷移コマンドである。これに応じて、メモリコントローラ62は、ステップS25で、DLセキュアモードに遷移する。   On the other hand, if “YES” in the step S17, that is, if the server 102 determines that the memory card 28 is a legitimate card, the CPU 34 of the game apparatus 10 in the download area 204 in the step S21. Determine the block address where the data to be downloaded is written. The CPU 34 issues a gCHG_DL_MODE command to the memory card 28 in step S23. This gCHG_DL_MODE command is a transition command for making a transition from the game mode to the DL secure mode. In response to this, the memory controller 62 transitions to the DL secure mode in step S25.

また、ステップS27で、ゲーム装置10のCPU34は、ステップS21で決定したブロックアドレスをサーバ102に送信する。これに応じて、サーバ102のCPUは、ステップS29で、dsCHG_MODEコマンドを生成する。このdsCHG_MODEコマンドは、DLセキュアモードからダウンロードモードの遷移させるための遷移コマンドである。この遷移コマンドは、ステップS15で取得した乱数およびユニークIDと、このステップS29で受信したブロックアドレスを用いて生成される。なお、乱数およびユニークIDはメモリコントローラ62での認証のために使用され、また、ブロックアドレスによって、ダウンロードデータを書き込むブロックアドレスが指定される。   In step S <b> 27, the CPU 34 of the game apparatus 10 transmits the block address determined in step S <b> 21 to the server 102. In response to this, the CPU of the server 102 generates a dsCHG_MODE command in step S29. This dsCHG_MODE command is a transition command for making a transition from the DL secure mode to the download mode. This transition command is generated using the random number and unique ID acquired in step S15 and the block address received in step S29. The random number and the unique ID are used for authentication in the memory controller 62, and the block address to which the download data is written is specified by the block address.

続いて、図17のステップS31で、サーバ102のCPUは、生成したdsCHG_MODEコマンドをキー1で暗号化する。そして、ステップS33で、サーバ102のCPUは、暗号化されたdsCHG_MODEコマンドをゲーム装置10に送信する。ゲーム装置10のCPU34は、ステップS35で、受信したデータをメモリカード28に転送する。メモリコントローラ62は、データを受信し、ステップS37で、受信したデータをキー1で復号化する。したがって、dsCHG_MODEコマンドから乱数およびユニークIDを取得することができ、また、指定されたブロックアドレスも取得できる。   Subsequently, in step S31 of FIG. 17, the CPU of the server 102 encrypts the generated dsCHG_MODE command with the key 1. Then, in step S <b> 33, the CPU of the server 102 transmits the encrypted dsCHG_MODE command to the game apparatus 10. CPU 34 of game device 10 transfers the received data to memory card 28 in step S35. The memory controller 62 receives the data, and decrypts the received data with the key 1 in step S37. Therefore, a random number and a unique ID can be acquired from the dsCHG_MODE command, and a designated block address can also be acquired.

メモリコントローラ62は、ステップS39で、コマンドから取得したユニークIDおよび乱数は、メモリカード28内の乱数およびユニークIDと一致するか否かを判断する。ステップS39で“NO”の場合、つまり、受信したコマンドが正当なコマンドでなかった場合には、メモリコントローラ62は、ステップS41でイリーガルモードに遷移する。これによって、ダウンロード処理が進まなくなり、不正なダウンロードが行われない。   In step S39, the memory controller 62 determines whether or not the unique ID and random number acquired from the command match the random number and unique ID in the memory card 28. If “NO” in the step S39, that is, if the received command is not a valid command, the memory controller 62 shifts to the illegal mode in a step S41. This prevents the download process from proceeding and prevents unauthorized downloads.

一方、ステップS39で“YES”の場合、つまり、受信したコマンドが正当なコマンドである場合には、メモリコントローラ62は、ステップS43でダウンロードモードに遷移し、ステップS45で指定ブロックのみをアクセス可能にする。これによって、ダウンロードモードへの遷移コマンドで指定されたブロックへの書込みが可能になる。また、このとき、ダウンロードモード用のキー2が復号化されて内部RAM66に展開される。   On the other hand, if “YES” in the step S39, that is, if the received command is a valid command, the memory controller 62 shifts to the download mode in the step S43, and only the designated block can be accessed in the step S45. To do. As a result, writing to the block designated by the transition command to the download mode becomes possible. At this time, the key 2 for download mode is decrypted and expanded in the internal RAM 66.

また、ステップS47で、ゲーム装置10のCPU34は、dlRD_IFコマンドをメモリカード28に発行する。このdlRD_IFコマンドは、乱数およびユニークIDを読むためのコマンドである。このコマンドに応じて、メモリコントローラ62は、ステップS49で、乱数およびユニークIDをキー2で暗号化してゲーム装置10へ出力する。ゲーム装置10のCPU34は、このデータを受信し、ステップS51で当該受信データをサーバ102に転送する。これに応じて、サーバ102のCPUは、データを受信し、ステップS53で当該データをキー2を用いて復号化する。これによって、サーバ102は、メモリカード28からの乱数およびユニークIDを取得する。この乱数およびユニークIDは、この後、ダウンロードするデータのMICを算出する際の初期値として使用され、また、サーバ102から送信するデータの暗号化の初期値としても使用される。   In step S <b> 47, the CPU 34 of the game apparatus 10 issues a dlRD_IF command to the memory card 28. The dlRD_IF command is a command for reading a random number and a unique ID. In response to this command, the memory controller 62 encrypts the random number and the unique ID with the key 2 and outputs them to the game apparatus 10 in step S49. The CPU 34 of the game apparatus 10 receives this data and transfers the received data to the server 102 in step S51. In response to this, the CPU of the server 102 receives the data and decrypts the data using the key 2 in step S53. As a result, the server 102 acquires a random number and a unique ID from the memory card 28. This random number and unique ID are used as an initial value when calculating the MIC of data to be downloaded thereafter, and also as an initial value for encrypting data transmitted from the server 102.

さらに、図18のステップS55で、ゲーム装置10のCPU34は、dlPRT_OFFコマンドをメモリカード28に発行する。dlPRT_OFFコマンドは、ライトプロテクトを解除するためのコマンドである。このコマンドに応じて、メモリコントローラ62は、ライトプロテクトをオフにし、これによって、ダウンロード領域204の指定ブロックへの書込みを実行することが可能になる。   Furthermore, the CPU 34 of the game apparatus 10 issues a dlPRT_OFF command to the memory card 28 in step S55 of FIG. The dlPRT_OFF command is a command for releasing write protection. In response to this command, the memory controller 62 turns off write protection, thereby enabling writing to a designated block in the download area 204.

続いて、ステップS59で、サーバ102のCPUは、ダウンロードするデータ、つまり、書込みファイルを準備する。そして、ステップS61で、サーバ102のCPUは、書込みファイルから所定サイズ(この実施例では2KByte)のデータを取り出す。サーバ102からゲーム装置10(メモリカード28)への書込みファイルの送信は、この所定のサイズごとに行われる。   Subsequently, in step S59, the CPU of the server 102 prepares data to be downloaded, that is, a write file. In step S61, the CPU of the server 102 extracts data of a predetermined size (2 Kbytes in this embodiment) from the write file. The writing file is transmitted from the server 102 to the game apparatus 10 (memory card 28) for each predetermined size.

そして、ステップS63で、サーバ102のCPUは、キー3を用いて2KByteのデータから所定サイズ(この実施例では8Byte)のMICを算出する。なお、MIC算出の初期値として、ステップS53で取得された乱数およびユニークIDが用いられる。さらに、サーバ102のCPUは、ステップS65で、2KByteのデータに8ByteのMICを追加したデータを生成し、当該生成したデータをキー2で暗号化する。なお、この暗号化の初期値として、ステップS53で取得された乱数およびユニークIDが用いられる。そして、ステップS67で、サーバ102のCPUは、当該暗号化されたデータをゲーム装置10に送信する。   In step S63, the CPU of the server 102 calculates a MIC having a predetermined size (8 bytes in this embodiment) from the 2 KB data using the key 3. Note that the random number and the unique ID acquired in step S53 are used as initial values for MIC calculation. Further, in step S65, the CPU of the server 102 generates data obtained by adding 8 bytes of MIC to 2 KB data, and encrypts the generated data with the key 2. Note that the random number and the unique ID acquired in step S53 are used as initial values for this encryption. In step S <b> 67, the CPU of the server 102 transmits the encrypted data to the game apparatus 10.

これに応じて、ステップS69で、ゲーム装置10のCPU34は、受信したデータとともに書き込むページアドレスをメモリカード28に送信する。これに応じて、ステップS71で、メモリコントローラ62はデータを受信する。   In response to this, in step S69, the CPU 34 of the game apparatus 10 transmits a page address to be written together with the received data to the memory card 28. In response, in step S71, the memory controller 62 receives data.

続いて、ステップS73で、ゲーム装置10のCPU34は、dWR_PAGEコマンドをメモリカード28に発行する。dWR_PAGEコマンドは、メモリカード28に送信したデータをダウンロード領域204に書き込むためのコマンドである。このコマンドに応じて、ステップS75で、メモリコントローラ62は、ステップS71で受信したデータをキー2で復号化する。これによって、2KByteのデータに8ByteのMICを追加したデータを取得することができる。   Subsequently, in step S <b> 73, the CPU 34 of the game apparatus 10 issues a dWR_PAGE command to the memory card 28. The dWR_PAGE command is a command for writing the data transmitted to the memory card 28 in the download area 204. In response to this command, in step S75, the memory controller 62 decrypts the data received in step S71 with the key 2. As a result, data obtained by adding 8 bytes of MIC to 2 Kbytes of data can be acquired.

さらに、ステップS77で、メモリコントローラ62は、取得した2KByteのデータに対してキー3で8ByteのMICを算出する。このMICの算出の際には、ステップS49で送信した乱数およびユニークIDが初期値として使用される。   Further, in step S77, the memory controller 62 calculates an 8-byte MIC with the key 3 for the acquired 2 KB data. When calculating the MIC, the random number and unique ID transmitted in step S49 are used as initial values.

そして、ステップS79で、メモリコントローラ62は、算出したMICと復号化によって取得したMICとが一致するか否かを判断する。ステップS79で“NO”の場合、つまり、正当なダウンロードデータを受信しなかった場合には、メモリコントローラ62は、ステップS81で、書込みを行わない。これによって、不正なデータがダウンロード領域204に書込まれない。   In step S79, the memory controller 62 determines whether or not the calculated MIC matches the MIC acquired by decoding. If “NO” in the step S79, that is, if valid download data is not received, the memory controller 62 does not perform writing in a step S81. As a result, illegal data is not written in the download area 204.

一方、ステップS79で“YES”の場合、つまり、正当なデータを受信した場合には、メモリコントローラ62は、ステップS83で、受信した2Kbyteのデータをダウンロード領域204の指定ブロックに書き込む。   On the other hand, if “YES” in the step S79, that is, if valid data is received, the memory controller 62 writes the received 2 Kbyte data in the designated block of the download area 204 in a step S83.

続いて、ゲーム装置10のCPU34は、ステップS85で、ファイルの書込みが終了したか、または、1ブロックの書込みが終了したかを判断する。この実施例のダウンロードモードでは、指定ブロックアドレスの一定範囲(この実施例では1ブロック)内であれば、サーバ102からの遷移コマンドなしに、データを書き込むことができる。したがって、1ブロックの書込みが終わるまで、または1ブロック未満のファイルの書込みが終わるまでは、サーバ102のCPUが暗号化したデータを送信し、メモリコントローラ62が当該データを復号化して書き込むという動作を繰返す。すなわち、ステップS85で“NO”の場合には、図18のステップS61に戻って、処理が繰返される。このように、一定範囲内の書込みにおいてサーバ102からの遷移コマンドを不要にすることによって、サーバ102の負荷を軽減することができ、ゲーム装置10側での処理も短くできるという利点がある。   Subsequently, in step S85, the CPU 34 of the game apparatus 10 determines whether the writing of the file has been completed or the writing of one block has been completed. In the download mode of this embodiment, data can be written without a transition command from the server 102 as long as it is within a certain range of designated block addresses (one block in this embodiment). Therefore, until the writing of one block is completed or until the writing of the file of less than one block is completed, the CPU of the server 102 transmits the encrypted data, and the memory controller 62 decrypts and writes the data. Repeat. That is, if “NO” in the step S85, the process returns to the step S61 in FIG. 18 to repeat the process. Thus, by eliminating the need for a transition command from the server 102 in writing within a certain range, there is an advantage that the load on the server 102 can be reduced and the processing on the game apparatus 10 side can be shortened.

一方、1ブロック以上のファイルの書込み行う必要がある場合には、一旦、ダウンロードモードを終了してゲームモードに遷移する。そして、再びサーバ102から遷移コマンドを送信して、メモリコントローラ62のモードをダウンロードモードに遷移させて、データのダウンロードを行う。   On the other hand, when it is necessary to write a file of one block or more, the download mode is temporarily ended and the game mode is entered. Then, a transition command is transmitted from the server 102 again, the mode of the memory controller 62 is changed to the download mode, and data is downloaded.

すなわち、ステップS85で“YES”の場合、ゲーム装置10のCPU34は、ステップS87でdlCHG_MODEコマンドをメモリカード28に発行する。このdlCHG_MODEコマンドは、ダウンロードモードからゲームモードに遷移させるための遷移コマンドである。これに応じて、メモリコントローラ62は、ステップS89でゲームモードに遷移する。   That is, if “YES” in the step S85, the CPU 34 of the game apparatus 10 issues a dlCHG_MODE command to the memory card 28 in a step S87. This dlCHG_MODE command is a transition command for making a transition from the download mode to the game mode. In response to this, the memory controller 62 shifts to the game mode in step S89.

さらに、ゲーム装置10のCPU34は、ステップS91で、ファイルの書込みが終了したか否かを判断する。ステップS91で“NO”の場合、つまり、書込みファイルのうち未書込みのデータが残っている場合には、図16のステップS9に戻って、ゲームモードからの処理が繰返される。一方、ステップS91で“YES”の場合、つまり、書込みファイルのすべてのデータを書込んだ場合には、このダウンロード処理を終了する。   Further, the CPU 34 of the game apparatus 10 determines whether or not the writing of the file is completed in step S91. If “NO” in the step S91, that is, if unwritten data remains in the write file, the process returns to the step S9 in FIG. 16 to repeat the process from the game mode. On the other hand, if “YES” in the step S91, that is, if all the data of the write file is written, the download process is ended.

続いて、ダウンロード処理におけるゲーム装置10、メモリコントローラ62およびサーバ102の個別の動作を説明する。   Next, individual operations of the game apparatus 10, the memory controller 62, and the server 102 in the download process will be described.

図20から図22にはダウンロード処理におけるゲーム装置10の動作の一例が示される。ダウンロード処理を開始すると、図20のステップS101で、CPU34は、gRD_UIDコマンドをメモリカード28に発行する。gRD_UIDコマンドは、ユニークIDを読むためのコマンドである。また、このgRD_UIDコマンドは、メモリコントローラ62がゲームモードにある場合に発行されるので、処理負担の比較的軽いアルゴリズム(たとえばスクランブル)で暗号化してメモリカード28に出力するようにしてよい。   20 to 22 show an example of the operation of the game apparatus 10 in the download process. When the download process is started, the CPU 34 issues a gRD_UID command to the memory card 28 in step S101 of FIG. The gRD_UID command is a command for reading a unique ID. Further, since the gRD_UID command is issued when the memory controller 62 is in the game mode, the gRD_UID command may be encrypted and output to the memory card 28 with an algorithm with a relatively light processing load (for example, scramble).

なお、ゲーム装置10からメモリカード28にコマンドやデータを送信する際には、CPU34は、当該コマンドやデータをコネクタ32に与え、したがって、当該コマンドやデータはコネクタ60を介してメモリコントローラ62に与えられる。   When a command or data is transmitted from the game apparatus 10 to the memory card 28, the CPU 34 gives the command or data to the connector 32. Therefore, the command or data is given to the memory controller 62 via the connector 60. It is done.

次にステップS103で、CPU34はユニークIDをメモリカード28から受信したか否かを判断する。gRD_UIDコマンドに応じてメモリコントローラ62はユニークIDを返すので、コネクタ32を介したメモリコントローラ62からのデータの受信を待機する。   Next, in step S103, the CPU 34 determines whether or not a unique ID has been received from the memory card 28. In response to the gRD_UID command, the memory controller 62 returns a unique ID, and thus waits for reception of data from the memory controller 62 via the connector 32.

ステップS103で“YES”の場合、つまり、メモリコントローラ62からのユニークIDを受信した場合には、CPU34は、ステップS105でユニークIDとゲームIDとをサーバ102に送信する。具体的には、受信したユニークIDをRAM42のデータ記憶領域502に記憶し、記憶領域504に記憶されているゲームIDを読み出して、ユニークIDとゲームIDとを含むデータを送信する。   If “YES” in the step S103, that is, if a unique ID is received from the memory controller 62, the CPU 34 transmits the unique ID and the game ID to the server 102 in a step S105. Specifically, the received unique ID is stored in the data storage area 502 of the RAM 42, the game ID stored in the storage area 504 is read, and data including the unique ID and the game ID is transmitted.

なお、ゲーム装置10からサーバ102にデータを送信する際には、CPU34は、無線通信部58に当該データを与え、したがって、当該データは、無線通信部58からアクセスポイント104およびネットワーク106を介してサーバ102に与えられる。   When transmitting data from the game apparatus 10 to the server 102, the CPU 34 gives the data to the wireless communication unit 58. Therefore, the data is transmitted from the wireless communication unit 58 via the access point 104 and the network 106. It is given to the server 102.

続いて、CPU34は、ステップS107で、gRD_IFコマンドをメモリカード28に発行する。なお、このgRD_IFコマンドは乱数およびユニークIDを読むためのコマンドである。また、このgRD_IFコマンドも、スクランブルのような比較的処理負担の軽いアルゴリズムで暗号化されて送信されてよい。そして、ステップS109で、CPU34は、データ(暗号化された乱数およびユニークID)をメモリカード28から受信したか否かを判断する。gRD_IFコマンドに応じてメモリコントローラ62が上記データを返すので、当該データの受信を待機する。   Subsequently, the CPU 34 issues a gRD_IF command to the memory card 28 in step S107. The gRD_IF command is a command for reading a random number and a unique ID. The gRD_IF command may also be transmitted after being encrypted with an algorithm with a relatively light processing load such as scramble. In step S <b> 109, the CPU 34 determines whether data (encrypted random number and unique ID) has been received from the memory card 28. In response to the gRD_IF command, the memory controller 62 returns the data, so that the reception of the data is awaited.

ステップS109で“YES”の場合、つまり、メモリコントローラ62からのデータを受信した場合には、CPU34は、ステップS111で、当該受信したデータ(暗号化された乱数およびユニークID)をサーバ102に送信する。   If “YES” in the step S109, that is, if data is received from the memory controller 62, the CPU 34 transmits the received data (encrypted random number and unique ID) to the server 102 in a step S111. To do.

続いて、ステップS113およびS115で、メモリカード28が正当なカードか否かの結果を、無線通信部58を介してサーバ102から受信したかどうかを判断する。ステップS111でのデータの送信に応じてサーバ102はメモリカード28の認証の結果を返すので、サーバ102からの当該データの受信を待機する。具体的には、ステップS113で、CPU34はメモリカード28が正規カードであることをサーバ102から受信したか否かを判断する。ステップS113で“NO”の場合、CPU34はステップS115でメモリカード28が正規カードでないことを受信したか否かを判断する。ステップS115で“NO”の場合は、処理はステップS113に戻る。   Subsequently, in steps S113 and S115, it is determined whether or not the result of whether or not the memory card 28 is a valid card is received from the server 102 via the wireless communication unit 58. In response to the transmission of data in step S111, the server 102 returns the result of authentication of the memory card 28, so that the reception of the data from the server 102 is waited. Specifically, in step S113, the CPU 34 determines whether or not the memory card 28 has been received from the server 102 as a regular card. If “NO” in the step S113, the CPU 34 determines whether or not the memory card 28 is received in a step S115 that the memory card 28 is not a regular card. If “NO” in the step S115, the process returns to the step S113.

ステップS115で“YES”の場合には、つまり、不正なメモリカード28が装着されているとみなされる場合には、ダウンロード処理を終了する。したがって、不正なメモリカード28へのダウンロードを回避できる。   If “YES” in the step S115, that is, if it is considered that an unauthorized memory card 28 is mounted, the download process is ended. Therefore, illegal downloading to the memory card 28 can be avoided.

一方、ステップS113で“YES”の場合、つまり、正規なメモリカード28が装着されている場合には、CPU34は、ステップS117で、ダウンロード領域204の空き領域を確保し、書き込むブロックアドレスを決定する。なお、フラッシュメモリ64の記憶領域のうち、どの領域が使用され、またはどの領域が空き領域であるかなどの情報は、たとえばインフォメーション領域200にヘッダ情報として記憶されているので、CPU34は当該ヘッダ情報に基づいてフラッシュメモリ64の管理データを生成し、当該管理データに基づいて、空き領域を確保して、書き込むブロックアドレスを決定する。決定したブロックアドレスは、記憶領域506に記憶される。ステップS117を終了すると、処理は図21のステップS119に進む。   On the other hand, if “YES” in the step S113, that is, if the regular memory card 28 is mounted, the CPU 34 secures a free area in the download area 204 and determines a block address to be written in a step S117. . Information such as which area is used in the storage area of the flash memory 64 or which area is an empty area is stored as header information in the information area 200, for example. The management data of the flash memory 64 is generated based on the above, and a free area is secured based on the management data and the block address to be written is determined. The determined block address is stored in the storage area 506. When step S117 ends, the process proceeds to step S119 in FIG.

図21のステップS119では、CPU34は、gCHG_DL_MODEコマンドをメモリカード28に発行する。このgCHG_DL_MODEコマンドは、DLセキュアモードに遷移させるための遷移コマンドである。なお、このgCHG_DL_MODEコマンドは、スクランブルなどの比較的処理負担の軽いアルゴリズムに従って暗号化されて送信されてよい。続いて、ステップS121で、CPU34は、ステップS117で決定したブロックアドレスをサーバ102に送信する。   In step S119 of FIG. 21, the CPU 34 issues a gCHG_DL_MODE command to the memory card 28. This gCHG_DL_MODE command is a transition command for making a transition to the DL secure mode. Note that this gCHG_DL_MODE command may be transmitted after being encrypted according to a relatively light processing algorithm such as scramble. Subsequently, in step S <b> 121, the CPU 34 transmits the block address determined in step S <b> 117 to the server 102.

そして、ステップS123で、CPU34は、データ(暗号化されたdsCHG_MODEコマンド)をサーバ102から受信したか否かを判断する。ステップS121の送信に応じてサーバ102がデータを返すので、当該データの受信を待機する。   In step S <b> 123, the CPU 34 determines whether data (encrypted dsCHG_MODE command) is received from the server 102. In response to the transmission in step S121, the server 102 returns data, and waits for reception of the data.

ステップS123で“YES”の場合、つまり、上記データを受信した場合には、CPU34は、ステップS125で、受信したデータ(暗号化されたdsCHG_MODEコマンド)をメモリカード28に送信する。これによって、メモリコントローラ62はダウンロードモードに遷移することとなる。   If “YES” in the step S123, that is, if the above data is received, the CPU 34 transmits the received data (encrypted dsCHG_MODE command) to the memory card 28 in a step S125. As a result, the memory controller 62 shifts to the download mode.

さらに、ステップS127で、CPU34はdlRD_IFコマンドをメモリカード28に発行する。このdlRD_IFコマンドは、乱数およびユニークIDを読むためのコマンドである。そして、ステップS129で、CPU34は、データ(暗号化された乱数およびユニークID)をメモリカード28から受信したか否かを判断する。dlRD_IFコマンドに応じてメモリコントローラ62は暗号化された乱数およびユニークIDを返すので、当該データの受信を待機する。   Further, in step S127, the CPU 34 issues a dlRD_IF command to the memory card 28. The dlRD_IF command is a command for reading a random number and a unique ID. In step S129, the CPU 34 determines whether data (encrypted random number and unique ID) has been received from the memory card 28 or not. In response to the dlRD_IF command, the memory controller 62 returns the encrypted random number and the unique ID, and waits for reception of the data.

ステップS129で“YES”の場合、つまり、上記データを受信した場合には、CPU34は、ステップS131で当該受信したデータ(暗号化された乱数およびユニークID)をサーバ102に送信する。   If “YES” in the step S129, that is, if the above data is received, the CPU 34 transmits the received data (encrypted random number and unique ID) to the server 102 in a step S131.

続いて、ステップS133で、CPU34はdlPRT_OFFコマンドをメモリカード28に発行する。このdlPRT_OFFコマンドは、ライトプロテクトを解除するためのコマンドである。ステップS133を終了すると、処理は図22のステップS135に進む。   Subsequently, in step S133, the CPU 34 issues a dlPRT_OFF command to the memory card 28. This dlPRT_OFF command is a command for canceling the write protection. When step S133 ends, the process proceeds to step S135 in FIG.

図22のステップS135では、CPU34は、ファイルデータ量に関するデータをサーバ102から受信したか否かを判断する。ステップS131におけるデータ送信に応じて、サーバ102は、ダウンロードするデータ(書込みファイル)を準備し、まず当該ファイルデータ量を送信してくるので、このステップS135では当該ファイルデータ量の受信を待機する。ステップS135で“YES”の場合、CPU34はステップS137で受信したファイルデータ量を記憶領域508に記憶する。   In step S135 of FIG. 22, the CPU 34 determines whether data relating to the file data amount has been received from the server 102. In response to the data transmission in step S131, the server 102 prepares data to be downloaded (write file) and first transmits the file data amount. In step S135, the server 102 waits for reception of the file data amount. If “YES” in the step S135, the CPU 34 stores the file data amount received in the step S137 in the storage area 508.

続いて、ステップS139で、CPU34は、データ(暗号化された2KByte+8Byteのデータ)をサーバ102から受信したか否かを判断する。なお、ファイルデータ量の送信の後、サーバ102は、書込みファイルから所定サイズずつデータを送信する。具体的には、サーバ102は、2KByteのデータに8ByteのMICを付加したデータを暗号化して送信するので、このステップS139では当該データの受信を待機する。   Subsequently, in step S <b> 139, the CPU 34 determines whether data (encrypted 2 KByte + 8 Byte data) has been received from the server 102. Note that after transmitting the amount of file data, the server 102 transmits data from the write file by a predetermined size. Specifically, since the server 102 encrypts and transmits data obtained by adding 8 bytes of MIC to 2 KB data, in this step S139, the server 102 waits for reception of the data.

ステップS139で“YES”の場合、つまり、上記データを受信した場合には、CPU34は、ステップS141で、受信したデータとともに書き込むページアドレスをメモリカード28に送信する。なお、サーバ102からは所定サイズごとのデータが送信されてくるので、CPU34は、フラッシュメモリ64の管理データやブロックアドレス等に基づいて、データを受信するごとに、当該データを書き込むページアドレスを決定することができる。続くステップS143で、CPU34は、dWR_PAGEコマンドをメモリカード28に発行する。このdWR_PAGEコマンドは、ステップS141で送信したデータを指定ページアドレスに書き込むこと指示するコマンドである。   If “YES” in the step S139, that is, if the data is received, the CPU 34 transmits a page address to be written together with the received data to the memory card 28 in a step S141. Since data of a predetermined size is transmitted from the server 102, the CPU 34 determines a page address for writing the data every time data is received based on the management data, block address, etc. of the flash memory 64. can do. In subsequent step S <b> 143, the CPU 34 issues a dWR_PAGE command to the memory card 28. This dWR_PAGE command is an instruction to write the data transmitted in step S141 to a specified page address.

そして、ステップS145で、CPU34は、ファイルの書込みが終了したか、または、1ブロックの書込みが終了したかを判断する。上述のように所定サイズごとにデータがサーバ102から送信されてくるので、CPU34は、書き込んだデータ量(メモリカード28に送信したデータ量)を算出することができる。したがって、CPU34は、当該書き込んだデータ量がファイルデータ量に達したか、または1ブロックに達したかを判断することができる。ステップS145で“NO”の場合、処理はステップS139に戻り、ファイルの書込みが終了し、または1ブロックの書込みが終了するまで、データの書込みが繰り返される。   In step S145, the CPU 34 determines whether the writing of the file is completed or the writing of one block is completed. Since data is transmitted from the server 102 for each predetermined size as described above, the CPU 34 can calculate the amount of data written (the amount of data transmitted to the memory card 28). Therefore, the CPU 34 can determine whether the written data amount has reached the file data amount or has reached one block. If “NO” in the step S145, the process returns to the step S139, and the data writing is repeated until the file writing is completed or one block writing is completed.

一方、ステップS145で“YES”の場合には、CPU34は、ステップS147でdlCHG_MODEコマンドをメモリカード28に発行する。このdlCHG_MODEコマンドは、ダウンロードモードからゲームモードに遷移させるための遷移コマンドである。そして、ステップS149で、CPU34はファイルの書込みが終了したか否かを判断する。ステップS149で“NO”の場合、つまり、1ブロックの書込みが終了したが、書込みファイルのすべてを書き終えていない場合には、処理は図20のステップS107に戻り、残りのデータを書き込むために、ゲームモードにおけるステップS107からの処理が再び行われる。一方、ステップS149で“YES”の場合には、このダウンロード処理を終了する。   On the other hand, if “YES” in the step S145, the CPU 34 issues a dlCHG_MODE command to the memory card 28 in a step S147. This dlCHG_MODE command is a transition command for making a transition from the download mode to the game mode. In step S149, the CPU 34 determines whether the writing of the file is completed. If “NO” in the step S149, that is, if writing of one block has been completed but not all of the writing file has been written, the process returns to the step S107 in FIG. 20 to write the remaining data. The process from step S107 in the game mode is performed again. On the other hand, if “YES” in the step S 149, the download process is ended.

図23から図26には、ダウンロード処理におけるメモリコントローラ62の動作の一例が示される。なお、上述のように、ダウンロード処理はゲームモードにおいて開始されるので、図23では、電源がオンされてメモリコントローラ62がゲームモードに置かれるまでの処理を、ステップS201からS205として記載している。   23 to 26 show an example of the operation of the memory controller 62 in the download process. Since the download process is started in the game mode as described above, in FIG. 23, the process from when the power is turned on until the memory controller 62 is placed in the game mode is described as steps S201 to S205. .

処理が開始されると、図23のステップS201で、メモリコントローラ62はモードをゲームモードにする。内部RAM66のモード記憶領域300にはゲームモードを示すデータが記憶される。   When the process is started, the memory controller 62 sets the mode to the game mode in step S201 in FIG. Data indicating the game mode is stored in the mode storage area 300 of the internal RAM 66.

次に、ステップS203で、メモリコントローラ62は、ダウンロード領域204およびゲーム領域202を読み出しのみ可能な状態にする。たとえば、メモリコントローラ62は、フラッシュメモリ64の各領域に対するアクセスの状態を示すデータを内部RAM66に生成しておく。そして、当該データにおいて、ダウンロード領域204およびゲーム領域202について、読出しのみ可能な状態であることを示すデータを設定する。   Next, in step S203, the memory controller 62 makes the download area 204 and the game area 202 readable only. For example, the memory controller 62 generates data indicating the state of access to each area of the flash memory 64 in the internal RAM 66. In the data, data indicating that the download area 204 and the game area 202 can only be read is set.

続いて、ステップS205で、メモリコントローラ62は、キー1およびキー3をフラッシュメモリ64のインフォメーション領域200から内部RAM66のワークエリアに読み出して復号化し、キー1およびキー3をキー記憶領域302に展開する。   Subsequently, in step S205, the memory controller 62 reads the key 1 and key 3 from the information area 200 of the flash memory 64 into the work area of the internal RAM 66 and decrypts them, and expands the key 1 and key 3 in the key storage area 302. .

続くステップS207以降の処理がメモリコントローラ62のダウンロード処理に相当する。メモリコントローラ62は、ステップS207で、gRD_UIDコマンドをコネクタ60を介して受信したか否かを判断する。ステップS207で“YES”の場合、つまり、ユニークIDを読み取るためのコマンドを受信した場合には、メモリコントローラ62は、ステップS209で、インフォメーション領域200の記憶領域220からユニークIDを読み出して、当該ユニークIDをコネクタ60に出力する。なお、gRD_UIDコマンドがスクランブルなどで暗号化して送信される場合には、受信したデータを復号化して、当該データがgRD_UIDコマンドであるか否かを判断する。また、メモリコントローラ62がコネクタ60に出力したデータは、コネクタ32等を介してCPU34に与えられる。   The subsequent processing from step S207 corresponds to the download processing of the memory controller 62. The memory controller 62 determines whether or not the gRD_UID command has been received via the connector 60 in step S207. If “YES” in the step S207, that is, if a command for reading the unique ID is received, the memory controller 62 reads the unique ID from the storage area 220 of the information area 200 in the step S209, and The ID is output to the connector 60. When the gRD_UID command is encrypted and transmitted by scramble or the like, the received data is decrypted to determine whether or not the data is a gRD_UID command. Data output from the memory controller 62 to the connector 60 is given to the CPU 34 via the connector 32 or the like.

ステップS209を終了し、またはステップS207で“NO”の場合、メモリコントローラ62は、ステップS211でgRD_IFコマンドを受信したか否かを判断する。なお、gRD_IFコマンドがスクランブルなどで暗号化される場合、受信したデータを復号化して、当該データがgRD_IFコマンドであるか否かを判断する。ステップS211で“NO”の場合、処理はステップS207へ戻る。   If step S209 ends or if “NO” in the step S207, the memory controller 62 determines whether or not the gRD_IF command is received in a step S211. When the gRD_IF command is encrypted by scrambling or the like, the received data is decrypted to determine whether or not the data is a gRD_IF command. If “NO” in the step S211, the process returns to the step S207.

一方、ステップS211で“YES”の場合、つまり、乱数およびユニークIDを読み取るためのコマンドを受信した場合には、メモリコントローラ62は、ステップS213で、乱数およびユニークIDをキー1で暗号化する。なお、メモリコントローラ62は、記憶領域304に乱数を発生し、また、メモリコントローラ62はインフォメーション領域200の記憶領域220からユニークIDをワークエリアに読み出す。また、暗号化に使用されるキー1は、記憶領域302に既に展開されている。続くステップS215で、メモリコントローラ62は、暗号化された乱数およびユニークIDを出力する。   On the other hand, if “YES” in the step S211, that is, if a command for reading a random number and a unique ID is received, the memory controller 62 encrypts the random number and the unique ID with the key 1 in a step S213. The memory controller 62 generates a random number in the storage area 304, and the memory controller 62 reads the unique ID from the storage area 220 of the information area 200 to the work area. Also, the key 1 used for encryption has already been expanded in the storage area 302. In subsequent step S215, the memory controller 62 outputs the encrypted random number and unique ID.

続いて、ステップS217で、メモリコントローラ62は、gCHG_DL_MODEコマンドを受信したか否かを判断する。このgCHG_DL_MODEコマンドは、サーバ102でメモリカード28が正規なカードであると判断された場合にCPU34から発行されるので、ステップS217で当該コマンドの受信を待機する。なお、gCHG_DL_MODEコマンドがスクランブルなどで暗号化される場合、受信したデータを復号化して、当該データがgCHG_DL_MODEコマンドであるか否かを判断する。   Subsequently, in step S217, the memory controller 62 determines whether a gCHG_DL_MODE command has been received. Since this gCHG_DL_MODE command is issued from the CPU 34 when the server 102 determines that the memory card 28 is a legitimate card, it waits for reception of the command in step S217. When the gCHG_DL_MODE command is encrypted by scrambling or the like, the received data is decrypted to determine whether the data is a gCHG_DL_MODE command.

ステップS217で“YES”の場合、つまり、DLセキュアモードに遷移するための遷移コマンドを受信した場合には、メモリコントローラ62は、ステップS219でゲームモードからDLセキュアモードに遷移する。モード記憶領域300にはDLセキュアモードを示すデータを記憶する。   If “YES” in the step S217, that is, if a transition command for transition to the DL secure mode is received, the memory controller 62 transitions from the game mode to the DL secure mode in a step S219. The mode storage area 300 stores data indicating the DL secure mode.

続いて、図24のステップS221で、メモリコントローラ62は、インフォメーション領域200の記憶領域214からキー1を読み出して復号化し、内部RAM66の記憶領域302に展開する。なお、キー記憶領域302には既にキー1が展開されているが、事故によるデータの置き換わり等を回避するために、このステップS221の処理でキー1を展開し直す。   Subsequently, in step S <b> 221 of FIG. 24, the memory controller 62 reads and decodes the key 1 from the storage area 214 of the information area 200 and expands it in the storage area 302 of the internal RAM 66. Note that the key 1 has already been expanded in the key storage area 302, but the key 1 is expanded again in the process of step S221 in order to avoid data replacement due to an accident.

また、ステップS224で、メモリコントローラ62は、フラッシュメモリ64の全領域をアクセス不可状態にする。たとえば、メモリコントローラ62は、フラッシュメモリ64の各領域に対するアクセスの状態を示すデータにおいて、全領域について、アクセス不可能な状態であることを示すデータを設定する。   In step S224, the memory controller 62 makes the entire area of the flash memory 64 inaccessible. For example, the memory controller 62 sets data indicating that access is not possible for all areas in the data indicating the status of access to each area of the flash memory 64.

そして、ステップS225で、メモリコントローラ62はデータ(暗号化されたdsCHG_MODEコマンド)を受信したか否かを判断する。DLセキュアモードに遷移した後に、この暗号化されたdsCHG_MODEコマンドがサーバ102から送信されるので、このステップS225で、当該データの受信を待機する。   In step S225, the memory controller 62 determines whether data (encrypted dsCHG_MODE command) has been received. After the transition to the DL secure mode, the encrypted dsCHG_MODE command is transmitted from the server 102, so that reception of the data is awaited in this step S225.

ステップS225で“YES”の場合、つまり、データ(暗号化されたdsCHG_MODEコマンド)を受信した場合には、メモリコントローラ62は、ステップS227で、受信したデータをキー1で復号化する。dsCHG_MODEコマンドは、サーバ102において、このメモリカード28のユニークIDに対応するキー1を用いて暗号化されているので、記憶領域302のキー1を用いて復号化を行う。   If “YES” in the step S225, that is, if data (encrypted dsCHG_MODE command) is received, the memory controller 62 decrypts the received data with the key 1 in a step S227. Since the dsCHG_MODE command is encrypted in the server 102 using the key 1 corresponding to the unique ID of the memory card 28, the dsCHG_MODE command is decrypted using the key 1 in the storage area 302.

続いて、ステップS229で、メモリコントローラ62は、dsCHG_MODEコマンドからブロックアドレスならびにユニークIDおよび乱数を取得する。dsCHG_MODEコマンドには、ダウンロードしたデータを書き込むブロックアドレスが指定されており、また、先にステップS215で出力した乱数およびユニークIDが埋め込まれている。   Subsequently, in step S229, the memory controller 62 acquires a block address, a unique ID, and a random number from the dsCHG_MODE command. In the dsCHG_MODE command, the block address to which the downloaded data is written is specified, and the random number and the unique ID output in step S215 are embedded.

そして、ステップS231で、メモリコントローラ62は、取得したユニークIDおよび乱数が、メモリカード28内のユニークIDおよび乱数、つまり、内部RAM66に記憶されているユニークIDおよび記憶領域304に記憶されている乱数と一致するか否かを判断する。   In step S231, the memory controller 62 determines that the acquired unique ID and random number are the unique ID and random number in the memory card 28, that is, the unique ID stored in the internal RAM 66 and the random number stored in the storage area 304. To determine whether or not.

ステップS231で“NO”の場合、つまり、ダウンロードモードへの遷移コマンドが正当なコマンドではない場合には、メモリコントローラ62は、ステップS233でイリーガルモードに遷移する。モード記憶領域300にはイリーガルモードを示すデータが記憶される。イリーガルモードに遷移すると、メモリコントローラ62はダウンロード処理を行わないので、不正な書込みを防止できる。   If “NO” in the step S231, that is, if the transition command to the download mode is not a valid command, the memory controller 62 transitions to the illegal mode in a step S233. The mode storage area 300 stores data indicating the illegal mode. When the transition to the illegal mode is made, the memory controller 62 does not perform the download process, so that unauthorized writing can be prevented.

一方、ステップS231で“YES”の場合、つまり、ダウンロードモードへの遷移コマンドが正当なコマンドである場合には、メモリコントローラ62は、ステップS235で、DLセキュアモードからダウンロードモードに遷移する。モード記憶領域300にはダウンロードモードを示すデータが記憶される。   On the other hand, if “YES” in the step S231, that is, if the transition command to the download mode is a valid command, the memory controller 62 transitions from the DL secure mode to the download mode in a step S235. The mode storage area 300 stores data indicating the download mode.

また、ステップS237で、メモリコントローラ62は、dsCHG_MODEコマンドで指定されたブロックのみをアクセス可能状態にする。たとえば、メモリコントローラ62は、フラッシュメモリ64の各領域に対するアクセスの状態を示すデータにおいて、ダウンロード領域のメモリマップを指定ブロックのみに変更するとともに、当該ダウンロード領域のみについて、アクセス可能状態であることを示すデータを設定する。   In step S237, the memory controller 62 makes only the block designated by the dsCHG_MODE command accessible. For example, the memory controller 62 changes the memory map of the download area to only the designated block in the data indicating the access status to each area of the flash memory 64, and indicates that only the download area is accessible. Set the data.

さらに、ステップS239で、メモリコントローラ62は、インフォメーション領域200の記憶領域216からキー2を読み出して復号化し、キー1に代えて内部RAM66の記憶領域302に展開する。なお、キー2の展開前に、キー記憶領域302からキー1を消去しておく。   Further, in step S239, the memory controller 62 reads and decodes the key 2 from the storage area 216 of the information area 200, and expands it in the storage area 302 of the internal RAM 66 instead of the key 1. Note that the key 1 is deleted from the key storage area 302 before the key 2 is expanded.

続いて、図25のステップS241で、メモリコントローラ62は、dlRD_IFコマンドを受信したか否かを判断する。このdlRD_IFコマンドは、暗号化されたdsCHG_MODEコマンドの転送後に、CPU34によって発行されるので、このステップS241で当該dlRD_IFコマンドの受信を待機する。   Subsequently, in step S241 in FIG. 25, the memory controller 62 determines whether a dlRD_IF command has been received. Since this dlRD_IF command is issued by the CPU 34 after transfer of the encrypted dsCHG_MODE command, reception of the dlRD_IF command is awaited in step S241.

ステップS241で“YES”の場合、つまり、乱数およびユニークIDを読むためのコマンドを受信した場合には、メモリコントローラ62は、ステップS243で、乱数およびユニークIDをキー2で暗号化する。なお、メモリコントローラ62は、記憶領域304に乱数を発生し、インフォメーション領域200の記憶領域220からユニークIDを読み出す。そして、乱数およびユニークIDを記憶領域302に展開されているキー2で暗号化する。ステップS245で、メモリコントローラ62は、暗号化された乱数およびユニークIDを出力する。   If “YES” in the step S241, that is, if a command for reading a random number and a unique ID is received, the memory controller 62 encrypts the random number and the unique ID with the key 2 in a step S243. The memory controller 62 generates a random number in the storage area 304 and reads the unique ID from the storage area 220 of the information area 200. Then, the random number and the unique ID are encrypted with the key 2 developed in the storage area 302. In step S245, the memory controller 62 outputs the encrypted random number and unique ID.

続いて、ステップS247で、メモリコントローラ62は、dlPRT_OFFコマンドを受信したか否かを判断する。CPU34は、ステップS245で出力された暗号化された乱数およびユニークIDをサーバ102に転送後に、このdlPRT_OFFコマンドを発行するので、ステップS247で当該コマンドの受信を待機する。   Subsequently, in step S247, the memory controller 62 determines whether or not a dlPRT_OFF command has been received. Since the CPU 34 issues the dlPRT_OFF command after transferring the encrypted random number and unique ID output in step S245 to the server 102, the CPU 34 waits for reception of the command in step S247.

ステップS247で“YES”の場合、つまり、ライトプロテクトを解除するためのコマンドを受信した場合には、メモリコントローラ62は、ステップS249でフラッシュメモリ64のダウンロード領域204に対するライトプロテクトをオフにする。具体的には、メモリコントローラ62は、内部RAM66の記憶領域306に記憶されるライトプロテクトを示すフラグをオフにする。   If “YES” in the step S247, that is, if a command for canceling the write protection is received, the memory controller 62 turns off the write protection for the download area 204 of the flash memory 64 in a step S249. Specifically, the memory controller 62 turns off a flag indicating write protection stored in the storage area 306 of the internal RAM 66.

続いて、ステップS251で、メモリコントローラ62は、データ(暗号化された2KByte+8Byteのデータ)を受信したか否かを判断する。このデータは、サーバ102から送信されたダウンロードデータである。また、受信データには、ゲーム装置10のCPU34によって、書き込むページアドレスが追加されている。   Subsequently, in step S251, the memory controller 62 determines whether data (encrypted data of 2 KB + 8 bytes) has been received. This data is download data transmitted from the server 102. In addition, a page address to be written by the CPU 34 of the game apparatus 10 is added to the received data.

ステップS251で“YES”の場合、メモリコントローラ62は、ステップS253で、受信したデータとページアドレスを内部RAM66のワークエリアに記憶する。一方、ステップS251で“NO”の場合、処理は図26のステップS269に進む。   If “YES” in the step S251, the memory controller 62 stores the received data and page address in the work area of the internal RAM 66 in a step S253. On the other hand, if “NO” in the step S251, the process proceeds to a step S269 in FIG.

続いて、ステップS255では、メモリコントローラ62は、dWR_PAGEコマンドを受信したか否かを判断する。このdWR_PAGEコマンドは、ゲーム装置10のCPU34によって、ダウンロードデータの転送後に発行されるので、ステップS255で当該dWR_PAGEコマンドの受信を待機する。   In step S255, the memory controller 62 determines whether a dWR_PAGE command has been received. Since the dWR_PAGE command is issued by the CPU 34 of the game apparatus 10 after the download data is transferred, the dWR_PAGE command waits for reception of the dWR_PAGE command in step S255.

ステップS255で“YES”の場合、つまり、書込みコマンドを受信した場合には、処理は図26のステップS257に進む。ステップS257では、メモリコントローラ62は、記憶領域306のライトプロテクトがオフであるか否かを判断する。   If “YES” in the step S255, that is, if a write command is received, the process proceeds to a step S257 in FIG. In step S257, the memory controller 62 determines whether or not the write protection of the storage area 306 is off.

ステップS257で“YES”の場合、つまり、ダウンロードしたデータの書込みが許可されている場合には、メモリコントローラ62は、ステップS259で、受信したデータ(暗号化された2KByte+8Byteのデータ)をキー2で復号化する。なお、受信したデータは、サーバ102において、メモリカード28のユニークIDに対応するキー2で暗号化されている。この復号化によって、2KByteのダウンロード用データおよび8ByteのMICを取得できる。   If “YES” in the step S257, that is, if writing of the downloaded data is permitted, the memory controller 62 uses the key 2 to receive the received data (encrypted 2 KByte + 8 Byte data) in the step S259. Decrypt. The received data is encrypted in the server 102 with the key 2 corresponding to the unique ID of the memory card 28. By this decryption, it is possible to acquire 2 Kbytes of download data and 8 bytes of MIC.

続いて、ステップS261で、メモリコントローラ62は、復号化した2KByteのデータに対して、キー3で8ByteのMICを算出する。なお、このMIC算出の際には、内部RAM66に記憶されているユニークIDおよび乱数を初期値として使用する。また、算出用のキー3は、記憶領域302に記憶されているキー2の一部(共用部分)とキー3とによって構成される。   Subsequently, in step S <b> 261, the memory controller 62 calculates an 8-byte MIC with the key 3 for the decrypted 2 KB data. In this MIC calculation, the unique ID and random number stored in the internal RAM 66 are used as initial values. The calculation key 3 includes a part (shared part) of the key 2 stored in the storage area 302 and the key 3.

そして、ステップS263で、メモリコントローラ62は、算出したMICが復号化したMICと一致するか否かを判断する。ステップS263で“NO”の場合、つまり、ダウンロードしたデータが不正なデータと認められる場合には、処理はステップS265へ進む。ステップS265では、メモリコントローラ62は、書込みを実行しない。したがって、不正なデータがダウンロード領域204に書込まれるのを防止できる。ステップS265を終了すると、このダウンロード処理を終了する。   In step S263, the memory controller 62 determines whether or not the calculated MIC matches the decrypted MIC. If “NO” in the step S263, that is, if the downloaded data is recognized as invalid data, the process proceeds to a step S265. In step S265, the memory controller 62 does not execute writing. Therefore, it is possible to prevent illegal data from being written in the download area 204. When step S265 ends, this download process ends.

一方、ステップS263で“YES”の場合、つまり、ダウンロードしたデータが正規なデータである場合には、メモリコントローラ62は、ステップS267で、復号化した2KByteのデータを、指定されたページに書き込む。   On the other hand, if “YES” in the step S263, that is, if the downloaded data is regular data, the memory controller 62 writes the decrypted 2 KByte data in the designated page in a step S267.

続いて、ステップS269で、メモリコントローラ62は、dlCHG_MODEコマンドを受信したか否かを判断する。このdlCHG_MODEコマンドは、ファイルの書込みが終了したか、または、1ブロックの書込みが終了したときに、CPU34によって発行される。ステップS269で“NO”の場合、処理は図25のステップS251に戻る。したがって、ファイルの書込みが終了するか、または1ブロックの書込みが終了するまでは、ダウンロードされた所定サイズ(2KByte)のデータのダウンロード領域204への書込みが繰返される。   Subsequently, in step S269, the memory controller 62 determines whether a dlCHG_MODE command has been received. This dlCHG_MODE command is issued by the CPU 34 when the writing of the file is completed or when the writing of one block is completed. If “NO” in the step S269, the process returns to the step S251 in FIG. Therefore, the writing of the downloaded data of a predetermined size (2 KB) to the download area 204 is repeated until the writing of the file is finished or the writing of one block is finished.

一方、ステップS269で“YES”の場合、つまり、ゲームモードに遷移させる遷移コマンドを受信した場合には、メモリコントローラ62は、ステップS271で、ダウンロードモードからゲームモードに遷移する。モード記憶領域300には、ゲームモードを示すデータが記憶される。また、ステップS273で、メモリコントローラ62は、ステップS203と同様にして、ダウンロード領域204およびゲーム領域202を読出しのみ可能状態にする。なお、ダウンロード領域のメモリマップが指定ブロックに変更されているので、インフォメーション領域200に規定された各領域の境界データ(開始アドレス)に基づいて、ダウンロード領域204を元に戻し、当該ダウンロード領域204に対して読出しのみ可能状態を示すデータを設定する。   On the other hand, if “YES” in the step S269, that is, if a transition command for transition to the game mode is received, the memory controller 62 transitions from the download mode to the game mode in a step S271. The mode storage area 300 stores data indicating the game mode. Further, in step S273, the memory controller 62 makes the download area 204 and the game area 202 in a read-only state in the same manner as in step S203. Since the memory map of the download area is changed to the designated block, the download area 204 is restored based on the boundary data (start address) of each area defined in the information area 200, and the download area 204 is changed to the download area 204. On the other hand, data indicating a state in which only reading is possible is set.

さらに、ステップS275で、メモリコントローラ62は、インフォメーション領域200の記憶領域214から読み出したキー1を復号化して、キー2に代えて内部RAM66のキー記憶領域302にキー1を展開する。ステップS275を終了すると、処理はステップS207に戻る。ダウンロードするファイルの書込みが終了していない場合には、ダウンロード処理がゲームモードから再び実行されて、残りのデータの書込みが行われることとなる。   Further, in step S275, the memory controller 62 decrypts the key 1 read from the storage area 214 of the information area 200, and expands the key 1 in the key storage area 302 of the internal RAM 66 instead of the key 2. When step S275 ends, the process returns to step S207. If writing of the file to be downloaded has not been completed, the download process is executed again from the game mode, and the remaining data is written.

図27から図29には、ダウンロード処理におけるサーバ102の動作の一例が示される。ダウンロード処理を開始すると、サーバ102のCPUは、ステップS301で、ユニークIDとゲームIDとを受信したか否かを判断する。ダウンロード処理では、最初にゲーム装置10からメモリカード28のユニークIDとゲームIDとがネットワーク106を介して送信されるので、このステップS301でその受信を待機する。   27 to 29 show an example of the operation of the server 102 in the download process. When the download process is started, the CPU of the server 102 determines whether or not a unique ID and a game ID are received in step S301. In the download process, first, the unique ID and the game ID of the memory card 28 are transmitted from the game apparatus 10 via the network 106, and the reception is awaited in this step S301.

ステップS301で“YES”の場合、サーバ102のCPUは、ステップS303で、受信したユニークIDおよびゲームIDをRAMの記憶領域404および記憶領域406に記憶する。   If “YES” in the step S301, the CPU of the server 102 stores the received unique ID and game ID in the storage area 404 and the storage area 406 of the RAM in a step S303.

続いて、ステップS305で、サーバ102のCPUは、データ(暗号化された乱数およびユニークID)を受信したか否かを判断する。メモリカード28の認証のために、最初のユニークIDの送信の後にゲーム装置10から上記データが送信されるので、このステップS305でその受信を待機する。   Subsequently, in step S305, the CPU of the server 102 determines whether data (encrypted random number and unique ID) has been received. For the authentication of the memory card 28, the data is transmitted from the game apparatus 10 after the transmission of the first unique ID, so that the reception is awaited in this step S305.

ステップS305で“YES”の場合には、サーバ102のCPUは、ステップS307で、受信したデータ(暗号化された乱数およびユニークID)を、ユニークIDに対応するキー1で復号化する。具体的には、受信データは、メモリカード28のメモリコントローラ62によってキー1で暗号化されているので、CPUは、記憶領域404の最初に受信したユニークIDに対応するキー1、2および3をデータベースから読み出して、記憶領域408に記憶する。そして、そのキー1で受信データを復号化する。これによって、乱数およびユニークIDを取得することができ、取得された乱数およびユニークIDは記憶領域410に記憶される。   If “YES” in the step S305, the CPU of the server 102 decrypts the received data (encrypted random number and unique ID) with the key 1 corresponding to the unique ID in a step S307. Specifically, since the received data is encrypted with the key 1 by the memory controller 62 of the memory card 28, the CPU uses the keys 1, 2, and 3 corresponding to the unique ID received first in the storage area 404. The data is read from the database and stored in the storage area 408. Then, the received data is decrypted with the key 1. Thereby, a random number and a unique ID can be acquired, and the acquired random number and unique ID are stored in the storage area 410.

そして、ステップS309で、サーバ102のCPUは、記憶領域410に記憶された復号化されたユニークIDが、記憶領域404に記憶された初めのユニークIDと一致するか否かを判断する。   In step S 309, the CPU of the server 102 determines whether the decrypted unique ID stored in the storage area 410 matches the initial unique ID stored in the storage area 404.

ステップS309で“YES”の場合、つまり、メモリカード28が正規のカードであると認められる場合には、サーバ102のCPUは、ステップS311でメモリカード28が正規カードであることを示すデータをネットワーク106を介してゲーム装置10に送信する。ステップS311を終了すると、処理は図28のステップS315へ進む。   If “YES” in the step S309, that is, if the memory card 28 is recognized as a regular card, the CPU of the server 102 transmits data indicating that the memory card 28 is a regular card in step S311 to the network. It is transmitted to the game apparatus 10 via 106. When step S311 is completed, the process proceeds to step S315 in FIG.

一方、ステップS309で“NO”の場合、つまり、メモリカード28が正規のカードであるとは認められない場合には、サーバ102のCPUは、ステップS313でメモリカード28が正規カードではないことを示すデータをゲーム装置10に送信する。そして、このダウンロード処理を終了する。   On the other hand, if “NO” in the step S309, that is, if the memory card 28 is not recognized as a regular card, the CPU of the server 102 confirms that the memory card 28 is not a regular card in a step S313. The data shown is transmitted to the game apparatus 10. Then, this download process is terminated.

図28のステップS315では、サーバ102のCPUは、ステップS315でブロックアドレスを受信したか否かを判断する。ステップS311の送信に応じて、ゲーム装置10からブロックアドレスが送信されるので、ステップS315でその受信を待機する。   In step S315 of FIG. 28, the CPU of the server 102 determines whether or not a block address has been received in step S315. Since the block address is transmitted from the game apparatus 10 in response to the transmission in step S311, the reception is awaited in step S315.

ステップS315で“YES”の場合、サーバ102のCPUは、ステップS317で受信したブロックアドレスを記憶領域412に記憶する。続いて、ステップS319で、サーバ102のCPUは、ブロックアドレスならびにユニークIDおよび乱数を用いて、dsCHG_MODEコマンドを生成する。このdsCHG_MODEコマンドは、ダウンロードモードに遷移させるための遷移コマンドである。dsCHG_MODEコマンドにおいてはブロックアドレスが指定され、ダウンロードモードでは、この指定されたブロックアドレスへの書込みが可能にされることとなる。また、dsCHG_MODEコマンドには、記憶領域410の乱数およびユニークIDが含められる。   If “YES” in the step S315, the CPU of the server 102 stores the block address received in the step S317 in the storage area 412. Subsequently, in step S319, the CPU of the server 102 generates a dsCHG_MODE command using the block address, the unique ID, and the random number. This dsCHG_MODE command is a transition command for shifting to the download mode. In the dsCHG_MODE command, a block address is specified, and in the download mode, writing to the specified block address is enabled. The dsCHG_MODE command includes the random number and the unique ID stored in the storage area 410.

また、ステップS321で、サーバ102のCPUは、生成したdsCHG_MODEコマンドを、ユニークIDに対応するキー1を用いて暗号化する。そして、ステップS323で、サーバ102のCPUは、暗号化されたdsCHG_MODEコマンドをゲーム装置10に送信する。   In step S321, the CPU of the server 102 encrypts the generated dsCHG_MODE command using the key 1 corresponding to the unique ID. Then, in step S323, the CPU of the server 102 transmits the encrypted dsCHG_MODE command to the game apparatus 10.

続いて、ステップS325で、サーバ102のCPUは、データ(暗号化された乱数およびユニークID)をゲーム装置10から受信したか否かを判断する。メモリコントローラ62はダウンロードモードに遷移すると、乱数およびユニークIDをキー2で暗号化してサーバ102に送信するので、このステップS325でその受信を待機する。   Subsequently, in step S325, the CPU of the server 102 determines whether data (encrypted random number and unique ID) has been received from the game apparatus 10. When the memory controller 62 transitions to the download mode, the random number and the unique ID are encrypted with the key 2 and transmitted to the server 102, so that the reception is awaited in step S325.

ステップS325で“YES”の場合、つまり、上記データ(暗号化された乱数およびユニークID)を受信した場合には、サーバ102のCPUは、ステップS327で、受信したデータ(暗号化された乱数およびユニークID)を、ユニークIDに対応するキー2で復号化する。これによって取得された乱数およびユニークIDは、記憶領域410に記憶される。ステップS327を終了すると、処理は図29のステップS329へ進む。   If “YES” in the step S325, that is, if the data (encrypted random number and unique ID) is received, the CPU of the server 102, in step S327, receives the received data (encrypted random number and The unique ID) is decrypted with the key 2 corresponding to the unique ID. The random number and the unique ID acquired in this way are stored in the storage area 410. When step S327 ends, the process proceeds to step S329 in FIG.

図29のステップS329では、サーバ102のCPUは、書込みファイルを準備する。具体的には、データベースに記憶されたダウンロード用データから所定のデータを読み出して、RAMの記憶領域414に記憶する。書込みファイルは、たとえば、ユニークIDに対応するファイルであってよいし、ゲームIDに対応するファイルであってよいし、あるいは、ユニークIDやゲームIDによらない所定のファイルであってよい。ステップS331では、サーバ102のCPUは、書込みファイルのファイルデータ量をゲーム装置10に送信する。   In step S329 in FIG. 29, the CPU of the server 102 prepares a write file. Specifically, predetermined data is read from the download data stored in the database and stored in the storage area 414 of the RAM. The write file may be, for example, a file corresponding to a unique ID, a file corresponding to a game ID, or a predetermined file that does not depend on a unique ID or a game ID. In step S <b> 331, the CPU of the server 102 transmits the file data amount of the write file to the game apparatus 10.

続いて、ステップS333で、サーバ102のCPUは、書込みファイルから所定サイズ(この実施例では2KByte)のデータを取り出す。書込みファイルのデータは所定サイズごとに分けて送信される。   Subsequently, in step S333, the CPU of the server 102 takes out data of a predetermined size (2 KB in this embodiment) from the write file. The write file data is transmitted separately for each predetermined size.

ステップS335で、サーバ102のCPUは、2KByteのデータについて、8ByteのMICを、ユニークIDに対応するキー3で算出する。なお、MIC算出の初期値として、記憶領域410の乱数およびユニークIDが使用される。続くステップS337で、サーバ102のCPUは、2KByteのデータに8ByteのMICを追加する。そして、ステップS339で、サーバ102のCPUは、2KByte+8Byteのデータを、ユニークIDに対応するキー2で暗号化する。なお、暗号化の初期値として、記憶領域410のユニークIDおよび乱数が使用される。ステップS341で、サーバ102のCPUは、暗号化された2KByte+8Byteのデータをゲーム装置10に送信する。   In step S335, the CPU of the server 102 calculates an 8-byte MIC for the 2 KB data using the key 3 corresponding to the unique ID. A random number and a unique ID stored in the storage area 410 are used as initial values for MIC calculation. In the subsequent step S337, the CPU of the server 102 adds an 8-byte MIC to the 2 KB data. In step S339, the CPU of the server 102 encrypts the data of 2 KB + 8 bytes with the key 2 corresponding to the unique ID. Note that the unique ID and random number in the storage area 410 are used as initial values for encryption. In step S <b> 341, the CPU of the server 102 transmits the encrypted 2 Kbyte + 8 bytes data to the game apparatus 10.

続くステップS343で、サーバ102のCPUは、ファイルの送信が終了したか、または、1ブロックの送信が終了したかを判断する。なお、ファイルの送信か終了したかは、書込みファイルのデータ量とデータ送信量の累積とに基づいて判断することができる。ステップS343で“NO”の場合には、つまり、1ブロックの送信が終了せず、または、ファイルの送信が終了していない場合には、処理はステップS333に戻って、所定サイズのデータの送信のための処理を繰返す。   In subsequent step S343, the CPU of the server 102 determines whether the transmission of the file is completed or the transmission of one block is completed. Whether the file transmission has been completed or not can be determined based on the data amount of the write file and the accumulated data transmission amount. If “NO” in the step S343, that is, if the transmission of one block is not completed or the transmission of the file is not completed, the process returns to the step S333 to transmit data of a predetermined size. Repeat the process for.

一方、ステップS343で“YES”の場合には、サーバ102のCPUは、ステップS345でファイルの送信が終了したか否かを判断する。ステップS345で“NO”の場合、つまり、1ブロック単位のデータの送信を終了したが書込みファイルのすべてのデータの送信を終えていない場合には、処理は図27のステップS305に戻る。メモリコントローラ62がゲームモードにある場合のダウンロード処理から繰返すことによって、次のブロックへのファイルの書込みを行う。一方、ステップS345で“YES”であれば、ファイルの書込みを終了したので、ダウンロード処理を終了する。   On the other hand, if “YES” in the step S343, the CPU of the server 102 determines whether or not the file transmission is ended in a step S345. If “NO” in the step S345, that is, if transmission of data in units of one block has been completed but transmission of all data in the write file has not been completed, the process returns to the step S305 in FIG. By repeating the download process when the memory controller 62 is in the game mode, the file is written to the next block. On the other hand, if “YES” in the step S345, the writing of the file is finished, and thus the download process is finished.

バックアップ領域206に対するセキュリティシステムとしてのゲーム装置10のバックアップ処理の動作について図30から図33のフロー図を参照しながら説明する。   The operation of the backup process of the game apparatus 10 as the security system for the backup area 206 will be described with reference to the flowcharts of FIGS.

図30はバックアップ書込み処理におけるゲーム装置10の動作の一例を示す。バックアップ領域206への書込み処理を開始すると、ステップS401で、CPU34は、書き込むデータをRAM42に準備する。この書き込むデータは、CPU34がゲーム処理で生成したバックアップデータであり、記憶領域510に記憶される。   FIG. 30 shows an example of the operation of the game apparatus 10 in the backup writing process. When the writing process to the backup area 206 is started, the CPU 34 prepares data to be written in the RAM 42 in step S401. The data to be written is backup data generated by the CPU 34 in the game process, and is stored in the storage area 510.

次に、ステップS403で、CPU34は、書き込むデータにパリティを付ける。図15に示したように、この実施例では、各バイトデータが「7ビットのデータ」+「パリティビット(1ビット)」のフォーマットとなるようにして、パリティ付きデータが生成される。つまり、各バイトの先頭7ビットは、生成されたバックアップデータであり、最終ビットに先頭7ビットのパリティが追加される。生成されたパリティ付きデータは、記憶領域512に記憶される。   Next, in step S403, the CPU 34 adds parity to the data to be written. As shown in FIG. 15, in this embodiment, data with parity is generated such that each byte data has a format of “7-bit data” + “parity bit (1 bit)”. That is, the first 7 bits of each byte are the generated backup data, and the parity of the first 7 bits is added to the last bit. The generated data with parity is stored in the storage area 512.

続いて、ステップS405で、CPU34は、バックアップ領域206の空き領域を確認し、書き込むブロックアドレスを決定する。なお、フラッシュメモリ64の記憶領域のうち、どの領域が使用され、またはどの領域が空き領域であるかなどの情報は、たとえばインフォメーション領域200にヘッダ情報として記憶されているので、CPU34は当該ヘッダ情報に基づいてフラッシュメモリ64の管理データを生成し、当該管理データに基づいて、バックアップ領域206における空き領域を確保して、書き込むブロックアドレスを決定する。決定されたブロックアドレスは、記憶領域514に記憶される。   Subsequently, in step S405, the CPU 34 confirms a free area in the backup area 206 and determines a block address to be written. Information such as which area is used in the storage area of the flash memory 64 or which area is an empty area is stored as header information in the information area 200, for example. The management data of the flash memory 64 is generated based on the above, and a free area in the backup area 206 is secured based on the management data, and the block address to be written is determined. The determined block address is stored in the storage area 514.

そして、ステップS407で、CPU34は、gCHG_BK_MODEコマンドをメモリカード28に発行する。このgCHG_BK_MODEコマンドは、バックアップモードに遷移させるための遷移コマンドである。この遷移コマンドにおいて、書き込むブロックアドレスが指定される。なお、メモリコントローラ62は、この遷移コマンドに応じてバックアップモードに遷移し、バックアップ領域206のうち指定ブロックのみがアクセス可能にされる。   In step S407, the CPU 34 issues a gCHG_BK_MODE command to the memory card 28. This gCHG_BK_MODE command is a transition command for making a transition to the backup mode. In this transition command, the block address to be written is specified. The memory controller 62 shifts to the backup mode in response to this transition command, and only the designated block in the backup area 206 can be accessed.

続くステップS409で、CPU34は、パリティ付きデータを書き込むためのライトコマンドをメモリカード28に発行する。このライトコマンドは、書き込もうとしているパリティ付きデータを含む。上述のダウンロード領域204への書込みの場合と同様に所定サイズずつデータが書き込まれるように、たとえば、ライトコマンドには所定サイズのデータを添付する。このライトコマンドに応じて、メモリコントローラ62は、データをバックアップ領域206の指定ブロックに書き込む。   In subsequent step S409, the CPU 34 issues a write command for writing data with parity to the memory card 28. This write command includes data with parity to be written. For example, data of a predetermined size is attached to the write command so that the data is written by a predetermined size as in the case of writing to the download area 204 described above. In response to this write command, the memory controller 62 writes the data to the designated block in the backup area 206.

そして、ステップS411で、CPU34は、用意したデータを全て書き終えたか、または、1ブロックのデータを書き終えたかを判断する。なお、用意したデータ(パリティ付きデータ)の書込みか終了したかは、記憶領域512に記憶したパリティ付きデータのデータ量とライトコマンドによるデータ送信量の累積とに基づいて判断することができる。ステップS411で“NO”の場合には、処理はステップS409に戻って、ライトコマンドによる書込みを繰返す。   In step S411, the CPU 34 determines whether all of the prepared data has been written or one block of data has been written. Whether the prepared data (data with parity) has been written or not can be determined based on the data amount of the data with parity stored in the storage area 512 and the accumulated data transmission amount by the write command. If “NO” in the step S411, the process returns to the step S409 to repeat the writing by the write command.

一方、ステップS411で“YES”の場合には、CPU34は、ステップS413でbCHG_MODEコマンドをメモリカード28に発行する。このbCHG_MODEコマンドは、バックアップモードからゲームモードに遷移するための遷移コマンドである。なお、この遷移コマンドに応じて、メモリコントローラ62はゲームモードに遷移する。   On the other hand, if “YES” in the step S411, the CPU 34 issues a bCHG_MODE command to the memory card 28 in a step S413. This bCHG_MODE command is a transition command for transitioning from the backup mode to the game mode. In response to this transition command, the memory controller 62 transitions to the game mode.

そして、ステップS415で、CPU34は、用意したデータ(パリティ付きデータ)を全て書き終えたか否かを判断する。ステップS45で“NO”の場合には、つまり、1ブロックのデータを書き終えたが書込みしていないパリティ付きデータが残っている場合には、処理はステップS405に戻って、次のブロックへの書込みのための処理を実行する。一方、ステップS415で“YES”であれば、このバックアップ書込み処理を終了する。   In step S415, the CPU 34 determines whether all the prepared data (data with parity) has been written. If “NO” in the step S45, that is, if one block of data has been written but data with parity that has not been written remains, the process returns to the step S405 to transfer to the next block. Execute processing for writing. On the other hand, if “YES” in the step S415, the backup writing process is ended.

図31はバックアップ読出し処理におけるゲーム装置10の動作の一例を示す。バックアップ領域206からの読出し処理を開始すると、ステップS501で、CPU34は、読み出すバックアップデータの格納場所を確認する。なお、読み出すバックアップデータは、ユーザの操作またはプログラム等に従って選択される。各バックアップデータの格納場所に関する情報は、たとえばフラッシュメモリ64のヘッダ情報に含まれる。   FIG. 31 shows an example of the operation of the game apparatus 10 in the backup read process. When the reading process from the backup area 206 is started, the CPU 34 confirms the storage location of the backup data to be read in step S501. Note that the backup data to be read is selected according to a user operation or a program. Information regarding the storage location of each backup data is included in the header information of the flash memory 64, for example.

次に、ステップS503で、CPU34は、読み出すブロックアドレスを決定する。読み出すバックアップデータの格納場所から、読み出すブロックアドレスを決定し、記憶領域516に記憶する。   Next, in step S503, the CPU 34 determines a block address to be read. The block address to be read is determined from the storage location of the backup data to be read and stored in the storage area 516.

続いて、ステップS505で、CPU34はgCHG_BK_MODEコマンドをメモリカード28に発行する。このgCHG_BK_MODEコマンドは、バックアップモードに遷移するための遷移コマンドである。この遷移コマンドではステップS503で決定された読み出すブロックアドレスが指定される。この遷移コマンドに応じて、メモリコントローラ62はバックアップモードに遷移し、指定ブロックのみアクセス可能にされる。   Subsequently, in step S505, the CPU 34 issues a gCHG_BK_MODE command to the memory card 28. This gCHG_BK_MODE command is a transition command for transitioning to the backup mode. In this transition command, the block address to be read determined in step S503 is designated. In response to this transition command, the memory controller 62 transitions to the backup mode, and only the designated block can be accessed.

ステップS507では、CPU34は、読み出すページアドレスを指定してリードコマンドをメモリカード28に発行する。このリードコマンドは、データの読出しを指示するためのコマンドである。たとえば、指定されたページのデータの読出しを指示することができる。なお、このリードコマンドに応じて、メモリコントローラ62は、指定ページのデータをバックアップ領域206から読み出す。そして、当該読み出したデータが正当なデータであれば、当該データがCPU34に出力される。   In step S507, the CPU 34 designates a page address to be read and issues a read command to the memory card 28. This read command is a command for instructing reading of data. For example, it is possible to instruct reading of data of a specified page. In response to this read command, the memory controller 62 reads the data of the specified page from the backup area 206. If the read data is valid data, the data is output to the CPU 34.

ステップS509では、CPU34は、データをメモリカード28から受信したか否かを判断する。上述のように、読み出したデータが正当であれば当該データが出力されるので、このステップS509では、その受信を待機する。なお、メモリコントローラ62の読み出したデータが正当でないと判定される場合、イリーガルモードに遷移してデータが出力されないので、このバックアップ読出し処理は正常に動作しなくなる。   In step S509, the CPU 34 determines whether data is received from the memory card 28 or not. As described above, if the read data is valid, the data is output. In step S509, reception is awaited. If it is determined that the data read by the memory controller 62 is not valid, the data is not output after the transition to the illegal mode, so that the backup read processing does not operate normally.

ステップS509で“YES”の場合には、CPU34は、ステップS511で、受信したデータ、すなわち読み出したデータをRAM42の記憶領域518に記憶する。そして、ステップS513で、CPU34は、読み出すデータをすべて読み出したか、または、1ブロックの読出しが終了したかを判断する。なお、読み出すデータを全て読み出したかどうかは、読み出すデータのデータ量とリードコマンドによる読出しデータ量の累積とに基づいて判断することができる。ステップS513で“NO”の場合には、処理はステップS507に戻り、リードコマンドによる読出し処理を繰返す。   If “YES” in the step S509, the CPU 34 stores the received data, that is, the read data in the storage area 518 of the RAM 42 in a step S511. In step S513, the CPU 34 determines whether all the data to be read has been read or whether one block has been read. Whether all the data to be read has been read can be determined based on the data amount of the read data and the accumulation of the read data amount by the read command. If “NO” in the step S513, the process returns to the step S507, and the reading process by the read command is repeated.

一方、ステップS513で“YES”の場合には、CPU34は、ステップS515で、bCHG_MODEコマンドをメモリカード28に発行する。このbCHG_MODEコマンドは、ゲームモードに遷移するための遷移コマンドである。この遷移コマンドに応じて、メモリコントローラ62はゲームモードに遷移する。   On the other hand, if “YES” in the step S513, the CPU 34 issues a bCHG_MODE command to the memory card 28 in a step S515. This bCHG_MODE command is a transition command for transitioning to the game mode. In response to this transition command, the memory controller 62 transitions to the game mode.

そして、ステップS517で、CPU34は、読み出すデータを全て読み出したか否かを判断する。ステップS517で“NO”の場合、つまり、1ブロックの読出しを終了したが読み出すべきデータが残っている場合には、処理はステップS503に戻って、次のブロックの読出しのための処理を実行する。一方、ステップS517で“YES”であれば、このバックアップ読出し処理を終了する。   In step S517, the CPU 34 determines whether all data to be read has been read. If “NO” in the step S517, that is, if reading of one block is completed but data to be read remains, the process returns to the step S503 to execute a process for reading the next block. . On the other hand, if “YES” in the step S517, the backup reading process is ended.

図32および図33はバックアップ処理におけるメモリコントローラ62の動作の一例を示す。図32のステップS601で、メモリコントローラ62は、gCHG_BK_MODEコマンドを受信したか否かを判断する。このgCHG_BK_MODEコマンドは、バックアップモードへの遷移コマンドである。ステップS601で“NO”の場合、このバックアップ処理を終了する。   32 and 33 show an example of the operation of the memory controller 62 in the backup process. In step S601 in FIG. 32, the memory controller 62 determines whether or not a gCHG_BK_MODE command has been received. This gCHG_BK_MODE command is a transition command to the backup mode. If “NO” in the step S601, the backup process is ended.

一方、ステップS601で“YES”の場合、メモリコントローラ62は、ステップS603でゲームモードからバックアップモードに遷移する。内部RAM66のモード記憶領域300にはバックアップモードを示すデータが記憶される。続くステップS605で、メモリコントローラ62は、バックアップ領域206のうち、gCHG_BK_MODEコマンドで指定されたブロックのみをアクセス可能状態にする。たとえば、メモリコントローラ62は、フラッシュメモリ64の各領域に対するアクセスの状態を示すデータを内部RAM66に記憶しておき、当該データにおいて、バックアップ領域206のメモリマップを指定ブロックのみに変更するとともに、当該バックアップ領域のみについて、アクセス可能状態であることを示すデータを設定する。   On the other hand, if “YES” in the step S601, the memory controller 62 transits from the game mode to the backup mode in a step S603. Data indicating the backup mode is stored in the mode storage area 300 of the internal RAM 66. In subsequent step S605, the memory controller 62 makes only the block designated by the gCHG_BK_MODE command in the backup area 206 accessible. For example, the memory controller 62 stores data indicating the state of access to each area of the flash memory 64 in the internal RAM 66, changes the memory map of the backup area 206 to only the designated block in the data, and Only the area is set with data indicating that it can be accessed.

そして、メモリコントローラ62は、バックアップモードで受信したコマンドに応じた処理を実行する。すなわち、ステップS607で、メモリコントローラ62は、ライトコマンドを受信したか否かを判断する。ステップS607で“YES”の場合、メモリコントローラ62は、ステップS609で、ライトコマンドとともに受信したデータを、遷移コマンドで指定されたバックアップ領域206のブロックに書き込む。   Then, the memory controller 62 executes processing according to the command received in the backup mode. That is, in step S607, the memory controller 62 determines whether a write command has been received. If “YES” in the step S607, the memory controller 62 writes the data received together with the write command in the block of the backup area 206 designated by the transition command in a step S609.

ステップS609を終了し、または、ステップS607で“NO”の場合、ステップS611で、メモリコントローラ62は、bCHG_MODEコマンドを受信したか否かを判断する。ステップS611で“YES”の場合、つまり、ゲームモードへの遷移コマンドを受信した場合には、メモリコントローラ62は、ステップS613で、バックアップモードからゲームモードに遷移する。モード記憶領域300には、ゲームモードを示すデータを記憶する。続いて、ステップS615で、メモリコントローラ62は、バックアップ領域206をアクセス不可状態にする。たとえば、フラッシュメモリ64の各領域に対するアクセスの状態を示すデータにおいて、バックアップ領域のメモリマップを元に戻すととともに、当該バックアップ領域206に対してアクセス不可能状態であることを示すデータを設定する。ステップS615を終了すると、このバックアップ処理を終了する。   In step S611, the memory controller 62 determines whether or not the bCHG_MODE command has been received if step S609 is ended or if “NO” in the step S607. If “YES” in the step S611, that is, if a transition command to the game mode is received, the memory controller 62 transitions from the backup mode to the game mode in a step S613. The mode storage area 300 stores data indicating the game mode. Subsequently, in step S615, the memory controller 62 makes the backup area 206 inaccessible. For example, in the data indicating the access status to each area of the flash memory 64, the memory map of the backup area is restored and data indicating that the backup area 206 is inaccessible is set. When step S615 ends, the backup process ends.

一方、ステップS611で“NO”の場合、図33のステップS617で、メモリコントローラ62は、リードコマンドを受信したか否かを判断する。ステップS617で“YES”の場合、メモリコントローラ62は、ステップS619で、リードコマンドで指定されたページがアクセス可能なブロック内であるか否かを判断する。アクセス可能なブロックは、バックアップモードへの遷移コマンドで指定されたバックアップ領域206内のブロックである。この判定によって、適切な読出し指定が行われたデータに対してのみ、パリティチェックを行うようにすることができ、不正な読出し命令を排除することができる。   On the other hand, if “NO” in the step S611, the memory controller 62 determines whether or not a read command is received in a step S617 in FIG. If “YES” in the step S617, the memory controller 62 determines whether or not the page specified by the read command is in an accessible block in a step S619. The accessible block is a block in the backup area 206 specified by the transition command to the backup mode. By this determination, it is possible to perform a parity check only on data for which appropriate read designation has been performed, and it is possible to eliminate an illegal read command.

ステップS619で“YES”の場合、メモリコントローラ62は、ステップS621で、リードコマンドで指定されたページのパリティをチェックする。具体的には、メモリコントローラ62は、指定されたページデータを内部RAM66のワークエリアに読出し、各バイトの先頭7ビットのパリティを算出し、当該計算結果を各バイトの最終ビットと比較する。   If “YES” in the step S619, the memory controller 62 checks the parity of the page designated by the read command in a step S621. Specifically, the memory controller 62 reads the designated page data into the work area of the internal RAM 66, calculates the first 7 bits of parity of each byte, and compares the calculation result with the last bit of each byte.

そして、ステップS623で、メモリコントローラ62は、パリティチェックの結果が正しいか否かを判断する。ステップS623で“YES”の場合、つまり、全バイトについて、算出されたパリティビットと最終ビットとが等しい場合には、メモリコントローラ62は、ステップS625で、指定されたページのデータをCPU34に出力する。   In step S623, the memory controller 62 determines whether the parity check result is correct. If “YES” in the step S623, that is, if the calculated parity bit and the final bit are equal for all bytes, the memory controller 62 outputs the data of the designated page to the CPU 34 in a step S625. .

一方、ステップS623で“NO”の場合、つまり、算出されたパリティビットと最終ビットとが等しくないバイトが1つでも検出された場合には、読み出そうとしているデータが不正であると認められるので、メモリコントローラ62は、ステップS627でイリーガルモードに遷移する。モード記憶領域300にはイリーガルモードを示すデータが記憶される。イリーガルモードに遷移すると、メモリコントローラ62は、読み出したデータを出力しない。したがって、不正データが読み出されて利用されるのを防止できる。   On the other hand, if “NO” in the step S623, that is, if even one byte in which the calculated parity bit and the final bit are not equal is detected, it is recognized that the data to be read is illegal. Therefore, the memory controller 62 transitions to the illegal mode in step S627. The mode storage area 300 stores data indicating the illegal mode. When transitioning to the illegal mode, the memory controller 62 does not output the read data. Therefore, illegal data can be prevented from being read and used.

なお、ステップS617で“NO”の場合、ステップS619で“NO”の場合、またはステップS625を終了すると、処理は図32のステップS607に戻る。   If “NO” in the step S617, if “NO” in the step S619, or if the step S625 is ended, the process returns to the step S607 in FIG.

なお、上述の実施例では、ゲーム装置10に装着可能なメモリカード28のフラッシュメモリ64にダウンロード領域204を設けるようにしたが、他の実施例では、ゲーム装置10のハウジング16内にフラッシュメモリ64を設けて、当該フラッシュメモリ64にダウンロード領域204を設けるようにしてもよい。その場合、メモリコントローラ62もハウジング16内に設けられる。また、バックアップ領域206に関しても、同様に、ゲーム装置10のハウジング16内のフラッシュメモリ64に設けるようにしてよい。なお、フラッシュメモリ64をゲーム装置10のハウジング16に内蔵する場合、ユニークIDはゲーム装置10の識別情報であってもよい。   In the above-described embodiment, the download area 204 is provided in the flash memory 64 of the memory card 28 that can be attached to the game apparatus 10. In other embodiments, the flash memory 64 is provided in the housing 16 of the game apparatus 10. And the download area 204 may be provided in the flash memory 64. In that case, the memory controller 62 is also provided in the housing 16. Similarly, the backup area 206 may be provided in the flash memory 64 in the housing 16 of the game apparatus 10. When the flash memory 64 is built in the housing 16 of the game apparatus 10, the unique ID may be identification information of the game apparatus 10.

また、上述の各実施例では、メモリカード28ごとの暗号とするために、メモリカード28のユニークIDに対応するキー1、2および3を準備して、フラッシュメモリ64およびサーバ12に予め記憶するようにした。しかし、他の実施例では、ゲームタイトル(ゲームプログラム)またはアプリケーションの種類(アプリケーションプログラム)ごとの暗号とするようにしてもよく、その場合には、ゲームID(アプリケーションID)に対応するキー1、2および3を準備して、フラッシュメモリ64およびサーバ12に予め記憶する。そして、暗号化および復号化の際には、ゲームIDに対応するキーを用いるようにする。   In each of the above-described embodiments, the keys 1, 2 and 3 corresponding to the unique ID of the memory card 28 are prepared and stored in the flash memory 64 and the server 12 in advance in order to use encryption for each memory card 28. I did it. However, in another embodiment, encryption for each game title (game program) or application type (application program) may be used, in which case the key 1 corresponding to the game ID (application ID), 2 and 3 are prepared and stored in the flash memory 64 and the server 12 in advance. Then, at the time of encryption and decryption, a key corresponding to the game ID is used.

また、上述の各実施例では、フラッシュメモリ64にダウンロード領域204とバックアップ領域206の2つの書込み領域を設けて、一方のダウンロード領域204に対してモード遷移と書込みデータの暗号化による段階的なセキュリティをかけ、他方のバックアップ領域206に対しては書込みデータのフォーマットによってセキュリティをかけるようにしていた。しかし、他の実施例では、フラッシュメモリ64にはいずれか一方の書込み領域のみを設けるようにしてよい。   Further, in each of the above-described embodiments, the flash memory 64 is provided with two write areas, the download area 204 and the backup area 206, and the stepwise security by mode transition and write data encryption for one of the download areas 204. The other backup area 206 is protected by the write data format. However, in other embodiments, only one of the write areas may be provided in the flash memory 64.

この発明が詳細に説明され図示されたが、それは単なる図解および一例として用いたものであり、限定であると解されるべきではないことは明らかであり、この発明の精神および範囲は添付されたクレームの文言によってのみ限定される。   Although the present invention has been described and illustrated in detail, it is clear that it has been used merely as an illustration and example and should not be construed as limiting, and the spirit and scope of the present invention are attached Limited only by the wording of the claims.

10 …情報処理装置
62 …メモリコントローラ
64 …フラッシュメモリ
100 …ダウンロードセキュリティシステム
102 …サーバ
106 …ネットワーク
DESCRIPTION OF SYMBOLS 10 ... Information processing apparatus 62 ... Memory controller 64 ... Flash memory 100 ... Download security system 102 ... Server 106 ... Network

Claims (17)

サーバと、記憶手段を含み、当該サーバからデータをダウンロードして当該記憶手段に書き込む情報処理装置と、を含む情報処理システムであって、
前記サーバは、
前記情報処理装置を前記記憶手段に書き込み可能な書込み可能モードに遷移させるための第1遷移コマンドを暗号化する暗号化手段、
暗号化された第1遷移コマンドを前記情報処理装置に送信する遷移コマンド送信手段、および
前記データを前記情報処理装置に送信するデータ送信手段を含み、
前記第1遷移コマンドは、前記データを書き込むために指定された前記記憶手段のアドレスを含み、
前記情報処理装置は、
前記サーバから送信された前記暗号化された第1遷移コマンドを復号化する復号化手段、
前記復号化手段によって復号化された第1遷移コマンドに応じて前記情報処理装置が前記書込み可能モードに遷移したとき、前記記憶手段における前記指定されたアドレスのみに前記データを書き込み可能にする書込み可能化手段、および
前記書き込み可能となった前記データを前記指定されたアドレスに書き込む書込み手段をさらに含む、ダウンロードセキュリティシステム。
An information processing system including a server and a storage unit, and an information processing apparatus that downloads data from the server and writes the data to the storage unit,
The server
Encryption means for encrypting a first transition command for making the information processing apparatus transition to a writable mode in which the storage means can be written ;
Includes data transmission means for transmitting transition command transmitting unit that sends the first transition command encrypted to the information processing apparatus, and the data to the information processing apparatus,
The first transition command includes an address of the storage means designated for writing the data,
The information processing apparatus includes:
Decryption means for decrypting the encrypted first transition command transmitted from the server;
When the information processing apparatus transitions to the writable mode in response to the first transition command decrypted by the decryption means, the data can be written so that only the designated address in the storage means can be written. And a download security system further comprising: writing means, and writing means for writing the writable data to the designated address.
前記書込み可能化手段は、前記指定されたアドレスから一定範囲を書込み可能にする、請求項記載のダウンロードセキュリティシステム。 The write enable means, said to from the specified address in the writable certain range, downloading security system of claim 1, wherein. 前記サーバは、前記第1遷移コマンドの暗号化のための第1キー、および前記第1キーと異なる前記データの暗号化のための第2キーを記憶し、
前記暗号化手段は、前記第1キーを用いて前記第1遷移コマンドを暗号化し、
前記データ送信手段は、前記第2キーを用いて暗号化された前記データを送信し、
前記記憶手段は、前記第1キーおよび前記第2キーを記憶し、
前記復号化手段は、前記暗号化された第1遷移コマンドを前記第1キーを用いて復号化し、
前記書込み手段は、前記書込み可能モードにおいて前記第2キーを用いて前記データを復号化して前記記憶手段に書き込む、請求項1または2記載のダウンロード
セキュリティシステム。
The server stores a first key for encryption of the first transition command and a second key for encryption of the data different from the first key;
The encryption means encrypts the first transition command using the first key,
The data transmission means transmits the data encrypted using the second key;
The storage means stores the first key and the second key;
It said decoding means, the first transition command, which is the encrypted decrypted by using the first key,
3. The download security system according to claim 1, wherein the writing unit decrypts the data using the second key in the writable mode and writes the data into the storage unit. 4.
前記サーバは、前記データのメッセージダイジェスト認証用の第3キーをさらに記憶し、
前記データ送信手段は、前記第3キーを用いて生成された認証記号を付加した前記データを、前記第2キーを用いて暗号化して、当該暗号化されたデータを送信し、
前記記憶手段は、前記第3キーをさらに記憶し、
前記書込み手段は、前記書込み可能モードにおいて、暗号化された前記データを前記第2キーを用いて復号化し、前記復号化したデータが前記第3キーを用いて認証されたとき、当該データを書き込む、請求項記載のダウンロードセキュリティシステム。
The server further stores a third key for message digest authentication of the data;
The data transmission means encrypts the data with the authentication symbol generated using the third key added using the second key, and transmits the encrypted data.
The storage means further stores the third key,
The writing means decrypts the encrypted data using the second key in the writable mode, and writes the data when the decrypted data is authenticated using the third key. The download security system according to claim 3 .
前記第3キーは、前記第2キーの一部を置き換えることによって得られるキーである、請求項記載のダウンロードセキュリティシステム。 The download security system according to claim 4 , wherein the third key is a key obtained by replacing a part of the second key. 前記情報処理装置は、通常モードにおいて、前記記憶手段にアクセスするためのコマンドを、前記暗号化手段とは異なるアルゴリズムで暗号化する通常暗号化手段をさらに含む、請求項ないしのいずれかに記載のダウンロードセキュリティシステム。 The information processing apparatus in the normal mode, a command for accessing said storage means, further comprising a normal encryption means for encrypting a different algorithm from the encryption means, to any one of claims 1 to 5 The download security system described. 前記情報処理装置は、アプリケーション実行モードにおいて、前記記憶手段にアクセスするためのコマンドを、前記暗号化手段とは異なるアルゴリズムで暗号化する通常暗号化手段をさらに含む、請求項ないしのいずれかに記載のダウンロードセキュリティシステム。 The information processing apparatus causes the application execution mode, a command for accessing said storage means, further comprising a normal encryption means for encrypting a different algorithm from the encryption means, any one of claims 1 to 5 Download security system described in. 前記情報処理装置は、前記書込み手段に書込みを指示するための書込みコマンドを発行する書込み発行手段をさらに含み、
前記書込み手段は、前記書込み可能モードにおいて前記書込みコマンドに応じて前記データを前記記憶手段に書き込む、請求項1ないしのいずれかに記載のダウンロードセキュリティシステム。
The information processing apparatus further includes a write issuing unit that issues a write command for instructing the writing unit to write,
The download security system according to any one of claims 1 to 7 , wherein the writing unit writes the data into the storage unit in response to the write command in the writable mode.
前記記憶手段は、当該記憶手段の識別情報を記憶し、
前記情報処理装置は、前記記憶手段に記憶された前記識別情報を前記サーバに送信する識別情報送信手段を含み、
前記サーバは、複数の前記識別情報に対応付けられた、前記第1遷移コマンドの暗号化のための複数の第1キーを記憶し、
前記暗号化手段は、前記記憶手段の識別情報に対応する前記第1キーを用いて、前記第1遷移コマンドを暗号化する、請求項記載のダウンロードセキュリティシステム。
The storage means stores identification information of the storage means,
The information processing apparatus includes identification information transmitting means for transmitting the identification information stored in the storage means to the server,
The server stores a plurality of first keys for encryption of the first transition command associated with a plurality of the identification information,
Said encryption means, the first using a key, the first transition command to encrypt, downloading security system of claim 1, wherein corresponding to the identification information of the storage means.
前記記憶手段は、当該記憶手段に記憶されるアプリケーションプログラムの識別情報を記憶し、
前記情報処理装置は、前記記憶手段に記憶された前記識別情報を前記サーバに送信する識別情報送信手段を含み、
前記サーバは、複数の前記識別情報に対応付けられた、前記第1遷移コマンドの暗号のための複数の第1キーを記憶し、
前記暗号化手段は、受信した前記アプリケーションプログラムの識別情報に対応する前記第1キーを用いて、前記第1遷移コマンドを暗号化する、請求項記載のダウンロードセキュリティシステム。
The storage means stores identification information of an application program stored in the storage means,
The information processing apparatus includes identification information transmitting means for transmitting the identification information stored in the storage means to the server,
The server stores a plurality of first keys for encryption of the first transition command associated with a plurality of the identification information,
It said encryption means uses the first key corresponding to the identification information of the application program received, the first transition command to encrypt, downloading security system of claim 1, wherein.
前記記憶手段は、第1領域および第2領域を有し、
前記書込み手段は、前記第1領域に対してのみ、前記第1遷移コマンドに応じて遷移した前記書込み可能モードにおいて前記書込み手段による書込みを行い、前記第2領域に対して、前記書込み手段による書込みとは異なる書込みを行う、請求項1ないし10のいずれかに記載のダウンロードセキュリティシステム。
The storage means has a first area and a second area,
The writing means performs writing by the writing means in the writable mode that has transitioned according to the first transition command only to the first area, and writing by the writing means to the second area. The download security system according to any one of claims 1 to 10 , wherein writing different from that is performed.
前記記憶手段は、前記第1領域および前記第2領域の境界データを記憶する、請求項11記載のダウンロードセキュリティシステム。 The download security system according to claim 11 , wherein the storage unit stores boundary data of the first area and the second area. 前記記憶手段および前記書込み手段は、前記情報処理装置に装着可能な記憶媒体に設けられた、請求項1ないし12のいずれかに記載のダウンロードセキュリティシステム。 It said storage means and said writing means, provided in the storage medium mounted on the information processing apparatus, downloads a security system according to any one of claims 1 to 12. サーバおよび前記サーバからデータをダウンロードする情報処理装置を含むダウンロードセキュリティシステムにおいて、ダウンロードした前記データを記憶するための記憶手段に対する書込みを制御するメモリコントローラであって、
前記サーバから前記情報処理装置に送信され、前記データを書き込むために指定された前記記憶手段のアドレスを含む暗号化された第1遷移コマンドを復号化する復号化手段、
前記復号化手段によって復号化された第1遷移コマンドに応じて、前記記憶手段に書き込み可能な書込み可能モードに遷移する遷移手段、
前記第1遷移コマンドに応じて前記書込み可能モードに遷移したとき 、前記データを前記指定されたアドレスのみに書き込み可能にする書込み可能化手段、および
前記書き込み可能となった前記データを前記指定されたアドレスに書き込む書込み手段を備える、メモリコントローラ。
In a download security system including a server and an information processing device that downloads data from the server, a memory controller that controls writing to storage means for storing the downloaded data,
The sent from the server to the information processing apparatus, decoding means for decoding the first transition command encrypted including an address of said storage means designated for writing the data,
Transition means for transitioning to a writable mode writable in the storage means in response to the first transition command decoded by the decoding means;
Write enable means for enabling writing of the data only to the specified address when transitioning to the writable mode in response to the first transition command, and the data that has become writable A memory controller comprising writing means for writing to an address.
ダウンロードしたデータを記憶するための記憶手段を含む情報処理装置と接続可能なサーバであって、
前記情報処理装置を前記記憶手段に書き込み可能な書込み可能モードに遷移させるための第1遷移コマンドを暗号化する暗号化手段、
暗号化された第1遷移コマンドを前記情報処理装置に送信する遷移コマンド送信手段、および
前記データを前記情報処理装置に送信するデータ送信手段を備え、
前記第1遷移コマンドは、前記書込み可能モードに遷移した前記情報処理装置において前記データが書き込まれる前記記憶手段のアドレスを含む、サーバ。
A server connectable to an information processing device including a storage means for storing downloaded data;
Encryption means for encrypting a first transition command for making the information processing apparatus transition to a writable mode in which the storage means can be written ;
A data transmission means for transmitting transition command transmitting unit that sends the first transition command encrypted to the information processing apparatus, and the data to the information processing apparatus,
The server, wherein the first transition command includes an address of the storage means to which the data is written in the information processing apparatus that has transitioned to the writable mode.
サーバ、前記サーバからダウンロードしたデータを書き込むための記憶手段、および前記記憶手段の書込みを制御する制御手段を含むダウンロードセキュリティシステムにおいて用いられる情報処理装置であって、
前記制御手段を前記記憶手段に書き込み可能な書込み可能モードに遷移させるための暗号化された第1遷移コマンドを前記サーバから受信したとき、当該第1遷移コマンドを復号化して前記制御手段に与える遷移コマンド提供手段、
前記サーバから前記データを受信したとき、当該データを前記制御手段に与えるデータ提供手段、および
前記データの書込み命令を前記制御手段に発行する書込み発行手段を備え、
前記第1遷移コマンドは、前記データを書き込むために指定された前記記憶手段のアドレスを含み、
前記第1遷移コマンドに応じて前記情報処理装置が前記書込み可能モードに遷移したとき、前記データを前記指定されたアドレスのみに書き込み可能にする書込み可能化手段、および
前記書き込み可能となった前記データを前記指定されたアドレスに書き込む書込み手段を含む、情報処理装置。
An information processing apparatus used in a download security system including a server, storage means for writing data downloaded from the server, and control means for controlling writing of the storage means,
When the encrypted first transition command for transitioning the control means to a writable mode writable to the storage means is received from the server, the first transition command is decrypted and given to the control means Command providing means,
A data providing means for giving the data to the control means when the data is received from the server; and a write issuing means for issuing a write command for the data to the control means,
The first transition command includes an address of the storage means designated for writing the data,
Write enabling means for enabling writing of the data only to the designated address when the information processing apparatus transitions to the writable mode in response to the first transition command, and the data that has become writable An information processing apparatus including writing means for writing the address to the designated address.
サーバと、記憶手段を含み、当該サーバからデータをダウンロードして当該記憶手段に書き込む情報処理装置と、を含む情報処理システムにおけるセキュリティ方法であって、
前記サーバが前記情報処理装置を前記記憶手段に書き込み可能な書込み可能モードに遷移させるための第1遷移コマンドを暗号化する暗号化ステップ、
暗号化された第1遷移コマンドを前記情報処理装置に送信するステップ、
前記サーバが前記データを前記情報処理装置に送信するステップ、
前記データを書き込むために指定された前記記憶手段のアドレスを含む暗号化された第1遷移コマンドを復号化する復号化ステップ、
前記復号化された第1遷移コマンドに応じて前記情報処理装置が前記書込み可能モードに遷移したとき、前記データを前記指定されたアドレスのみに書き込み可能にするステップ、および
前記書き込み可能となった前記データを前記指定されたアドレスに書き込むステップを含む、セキュリティ方法。
A security method in an information processing system including a server and a storage unit, and an information processing apparatus that downloads data from the server and writes the data in the storage unit,
An encryption step of encrypting a first transition command for causing the server to transition the information processing apparatus to a writable mode in which the storage means can be written ;
Transmitting an encrypted first transition command to the information processing apparatus;
The server transmitting the data to the information processing apparatus;
Decoding step for decoding a first transition command encrypted contains the address of the the said storage means designated for writing the data,
When the information processing apparatus transitions to the writable mode in response to the decrypted first transition command, the step of allowing the data to be written only to the designated address, and the writable A security method comprising writing data to the designated address.
JP2012263939A 2012-12-03 2012-12-03 Download security system Active JP5502181B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012263939A JP5502181B2 (en) 2012-12-03 2012-12-03 Download security system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012263939A JP5502181B2 (en) 2012-12-03 2012-12-03 Download security system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009531083A Division JP5177697B2 (en) 2007-09-04 2007-09-04 Download security system

Publications (2)

Publication Number Publication Date
JP2013047992A JP2013047992A (en) 2013-03-07
JP5502181B2 true JP5502181B2 (en) 2014-05-28

Family

ID=48010912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012263939A Active JP5502181B2 (en) 2012-12-03 2012-12-03 Download security system

Country Status (1)

Country Link
JP (1) JP5502181B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013560A (en) * 2002-06-07 2004-01-15 Victor Co Of Japan Ltd Authentication system, communication terminal, and server
JP4119881B2 (en) * 2004-11-15 2008-07-16 株式会社メガチップス Semiconductor memory device
JP4667014B2 (en) * 2004-11-18 2011-04-06 キヤノン株式会社 Storage management device and control method thereof
JP2006338311A (en) * 2005-06-01 2006-12-14 Dainippon Printing Co Ltd Computer system for processing device loaded with multiple applications, device and computer program
JP2007004522A (en) * 2005-06-24 2007-01-11 Renesas Technology Corp Storage device
JP5017868B2 (en) * 2006-01-31 2012-09-05 大日本印刷株式会社 IC card program correction system, program, and IC card

Also Published As

Publication number Publication date
JP2013047992A (en) 2013-03-07

Similar Documents

Publication Publication Date Title
JP5177697B2 (en) Download security system
CN102859963B (en) From non-local memory load and configuration subsystem safely
US10164686B2 (en) Information processing system, information processing device, storage medium storing information processing program, information processing method, and storage device
US7979719B2 (en) Data authentication method and data authentication system
JP5177696B2 (en) Write area security system
JP7133314B2 (en) Game service providing method, game service providing apparatus, computer program and recording medium
JP4204606B2 (en) Program, information storage medium and portable electronic device
KR102247815B1 (en) Management techniques of game-save data based on block chain network
US7748048B2 (en) Storage medium, method of producing transfer file data, and data signal
EP1677883A1 (en) Game system, game execution apparatus, and portable storage medium
JP2014235326A (en) System, information processing apparatus, secure module, and verification method
KR20040013864A (en) Game terminal apparatus and manageable Method for the same and A Computer- readable Storage Meduim storing the method
CN100354790C (en) Information process device
JP6392439B1 (en) Program, terminal device, and information processing system
JP5502181B2 (en) Download security system
JP5304229B2 (en) Terminal device
JP2009193249A (en) Data management system, data management apparatus, information processing apparatus, and computer program
JP2008077273A (en) Data protection method in semiconductor memory card, and semiconductor memory card
JP4869815B2 (en) Portable terminal device, control method thereof, and program
WO2005024694A1 (en) Flash player apparatus and service method capable of applying copyright protection to flash files
KR20090012488A (en) Apparatus for protecting inventory item and method thereof
JP5339860B2 (en) Removable non-volatile auxiliary storage device
JP2013037554A (en) Memory system, security memory and information protection method
JP2019107437A (en) Program, terminal device, and information processing system
JP2011115625A (en) Game system and portable game machine

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140312

R150 Certificate of patent or registration of utility model

Ref document number: 5502181

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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