戦況情報ファイル(CHS)のセキュリティについて

 カードヒーローOnline では、対戦状況をCHS(CardHero online battle Status)ファイルに書き出しての保存ができるが、
このファイルを使った不正行為に対する対策を雀の涙ほどだが、している。

 保存時に 確認ID:〜/SL:〜 という項目がある、これがセキュリティに関する情報だ。

 まずは、確認ID。これは保存したCHSのCRC32だ。
保存したときと読み出したときの確認IDが違っていれば、これはほぼ確実にデータが書き換えられていることになる。
これにより、データの書き換えによる不正を防いでいる。

 次に、セキュリティレベル(SL)。カードヒーローOnline 以外での周辺アプリでの読み込みに際し、
手札や山札の閲覧に際して制限を設けている。
 これは、カードヒーローOnlineの状態や設定によって変える事ができる。
これは、普通のソフトなどに比べると、数字が大きいほどセキュリティが甘い。
(なぜかというと、あとから追加した仕様のため)

・SL0:デフォルト。手札・山札の閲覧不可。
・SL1:サーバーが「手札の閲覧を許可する」状態のときのメニューからの保存、オートバックアップの設定により利用できる。手札の閲覧が許可される。
・SL2:オートバックアップの設定により利用できる。手札及び山札の閲覧が許可される。

セキュリティレベル実装以前のCHSは、すべてSL0となっている。
セキュリティレベルを低くすれば、バトル譜作成などの便利な機能も利用できるが、
その分サーバー側が不正を働くことができることも覚えておいてほしい。

もちろん、セキュリティレベルの設定が0だとしても、
バイナリエディタなどによる直接のデータ読み取りにはまったくの無防備である。
CHSを出力する以上、サーバー側は不正を働こうとしたら働けることを覚えておいてほしい。

もっとも、カードヒーローバトラーには、そんな心の寂しい人は居ないと思う、いや、そうでないと困る。
カードヒーローOnline は、正々堂々、楽しくバトルするために作ったのだから・・・