JP2000322254A - 電子装置及びセキュリティチェック方法 - Google Patents

電子装置及びセキュリティチェック方法

Info

Publication number
JP2000322254A
JP2000322254A JP11126838A JP12683899A JP2000322254A JP 2000322254 A JP2000322254 A JP 2000322254A JP 11126838 A JP11126838 A JP 11126838A JP 12683899 A JP12683899 A JP 12683899A JP 2000322254 A JP2000322254 A JP 2000322254A
Authority
JP
Japan
Prior art keywords
program
memory
stored
rewritable
correction
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.)
Withdrawn
Application number
JP11126838A
Other languages
English (en)
Inventor
Yusuke Shimizu
祐介 清水
Koji Umibe
浩司 海部
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.)
Sega Corp
Original Assignee
Sega Enterprises 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 Sega Enterprises Ltd filed Critical Sega Enterprises Ltd
Priority to JP11126838A priority Critical patent/JP2000322254A/ja
Publication of JP2000322254A publication Critical patent/JP2000322254A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 改造に対しても迅速に対応して有効にチェッ
クすることができるセキュリティチェック方法を提供す
る。 【解決手段】 起動時に実行される第1のプログラムが
格納され、書き換え不可能な第1のブートROM122
と、第1のプログラムの後に実行される第2のプログラ
ムが暗号化されて格納され、書き換え可能な第2のブー
トROM116とが設けられている。第1のプログラム
を実行し、第1のプログラムにより第2のブートROM
に格納された第2のプログラムの暗号を解除し、第2の
プログラムを実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ゲーム装置等の電
子装置及びセキュリティチェック方法に関する。
【0002】
【従来の技術】一般に、ゲームソフトウエア等のプログ
ラムはCD−ROMディスクやROMカートリッジの形
態で供給される。CD−ROMディスクの場合もROM
カートリッジの場合も、特定のゲーム機専用であり、ゲ
ーム機には真正ソフトウエアであるかどうかをチェック
するセキュリティチェック機能が装備されている。この
セキュリティチェック機能の強化により、偽物のゲーム
ソフトウエアを安価に製造することが困難になってきて
いる。
【0003】
【発明が解決しようとする課題】そこで、模倣者は、ゲ
ーム機のROM自体を交換して、真正ソフトウエアであ
るかどうかのセキュリティチェックをスキップし、模倣
品でも実行可能となるようにゲーム機を改造する事例が
現れている。これにより、単純にコピーした偽物のゲー
ムソフトウエアでも、改造したゲーム機によりゲームを
行うことができ、ソフトウエアのセキュリティチェック
機能が有効に働かなくなる。
【0004】また、いくらセキュリティ機能を強化して
も、模倣者はセキュリティ機能を無効にするような抜け
道を必ず考えだし、メーカは模倣者の不正行為に悩まさ
れている。不正行為への対応が技術的に可能であること
が分かったとしても、販売したゲーム機の機能を変更す
ることは困難であるので、模倣への対応を有効に行うこ
とができなかった。
【0005】また、ゲーム機やゲームソフトウエアの発
売後にバグを見つけた場合は、バグを修正するためには
ゲーム機やゲームソフトウエア自体を交換するしかな
く、手間と費用がかかるという問題があった。
【0006】本発明の目的は、ゲーム機等の電子装置の
改造を有効にチェックすることができるセキュリティチ
ェック方法及び電子装置を提供することにある。
【0007】本発明の他の目的は、ゲーム機等の電子装
置の改造に対しても迅速に対応して有効にチェックする
ことができるセキュリティチェック方法及び電子装置を
提供することにある。
【0008】本発明の他の目的は、ゲーム機等の電子装
置やソフトウエアを修正してバグ等の不都合に有効に対
応することができるソフトウエア修正方法を提供するこ
とにある。
【0009】
【課題を解決するための手段】上記目的は、記憶媒体の
少なくとも一部に基づいて第1の認証用コードを生成
し、前記記憶媒体の少なくとも一部に基づいて第2の認
証用コードを生成し、前記記憶媒体内の、前記第1の認
証用コードに基づいて指定されたアドレスに記憶された
チェックコードと前記第2の認証用コードとを比較し、
前記チェックコードと前記第2の認証用コードとの比較
結果に基づいて前記記憶媒体の正当性を認証することを
特徴とするセキュリティチェック方法によって達成され
る。
【0010】上記目的は、記憶媒体の第1の部分に基づ
いて第1の認証用コードを生成し、前記記憶媒体の第2
の部分に基づいて第2の認証用コードを生成し、前記記
憶媒体の前記第2の部分内の、前記第1の認証用コード
に基づいて指定されたアドレスに記憶されたチェックコ
ードと前記第2の認証用コードとを比較し、前記チェッ
クコードと前記第2の認証用コードとの比較結果に基づ
いて前記記憶媒体の正当性を認証することを特徴とする
セキュリティチェック方法によって達成される。
【0011】上記目的は、記憶媒体の第1の部分に基づ
いて第1の認証用コードを生成し、前記記憶媒体の第2
の部分に基づいて第2の認証用コードを生成し、前記記
憶媒体の前記第2の部分内の、前記第1の認証用コード
に基づいて指定されたアドレスに記憶されたチェックコ
ードと前記第2の認証用コードとを比較し、前記記憶媒
体の第3の部分に基づいて第3の認証用コードを生成
し、前記記憶媒体の前記第3の部分内の、前記第1の認
証用コードに基づいて指定されたアドレスに記憶された
チェックコードと前記第3の認証用コードとを比較し、
前記チェックコードと前記第2の認証用コードとの比較
結果及び/又は前記チェックコードと前記第3の認証用
コードとの比較結果に基づいて前記記憶媒体の正当性を
認証することを特徴とするセキュリティチェック方法に
よって達成される。
【0012】上述したセキュリティチェック方法におい
て、前記記憶媒体が搭載された電子装置の正当性を認証
するようにしてもよい。
【0013】上記目的は、認証されるべき記憶媒体を有
する電子装置において、前記記憶媒体の少なくとも一部
に基づいて第1の認証用コードを生成し、前記記憶媒体
の少なくとも一部に基づいて第2の認証用コードを生成
する認証用コード生成部と、前記記憶媒体内の、前記第
1の認証用コードに基づいて指定されたアドレスに記憶
されたチェックコードと前記第2の認証用コードとを比
較する比較部とを有し、前記チェックコードと前記第2
の認証用コードとの比較結果に基づいて電子装置の動作
を制限することを特徴とする電子装置によって達成され
る。
【0014】上記目的は、認証されるべき記憶媒体を有
する電子装置において、前記記憶媒体の第1の部分に基
づいて第1の認証用コードを生成し、前記記憶媒体の第
2の部分に基づいて第2の認証用コードを生成する認証
用コード生成部と、前記記憶媒体の前記第2の部分内
の、前記第1の認証用コードに基づいて指定されたアド
レスに記憶されたチェックコードと前記第2の認証用コ
ードとを比較する比較部とを有し、前記チェックコード
と前記第2の認証用コードとの比較結果に基づいて電子
装置の動作を制限することを特徴とする電子装置によっ
て達成される。
【0015】上記目的は、認証されるべき記憶媒体を有
する電子装置において、前記記憶媒体の第1の部分に基
づいて第1の認証用コードを生成し、前記記憶媒体の第
2の部分に基づいて第2の認証用コードを生成し、前記
記憶媒体の第3の部分に基づいて第3の認証用コードを
生成する認証用コード生成部と、前記記憶媒体の前記第
2の部分内の、前記第1の認証用コードに基づいて指定
されたアドレスに記憶されたチェックコードと前記第2
の認証用コードとを比較し、前記記憶媒体の前記第3の
部分内の、前記第1の認証用コードに基づいて指定され
たアドレスに記憶されたチェックコードと前記第3の認
証用コードとを比較する比較部とを有し、前記チェック
コードと前記第2の認証用コードとの比較結果及び/又
は前記チェックコードと前記第3の認証用コードとの比
較結果に基づいて電子装置の動作を制限することを特徴
とする電子装置によって達成される。
【0016】上述した電子装置において、前記記憶媒体
は、少なくとも一部が書き換え可能であってもよい。
【0017】上述した電子装置において、前記比較部に
よる比較結果に基づいて、情報記憶媒体へのアクセスを
許可又は不許可にするようにしてもよい。
【0018】上記目的は、書き換え不可能な第1のIP
Lメモリに格納された第1のプログラムを実行し、書き
換え可能な第2のIPLメモリに暗号化されて格納され
た第2のプログラムの暗号を解除し、前記第2のプログ
ラムを実行することを特徴とする電子装置の起動方法に
よって達成される。
【0019】上記目的は、書き換え不可能な第1のIP
Lメモリに格納された第1のプログラムを実行し、書き
換え可能な第2のIPLメモリに暗号化されて格納され
た第2のプログラムの暗号を解除し、前記第2のプログ
ラムを認証し、その認証結果に基づいて、前記第2のプ
ログラムの一部を、外部の情報記憶媒体から読み込んだ
情報により書き換えることを特徴とするセキュリティチ
ェック方法によって達成される。
【0020】上記目的は、書き換え不可能な第1のIP
Lメモリに格納された第1のプログラムを実行し、書き
換え可能な第2のIPLメモリに暗号化されて格納され
た第2のプログラムの暗号を解除し、前記第2のプログ
ラムを認証し、その認証結果に基づいて、前記第2のプ
ログラムの一部を、通信手段を介して読み込んだ情報に
より書き換えることを特徴とするセキュリティチェック
方法によって達成される。
【0021】上述したセキュリティチェック方法におい
て、前記第2のIPLメモリに格納された前記第2のプ
ログラムにはバージョン情報が付されており、前記バー
ジョン情報に基づいて前記第2のプログラムを書き換え
るようにしてもよい。
【0022】上記目的は、起動時に実行される第1のプ
ログラムが格納され、書き換え不可能な第1のIPLメ
モリと、前記第1のプログラムの後に実行される第2の
プログラムが暗号化されて格納され、書き換え可能な第
2のIPLメモリと、前記第1のプログラムを実行し、
前記第1のプログラムにより前記第2のIPLメモリに
格納された前記第2のプログラムの暗号を解除し、前記
第2のプログラムを実行する実行手段とを有することを
特徴とする電子装置によって達成される。
【0023】上記目的は、起動時に実行される第1のプ
ログラムが格納され、書き換え不可能な第1のIPLメ
モリと、前記第1のプログラムの後に実行される第2の
プログラムが暗号化されて格納され、書き換え可能な第
2のIPLメモリと、前記第2のIPLメモリに格納さ
れたプログラムを認証し、その認証結果に基づいて、前
記第2のプログラムの一部を、外部の情報記憶媒体から
読み込んだ情報により書き換える書換手段とを有するこ
とを特徴とする電子装置によって達成される。
【0024】上記目的は、起動時に実行される第1のプ
ログラムが格納され、書き換え不可能な第1のIPLメ
モリと、前記第1のプログラムの後に実行される第2の
プログラムが暗号化されて格納され、書き換え可能な第
2のIPLメモリと、前記第2のIPLメモリに格納さ
れたプログラムを認証し、その認証結果に基づいて、前
記第2のプログラムの一部を、通信手段を介して読み込
んだ情報により書き換える書換手段とを有することを特
徴とする電子装置によって達成される。
【0025】上述した電子装置において、前記第2のI
PLメモリに格納された前記第2のプログラムにはバー
ジョン情報が付されており、前記書換手段は、前記バー
ジョン情報に基づいて前記第2のプログラムを書き換え
るようにしてもよい。
【0026】上記目的は、プログラムの所定位置に修正
ルーチンを予め組み込んでおき、前記プログラム及び/
又はデータを読み込んでメインメモリに格納し、前記プ
ログラムの実行時に、前記修正ルーチンを実行して、外
部の修正ファイルに基づいて前記メインメモリ上の前記
プログラム及び/又は前記データを修正することを特徴
とするソフトウエア修正方法によって達成される。
【0027】上述したソフトウエア修正方法において、
前記修正ファイルを外部の情報記憶媒体から読み込んで
前記メインメモリに格納するようにしてもよい。
【0028】上述したソフトウエア修正方法において、
前記修正ファイルを通信回線を介して読み込んで前記メ
インメモリに格納するようにしてもよい。
【0029】上述したソフトウエア修正方法において、
前記修正ファイルは、暗号化して提供され、前記修正フ
ァイルの読み込み時に、前記修正ファイルの暗号を解除
して前記メインメモリに格納するようにしてもよい。
【0030】上述したソフトウエア修正方法において、
前記メインメモリ中の修正個所を、前記修正ファイルに
より指定するようにしてもよい。
【0031】上述したソフトウエア修正方法において、
前記メインメモリ内に修正禁止領域を設定し、前記修正
禁止領域が修正されたか否かを監視するようにしてもよ
い。
【0032】
【発明の実施の形態】[第1実施形態]本発明の第1実
施形態によるゲーム装置を図1乃至図3を用いて説明す
る。図1は本実施形態のゲーム装置のブロック図であ
り、図2は本実施形態のゲーム装置におけるセキュリテ
ィチェック方法のフローチャートである。
【0033】本実施形態のゲーム装置10には、図1に
示すように、ゲーム装置全体を制御するCPU12と、
CPU12のワークメモリであるRAM14と、起動プ
ログラムが格納されたブートROM16と、画像処理を
行うVDP(Video DisplayProcessor)18とが設けら
れている。CPU12とRAM14とVDP16とはバ
スライン20に接続されている。ブートROM16は、
ROM認証用回路22を介してバスライン20に接続さ
れている。
【0034】ゲームプログラムやゲームデータはCD−
ROMにより提供される。CD−ROMドライブ24は
CD−ROMを駆動し、CD−ROMに記録されたプロ
グラムやデータを読み取る。CD−ROMドライブ24
は、CD−ROMインターフェース26を介してバスラ
イン20に接続されている。
【0035】バスライン20にはビデオインターフェー
ス28が接続され、外部のビデオモニタ30は、このビ
デオインターフェース28を介してバスライン20に接
続される。
【0036】ブートROM16には、ゲーム装置10の
起動時における一連の処理を実行する起動プログラムが
格納されている。起動プログラムとして、起動時に最初
に実行される初期プログラムと、初期プログラムの後に
実行されるアプリケーションプログラムとがある。初期
プログラムはブートROM16の領域16Aに格納され
ていて、例えば、CPU12の初期化プログラム、VD
P16の初期化プログラム、ROM認証用回路22の初
期化プログラム、後述するアプリケーションプログラム
の起動プログラム等が含まれる。アプリケーションプロ
グラムはブートROM16の領域16Bに格納されてい
て、例えば、CDプレイヤプログラム、CD−ROM正
当性チェックプログラム、ミニゲーム等が含まれる。ブ
ートROM16自身の正当性を認証するためのチェック
コードがブートROM16の指定されたアドレスの領域
16Cに格納されている。
【0037】ROM認証用回路22は、ブートROM1
6とバスライン20の間に設けられ、ブートROM16
からバスライン20へと送出されるプログラムやデータ
に基づいて、後述するような認証用コードの生成や、認
証用コードとチェックコードとの比較等を行う。
【0038】ROM認証用回路22には、ブートROM
16からバスライン20への伝送ライン22aにセレク
タ22bを介して演算器22cが設けられている。演算
器22cは伝送ライン22a上を伝送するデータを取り
込み、所定の演算によりキーコードや認証用コードを生
成する。例えば、パリティチェック(parity check)方式
や、チェックサム(check sum)方式や、CRC(Cyclic R
edundancy Check)方式等に基づいて、伝送するデータを
演算して、キーコードと認証用コードを生成する。演算
器22cにはキーコードメモリ22dと認証用コードメ
モリ22eとが設けられている。キーコードメモリ22
dには、ブートROM16の初期プログラムの領域に格
納された命令コードやデータから演算されたキーコード
が格納される。認証用コードメモリ22eには、ブート
ROM16のアプリケーションプログラムの領域に格納
された命令コードやデータから演算されたキーコードが
格納される。
【0039】セレクタ22bは、ブートROM16から
のデータを取り込む際に、キーコードメモリ22dに記
憶されたキーコードに基づいて指定されるアドレス、す
なわち、チェックコードが格納されている予定のアドレ
スのデータを選択的にチェックコードメモリ22fに送
り、それ以外のアドレスのデータを演算器22cに送
る。その結果、チェックコードメモリ22fにはブート
ROM16から読み出されたチェックコードが格納され
る。
【0040】比較器22gは認証用コードメモリ22e
の内容とチェックコードメモリ22fの内容とを比較す
る。比較器22gの比較結果によりCD−ROMインタ
フェース26を制御して、CD−ROMドライブ24へ
のアクセスを許可又は不許可にする。
【0041】本実施形態のゲーム装置10におけるセキ
ュリティチェック方法を図2のフローチャートを用いて
説明する。
【0042】CD−ROMドライブ24に、例えば、ゲ
ーム用のCD−ROMを搭載してゲーム装置10の電源
を投入するときの動作を説明する。まず、ブートROM
16の領域16Aに格納された初期プログラムを読み込
む(ステップS10)。読み込まれたプログラムはRA
M14に格納され、CPU12により初期プログラムが
実行され、CPU12の初期化、VDP16の初期化、
ROM認証用回路22の初期化が行われる(ステップS
11)。
【0043】ステップS11に併行して、ROM認証用
回路22は、伝送ライン22aを通過する初期プログラ
ムを読み込み、プログラムのコードをデータとして認識
して演算器22cにより演算してキーコード(第1の認
証用コード)を生成する(ステップS12)。パリティ
チェック(parity check)方式や、チェックサム(checksu
m)方式や、CRC(Cyclic Redundancy Check)方式等に
基づき、予め定められた演算式によりキーコードを生成
する。キーコードを生成する際には、領域16Aの全て
のデータ(プログラム)を用いてもよいし、予め定めた
一部のデータ(プログラム)を用いてもよい。これら生
成方式、演算式は、ROM認証用回路22のハードウエ
アとして形成してもよいし、ソフトウエアであるプログ
ラムとして用意してもよい。生成されたキーコードはキ
ーコードメモリ22dに格納される。
【0044】次に、CPU12は、初期プログラムに含
まれる起動プログラムにより、ブートROM16の領域
16Bに格納されたアプリケーションプログラムを読み
込む(ステップS13)。読み込まれたプログラムはそ
のままRAM14に格納される。一方、ROM認証用回
路22は伝送ライン22aを通過するアプリケーション
プログラムを読み込むときに、セレクタ22bにより、
キーコードメモリ22dに記憶されたキーコードに基づ
いて指定されたアドレスのデータを選択的にチェックコ
ードメモリ22fに送り、それ以外のアドレスのデータ
を演算器22cに送る。ブートROM16から読み出さ
れたチェックコードは、チェックコードメモリ22fに
格納される。
【0045】CPU12はRAM14に格納されたアプ
リケーションプログラムを実行する(ステップS1
4)。例えば、CD−ROMドライブ24に搭載された
CDの種別を判定し、音楽用CDであれば、CDプレイ
ヤプログラムにより演奏される。CD−ROMであれ
ば、CD−ROM正当性チェックプログラムにより正規
にライセンスを受けたCD−ROMであるかどうかのチ
ェックを行う。偽物のCD−ROMの場合にはデータを
読み込めない等の制限をゲーム装置10に加える。ま
た、CD−ROMドライブ24にCDが搭載されていな
い場合には、ミニゲームを実行するようにしてもよい。
【0046】ステップS14に併行して、ROM認証用
回路22は、演算器22cにより認証用コード(第2の
認証用コード)を生成する(ステップS15)。パリテ
ィチェック(parity check)方式や、チェックサム(check
sum)方式や、CRC(CyclicRedundancy Check)方式等
に基づき、予め定められた演算式により認証用コードを
生成する。認証用コードを生成する際には、領域16B
のチェックコード以外の全てのデータ(プログラム)を
用いてもよいし、予め定めた一部のデータ(プログラ
ム)を用いてもよい。これら生成方式、演算式は、RO
M認証用回路22のハードウエアとして形成してもよい
し、ソフトウエアであるプログラムとして用意してもよ
い。生成された認証用コードは認証用コードメモリ22
eに格納される。
【0047】なお、チェックコードを認証用コードの生
成に用いないようにしているのは、チェックコード自体
を認証用コード(第2の認証用コード)の生成に用いる
と、演算処理が再帰的になり、チェックコード決定のた
めの演算が複雑になるからである。なお、演算が複雑に
なるもののチェックコードを含む全てのデータを用いて
認証用コードを生成してもよい。
【0048】次に、ROM認証用回路22の比較器22
gにより、認証用コードメモリ22eに格納された認証
用コードを、チェックコードメモリ22fに格納された
チェックコードと比較する(ステップS16)。生成し
た認証用コードがチェックコードに一致すれば、CD−
ROMインタフェース26を使用可にして、引き続きC
D−ROMドライブ24からデータを読み込むことを許
可する。生成した認証用コードがチェックコードに一致
しなければ、CD−ROMインタフェース26を使用不
可にして、CD−ROMドライブ24へのアクセス及び
CD−ROMドライブ24からのデータの読み込みを禁
止する。
【0049】なお、認証用コードがチェックコードに一
致しない場合、本実施形態ではCD−ROMインタフェ
ース26を使用不可にしてゲーム装置10の動作に制限
を加えたが、他の方法によりゲーム装置10の動作を制
限してもよい。例えば、ビデオインタフェース28を使
用不可にしてVDP18のアクセスを不可として、画像
が表示されないようにしてもよいし、音声が発しないよ
うにしてもよいし、CPU12をリセットしてもよい。
また、RAM14へのアクセスを禁止してもよい。ま
た、ビデオモニタ30に「このゲーム機は不正に製造さ
れています」等の警告を表示するようにしてもよい。ま
た、モデム(図示せず)が設けられている場合には、ゲ
ーム装置10が不正に改造された旨の情報をメーカのサ
ーバー等に自動的に送るようにしてもよい。
【0050】以上の通り、本実施形態によれば、ブート
ROMの一部から生成されたキーコードによりアドレス
を指定し、そのアドレスに格納されているチェックコー
ドを、ブートROMの一部から別途生成された認証用コ
ードと比較して、その比較結果に基づいてブートRO
M、ひいてはゲーム装置の正当性を認証するようにした
ので、模倣者はブートROM内のどれがチェックコード
であるか知ることが極めて困難であり、高度なセキュリ
ティを実現することができる。
【0051】次に、本実施形態の変形例について説明す
る。本実施形態は上述した実施形態に限らず種々の変形
が可能である。
【0052】例えば、上記実施形態ではブートROM1
6においてアプリケーションプログラムがひとつの領域
16Bに格納されていたが、図3に示すように、複数の
領域に格納されてもよい。ブートROM16では、アプ
リケーションプログラムが複数の領域16B、16
B′、16B″に分かれて格納されている。領域16A
には初期プログラムが格納され、領域16Bには第1の
アプリケーションプログラムIが格納され、領域16
B′には第2のアプリケーションプログラムIIが格納さ
れ、領域16B″には第3のアプリケーションプログラ
ムIIIが格納されている。領域16B、16B′、16
B″内の指定されたアドレスの領域16C、16C′、
16C″にはそれぞれチェックコードが格納されてい
る。
【0053】アプリケーションプログラム毎に、図2の
ステップS13からステップS18に相当するステップ
を実行して、正当性の認証を行う。認証用コードとチェ
ックコードが一致しない場合には、ゲーム装置10に制
限を加えるが、その制限は、ゲーム装置10自体の動作
に対して行ってもよいし、当該のアプリケーションプロ
グラムの実行だけを制限するようにしてもよい。
【0054】また、上記実施形態ではブートROM内の
初期プログラム又はその一部からキーコード(第1の認
証用コード)を生成し、アプリケーションプログラム又
はその一部から認証用コード(第2の認証用コード)を
生成したが、ブートROM内であれば、いずれの領域か
ら第1の認証用コード及び第2の認証用コードを生成し
てもよい。また、同じ領域のプログラム(データ)から
同じ生成方法又は異なる生成方法により第1の認証用コ
ード及び第2の認証用コードを生成してもよい。
【0055】また、上記実施形態ではキーコードにより
ブートROM内のチェックコードのアドレスを指定した
が、その指定の仕方はアドレスを直接的に指定してもよ
いし、間接的に指定してもよい。また、キーコードを用
いて何らかの演算を行って、その演算結果により指定し
てもよい。
【0056】また、上記実施形態では初期プログラムか
らキーコード(第1の認証用コード)を生成し、アプリ
ケーションプログラムから認証用コード(第2の認証用
コード)を生成したが、第1及び第2の認証用コードを
生成するプログラムの種別としては上記実施形態のもの
に限らない。
【0057】また、上記実施形態ではブートROMは書
換不可能なROMであったが、ブートROMの全てが書
換不可能である必要はなく、一部が書換可能なROMで
あってもよい。
【0058】また、上記実施形態ではブートROMに対
するセキュリティチェックであったが、いわゆるブート
ROMに限定されるものではない。例えば、初期プログ
ラムが格納されたメモリ、すなわちIPL(Initial Pr
ogram Loader)メモリや、半導体メモリ以外の情報記憶
媒体や、ジップドライブ(ZipDrive)用のディ
スクや、ハードディスクや、フロッピディスクや、CD
−ROM、CD−R、CD−RW、光磁気ディスク(Ma
gneto-Optical Disk)等の光ディスクに代表される外部
記憶装置に対するセキュリティチェックにも適用可能で
ある。
【0059】また、上記実施形態はゲーム装置に本発明
を適用したが、パーソナルコンピュータのような他の電
子装置にも適用することができる。
【0060】[第2実施形態]本発明の第2実施形態に
よるゲーム装置を図4乃至図5を用いて説明する。図4
は本実施形態のゲーム装置のブロック図であり、図5は
本実施形態のゲーム装置の動作を示すフローチャートで
ある。
【0061】本実施形態のゲーム装置110には、図1
に示すように、ゲーム装置全体を制御するCPU112
と、CPU112のワークメモリであるRAM114
と、基本プログラムが暗号化されて格納された書換可能
ブートROM116と、ゲーム装置専用に設計されたカ
スタムLSI118とが設けられている。CPU112
とRAM114と書換可能ブートROM116とカスタ
ムLSI118とはシステムバスライン120に接続さ
れている。書換可能ブートROM116は、例えばフラ
ッシュROMにより構成されている。
【0062】カスタムLSI118は、ゲーム装置専用
に新たに設計されたもので模倣されにくいものである。
このカスタムLSI118には、最小限の起動プログラ
ムが格納された書換不可能ブートROM122と、CD
−ROMドライブのような外部メモリ装置130が接続
される外部インタフェース124と、ビデオモニタ13
2が接続されるビデオインタフェース126とが設けら
れている。ブートROM122と外部インタフェース1
24とビデオインタフェース126は、カスタムLSI
118の内部バスライン128に接続されている。内部
バスライン128はシステムバスライン120に接続さ
れている。
【0063】本実施形態では、ゲーム装置110のブー
トROMが、システムLSI118内部の書換不可能ブ
ートROM122と、単体の書換可能ブートROM11
6とに分かれている点に特徴がある。
【0064】書換不可能ブートROM122には、ゲー
ム装置の初期化プログラム、暗号解除プログラム、書換
可能ブートROM116の書換プログラム、基本プログ
ラムの立ち上げプログラム等のゲーム装置の起動に最小
限必要なプログラムが格納されている。
【0065】なお、書換不可能ブートROM122は、
初期プログラムが格納されている書換不可能なメモリ、
すなわち書換不可能なIPL(Initial Program Loade
r)メモリとも称される。
【0066】書換可能ブートROM116には、ブート
ROM正当性チェックプログラム、CDプレイヤプログ
ラム、CD−ROMの正当性チェックプログラム、ミニ
ゲーム等の基本プログラムやアプリケーションプログラ
ムが格納されている。書換可能ブートROM116は外
部から書換することができるため、不正な書換を防止す
るために暗号化されている。書換可能ブートROM11
6の暗号化の解除は、書換不可能ブートROM122の
暗号解除プログラムにより行われる。
【0067】なお、書換可能ブートROM116は、初
期プログラムが格納されている書換可能なメモリ、すな
わち書換可能なIPL(Initial Program Loader)メモ
リとも称される。
【0068】ブートROMの一部が書換可能であるた
め、これまでは不可能であったブートROMのバージョ
ンアップが可能となる。例えば、ゲーム装置の発売後に
基本プログラムにバグが発見されたり、仕様が変更にな
ったりしても、ハードウエアを変更することなく、書換
可能ブートROM116内の基本プログラムを書き換え
るだけで改良することができる。
【0069】また、ゲーム装置やCD−ROMのセキュ
リティが破られた場合でも、更に強力なセキュリティ機
能を組み込んだ基本プログラムに書き換えることで、よ
り強固なセキュリティにアップグレードすることが可能
である。
【0070】また、ブートROMの一部を書換可能とす
ることにより、不正に書き換えられるおそれがあるが、
不正に書き換えられたとしても、正規のゲームを実行す
る際に正しい内容に書き換えればよい。
【0071】ブートROMの模倣や改造に対する対策に
ついて説明する。書換不可能ブートROM122はカス
タムLSI118内に作り込まれているため、これらプ
ログラムの模倣や改造が非常に困難である。模倣や改造
をするためには、LSI自体を作り直すか、ゲーム装置
自体を大幅に改造する必要があり、事実上不可能であ
る。
【0072】書換可能ブートROM116には、書換可
能であるため、模倣者にとっても模倣や改造が容易であ
る。このことを防止するため、プログラムを暗号化して
格納している。書換可能ブートROM116の暗号化の
解除は、書換不可能ブートROM122の暗号解除プロ
グラムにより行われる。
【0073】暗号方式としては秘密鍵暗号方式と公開鍵
暗号方式がある。秘密鍵暗号方式は暗号化と復号化に同
じ鍵を利用する。例えば、DES(Date Encryption St
andard)方式がある。公開鍵暗号方式は暗号化と復号化
に異なる鍵を用いる。暗号化の方法が分かっているだけ
では解読できないので、セキュリティに優れている。例
えば、RSAアルゴリズム方式がある。本実施形態では
公開鍵暗号方式を採用している。
【0074】一般の公開鍵暗号方式では暗号化鍵が公開
で、暗号解除鍵が非公開であるが、本実施形態では反対
に暗号解除鍵を公開とし、暗号化鍵を非公開としてい
る。暗号解除鍵については、書換不可能ブートROM1
22の暗号解除プログラムを解析して知られてしまう可
能性があるので公開鍵とし、暗号化鍵については、暗号
化作業において用いるため外部に知られるおそれがほぼ
皆無であるからである。これにより、模倣者が改造プロ
グラムを暗号化しても、正しい暗号化鍵を知ることがで
きないから、動作可能な改造プログラムを作成できな
い。これにより改造プログラムの出現を有効に防止する
ことができる。
【0075】本実施形態のゲーム装置10における動作
を図5のフローチャートを用いて説明する。
【0076】外部メモリ装置130、例えば、CD−R
OMドライブにゲーム用のCD−ROMを搭載してゲー
ム装置110の電源を投入する。まず、ブートROM1
16に格納された初期プログラムを読み込む(ステップ
S110)。読み込まれたプログラムはRAM114に
格納され、CPU112により初期プログラムが実行さ
れ、CPU112の初期化、カスタムLSI118の初
期化等が行われる(ステップS111)。
【0077】次に、書換可能ブートROM116を読み
込み、暗号を解除して、RAM114に展開する(ステ
ップS112)。続いて、ブートROM122、116
が正当なものであるかどうか認証する(ステップS11
3)。認証方法としては、例えば、第1実施形態のよう
な方法でもよいし、その他の方法でもよい。ステップS
113で、ブートROMが正当なものでないと判定され
た場合には、ゲーム装置を起動しないようにする(ステ
ップS114)。なお、起動しないようにする代わり
に、ゲーム装置の動作に制限を加えるようにしてもよ
い。
【0078】ステップS113でブートROMが正当な
ものと認証された場合には、基本プログラムやアプリケ
ーションを実行する(ステップS115)。例えば、外
部メモリ装置130に搭載されたCDの種別を判定し、
音楽用CDであれば、CDプレイヤプログラムにより演
奏する。CD−ROMであれば、CD−ROM正当性チ
ェックプログラムにより正規にライセンスを受けたCD
−ROMであるかどうかのチェックを行う。CD−RO
M、すなわち外部メモリが正当なものでなければ、今後
はゲーム装置の動作に制限を加える(ステップS11
8)。
【0079】ゲーム装置の動作の制限とは、ゲーム装置
の動作自体を停止する他に、音楽CDの演奏だけは可能
にしたり、ビデオモニタ132に、外部メモリが正当で
ない旨の表示をしたりする。また、ゲーム装置110に
モデム(図示せず)が搭載されていて通信回線を介して
メーカのサーバに連絡することが可能な場合には、外部
メモリが正当でない旨の情報を、ゲーム装置110のI
D、外部メモリ装置130のID、CD−ROMの種別
等と共にメーカのサーバに自動的に連絡するようにして
もよい。
【0080】ステップS118で外部メモリが正当であ
ると判定された場合には、書換可能ブートメモリ116
に格納されていた基本プログラムが適合しているかどう
か判断する(ステップS119)。例えば、基本プログ
ラムに種別情報やバージョン情報を予め記録しておき、
例えば、実行するゲームの種別に適合した基本プログラ
ムであるか否か、古いバージョンの基本プログラムであ
るか否か等を判断する。
【0081】ステップS119で、読み込んだ基本プロ
グラムが適合していないと判断された場合には、書換可
能ブートROM116の内容を書き換えてバージョンア
ップする(ステップS120)。書き換えるための基本
プログラムは、例えば、外部メモリ装置130に搭載さ
れたCD−ROMから提供してもよいし、通信回線を介
して提供するようにしてもよい。書き換えた基本プログ
ラムはRAM114にも展開され、必要に応じて、基本
プログラムを再び実行する(ステップS121)。その
後、CD−ROM等の外部メモリからのゲームプログラ
ム等のアプリケーションプログラムを実行する(ステッ
プS122)。
【0082】ステップS119で、読み込んだ基本プロ
グラムが適合している場合には、書換可能ブートROM
116を書き換えることなく、直ちに、CD−ROM等
の外部メモリからのゲームプログラム等のアプリケーシ
ョンプログラムを実行する(ステップS122)。
【0083】以上の通り、本実施形態によれば、ブート
ROMの一部を書換可能にしたので、ゲーム装置を発売
した後に発見したバグを修正したり、新たな仕様に対応
したりするバージョンアップを容易に行うことができ
る。
【0084】次に、本実施形態の変形例について説明す
る。本実施形態は上述した実施形態に限らず種々の変形
が可能である。例えば、書換可能ブートROM116の
認証を、書換不可能ブートROM122に格納されたプ
ログラムで行い、更に、外部情報記憶媒体により提供さ
れるプログラムで行い、認証機能を強化してもよい。
【0085】また、上記実施形態ではブートROMに対
するセキュリティチェックであったが、いわゆるブート
ROMに限定されるものではない。例えば、初期プログ
ラムが格納された情報記憶媒体、すなわちIPL(Init
ial Program Loader)用情報記憶媒体や、半導体メモリ
以外の情報記憶媒体や、ジップドライブ(ZipDri
ve)用のディスクや、ハードディスクや、フロッピデ
ィスクや、CD−ROM、CD−R、CD−RW、光磁
気ディスク(Magneto-Optical Disk)等の光ディスクに
代表される外部記憶装置に対するセキュリティチェック
にも適用可能である。
【0086】また、上記実施形態はゲーム装置に本発明
を適用したが、パーソナルコンピュータのような他の電
子装置にも適用することができる。
【0087】[第3実施形態]本発明の第3実施形態に
よるゲーム装置を図6乃至図9を用いて説明する。図6
は本実施形態のゲーム装置のブロック図であり、図7は
本実施形態のゲーム装置の動作の概略を説明するための
図であり、図8及び図9は本実施形態のゲーム装置の動
作を示すフローチャートであり、図10は修正ファイル
のフォーマットを示す図である。
【0088】本実施形態のゲーム装置210には、図6
に示すように、ゲーム装置全体を制御するCPU212
と、CPU212のワークメモリであるRAM214
と、初期プログラムと基本プログラムが格納されたブー
トROM216とが設けられている。CPU212とR
AM214とブートROM216とバスライン226に
接続されている。
【0089】CD−ROMドライブ220はCD−RO
Mを駆動し、CD−ROMに記録されたゲームプログラ
ムやデータを読み取る。CD−ROMドライブ220
は、CD−ROMインターフェース218を介してバス
ライン226に接続されている。
【0090】バスライン226にはメモリインタフェー
ス222が接続され、外部のメモリカード230はメモ
リインタフェース222を介してバスライン226に接
続される。
【0091】バスライン226にはビデオインターフェ
ース224が接続され、外部のビデオモニタ232は、
このビデオインターフェース224を介してバスライン
226に接続される。
【0092】本実施形態のゲーム装置は、CD−RO
M、GD−ROM(Giga Byte CD−RO
M)等の書換不可能な情報記憶媒体で提供されるプログ
ラムやデータを、メモリカード等のような外部から提供
される修正情報により修正することを特徴としている。
書換不可能な情報記憶媒体があたかも修正されたかのよ
うな動作をする。その修正原理の概要を図7を用いて説
明する。
【0093】ゲームプログラムやデータはCD−ROM
240により提供される。CD−ROM240に格納さ
れたゲームプログラムやデータは、CD−ROMドライ
ブ220により読み取られ、図7に示すように、CPU
216のメインメモリであるRAM214に格納され
る。ゲームプログラム中には後述するようなRAM21
4の修正ルーチンを随所に埋め込んでおく。メモリカー
ド230には、ゲームプログラムを修正するための修正
ファイルを予め格納しておき、所定のタイミングでメモ
リカード230から修正ファイルを読み込んで、RAM
214の所定位置、例えば、最後のエリアに格納する。
ゲームプログラムを実行すると随所に埋め込まれた修正
ルーチンにより、修正ファイルの内容に基づいてRAM
214上のプログラムやデータを部分的に修正する。ゲ
ームは、部分的に修正されたプログラムとデータに基づ
いて実行される。したがって、CD−ROM240に格
納されたプログラムやデータがあたかも部分的に修正さ
れたかのような動作をする。
【0094】本実施形態のゲーム装置における修正原理
の詳細について図8乃至図10を用いて説明する。
【0095】ゲームプログラムの開発時に、プログラム
起動時に修正ファイルを読み込むルーチンを組み込み、
プログラムの要所要所で修正関数をコールするルーチン
を組み込んでおく。この段階ではどこを修正することに
なるかは分からないので、例えば、プログラムを組み込
んだ後、一通りのデータを読み込んだ後等のように、必
ず実行され、しかも区切りのよいところに組み込むよう
にする。
【0096】プレイヤは、ゲームメーカから提供される
バグ情報やバージョンアップ情報により、ホームページ
から修正ファイルをダウンロードしてメモリカード23
0に格納しておく。
【0097】ゲームプログラムが格納されたCD−RO
M240をCD−ROMドライブ220に搭載し、修正
プログラムが格納されたメモリカード230を装着して
おく。
【0098】まず、CD−ROM240から初期プログ
ラムを読み込んでRAM214に格納し(ステップS2
10)、続いて、初期データを読み込んでRAM214
に格納する(ステップS211)。次に、メモリカード
230に、このゲームプログラム修正用の修正ファイル
が存在するか否かをチェックする(ステップS21
2)。修正ファイルがある場合には、メモリカード23
0から読み込んで、RAM214の最後に格納する(ス
テップS213)。
【0099】次に、修正プログラムを実行する(ステッ
プS214)。図9のルーチンにより修正ファイルにし
たがって修正を行う。
【0100】修正ファイルのフォーマットを具体例を図
10に示す。修正ファイルは、ヘッダと複数の修正テー
ブル1、2、3、…により構成されている。
【0101】ヘッダには、修正テーブルの数、1番目の
修正テーブル1の先頭アドレスを示す修正テーブル1ポ
インタ、2番目の修正テーブル2の先頭アドレスを示す
修正テーブル2ポインタ、3番目の修正テーブル3の先
頭アドレスを示す修正テーブル3ポインタ、…が設けら
れている。
【0102】修正テーブルには、識別アドレス、識別コ
ードが設けられている。ゲームプログラムの識別アドレ
スの内容が識別コードに一致したら修正を行うようにす
る。これにより、修正を行うべきものかどうか、修正済
みか否か等、修正の要否や修正のバージョンを管理する
ことができる。
【0103】例えば、ステージ1、ステージ2、…と順
次進んでいくゲームソフトウエアであって、同じメモリ
領域にステージデータを読み込んでいる場合、ステージ
番号を格納しているアドレスを識別アドレスとし、ステ
ージ番号を識別コードとして管理する。識別アドレスと
識別コードからどのステージの修正データか分かるの
で、修正データにより修正すべきかどうか判別すること
ができる。
【0104】修正テーブルには、更に、修正を行う個所
の先頭アドレスである修正先アドレス、上書き修正か挿
入修正かを示す修正タイプ、修正する範囲のサイズを示
す修正コードサイズ、修正する内容である修正コードが
設けられている。
【0105】修正プログラムでは、図9に示すように、
まず修正ファイルを読み込んだか否かを判定する(ステ
ップS230)。修正ファイルを読み込んでいない場合
には直ちにメインプログラムに戻る。修正ファイルを読
み込んでいる場合には、修正ファイル内の修正テーブル
ポインタに基づいて検索ループを開始する(ステップS
231)。
【0106】まず、修正テーブルの識別アドレスの内容
を読み込みチェックする(ステップS232)。続い
て、識別アドレスの内容が識別コードと一致しているか
否か判定する(ステップS233)。一致していると判
定された場合には、修正テーブルの修正先アドレスから
修正コードサイズ分の修正コードを修正タイプに基づい
た修正処理、すなわち、上書き修正か挿入修正かを行う
(ステップS234)。ステップS233で一致しない
と判定された場合には、ステップS234をスキップし
て、ステップS235に進む。
【0107】続いて、処理していない修正テーブルがあ
るか否かを判定する(ステップS235)。未処理の修
正テーブルが残っている場合には、ステップS231に
戻り、ステップS232〜S234の処理を繰り返す。
未処理の修正テーブルが残っていない場合には、修正テ
ーブルの検索ループを終了し(ステップS236)、メ
インプログラムに戻る。
【0108】メインプログラムに戻ると、修正されたプ
ログラム及び/又はデータに基づいてゲーム初期化処理
を行う(ステップS215)。
【0109】次に、ステージ1のプログラムを読み込み
RAM214に格納し(ステップS216)、引き続い
て、ステージ1のデータを読み込みRAM214に格納
する(ステップS217)。ステージ1のプログラムと
データの読み込みが終了した段階で、修正プログラムを
実行して(ステップS218)、図9に示すような修正
処理を行う(ステップS218)。続いて、修正された
プログラム及びデータに基づいてステージ1のゲームを
実行する(ステップS219)。
【0110】次に、ステージ2についても同様にして、
ステージ2のプログラムを読み込みRAM214に格納
し(ステップS220)、引き続いて、ステージ2のデ
ータを読み込みRAM214に格納する(ステップS2
21)。ステージ2のプログラムとデータの読み込みが
終了した段階で、修正プログラムを実行して(ステップ
S222)修正処理を行う(ステップS222)。続い
て、修正されたプログラム及びデータに基づいてステー
ジ2のゲームを実行する(ステップS223)。
【0111】以降は同様にしてステージ毎にプログラム
とデータを読み込み、修正ファイルに基づいて修正を行
い、修正されたプログラム及びデータに基づいてゲーム
を実行する。
【0112】以上の通り、本実施形態によればCD−R
OM等の書換不可能な情報記憶媒体に格納したソフトウ
エアに対しても修正ファイルを用いてプログラムやデー
タを修正してバグ等の不都合に有効に対応することがで
きる。
【0113】本実施形態にように、外部から提供する修
正ファイルによりメインメモリであるRAMの修正が可
能となると、模倣者により修正ファイルが偽造されて、
開発者が意図しない不正な修正が行われるおそれがあ
る。このような不正な修正を防止するために、本実施形
態では次のような対策を行っている。
【0114】修正ファイルの偽造を防ぐために修正ファ
イルを暗号化する。暗号方式としては秘密鍵暗号方式で
も公開鍵暗号方式でもよい。公開鍵暗号方式は暗号化と
復号化に異なる鍵を用い、暗号化の方法が分かっている
だけでは解読できないので、セキュリティに優れてい
る。ソフトウエア毎に異なる暗号方式を用いることがで
き、必要とされるセキュリティ機能に応じて定めるよう
にする。
【0115】RAM214に書換禁止領域を設ける。セ
キュリティチェックに必要なプログラムやデータが格納
されるRAM214の領域を書換禁止領域とする。例え
ば、CD−ROMドライブ220の蓋開けチェックルー
チンを無効にする改造を行ってソフトウエアの不正使用
を行う例がある。このような不正使用を防止するため蓋
開けチェックルーチンの格納領域を書込禁止領域として
設定する。
【0116】RAM214が不正に書き換えられたか否
かを監視する。修正ファイルにより修正される領域以外
の領域が書き換えられたか否かを常に監視する。例え
ば、パリティチェック(parity check)方式や、チェック
サム(check sum)方式や、CRC(Cyclic Redundancy Ch
eck)方式等に基づいて、修正される領域以外の領域が書
き換えられたか否かチェックする。書換禁止領域を設定
した場合には、その領域を優先的に監視する。不正な書
換が行われたことが分かった場合にはゲーム装置の動作
に制限を加える。ゲームの公式大会に参加する場合、不
正な書換が分かった場合には公式大会への参加資格を失
うなどの制限を加える。
【0117】本実施形態によるソフトウエア修正方法は
様々な場面で応用が可能である。そのような応用例につ
いて説明する。
【0118】ゲーム発売後に判明した簡単なバグを修正
することができる。不正な処理の削除や、必要な処理の
追加や、代入値の修正等を行う。実在する名称(人名、
地名等)の入力ミスを修正したり、文字コードの修正や
グラフィックデータの修正などの誤記を修正したりす
る。
【0119】ゲーム発売後にゲームの難易度調整を行う
ことができる。ゲームの開発者は適切な難易度となるよ
うにゲームを設計するが、ゲームを実際に発売すると、
ユーザから「ゲームが難しすぎてつまらない」「ゲーム
が易しすぎてつまらない」等の苦情が発生することがあ
る。このような苦情を元にソフトウエアを修正してゲー
ムの難易度を調整する。例えば、プレイヤが操作できる
初期設定の自機数の変更、敵の強さのレベルの変更、当
たり判定の条件の変更、技を出した後の硬直時間の変
更、敵の出現数、出現場所の変更、敵の体力の調整、ク
リア条件の緩和、アイテムの値段の変更、アイテムの出
現率の調整、RPG(Roll Playing Ga
me)での初期パラメータの変更、RPGでのレベルア
ップテーブルの変更、等である。
【0120】ゲーム発売後にゲーム内容を変更すること
ができる。ゲーム発売後に、新しい魅力を加えたり、現
実の変化に合わせるために、ゲーム内容自体を変更す
る。例えば、キャラクタを追加したり、キャラクタを差
し替えたり、アイテムを追加したり、アイテムを差し替
えたり、キャラクタの特性を変更したり、スポーツゲー
ムでデータを最新のものに差し替えて発売後に加入した
選手を加えたり、ゲームマップを変更したり、シナリオ
を変更したり、メッセージの口調を変更したりする。
【0121】新たな内容やインフォメーションを加える
ことができる。例えば、広告が表示されるゲームにおい
て広告内容を変更したり、ゲームに関するイベントを告
知したり、ゲームに関するホームページや掲示板へのア
クセス情報を加えたり、新しいサービスの告知を行った
りする。
【0122】次に、本実施形態の変形例について説明す
る。本実施形態は上述した実施形態に限らず種々の変形
が可能である。
【0123】例えば、上記実施形態では修正ファイルは
メモリカードにより提供されたが、他の情報記憶媒体に
より提供されてもよい。情報記憶媒体としては外部から
供給されるメモリカード等のようなものの他に、ゲーム
装置内部のメモリやHDD等の情報記憶媒体でもよい。
また、書換可能な情報記憶媒体だけではなく、CD−R
OMのような書換不可能な情報記憶媒体でもよい。例え
ば、シリーズ物のゲームであれば後で発売されるCD−
ROMに前のソフトウエアの修正ファイルを格納してお
き、CD−ROM搭載時に修正ファイルを読み込んでお
く。
【0124】また、修正ファイルは情報記憶媒体ではな
く通信回線を介して提供するようにしてもよい。ゲーム
の実行時に自動的にインターネットに接続し、必要な修
正ファイルをダウンロードする。
【0125】また、上記実施形態はゲーム装置に本発明
を適用したが、パーソナルコンピュータのような他の電
子装置にも適用することができる。
【0126】
【発明の効果】以上の通り、本発明によれば、模倣者は
IPLメモリ内のどれがチェックコードであるか知るこ
とが極めて困難であり、高度なセキュリティを実現する
ことができる。
【0127】また、本発明によれば、IPLメモリの一
部を書換可能にしたので、ゲーム装置を発売した後に発
見したバグを修正したり、新たな仕様に対応したりする
バージョンアップを容易に行うことができる。
【0128】さらに、本発明によれば、CD−ROM等
の書換不可能な情報記憶媒体に格納したソフトウエアに
対しても修正ファイルを用いてプログラムやデータを修
正してバグ等の不都合に有効に対応することができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態によるゲーム装置のブロ
ック図である。
【図2】本発明の第1実施形態によるゲーム装置のセキ
ュリティチェック方法のフローチャートである。
【図3】本発明の第1実施形態によるゲーム装置のブー
トROMの変形例を示す図である。
【図4】本発明の第2実施形態によるゲーム装置のブロ
ック図である。
【図5】本発明の第2実施形態によるゲーム装置の動作
を示すフローチャートである。
【図6】本発明の第3実施形態によるゲーム装置のブロ
ック図である。
【図7】本発明の第3実施形態によるゲーム装置の動作
の概略を説明するための図である。
【図8】本発明の第3実施形態によるゲーム装置のメイ
ンプログラムの示すフローチャートである。
【図9】本発明の第3実施形態によるゲーム装置の修正
プログラムのフローチャートである。
【図10】本発明の第3実施形態によるゲーム装置にお
ける修正ファイルのフォーマットを示す図である。
【符号の説明】
10…ゲーム装置 12…CPU 14…RAM 16…ブートROM 18…VDP 20…バスライン 22…ROM認証用回路 22a…伝送ライン 22b…セレクタ 22c…演算器 22d…キーコードメモリ 22e…認証用コードメモリ 22f…チェックコードメモリ 22g…比較器 24…CD−ROMドライブ 26…CD−ROMI/F 28…ビデオI/F 30…ビデオモニタ 110…ゲーム装置 112…CPU 114…RAM 116…書換可能ブートROM 118…カスタムLSI 120…システムバスライン 122…書換不可能ブートROM 124…外部I/F 126…ビデオI/F 128…内部バスライン 130…外部メモリ装置 132…ビデオモニタ 210…ゲーム装置 212…CPU 214…RAM 216…ブートROM 218…CD−ROMI/F 220…CD−ROMドライブ 222…メモリI/F 224…ビデオI/F 230…メモリカード 232…ビデオモニタ 240…CD−ROM
フロントページの続き Fターム(参考) 2C001 BB00 BB07 BD00 BD04 CB01 CB02 CB06 CB08 CC02 5B017 AA06 BA07 BB02 BB03 CA09 CA15 CA16 5B076 AC01 AC05 BB18 EA10 EB09 FA13 9A001 BB03 DD15 EE02 EE03 JJ76 KK45 LL03

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 書き換え不可能な第1のIPLメモリに
    格納された第1のプログラムを実行し、 書き換え可能な第2のIPLメモリに暗号化されて格納
    された第2のプログラムの暗号を解除し、前記第2のプ
    ログラムを実行することを特徴とする電子装置の起動方
    法。
  2. 【請求項2】 書き換え不可能な第1のIPLメモリに
    格納された第1のプログラムを実行し、 書き換え可能な第2のIPLメモリに暗号化されて格納
    された第2のプログラムの暗号を解除し、 前記第2のプログラムを認証し、その認証結果に基づい
    て、前記第2のプログラムの一部を、外部の情報記憶媒
    体から読み込んだ情報により書き換えることを特徴とす
    るセキュリティチェック方法。
  3. 【請求項3】 書き換え不可能な第1のIPLメモリに
    格納された第1のプログラムを実行し、 書き換え可能な第2のIPLメモリに暗号化されて格納
    された第2のプログラムの暗号を解除し、 前記第2のプログラムを認証し、その認証結果に基づい
    て、前記第2のプログラムの一部を、通信手段を介して
    読み込んだ情報により書き換えることを特徴とするセキ
    ュリティチェック方法。
  4. 【請求項4】 請求項2又は3記載のセキュリティチェ
    ック方法において、 前記第2のIPLメモリに格納された前記第2のプログ
    ラムにはバージョン情報が付されており、 前記バージョン情報に基づいて前記第2のプログラムを
    書き換えることを特徴とするセキュリティチェック方
    法。
  5. 【請求項5】 起動時に実行される第1のプログラムが
    格納され、書き換え不可能な第1のIPLメモリと、 前記第1のプログラムの後に実行される第2のプログラ
    ムが暗号化されて格納され、書き換え可能な第2のIP
    Lメモリと、 前記第1のプログラムを実行し、前記第1のプログラム
    により前記第2のIPLメモリに格納された前記第2の
    プログラムの暗号を解除し、前記第2のプログラムを実
    行する実行手段とを有することを特徴とする電子装置。
  6. 【請求項6】 起動時に実行される第1のプログラムが
    格納され、書き換え不可能な第1のIPLメモリと、 前記第1のプログラムの後に実行される第2のプログラ
    ムが暗号化されて格納され、書き換え可能な第2のIP
    Lメモリと、 前記第2のIPLメモリに格納されたプログラムを認証
    し、その認証結果に基づいて、前記第2のプログラムの
    一部を、外部の情報記憶媒体から読み込んだ情報により
    書き換える書換手段とを有することを特徴とする電子装
    置。
  7. 【請求項7】 起動時に実行される第1のプログラムが
    格納され、書き換え不可能な第1のIPLメモリと、 前記第1のプログラムの後に実行される第2のプログラ
    ムが暗号化されて格納され、書き換え可能な第2のIP
    Lメモリと、 前記第2のIPLメモリに格納されたプログラムを認証
    し、その認証結果に基づいて、前記第2のプログラムの
    一部を、通信手段を介して読み込んだ情報により書き換
    える書換手段とを有することを特徴とする電子装置。
  8. 【請求項8】 請求項6又は7記載の電子装置におい
    て、 前記第2のIPLメモリに格納された前記第2のプログ
    ラムにはバージョン情報が付されており、 前記書換手段は、前記バージョン情報に基づいて前記第
    2のプログラムを書き換えることを特徴とする電子装
    置。
  9. 【請求項9】 プログラムの所定位置に修正ルーチンを
    予め組み込んでおき、 前記プログラム及び/又はデータを読み込んでメインメ
    モリに格納し、 前記プログラムの実行時に、前記修正ルーチンを実行し
    て、外部の修正ファイルに基づいて前記メインメモリ上
    の前記プログラム及び/又は前記データを修正すること
    を特徴とするソフトウエア修正方法。
  10. 【請求項10】 請求項9記載のソフトウエア修正方法
    において、 前記修正ファイルを外部の情報記憶媒体から読み込んで
    前記メインメモリに格納することを特徴とするソフトウ
    エア修正方法。
  11. 【請求項11】 請求項9記載のソフトウエア修正方法
    において、 前記修正ファイルを通信回線を介して読み込んで前記メ
    インメモリに格納することを特徴とするソフトウエア修
    正方法。
  12. 【請求項12】 請求項9乃至11のいずれか1項に記
    載のソフトウエア修正方法において、 前記修正ファイルは、暗号化して提供され、 前記修正ファイルの読み込み時に、前記修正ファイルの
    暗号を解除して前記メインメモリに格納することを特徴
    とするソフトウエア修正方法。
  13. 【請求項13】 請求項9乃至12のいずれか1項に記
    載のソフトウエア修正方法において、 前記メインメモリ中の修正個所を、前記修正ファイルに
    より指定することを特徴とするソフトウエア修正方法。
  14. 【請求項14】 請求項9乃至13のいずれか1項に記
    載のソフトウエア修正方法において、 前記メインメモリ内に修正禁止領域を設定し、 前記修正禁止領域が修正されたか否かを監視することを
    特徴とするソフトウエア修正方法。
  15. 【請求項15】 請求項9乃至14のいずれか1項に記
    載されたソフトウエア修正方法を実行するプログラムが
    格納された情報記憶媒体。
  16. 【請求項16】 請求項9乃至14のいずれか1項に記
    載されたソフトウエア修正方法に用いられる修正ファイ
    ルが格納された情報記憶媒体。
