ここまでは送信者・受信者という用語を使っていたが、通信研究の慣例に従って、送信者を Alice、受信者を Bob とよぶことにする。そして、もう一人の登場人物、通信路を監視する盗聴者 Eve を導入しよう。ステガノグラフィの目標は秘密データの存在自体を第三者に気づかせないようにすることだったが、Eve を導入すると、この目標が具体的なタスクに化ける。評価尺度として KL 情報量を使うよりもずっと直接的。このタスクはステガナリシス (steganalysis) とよばれている。
ステガナリシスの目標は秘密のメッセージの存在を検出すること。暗号に対する cryptanalysis と異なり、秘密のメッセージの解読までを目標に入れない設定が一般的。
目標は良いとして、残りの定式化は自明ではない。Eve が何をどこまで知っているかによってタスクの難易度が大きく左右される。
ステガナリシスのタスク設定の分類にはいろいろあるようだが、古典的なのは Katzenbeisser and Petitcolas (2000) で採用されているという分類 (未見)。https://www.amazon.com/exec/obidos/ASIN/1580530354 編集型を前提として、Eve が何を知っているかに基づいて分類する:
- stego only: ステゴテキスト (秘密のメッセージが埋め込まれた偽装テキスト) のみ既知
- known cover: カバーテキスト (編集前の偽装テキスト) とステゴテキストが既知
- known message: 秘密のメッセージとステゴテキストが既知で、そこからステガノグラフィのアルゴリズムを推測
- chosen stego: アルゴリズムとステゴテキストが既知
- chosen message: メッセージを起点に様々なアルゴリズムを試してステゴテキストが当該アルゴリズムを使っているか推測
- known stego: アルゴリズム、カバーテキスト、ステゴテキストが既知
生成型の場合はカバーテキストが存在しない。known cover 設定では、カバーテキストとステゴテキストの差分を調べてアルゴリズムを推測するが、こうした手法の出番はない。
この分類を改めてみると、計算機ではなく人間が直接分析する雰囲気があって現代的ではない。
画像を主な対象にステガノグラフィの教科書を書いたは Jessica Fridrich は、より単純な二分法 blind steganalysis v. targeted steganalysis を採用する。https://www.cambridge.org/core/books/steganography-in-digital-media/2D5989F2462923428BE01F2042A532AB blind steganalysis は採用されているステガノグラフィの具体的なアルゴリズムを Eve が知らない設定。対する targeted steganalysis はアルゴリズムが絞り込まれている設定。
教科書的なテキストではあまり議論されているのを見ないが、ステゴテキストと普通のテキストの割合も重要なはず。あてもなくネットの海からステゴテキストを検出する needle in a haystack 設定は難しすぎる。一方で、両者の割合を半々にする (論文でよく見かける) 設定も極端すぎるように思う。
長々と書いたが、最近のステガナリシス論文では、ほとんどの場合、教師あり分類問題設定を採用している。具体的には、アルゴリズムが既知 (targeted steganalysis) であり、ステゴテキストと普通のテキストが (通常半々の割合で) 用意できることを前提に、その一部を訓練データとして2値分類器を訓練し、残りをテストデータとして分類精度を評価する。ステガナリシスとしては分類精度が上がれば良いし、ステガノグラフィ側は分類精度を下げて50%に近づけたい。敵対的設定であることを除けば、何のひねりもないただのテキスト分類問題。実際、最近のステガナリシス論文は、分類器を構成するニューラルネットをいじくり回しただけの退屈なものばかり。本当はもっと面白いことができるはず。