SlideShare a Scribd company logo
1 of 42
Download to read offline
機械学習を用いた

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

大江ゼミ 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

Viewers also liked

Metasploitでペネトレーションテスト
MetasploitでペネトレーションテストMetasploitでペネトレーションテスト
Metasploitでペネトレーションテストsuper_a1ice
 
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析Hiroki Ouchi
 
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るYoshio Hanawa
 
Ctfのためのpython入門
Ctfのためのpython入門Ctfのためのpython入門
Ctfのためのpython入門shiracamus
 
これからの Microservices
これからの Microservicesこれからの Microservices
これからの MicroservicesToru Yamaguchi
 
アクセシビリティはじめました
アクセシビリティはじめましたアクセシビリティはじめました
アクセシビリティはじめましたYuichi Sugiyama
 
Subscriber Identity Module
Subscriber Identity ModuleSubscriber Identity Module
Subscriber Identity ModuleYuki Mizuno
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南Mikiya Okuno
 

Viewers also liked (9)

Metasploitでペネトレーションテスト
MetasploitでペネトレーションテストMetasploitでペネトレーションテスト
Metasploitでペネトレーションテスト
 
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析深層リカレントニューラルネットワークを用いた日本語述語項構造解析
深層リカレントニューラルネットワークを用いた日本語述語項構造解析
 
TensorFlow 入門
TensorFlow 入門TensorFlow 入門
TensorFlow 入門
 
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
 
Ctfのためのpython入門
Ctfのためのpython入門Ctfのためのpython入門
Ctfのためのpython入門
 
これからの Microservices
これからの Microservicesこれからの Microservices
これからの Microservices
 
アクセシビリティはじめました
アクセシビリティはじめましたアクセシビリティはじめました
アクセシビリティはじめました
 
Subscriber Identity Module
Subscriber Identity ModuleSubscriber Identity Module
Subscriber Identity Module
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南
 

More from Takenori Nakagawa (20)

Docker で Deep Learning
Docker で Deep LearningDocker で Deep Learning
Docker で Deep Learning
 
GitHub Travis-CI Go!
GitHub Travis-CI  Go!GitHub Travis-CI  Go!
GitHub Travis-CI Go!
 
01.app
01.app01.app
01.app
 
Service Workers Push API Hands-on
Service Workers Push API Hands-onService Workers Push API Hands-on
Service Workers Push API Hands-on
 
Service Workers
Service WorkersService Workers
Service Workers
 
OpenGL 3DCG
OpenGL 3DCGOpenGL 3DCG
OpenGL 3DCG
 
WebGL
WebGLWebGL
WebGL
 
01:artificial life
01:artificial life01:artificial life
01:artificial life
 
後期05
後期05後期05
後期05
 
後期03
後期03後期03
後期03
 
後期02
後期02後期02
後期02
 
densan2014-late01
densan2014-late01densan2014-late01
densan2014-late01
 
phpck
phpckphpck
phpck
 
Git 初心者のための GitHub Pages
Git 初心者のための GitHub PagesGit 初心者のための GitHub Pages
Git 初心者のための GitHub Pages
 
後期講座08
後期講座08後期講座08
後期講座08
 
後期講座07
後期講座07後期講座07
後期講座07
 
後期講座05
後期講座05後期講座05
後期講座05
 
後期講座03
後期講座03後期講座03
後期講座03
 
後期講座01
後期講座01後期講座01
後期講座01
 
Illust bookmark
Illust bookmarkIllust bookmark
Illust bookmark
 

Recently uploaded

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (9)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

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