狠狠撸

狠狠撸Share a Scribd company logo
マルチメディア
情報ハイディング
伊藤彰則
情報ハイディングとは?
●
ある情報の中に、それとは異なる
情報を埋め込むこと
●
「見かけの情報」:カバーデータ
●
文字情報、画像情報、音声情報など
●
「埋め込まれた情報」:メッセージ
●
これも文字情報など
何に使うのか?
●
ステガノグラフィ
(Steganography)
●
=秘匿通信
●
通信をしていること自体を他人に知ら
れないようにする通信手段
●
一見メッセージや画像を送り合ってい
るように見えるが、その中には別な
メッセージが隠されている
暗号とステガノグラフィ
暗号
ステガノグラフィ
Encryption DecryptionHELLO HELLOYCII.
Embedding ExtractionHELLO HELLO
Cover
data
何に使うのか?
●
電子透かし(Digital Watermarking)
●
画像、音声、映像などのコンテンツに
メタデータを埋め込む
●
著作権保護を目的とすることが多い
●
違法コピー?流通をさせたときに流出経
路の追跡が可能になる
●
コンテンツの真正性、合法的に取得したこ
との証明などにも使える(電子署名との組
み合わせ)
電子透かし
音楽販売サイト
著作権者
購入者
購入年月日
購入
違法コピー
流出
Extraction
著作権者
購入者
購入年月日
何に使うのか?
●
補助データ通信
●
音声などに、それに付随した補助的な
データ(Ancillary Data)を埋め込む
●
元のデータフォーマットに補助データ
のフィールドがない場合でも伝送が可
能
●
パケットロス隠蔽、音声の帯域?チャネル拡張
など
歴史
ワックス?タブレット(蝋を塗った筆記
具)の裏に秘密の文字を隠す
不可視インクの利用
(あぶりだしなど)
歴史
? Johannes Trithemius (1462-1516)
?
中世ドイツの修道士?魔術師
?
“Steganographia”
? Book I~III からなる
? 魔術?降霊術の本のように見える
? 実際には暗号と秘密通信の術が
秘密の方法で書かれている
?
第III巻の解読方法は1998年に判明
? 1609年禁書目録に登録
J. Reeds, “Solved: the ciphers in book III of Trithemius's steganographia”, Cryptlogia, vol. 22, no. 4,
pp. 291-317, 1998
ステガノグラフィアでの
情報秘匿方法(例)
? (一見)秘密の呪文
?
Padiel aporsy mesarpon omeuas peludyn malpreaxo
? 1単語ごとに、1文字おきに読む
?
Padiel aporsy mesarpon omeuas peludyn malpreaxo
? Prymus (primus) apex (最初の頂点)
現代の
情報ハイディング
●
ディジタルデータ(特に画像?音声
など)の中に情報を埋め込む
●
信号処理の方法を使う
●
ディジタル通信と関係が深い
概念と用語
●
秘密メッセージ (Secret message)
●
埋め込みたい秘密のメッセージ(ビット列)
●
カバーデータ (Cover data)
●
秘密メッセージを埋め込むデータ(画像な
ど)。メッセージとは無関係に見える
●
ステゴデータ (Stego data)
●
メッセージが埋め込まれたデータ
●
ペイロード (Payload)
●
カバーデータの中でメッセージを埋め込むこ
とができる部分
用語と概念
●
ビットレート (bit rate)
●
カバーデータに対するペイロードの割
合。Bit/pixel(画像の場
合)、bit/sample、bit/s(音声の場合)などで測
る
●
歪み (distortion)
●
メッセージを埋め込むことによるステゴデータ
の劣化。画像の場合PSNR (dB)、音声はSNR(dB)
などで測られる
用語と概念
●
攻撃 (attack)
●
電子透かしを破壊するために、ステゴデータに
対して行う処理。画像の場合は拡大?縮小?圧
縮などがある。
●
攻撃耐性 (resilience)
●
攻撃を受けたステゴデータから秘密メッセージ
がどれだけ取り出せるかの度合い
●
ステガナリシス (steganalysis)
●
コンテンツにデータが埋め込んであるかどうか
を識別する技術
トレードオフ
●
歪み(品質)、ビットレート、攻撃
耐性にはトレードオフがある
●
ビットレートが大きければ品質が低い
●
攻撃耐性が高ければビットレートが小
さい
情報ハイディング手法
●
初等的な方法
●
スペクトル拡散法
●
LSB置換法
●
エコー法
●
量子化に情報を埋める方法
●
QIM法
●
可逆電子透かし
●
文書へのハイディング
スペクトル拡散法
●
疑似乱数を使って情報を埋め込む
●
通信におけるスペクトル拡散通信と同じ
●
カバーデータは「雑音」とみなされる
●
準備
●
カバーデータの一部
●
メッセージ
●
疑似乱数(PN)系列
s=s1 , s2 ,…, sN
m∈{?1,1}
p= p1 ,…, pN
pi∈{?1 ,1}
p
(k)
= pk ,…, pN , p1, …, pk?1
スペクトル拡散法
● 疑似乱数の性質
● カバーデータに想定される性質
p?p
(k)
{=N k=1
≈0 k≠1
∑
i=1
N
si pi ≈0
スペクトル拡散法
● ステゴデータの生成
● メッセージの抽出
– 埋め込みメッセージ
xi=si+αm pi 0<α , si ?α
f ( x)=∑
i=1
N
xi pi=x?rev( p)
f (x)>0 if m=1
f ( x)<0 if m=?1
例
カバーデータ
PN系列
0.02p
s=s1,…, s10000
p= p0 ,?p0 ,…
例
ステゴデータ
s+0.02p
復号信号
(s+0.02 p)?rev( p)
例
カバーデータの
スペクトル
ステゴデータの
スペクトル
利点と欠点
● 利点
– 雑音付加攻撃に強い
● 欠点
– 数値系列データにしか適用できない
● 対象は2次元(画像)であってもよい
– ペイロードが比較的小さい
LSB置換法
● 量子化プロセスに情報を埋める
– スカラー量子化を仮定
– 量子化精度は十分高いと仮定
– 量子化されたサンプルの下位ビット
(Least Significant Bits)をメッセージ
で置換する
スカラー量子化
● スカラー連続量を離散化
– 連続量
– 量子化関数
– 量子化レベル
– 線形量子化:
mk
x
  D
Q(x)=k
mk+1mk-1
x
Q(x)
mk
mk=xmin+k Δ
Q(x)=arg mink∣x?mk∣
LSB置換
● 下位ビットを置換する
Q' (x ,m)=2?Q(x)/2?+m m∈{0,1}
Q(x) Q' (x ,m)
m
● 線形量子化なら誤差の絶対値は
高々Δ
利点と欠点
● 利点
– 方法が単純なので計算量が小さい
– ペイロードが比較的大きい
– 対象は量子化されたデータであれば何
でも良い
● 欠点
– 雑音付加攻撃に脆弱
エコー法
● 時系列データに利用しやすい
● カバーデータにエコーのインパルス
応答を畳み込む
*
t
カバーデータ ステゴデータ
インパルス応答
s(t)
x(t)=s(t)?h(t)
hm(t)
たたみこみ
エコー法
● 異なる遅延のエコーを畳み込むこと
で情報を埋め込む
t t t t t
0 1 0 0 1
エコーの検出
● ケプストラムの自己相関から計算
– カバーデータ
– ステゴデータ
– 対数スペクトル
– ケプストラム
s(t) S (ω)
s(t)⊕hm(t) S (ω) 贬尘(ω)
log S (ω)+log 贬尘(ω)
F?1
[log S (ω)+log 贬尘(ω)]
=CS (k)+CHm(k)
例
s(t) S (ω)
例
hm(t) H m(ω)
例
s(t)⊕hm(t) S (ω) 贬尘(ω)
例
S (ω) 贬尘(ω) log S (ω) 贬尘(ω)
異なるエコー
h0(t)
h1(t)
log S (ω) H0(ω)
log S (ω) H1(ω)
例
ケプストラム
F?1
[log S (ω)H0(ω)] F?1
[log S (ω)H1(ω)]
利点と欠点
● 利点
– 品質の劣化が少ない
● 音声の場合はエコーが自然に聞こえる
● 欠点
– 残響を加える信号処理に弱い
QIM
(量子化インデックス変調)
● 量子化に情報を埋める方法
– LSB置換を含む
● 複数(典型的には2つ)の量子化器
– どの量子化器で量子化するのが誤差が
少ないかで情報を埋める
● 量子化器 Q0(x),Q1(x)
?m=arg minm∥x?Qm(x)∥
QIMとLSB置換
● LSB置換はQIMの一種
– Q0(x)∈{…,?4,?2,0,2,4,…}
Q1(x)∈{…,?3,?1,1,3,5,…}
QIMの例:
ディザ量子化変調
● ディザを使う量子化
– 通常の線形量子化器
– 疑似乱数(ディザ信号)
– ディザ量子化器
Q(x)=arg mink∥x?(xmin+k Δ)∥
d
Q(x+d )
原信号 普通の量子化 ディザ量子化
QIMの例:
ディザ量子化変調
● メッセージ依存ディザ
● 量子化器
d0(1~L),d1(1~L)
Qm(xi)=Q(xi+d m(i))
d1(i)=d0(i)?sign(x)Δ/2
ディザ系列 量子化例
QIMの例:
ディザ量子化変調
● 量子化器を使う情報の埋め込み
● メッセージに対応する量子化器で量子化
すると誤差が少なくなるようにサンプル
値を操作する
xi
'
=Qm(xi)?d m(i)=Q(xi+d m(i))?dm(i)
QIMの例:
ディザ量子化変調
● 情報の取り出し
– 2つの量子化器で量子化したときに
が小さい方を選ぶ
Qm(xi
'
)?xi
'
= Qm(Qm(xi)?dm(i))?(Qm(xi)?dm(i))
= Q(Q(xi+d m(i))?d m(i)+d m(i))?(Q(xi+dm(i))?d m(i))
= Q(Q(xi+d m(i)))?Q(xi+dm(i))+d m(i)
= d m(i)
∣Qm(xi
'
)?xi
'
?d m(i)∣
QIMの例:
ディザ量子化変調
● 情報の取り出し
∣Q0(xi)?d0(i)?xi∣ ∣Q1(xi)?d1(i)?xi∣
QIMの応用
● 量子化プロセスに情報を隠すので,
LSB置換と同様雑音に弱い
● サンプル値そのものではなく,周波
数領域に適用することが多い
– 闯笔贰骋画像の顿颁罢係数など
可逆電子透かし
(Reversible Watermarking)
● 透かしを除去して元のカバーデータ
が復元できる電子透かし
– カバーデータには冗長性が必要
● 簡単な例
– カバーデータ
● nビット量子化するが,元データがn-1
ビットに収まっているなら
s1,…, sn
xi ←2 si+bi si ←?xi /2?
情報の埋め込み
● 差分拡大(Difference Expansion)
– カバーデータ
– メッセージ
– 差分データ:カバーデータ2個を組に
s1,…, sn
ui=?s2i+s2i+1
2 ?
vi=s2i?s2i+1
m1,…,mn?1∈{0,1}
情報の埋め込み
● 差分データを元に戻す
● 差分に対してどちらかを実行
– 差分拡大
● この場合完全に元に戻せる
– LSB置換
● この場合完全には元に戻らない
s2i=ui+?vi+1
2 ? , s2i+1=ui??vi
2 ?
?vi=2vi+mi
?vi=2?vi /2?+mi
情報の埋め込み
● データを元に戻す
– オーバーフロー?アンダーフローが起
きてはならない
– 差分拡大するとオーバーフロー?アン
ダーフローする場所がある
0≤?si≤255
?s2i=ui+??vi+1
2 ? , ?s2i+1=ui???vi
2 ?
情報の埋め込み
● いくつかの場合に分ける
– 差分拡大してもオーバーフロー?アン
ダーフローしない:「拡大可能」
– LSB置換をしてもオーバーフロー?ア
ンダーフローしない:「変更可能」
– それ以外:「拡大?変更不可能」
埋め込み領域の特定
● 埋め込みを行う領域の特定
– 拡大可能で     :
拡大による埋め込みを行う
– それ以外で拡大可能または変更可能:
閾値によってLSB置換を行う
– 拡大?変更不可能:何もしない
v∈{?1,0}
埋め込み可能な点
原画像 埋め込み可
能点マップ
差分を操作した結果
原画像 差分拡大画像
埋め込み
● まず埋め込みマップを可逆圧縮した
データMを作る(runlength符号等)
● 差分拡大しないで埋め込んだ部分の
差分のLSBデータ(元データ)C
● 本当に埋め込みたいデータ P
抽出と原画像復元(1)
– 差分viを計算し,拡大?変更可能か調べ
る
– 拡大?変更不可能ならスキップ
– 差分viのLSBから情報を抽出
● 差分拡大と単なるLSB置換のいずれであっ
てもLSBから情報が抽出できる
– 抽出情報をマップM?元のLSBデータ
C?埋め込み情報Pに分ける
抽出と原画像復元(2)
– Pから埋め込んだ情報を抽出
– Mは圧縮データなので元に戻し,差分
拡大したピクセルペアを特定する
– 差分拡大したペアでは差分を元に戻す
– 拡大可能でなくて情報が埋め込んであ
るデータについて,Cから元データを
復元
文書へのデータハイディング
● 歴史的にはこっちがオリジナル
– 文字列へのハイディング
● 文字の並びそのものに情報を埋める
– 文字画像へのハイディング
● 画像として表現された文書に情報を埋める
– 文書書式へのハイディング
● ワープロ等の書式(文字フォント,文字サイ
ズなど)に情報を埋める
文字列へのハイディング
● 空白文字の個数[Por&Delina 2008]
– 段落ごとの空白文字の個数を変えて,その個
数に情報を埋める
● 単語の活用形[Meral+ 2009]
– 単語の活用のさせ方を操作して情報を埋める
● 同義語選択[Shirali-Shahreza+ 2008]
– 同義語に何を使うかの選択に情報を埋める
文字画像へのハイディング
● 一般の画像と同じような方法
● 文字のベースライン位置
● 文字の大きさ?色
● ブロック中の黒ピクセル比率
The quick brown fox
The quick brown fox
文書書式へのハイディング
● 構造化されたフォーマット
– MS-Wordなど
– 内部に構造を持つが外からは見えにく
いものが望ましい
● 対象フォーマット
– PDF (Portable Document Format)
– ODF (Open Document Format)
– OOXML (Open Office XML)
文書書式へのハイディング
● OOXML(MS OfficeのXML)対象
– 変更履歴 [Liu+ 2007]
– Revision Identifier [Castiglione+ 2011]
– 似たフォントの切り替え [Bhaya+ 2013]
– 大きさ0の画像(Zero Dimension
Image)を埋め込む [Mohamed+ 2015]
–
フォント切り替え例
● MSゴシックとMS Pゴシックの切り
替え [伊藤 2016]
– レポート提出用
– レポート提出用
– レポート提出用
MSゴシック
MSゴシック+MS Pゴシック
MS Pゴシック
攻撃
● 電子透かし?ステガノグラフィには
攻撃が想定される
– 電子透かしの場合:透かしの破壊
– ステガノグラフィの場合:秘密メッ
セージが埋め込まれていることの判
定,および秘密メッセージの解読
電子透かしの攻撃
● 透かしが無意味なビット列になるよ
うな信号処理
– 透かしが読み出せなくなる
– カバーデータの品質をできるだけ下げ
ない
画像に対する攻撃(1)
● 幾何的変換
– 画像を僅かに変形させる
– 切り出し,回転,伸縮など
● フィルタリング
– ローパスフィルタ,ガンマ補正,色空
間量子化,ヒストグラム補正など
画像に対する攻撃(2)
● 雑音付加
● アナログ変換(印刷→スキャン)
● 不可逆圧縮(JPEG)
● 結託攻撃(collusion attack)
– 複数の異なる透かしが入った信号を平
均する
結託攻撃
音楽販売サイト
購入者1
Extraction
購入者2
購入者3
購入者???
組み合わせる
(典型的には平均)
音声に対する攻撃(1)
● 速度変換
– 音の高さを変えずに速さを変える
● ピッチ変換
– 音の速さを変えずに高さを変える
● フィルタリング
– LPF, HPF, BPF, ラウドネス変換
● 切り出し
音声に対する攻撃(2)
● 雑音付加
● 符号化(MP3, AACなど)
● 変調(特に振幅変調)
–
● 結託攻撃
x' (t)=x(t)(1+αcos(ωt)) 0<α?1
まとめ
● 情報ハイディングの概要
– 主な用途
● ステガノグラフィ
● 電子透かし
● 補助情報埋め込み
– 単純な情報ハイディング手法
● スペクトラム拡散法
● LSB置換法
● エコー法
まとめ
– その他の情報ハイディング手法
● QIM法
– 可逆電子透かし
– 文書への情報ハイディング
● 攻撃について
– 画像に対する攻撃
– 音声に対する攻撃
課題
● 実際に利用されている情報ハイディ
ング技術について調査し、1つ以上
の実例について、どのような用途に
どのような技術が使われているのか
を述べよ。

More Related Content

マルチメディア情报ハイディング