JP11126838A 1999-05-07 1999-05-07 電子装置及びセキュリティチェック方法 Withdrawn JP2000322254A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11126838A JP2000322254A (ja) 1999-05-07 1999-05-07 電子装置及びセキュリティチェック方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11126838A JP2000322254A (ja) 1999-05-07 1999-05-07 電子装置及びセキュリティチェック方法

Publications (1)

Publication Number Publication Date
JP2000322254A true JP2000322254A (ja) 2000-11-24

Family

ID=14945152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11126838A Withdrawn JP2000322254A (ja) 1999-05-07 1999-05-07 電子装置及びセキュリティチェック方法

Country Status (1)

Country Link
JP (1) JP2000322254A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301969A (ja) * 2003-08-12 2005-10-27 Ricoh Co Ltd 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
JP2006130345A (ja) * 2006-02-17 2006-05-25 Nintendo Co Ltd ゲームシステム、ゲームプログラム、およびゲームカード読取装置
JP2006209691A (ja) * 2005-01-31 2006-08-10 Sony Corp データ処理回路
JP2006238154A (ja) * 2005-02-25 2006-09-07 Sony Corp データ処理方法
WO2008120683A1 (ja) * 2007-03-30 2008-10-09 Sega Corporation ネットワーク型ゲームシステム及びネットワーク型ゲームシステムにおける制御方法及びサーバープログラム
JP2009005761A (ja) * 2007-06-26 2009-01-15 Aruze Corp 遊技用情報の地域認証を行う遊技処理装置
US7590851B2 (en) 2004-03-31 2009-09-15 Canon Kabushiki Kaisha Confirmation method of software and apparatus for executing software
JP2010211818A (ja) * 2003-08-12 2010-09-24 Ricoh Co Ltd 記憶媒体、記憶装置、情報処理装置、情報処理方法、システム及び情報処理プログラム
US8082449B2 (en) 2003-08-12 2011-12-20 Ricoh Company, Ltd. Information processing apparatus, information processing method, information processing program and recording medium
JP2020047064A (ja) * 2018-09-20 2020-03-26 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211818A (ja) * 2003-08-12 2010-09-24 Ricoh Co Ltd 記憶媒体、記憶装置、情報処理装置、情報処理方法、システム及び情報処理プログラム
US8209547B2 (en) 2003-08-12 2012-06-26 Ricoh Company, Ltd. Recording medium, storage unit, information processing apparatus, information processing method, information processing program and computer readable medium
US8082449B2 (en) 2003-08-12 2011-12-20 Ricoh Company, Ltd. Information processing apparatus, information processing method, information processing program and recording medium
JP4728611B2 (ja) * 2003-08-12 2011-07-20 株式会社リコー 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
JP2005301969A (ja) * 2003-08-12 2005-10-27 Ricoh Co Ltd 記憶媒体、記憶装置、情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
US8239958B2 (en) 2004-03-31 2012-08-07 Canon Kabushiki Kaisha Confirmation method of software and apparatus for executing software
US7590851B2 (en) 2004-03-31 2009-09-15 Canon Kabushiki Kaisha Confirmation method of software and apparatus for executing software
JP4596247B2 (ja) * 2005-01-31 2010-12-08 ソニー株式会社 データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム
JP2006209691A (ja) * 2005-01-31 2006-08-10 Sony Corp データ処理回路
JP2006238154A (ja) * 2005-02-25 2006-09-07 Sony Corp データ処理方法
JP2006130345A (ja) * 2006-02-17 2006-05-25 Nintendo Co Ltd ゲームシステム、ゲームプログラム、およびゲームカード読取装置
WO2008120683A1 (ja) * 2007-03-30 2008-10-09 Sega Corporation ネットワーク型ゲームシステム及びネットワーク型ゲームシステムにおける制御方法及びサーバープログラム
JP2009005761A (ja) * 2007-06-26 2009-01-15 Aruze Corp 遊技用情報の地域認証を行う遊技処理装置
JP2020047064A (ja) * 2018-09-20 2020-03-26 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US11418671B2 (en) 2018-09-20 2022-08-16 Canon Kabushiki Kaisha Information processing apparatus, and method of controlling the same
JP7170482B2 (ja) 2018-09-20 2022-11-14 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム

