視覚復号型秘密分散法を用いた CAPTCHAに関する提案

視覚復号型秘密分散法を用いた CAPTCHA に関する提案
A Proposal of a CAPTCHA Using Visual Secret Sharing
言語情報学講座 0312011105 鶴見健太
指導教員: 小倉 加奈代 Bhed Bahadur Bista 高田 豊雄
1.
はじめに
近年, フリーの Web メールをはじめとする Web
上のサービスに対し, BOT を用いて大量のアカウ
ントを不正に取得したり, 大量の不正なサービス
要求を行うなどの DoS 攻撃が定常的に発生して
いる. この問題に対処するため, コンピュータ上
図 2 判読困難な CAPTCHA
の悪意ある自動プログラムからのリクエストであ
るか, 人間のリクエストであるか判別するための
CAPTCHA(Completely Autometed Public Turing test to tell Computers and Humans Apart)
を利用したシステムが用いられるようになってき
た. 多くの CAPTCHA を用いたシステムでは, 図
1 のように画面上に文字が書かれた画像を提示し,
それを人間が読み取る手法が取られている. 形が歪
められていたり文字とは関係のないノイズが加えら
れている画像を自動で生成しコンテンツの中で提示
することで, 機械による OCR(光学文字認識) を困
難にしている.
2.
関連研究
画像を用いた CAPTCHA に関して研究が進んで
おり, 小林司, 藤堂洋介, 森井昌克により複数の画像
を重ねあわせ, 画像認識を困難にした CAPTCHA
が提案されている 2) . この研究では, 2 枚の画像を
重ね合わせた画像の認識能力を認証に利用してお
り, ユーザは重ね合わされた画像 2 枚の分類を推測
し, 解答することで認証を行っている. また, デー
タベース攻撃や類似画像検索攻撃に対する高い耐性
を持たせることに成功しており, 高い安全性を有し
ている一方, 認証にかかるユーザへの負担が増加し
ており, 一般的な CAPTCHA が認証に 14 秒程度掛
かるのに比べ, 認証に平均時間が 27.5 秒と約 2 倍
掛かってしまう問題が報告されていた.
視覚復号型秘密分散法とは, 秘密情報に画像を
用い, 暗号演算を行なわずに分散された秘密画像
図 1 一般的な CAPTCHA
前述のような, 文字列の認識による認証を要求す
る CAPTCHA を用いたシステムは多く存在するが,
これを破る技術も発達し, 突破されたシステムも存
在する 1) . 文字列に加える歪みやノイズを大きくす
ることで BOT を排除する確率を向上させることは
可能であるが, 図 2 のような文字列は人間にとって
も読みづらいものになってしまう. 本研究では, こ
の衝突を解消するため, 視覚復号型秘密分散を法用
いて認証をする CAPTCHA の提案を行う.
を復号できる暗号方式のことであり, M. Naor, A.
Shamir によって提案された 3) . この方式は (k ,n)
しきい値秘密分散問題の復号器を人間の目に置き換
えて拡張したものとして表現されており, 図 3 のよ
うに情報の描かれた画像を n 個の分散画像に分散
符号化し, それらの分散画像を重ねることで復号で
きる. すなわち, n 人のメンバー各々に予め配布さ
れた画像の内, どの k 人の画像を重ね合わせた場合
にも隠された画像を見ることができ, k − 1 人以下
では隠された画像に関する如何なる情報も得ること
ができない方式となっている.
加藤拓, 今井秀樹の研究 4) では, 対話型個人認証
方式への応用も提案されており, ユーザビリティを
損なうことなく, 様々な攻撃に対する安全性の確保
に成功している.
[1] 分散画像1
[2] 分散画像 2
[3] 秘密画像
図 3 視覚復号型秘密分散法の一例
3.
提案手法
本提案では, 基本的な処理手順として, 下記の手
順に従う.
1. まずサーバは, 保存されている秘密画像から 1
枚を選び出し, 視覚復号型秘密分散法で分散し,
図 3 の [1] と [2] の様な 2 枚の分散画像を生成
する.
2. 認証に利用する秘密画像として, サーバは生成
された 2 つの分散画像をクライアントに送り,
図 4 提案手法インターフェース
4.
プロトタイプ実装
提案手法のプロトタイプの構築を行った. 表 1 に
開発環境を示す.
表 1 システムの開発環境
クライアントはユーザに図 4 のインターフェー
スを表示する.
開発言語
実行環境
Java
Java SE 1.6
開発ツール
Eclipse Java EE IDE 4.4
秘密画像フォーマット
白黒の BMP
秘密画像サイズ
200x200
フェイス下部のボタンを押した際に切り替えら
秘密画像文字フォント
れ, 人間の目の時間残像効果を利用し, 人間の
秘密画像文字サイズ
Times New Roman
72
目には復号によって得られた秘密画像が表示さ
分散画像フォーマット
白黒の PNG
れたように見える.
分散画像サイズ
400x400 平均 30KB/枚
平均 120ms
3. クライアントはインターフェイス中央に受信し
た分散画像を Page 1 に 1 枚目を, Page 2 に 2
枚目を配置する.
4. 分散画像を配置したページはユーザがインター
分散画像生成時間
5. ユーザは, 表示された文字を読み取り, インター
フェイス上部のテキストボックスに読み取った
文字を入力する.
6. クライアントは, 入力された文字をサーバに送
信し, 受信したサーバは, 受信した文字が, 正
しいものであるか確認し, 認証を行う.
7. サーバは認証に成功した場合は, その旨をクラ
イアントに返す.
8. 認証に失敗した場合は, 失敗した旨をクライア
ントに返し, 新たに秘密画像を 1 枚選び出し,
1. から処理手順をやり直す.
視覚復号型秘密分散法の分散方法には (2, 2) しき
い値法を用いる.
認証に利用する文字はユーザ負荷を減らすことを
目的として, 2 桁の数字を用いる.
5.
まとめ
本論文では, 視覚復号型秘密分散法を用いた
CAPTCHA の提案を行った. 今後, 実装と評価実
験を行い, システムの可用性と安全性について評価
を行う.
参考文献
1) PWNtcha: http://caca.zoy.org/wiki/PWNtcha
2) 小林司, 藤堂洋介, 森井昌克, “画像認識の困難性を
利用した CAPTCHA 方式の提案”, 電子情報通信学
会技術研究報告, IE, 画像工学, 110(208), pp. 37-42,
Sept. 14, 2010.
3) M. Naor, A. Shamir, “Visual Cryptography“, PreProc. of Eurocrypt’ 94, pp. 1-12, May 1994.
4) 加藤 拓, 今井 秀樹, “視覚復号型秘密分散法を用いた
個人認証方式に関する一考察”, 電子情報通信学会技
術研究報告, IT, 情報理論, 95(347), pp. 29-34, Sept.
06, 1995.