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

Viewers also liked (9)

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

More from Takenori Nakagawa (20)

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

Recently uploaded (8)

Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
 
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
 
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
 
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
 
ドメインモデリング基本編①~全体の流れ2025_02_27社内向け開催.pptx
ドメインモデリング基本編①~全体の流れ2025_02_27社内向け開催.pptxドメインモデリング基本編①~全体の流れ2025_02_27社内向け開催.pptx
ドメインモデリング基本編①~全体の流れ2025_02_27社内向け開催.pptx
ssuserfcafd1
 
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
 
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
 
IchiiRikisuke_理学療法士間の知識共有に向けた臨床推論テキストの構造化に関する研究.pdf
IchiiRikisuke_理学療法士間の知識共有に向けた臨床推論テキストの構造化に関する研究.pdfIchiiRikisuke_理学療法士間の知識共有に向けた臨床推論テキストの構造化に関する研究.pdf
IchiiRikisuke_理学療法士間の知識共有に向けた臨床推論テキストの構造化に関する研究.pdf
Matsushita Laboratory
 
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
 
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
 
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
 
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
 
ドメインモデリング基本編①~全体の流れ2025_02_27社内向け開催.pptx
ドメインモデリング基本編①~全体の流れ2025_02_27社内向け開催.pptxドメインモデリング基本編①~全体の流れ2025_02_27社内向け開催.pptx
ドメインモデリング基本編①~全体の流れ2025_02_27社内向け開催.pptx
ssuserfcafd1
 
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
 
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
 
IchiiRikisuke_理学療法士間の知識共有に向けた臨床推論テキストの構造化に関する研究.pdf
IchiiRikisuke_理学療法士間の知識共有に向けた臨床推論テキストの構造化に関する研究.pdfIchiiRikisuke_理学療法士間の知識共有に向けた臨床推論テキストの構造化に関する研究.pdf
IchiiRikisuke_理学療法士間の知識共有に向けた臨床推論テキストの構造化に関する研究.pdf
Matsushita Laboratory
 

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