Similar Documents

Publication Publication Date Title
US6106396A (en) Electronic casino gaming system with improved play capacity, authentication and security
AU2008201804B2 (en) Improved authentication system for gaming machines
CN102208000B (zh) 为虚拟机镜像提供安全机制的方法和系统
AU2014201187B2 (en) Multi-tiered static chain of trust
US9613215B2 (en) Method and system for implementing a secure chain of trust
US6149522A (en) Method of authenticating game data sets in an electronic casino gaming system
US6782477B2 (en) Method and system for using tamperproof hardware to provide copy protection and online security
US8484696B2 (en) Secure game download
JP5754673B2 (ja) 信頼済エンティティベース不正対策機構
WO2011059905A1 (en) Authentication and validation systems for gaming devices
US20090150293A1 (en) System and method for delivering licenses to a playback device
JP2004013905A (ja) セキュアなブートローダにおけるハッシングの使用
US20080254850A1 (en) Trusted Computing in a Wagering Game Machine
JP2014507043A (ja) オペレーティングシステムのコンフィグレーション値の保護
US20090287917A1 (en) Secure software distribution
US20100120529A1 (en) Wagering game machine digitally signed volume management
JP3863401B2 (ja) ソフトウェア処理装置
JP2000322254A (ja) 電子装置及びセキュリティチェック方法
EP1679634A2 (en) Secure game download
JP2015135703A (ja) デジタル著作権制御用再帰的セキュリティプロトコルのための方法およびシステム
EP1441464A1 (en) Electronic casino gaming system with authentication and security
JP2013084294A (ja) デジタル著作権制御用再帰的セキュリティプロトコルのための方法およびシステム
AU2010201666B2 (en) Electronic casino gaming system with improved play capacity, authentication and security
Abrahamsson Security Enhanced Firmware Update Procedures in Embedded Systems
Skaar The potential of Trusted Computing for Strengthening Security in Massively Multiplayer Online Games

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060801