SlideShare a Scribd company logo
機械学習を用いた

パターンロック認証の強化手法
北海道科学大学 創生工学部 情報フロンティア工学科

大江ゼミ 4年 中川武憲
目次
• 研究背景
• 前提知識
• パターン画像の収集
• 実験内容
• 実験結果
• 分析
• 結論
研究背景
パターンロック認証
• Android で用いられて
いるユーザ認証
• 4~9点を通る一筆書き
のパターンを設定する
4
パターンロック認証の問題点
• 指紋跡によるパターンの漏洩
• 背後の人間による覗き見耐性の低さ
• 3文字パスワード*より少ないパターンの総数

3文字パスワード: 830,583通り

パターンの総数 : 389,112通り
*ASCII printable charactor から空白文字を除いた94文字で構成された3文字のパスワード
5
強化手法の提案
1. Android アプリによりパターンロック認証時の

筆跡を収集
2. Convolutional Neural Network で筆跡画像を学習
3. 筆跡画像によりユーザを判別して認証の補助
とする
6
前提知識
(Artificial) Neural Network
• 脳の神経細胞 (neuron) の働きを参考に考案され
た機械学習の手法の一種
8
Deep Learning
• Deep Neural Network
• 中間層が 2 層以上 Neural Network
• 多層になるほど Backpropagation により誤差が
伝播されにくくなり過学習が起こる
• 様々な対策が施されている (Dropout など)
9
Convolutional Neural Network
• 脳の視覚野の働きを参考に考案された

ニューラルネットワーク
• 畳み込みとプーリングを行う
• 特徴量を自動的に取得する
10
確率的勾配降下法
• 関数の最小値を探索するアルゴリズム
• バッチ学習の最急降下法を改良
• オンライン学習
11
Adam
• 2015年に発表
• 確率的勾配降下法の一種
• AdaGrad + RMSProp
• 収束が速い
• 推奨パラメータが論文に記載
12
Rectified Liner Units (ReLU)
• 中間層に最適とされる活性化関数
13
Softmax
• 活性化関数の一種
• Sigmoid の多クラス拡張
14
LeNet
• LeNet-5 [LeCun, 1998]
• 畳み込み、プーリング 交互に2回適用
• 全結合 Softmax
15
パターン画像の収集
パターン画像の収集
• delight.im* のパターンリストを利用
• 5~8 点を結ぶパターンの内 100 個
• 無作為に選定
delight.im*: https://github.com/delight-im/AndroidPatternLock
17
パターン画像の収集
• Android アプリケーション
• 100 パターンをシャッフル
して表示
• 筆跡画像をサーバへ送信
18
パターン画像の収集
• 画像収集用 Server-side

アプリケーション
• 筆跡画像とその生データ
を無劣化で保存
• Google Compute Engine
で運用
19
パターン画像の収集
• 100 人以上の協力者
• 1 万件以上の筆跡画像
20
※太さには筆記速度が
 反映されている
実験内容
TensorFlow
• 機械学習のライブラリ
• Google が開発
• CUDA, cuDNN が利用可能
• Python と C++ から利用可能
• Android でも動作
22
構成
23
実験条件
• 筆跡画像 64x64 pixels グレースケール
• 特定の 1 人のデータとそれ以外のデータそれぞれ 2028 枚
• 4056 枚の筆跡データ

訓練データ 2556

試験データ 1500
• 学習率は 0.00001 (1e-5)
• バッチサイズは 10
24
実験結果
実験結果
• 試験データに対する正答率 (accuracy) : 86%
26
実験結果
• 試験データに対する交差エントロピー
27
分析
分析
認証では
本人→他人に誤認識

よりも

他人→本人に誤認識
の方が問題である
29
分析
• 本人と他人を含めて 86% の精度
• 本人、他人それぞれ何%の精度で判別出来るか
分析する
30
実験条件
• 訓練データの本人と他人のデータ比率を

変えて学習
• 筆跡データ

訓練データ 4000~6000枚

試験データ 732枚
• その他の条件は先程と同様
31
正答率の内訳
• 訓練データ 4000 枚 (本人 2000 枚, 他人 2000 枚)
• 試験データに対する正答率 (accuracy) : 85%
パターン数 正答数 正答率
本人 366 330 0.9016
他人 366 291 0.7951
32
正答率の内訳
• 訓練データ 5000 枚 (本人 2000 枚, 他人 3000 枚)
• 試験データに対する正答率 (accuracy) : 86%
パターン数 正答数 正答率
本人 366 310 0.8470
他人 366 318 0.8689
33
正答率の内訳
• 訓練データ 6000 枚 (本人 2000 枚, 他人 4000 枚)
• 試験データに対する正答率 (accuracy) : 87%
パターン数 正答数 正答率
本人 366 301 0.8224
他人 366 337 0.9208
34
結論
結論
まだ実用的とは言えないまでも
筆跡の特徴量により
本人とそれ以外に判別する事が可能
36
課題
• 端末の物理的な大きさ
• 持ち方
• 認証時の指
これらが変わった場合にも筆跡の癖を

正しく判別できるのか検証が必要
37
ご清聴ありがとうございました
参考文献・付録
参考文献
• DEF CON 23: Tell me who you are and I will tell
you your lock screen pattern

https://blog.kaspersky.com/lock-screen-patterns-
predictability/9528/
• 君塚悠, 岡本剛, パスワード認証とパターン認証
の安全性に関する比較評価
• 石黑司, 福島和英, 清本晋作, 三宅優, モバイル端
末のロック解除向けパターン認証の安全性評価
40
付録
研究に際して筆者が書いた全てのコードは GitHub 上で

MIT License の下に公開する
• 研究環境の構築:

https://github.com/ww24/docker-deep-learning
• データ収集用サーバ: https://github.com/ww24/kis
• データ収集用アプリ: https://github.com/ww24/pattern
• 学習テスト用コード: https://github.com/ww24/train-patterns
41
謝辞
本研究は以下の方々によるご協力のお陰で成果
を出すに至りました。
・ご指導下さった大江亮介助教
・実験に参加して下さった 100 人以上の方々
この場を借りて心より感謝申し上げます。
42

More Related Content

機械学習を用いたパターンロック認証の強化手法