Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

9,770 views

Published on

2月8日 卒業研究発表資料

Published in: Technology
  • Be the first to comment

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

  1. 1. 機械学習を用いた
 パターンロック認証の強化手法 北海道科学大学 創生工学部 情報フロンティア工学科
 大江ゼミ 4年 中川武憲
  2. 2. 目次 • 研究背景 • 前提知識 • パターン画像の収集 • 実験内容 • 実験結果 • 分析 • 結論
  3. 3. 研究背景
  4. 4. パターンロック認証 • Android で用いられて いるユーザ認証 • 4~9点を通る一筆書き のパターンを設定する 4
  5. 5. パターンロック認証の問題点 • 指紋跡によるパターンの漏洩 • 背後の人間による覗き見耐性の低さ • 3文字パスワード*より少ないパターンの総数
 3文字パスワード: 830,583通り
 パターンの総数 : 389,112通り *ASCII printable charactor から空白文字を除いた94文字で構成された3文字のパスワード 5
  6. 6. 強化手法の提案 1. Android アプリによりパターンロック認証時の
 筆跡を収集 2. Convolutional Neural Network で筆跡画像を学習 3. 筆跡画像によりユーザを判別して認証の補助 とする 6
  7. 7. 前提知識
  8. 8. (Artificial) Neural Network • 脳の神経細胞 (neuron) の働きを参考に考案され た機械学習の手法の一種 8
  9. 9. Deep Learning • Deep Neural Network • 中間層が 2 層以上 Neural Network • 多層になるほど Backpropagation により誤差が 伝播されにくくなり過学習が起こる • 様々な対策が施されている (Dropout など) 9
  10. 10. Convolutional Neural Network • 脳の視覚野の働きを参考に考案された
 ニューラルネットワーク • 畳み込みとプーリングを行う • 特徴量を自動的に取得する 10
  11. 11. 確率的勾配降下法 • 関数の最小値を探索するアルゴリズム • バッチ学習の最急降下法を改良 • オンライン学習 11
  12. 12. Adam • 2015年に発表 • 確率的勾配降下法の一種 • AdaGrad + RMSProp • 収束が速い • 推奨パラメータが論文に記載 12
  13. 13. Rectified Liner Units (ReLU) • 中間層に最適とされる活性化関数 13
  14. 14. Softmax • 活性化関数の一種 • Sigmoid の多クラス拡張 14
  15. 15. LeNet • LeNet-5 [LeCun, 1998] • 畳み込み、プーリング 交互に2回適用 • 全結合 Softmax 15
  16. 16. パターン画像の収集
  17. 17. パターン画像の収集 • delight.im* のパターンリストを利用 • 5~8 点を結ぶパターンの内 100 個 • 無作為に選定 delight.im*: https://github.com/delight-im/AndroidPatternLock 17
  18. 18. パターン画像の収集 • Android アプリケーション • 100 パターンをシャッフル して表示 • 筆跡画像をサーバへ送信 18
  19. 19. パターン画像の収集 • 画像収集用 Server-side
 アプリケーション • 筆跡画像とその生データ を無劣化で保存 • Google Compute Engine で運用 19
  20. 20. パターン画像の収集 • 100 人以上の協力者 • 1 万件以上の筆跡画像 20 ※太さには筆記速度が  反映されている
  21. 21. 実験内容
  22. 22. TensorFlow • 機械学習のライブラリ • Google が開発 • CUDA, cuDNN が利用可能 • Python と C++ から利用可能 • Android でも動作 22
  23. 23. 構成 23
  24. 24. 実験条件 • 筆跡画像 64x64 pixels グレースケール • 特定の 1 人のデータとそれ以外のデータそれぞれ 2028 枚 • 4056 枚の筆跡データ
 訓練データ 2556
 試験データ 1500 • 学習率は 0.00001 (1e-5) • バッチサイズは 10 24
  25. 25. 実験結果
  26. 26. 実験結果 • 試験データに対する正答率 (accuracy) : 86% 26
  27. 27. 実験結果 • 試験データに対する交差エントロピー 27
  28. 28. 分析
  29. 29. 分析 認証では 本人→他人に誤認識
 よりも
 他人→本人に誤認識 の方が問題である 29
  30. 30. 分析 • 本人と他人を含めて 86% の精度 • 本人、他人それぞれ何%の精度で判別出来るか 分析する 30
  31. 31. 実験条件 • 訓練データの本人と他人のデータ比率を
 変えて学習 • 筆跡データ
 訓練データ 4000~6000枚
 試験データ 732枚 • その他の条件は先程と同様 31
  32. 32. 正答率の内訳 • 訓練データ 4000 枚 (本人 2000 枚, 他人 2000 枚) • 試験データに対する正答率 (accuracy) : 85% パターン数 正答数 正答率 本人 366 330 0.9016 他人 366 291 0.7951 32
  33. 33. 正答率の内訳 • 訓練データ 5000 枚 (本人 2000 枚, 他人 3000 枚) • 試験データに対する正答率 (accuracy) : 86% パターン数 正答数 正答率 本人 366 310 0.8470 他人 366 318 0.8689 33
  34. 34. 正答率の内訳 • 訓練データ 6000 枚 (本人 2000 枚, 他人 4000 枚) • 試験データに対する正答率 (accuracy) : 87% パターン数 正答数 正答率 本人 366 301 0.8224 他人 366 337 0.9208 34
  35. 35. 結論
  36. 36. 結論 まだ実用的とは言えないまでも 筆跡の特徴量により 本人とそれ以外に判別する事が可能 36
  37. 37. 課題 • 端末の物理的な大きさ • 持ち方 • 認証時の指 これらが変わった場合にも筆跡の癖を
 正しく判別できるのか検証が必要 37
  38. 38. ご清聴ありがとうございました
  39. 39. 参考文献・付録
  40. 40. 参考文献 • 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
  41. 41. 付録 研究に際して筆者が書いた全てのコードは 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
  42. 42. 謝辞 本研究は以下の方々によるご協力のお陰で成果 を出すに至りました。 ・ご指導下さった大江亮介助教 ・実験に参加して下さった 100 人以上の方々 この場を借りて心より感謝申し上げます。 42

×