戦況情報ファイル(CHS)のセキュリティについて
カードヒーローOnline では、対戦状況をCHS(CardHero online battle Status)ファイルに書き出しての保存ができるが、 このファイルを使った不正行為に対する対策を雀の涙ほどだが、している。 保存時に 確認ID:〜/SL:〜 という項目がある、これがセキュリティに関する情報だ。 まずは、確認ID。これは保存したCHSのCRC32だ。 保存したときと読み出したときの確認IDが違っていれば、これはほぼ確実にデータが書き換えられていることになる。 これにより、データの書き換えによる不正を防いでいる。 次に、セキュリティレベル(SL)。カードヒーローOnline 以外での周辺アプリでの読み込みに際し、 手札や山札の閲覧に際して制限を設けている。 これは、カードヒーローOnlineの状態や設定によって変える事ができる。 これは、普通のソフトなどに比べると、数字が大きいほどセキュリティが甘い。 (なぜかというと、あとから追加した仕様のため) ・SL0:デフォルト。手札・山札の閲覧不可。 ・SL1:サーバーが「手札の閲覧を許可する」状態のときのメニューからの保存、オートバックアップの設定により利用できる。手札の閲覧が許可される。 ・SL2:オートバックアップの設定により利用できる。手札及び山札の閲覧が許可される。 セキュリティレベル実装以前のCHSは、すべてSL0となっている。 セキュリティレベルを低くすれば、バトル譜作成などの便利な機能も利用できるが、 その分サーバー側が不正を働くことができることも覚えておいてほしい。 もちろん、セキュリティレベルの設定が0だとしても、 バイナリエディタなどによる直接のデータ読み取りにはまったくの無防備である。 CHSを出力する以上、サーバー側は不正を働こうとしたら働けることを覚えておいてほしい。 もっとも、カードヒーローバトラーには、そんな心の寂しい人は居ないと思う、いや、そうでないと困る。 カードヒーローOnline は、正々堂々、楽しくバトルするために作ったのだから・・・