1. Wet Paper符号を利用した
QRコードへの情報重畳
新見道治 野田秀樹
九州工業大学 大学院 情報工学研究院
K y u t e c h Multimedia Information Processing Lab. 1
Kyushu Institute of Technology
13年3月7日木曜日
2. QRコード
• Quick Responseコード
• 高速読み取り可能な二次元コード
• 1994年、デンソー(現在は、デンソー
ウェーブ)が開発
• 生成に必要な情報:型番、誤り訂正レベ
ル、メッセージ
• 表現可能な最大情報量(型番40の場合)
• 英数字:4296文字
• バイナリ:2053バイト
• 漢字:1817文字
K y u t e c h Multimedia Information Processing Lab. 2
Kyushu Institute of Technology
13年3月7日木曜日
3. QRコードの構造 #1
メッセージ(http://www)
誤り訂正
誤り訂正レベル
符号化
データコード語
(101100111000...)
左図のピンクの領域に配置する
K y u t e c h Multimedia Information Processing Lab. 3
Kyushu Institute of Technology
13年3月7日木曜日
4. QRコードの構造 #2
• 型番:1∼40
• モジュール:論理値に対応する大きさを持った正方領域
• 1辺のモジュール数(サイズ)
• 型番x4 + 17 (1x4 + 17 = 21)
• 全モジュール数(全画素数)
• 1辺のモジュール数の2乗
[型番]と[誤り訂正レベル] → 情報量
メッセージ 終端パターン 埋め草ビット
K y u t e c h Multimedia Information Processing Lab. 4
Kyushu Institute of Technology
13年3月7日木曜日
5. 欧州での状況
72%
18.6%
製品情報
取得
ドイツ
全スマートフォンユーザに対する割合
2012年9月19日の記事
http://japan.internet.com/wmnews/20120926/5.html
K y u t e c h Multimedia Information Processing Lab. 5
Kyushu Institute of Technology
13年3月7日木曜日
6. アメリカでの状況
普及率 認知率
全スマートフォンユーザに対する割合
2010年11月10日の記事
K y u t e c h Multimedia Information Processing Lab. 6
Kyushu Institute of Technology
13年3月7日木曜日
7. アジアでの状況 #1
QRコード(二次元コード)をご存じでしたか?
2012年4月4日の記事
http://www.gmo.jp/news/article/?id=3953
K y u t e c h Multimedia Information Processing Lab. 7
Kyushu Institute of Technology
13年3月7日木曜日
8. アジアでの状況 #2
QRコード(二次元コード)をスキャンしたことがありますか?
2012年4月4日の記事
http://www.gmo.jp/news/article/?id=3953
K y u t e c h Multimedia Information Processing Lab. 8
Kyushu Institute of Technology
13年3月7日木曜日
9. QRコードに関連する不正行為
• 正規のQRコードの上に、偽のQRコードを貼り付け
る
• 簡単に可能
• 正規のWebサイトではなく、偽のWebサイトに誘導
し、個人情報を収集する
• 2007年頃にはすでに、この危険性を指摘する記事が
あった(日本)
• QRishing(krishi-ing)の危険性を指摘
• 2012年11月アメリカで報告
K y u t e c h Multimedia Information Processing Lab. 9
Kyushu Institute of Technology
13年3月7日木曜日
10. QRコードの改ざん検出
• デザインQRコードを利用し、提供者特有のイラストをQRコー
ドに書き込む
• 目視によって改ざん検出を行う
• インターネットへの接続不要
• 誤り訂正符号を修正して、QRコード上に空白を作り、そこに画
像等を埋め込む
• 目視によって改ざん検出を行う
• インターネットへの接続不要
• 認証サーバを仲介させることで、改ざんを防ぐ
• 機械的処理により認証可能
K y u t e c h Multimedia Information Processing Lab. 10
Kyushu Institute of Technology
13年3月7日木曜日
11. 目的
• 情報ハイディング関連技術を利用して何か役
に立つシステム、技術が提供できないだろう
か?
• Wet Paper符号と置換型情報ハイディングを
組み合わせ、QRコードの改ざん検出システム
に応用する
K y u t e c h Multimedia Information Processing Lab. 11
Kyushu Institute of Technology
13年3月7日木曜日
12. 本研究特有の言葉
白黒二値パターン
メッセージ
http://www.mip.ces.kyutech.ac.jp
K y u t e c h Multimedia Information Processing Lab. 12
Kyushu Institute of Technology
13年3月7日木曜日
13. 本研究特有の言葉
白黒二値パターン
メッセージ
http://www.mip.ces.kyutech.ac.jp
表の情報
(おもて)
K y u t e c h Multimedia Information Processing Lab. 12
Kyushu Institute of Technology
13年3月7日木曜日
14. 本研究特有の言葉
白黒二値パターン
メッセージ
http://www.mip.ces.kyutech.ac.jp
表の情報 裏の情報
(おもて) (うら)
K y u t e c h Multimedia Information Processing Lab. 12
Kyushu Institute of Technology
13年3月7日木曜日
15. ディジタル署名
K y u t e c h Multimedia Information Processing Lab. 13
Kyushu Institute of Technology
13年3月7日木曜日
16. 提案システム概略
• ディジタル署名
• 裏の情報のハッシュ値
• QRコードのどこかに保存
• 検証
• 裏の情報のハッシュ値(A*)
• 取り出されたハッシュ値(B*)
• A*とB*を比較することで改ざんを検出
K y u t e c h Multimedia Information Processing Lab. 14
Kyushu Institute of Technology
13年3月7日木曜日
17. 改ざん検出可能QRコード 1/3
1)裏の情報
2)型番
3)誤り訂正レベル
通常QRコード
K y u t e c h Multimedia Information Processing Lab. 15
Kyushu Institute of Technology
13年3月7日木曜日
18. 改ざん検出可能QRコード 2/3
1)裏の情報の
ハッシュ値 暗号化された
2)公開鍵暗号の ハッシュ値
秘密鍵
K y u t e c h Multimedia Information Processing Lab. 16
Kyushu Institute of Technology
13年3月7日木曜日
19. 改ざん検出可能QRコード 3/3
1)暗号化ハッシュ値
2)通常QRコード
改ざん検出可能
QRコード
K y u t e c h Multimedia Information Processing Lab. 17
Kyushu Institute of Technology
13年3月7日木曜日
20. 改ざん検出可能QRコード 3/3
1)暗号化ハッシュ値
2)通常QRコード
Wet Paper符号を利用した
情報ハイディング 改ざん検出可能
QRコード
K y u t e c h Multimedia Information Processing Lab. 17
Kyushu Institute of Technology
13年3月7日木曜日
21. QRコードの違いは?
裏の情報は同じ
通常QRコード 改ざん検出可能
QRコード
K y u t e c h Multimedia Information Processing Lab. 18
Kyushu Institute of Technology
13年3月7日木曜日
22. QRコードの違いは?
裏の情報は同じ
通常読み取り可能
通常QRコード 改ざん検出可能
QRコード
K y u t e c h Multimedia Information Processing Lab. 18
Kyushu Institute of Technology
13年3月7日木曜日
23. QRコードの違いは?
裏の情報は同じ
通常読み取り可能
通常QRコード 改ざん検出可能
QRコード
表の情報が変化しています
K y u t e c h Multimedia Information Processing Lab. 18
Kyushu Institute of Technology
13年3月7日木曜日
24. QRコードの違いは?
裏の情報は同じ
通常読み取り可能
通常QRコード 改ざん検出可能
QRコード
表の情報が変化しています
誤り訂正機能を有しているので大丈夫です
K y u t e c h Multimedia Information Processing Lab. 18
Kyushu Institute of Technology
13年3月7日木曜日
25. 埋め込み(データ変更)領域
データコード語及び
誤り訂正コード語
K y u t e c h Multimedia Information Processing Lab. 19
Kyushu Institute of Technology
13年3月7日木曜日
26. Matrix Embedding
• ビット変化をなるべく抑えつつ,情報を埋め
込む
• メッセージを直接カバーメディアのビット情報
に対応させるのではなく,別なビット系列に
変換し,その系列をカバーメディアに埋め込む
• 誤り訂正符号の誤り検出の考え方
K y u t e c h Multimedia Information Processing Lab. 20
Kyushu Institute of Technology
13年3月7日木曜日
27. イメージ
パリティ検査行列
シンドローム
符号語
s = Hw
m = Hx
メッセージ カバーメディア中
のビット列
K y u t e c h Multimedia Information Processing Lab. 21
Kyushu Institute of Technology
13年3月7日木曜日
28. Wet Paper符号
• 名前の由来
• ある部分が濡れた紙がある.乾いてしまえば,どこ
が濡れていたのか,乾いていたのか区別できない
• 紙をカバーデータ,乾いている部分をメッセージ埋め
込み場所と考え,もともと乾いていた部分を知らな
くても,埋め込んだ情報を抽出出来る手法
• 画素集合毎に埋め込みを行う
• パリティ検査行列としてランダムコードを用いる
• 抽出者は埋め込んだ位置を知る必要がない
K y u t e c h Multimedia Information Processing Lab. 22
Kyushu Institute of Technology
13年3月7日木曜日
29. 埋め込み場所
カバー画像 *
*
* *
*
ある画素集合の中から,値が変更できる画素
(*)を選ぶ
この位置情報は抽出時には必要ない
K y u t e c h Multimedia Information Processing Lab. 23
Kyushu Institute of Technology
13年3月7日木曜日
30. データの抽出
画素集合から得られるビット列
t
y = (y1 , y2 , . . . , yn )
埋め込まれたメッセージ(pビット)
Hy
H p n 行列
乱数で0,1を発生
1)列ベクトルは互いに異なる
2)ゼロ列ベクトルは存在しない
K y u t e c h Multimedia Information Processing Lab. 24
Kyushu Institute of Technology
13年3月7日木曜日
31. 埋め込み(1/3)
画素集合から得られるビット列
t
x = (x1 , x2 , . . . , xn )
x を変化させたビット列
t
y = (y1 , y2 , . . . , yn )
メッセージビット列
t
m = (m1 , m2 , . . . , mp ) (p < 20)
Hはm n 行列( m n)
m = Hy
K y u t e c h Multimedia Information Processing Lab. 25
Kyushu Institute of Technology
13年3月7日木曜日
32. 埋め込み(2/3)
v=y (差分ベクトル)
x Hv = m Hx
変更可能画素以外は変化しないので,それに対応する
v
要素を と から取り除く
H
⇥ ⇥ ⇥ ⇥
1 0 1 1 1 1 1 1 1 1
⇤ 1 1 1 0 1 ⌅ 0 ⌃
⇧ ⇤ 1 1 1 ⌅ 0 ⌅
⇤
⇧ ⌃
1 0 0 1 0 ⇧ 0 ⌃ 1 0 0 1
⇧ ⌃
⇤ 0 ⌅
H D v
1
v
K y u t e c h Multimedia Information Processing Lab. 26
Kyushu Institute of Technology
13年3月7日木曜日
33. 埋め込み(2/3)
v=y (差分ベクトル)
x Hv = m Hx
変更可能画素以外は変化しないので,それに対応する
v
要素を と から取り除く
H
⇥ ⇥ ⇥ ⇥
1 0 1 1 1 1 1 1 1 1
⇤ 1 1 1 0 1 ⌅ 0 ⌃
⇧ ⇤ 1 1 1 ⌅ 0 ⌅
⇤
⇧ ⌃
1 0 0 1 0 ⇧ 0 ⌃ 1 0 0 1
⇧ ⌃
⇤ 0 ⌅
H D v
1
v
シンドロームの計算に影響がない
K y u t e c h Multimedia Information Processing Lab. 26
Kyushu Institute of Technology
13年3月7日木曜日
34. 埋め込み(3/3)
Dv = m Hx
つまり,この式を満たす v を求めればよい
v = (v1 , v2 , . . .) が求まったとすると...
t
vi = 1 に対応する x のビットを反転すれば,
y が求まる
K y u t e c h Multimedia Information Processing Lab. 27
Kyushu Institute of Technology
13年3月7日木曜日
35. v の見つけ方
列ベクトルの組み合わせをしらみつぶしに調べる
Meet-in-the-middle algorithm [13]
K y u t e c h Multimedia Information Processing Lab. 28
Kyushu Institute of Technology
13年3月7日木曜日
36. Wet Paper符号の例
0 1 0 0
0 1 1 3ビット(LSB) 1 8ビット(メッセージ)
1 1 0 0
0
0 0 1 1
D 0 v
1 1 0 0
1
0 1 0 0
0 0 1 1
0 1 0 0
わずか1ビットの変更だけで,
8ビットの情報を埋め込むことができる
K y u t e c h Multimedia Information Processing Lab. 29
Kyushu Institute of Technology
13年3月7日木曜日
37. ビット情報を埋め込む
カバーメディア
メッセージ
K y u t e c h Multimedia Information Processing Lab. 30
Kyushu Institute of Technology
13年3月7日木曜日
38. ビット情報を埋め込む
カバーメディア
メッセージ
K y u t e c h Multimedia Information Processing Lab. 30
Kyushu Institute of Technology
13年3月7日木曜日
39. ビット情報を埋め込む
カバーメディア
メッセージ
単純にメッセージビットを埋め込みビットに対応さ
せると,50%のビットが反転する
K y u t e c h Multimedia Information Processing Lab. 30
Kyushu Institute of Technology
13年3月7日木曜日
40. 比較実験
• 画像:256x256(8ビット/画素)
• 100枚
• 4096ビット埋め込む
• 256ブロック(256画素/ブロック)
• 変更可能画素(64画素/ブロック)(n=64)
• WetPaper符号の場合,p=16
• ハミング符号の場合,p=4
K y u t e c h Multimedia Information Processing Lab. 31
Kyushu Institute of Technology
13年3月7日木曜日
41. Wet Paper符号の効果
K y u t e c h Multimedia Information Processing Lab. 32
Kyushu Institute of Technology
13年3月7日木曜日
42. Wet Paper符号の効果
ビット変化が少ないWet Paper符号を利用する
K y u t e c h Multimedia Information Processing Lab. 32
Kyushu Institute of Technology
13年3月7日木曜日
43. Wet Paper符号は本当に適用可能なのか?
• 型番10のQRコード
• 1600モジュール(ビット)の埋め込み領域 仮定
• 鍵長:1024ビットのRSA公開鍵暗号
• 1024ビットを1600セルに埋め込む
• 1024ビットを分割
• pビット → Bブロック (p x B=1024) 条件
• あるブロックに割り当て可能セル数
• 1600/B → n
• 1600セル、1024ビット ← 乱数で生成
• Wet Paper符号で埋め込み 方法
• ビット変化数を調査
K y u t e c h Multimedia Information Processing Lab. 33
Kyushu Institute of Technology
13年3月7日木曜日
44. ビット変化のシミュレーション結果
p 12 16 20 24
ブロック数 86 64 52 43
n 18 25 30 37
平均ビット変化数 4.33 5.12 6.34 7.31
ビット変化最大値 7 7 8 9
平均変化割合[%] 24.1 20.0 21.1 19.8
最大変化割合[%] 38.9 28.0 26.7 24.3
誤り訂正可能エラー率:7%, 15%, 25%, 30%
K y u t e c h Multimedia Information Processing Lab. 34
Kyushu Institute of Technology
13年3月7日木曜日
45. なぜWet Paper符号?
• 1024ビットの情報を「直接」1600ビットの
データ領域へ埋め込む
• 統計的に考えて,512ビットのデータは変化
する
• 512/1600 = 32 [%]
• この誤りをカバーできる誤り訂正レベルはQR
コードにはない
K y u t e c h Multimedia Information Processing Lab. 35
Kyushu Institute of Technology
13年3月7日木曜日
46. QRコードへの情報ハイディング
• 表の情報をカバーデータとして考える
• 二値画像に対する電子透かし
• カラー化して情報重畳
• モジュールをさらに細かく分割する
• QRコードの構造を利用する
• 埋め草ビットに情報を埋め込む
K y u t e c h Multimedia Information Processing Lab. 36
Kyushu Institute of Technology
13年3月7日木曜日
47. 表の情報を利用する場合の技術的課題
撮影画像 論理パターン
どのようにして1ビットの間違いもなく
元の論理パターンを復元するのか?
K y u t e c h Multimedia Information Processing Lab. 37
Kyushu Institute of Technology
13年3月7日木曜日
48. 現状での提案手法の位置づけ
• 読み取りの頑健性を求める
• 埋め草ビットを利用する
• 付加情報はメッセージとは完全に分離
• 付加情報の不可分性を求める
• 提案手法も候補の一つ
• 高精度な画像処理が必要
K y u t e c h Multimedia Information Processing Lab. 38
Kyushu Institute of Technology
13年3月7日木曜日
49. 高精度画像処理実現の可能性
• QRコード復号化ツール
• いくつかのフリーソフトがある
• ツールに実装されている方法では、比較的良
好な撮影条件でも、ビットエラーが出ている
• 独自の処理方法が必要な雰囲気
K y u t e c h Multimedia Information Processing Lab. 39
Kyushu Institute of Technology
13年3月7日木曜日
50. まとめ
• RSA公開鍵暗号を利用したディジタル署名
• 裏の情報のハッシュ値
生
• 秘密鍵で暗号化
成
• Wet Paper符号で右下セルに埋め込む
• 公開鍵を入手
• 復号化した裏の情報のハッシュ値(A*)
• Wet Paper符号を復号化し,暗号化されたハッシ 検
ュ値を抽出
証
• 公開鍵でハッシュ値を復号化(B*)
• A*とB*を比較
• Wet Paper符号での実現可能性を示した
• 高精度な画像処理、実証実験が今後の課題
K y u t e c h Multimedia Information Processing Lab. 40
Kyushu Institute of Technology
13年3月7日木曜日