平成
28
年度
学士学位論文
パターン認証及びユーザ証明書を用いた
パスワードマネージャの研究
Research of password manager using pattern lock
and user certificate
1170369
三本 拓也
指導教員
清水 明宏
2017
年
2
月
28
日
要 旨
パターン認証及びユーザ証明書を用いたパスワードマネージャ
の研究
三本 拓也
近年,Web サービス普及に伴いユーザが管理するアカウントは増加傾向にある.Web サービスにおけるユーザ認証としてパスワードが一般的に利用されているが,複数のパス ワードを覚えきれないといった理由から使いまわしが多発している.そこで,複数のパス ワードを管理するためにパスワードマネージャと呼ばれるソフトウェアが活用されている. パスワードマネージャはマスターパスワードと呼ばれる一つのパスワードでWebサービス のパスワードを集中管理している.しかし,マスターパスワードが漏洩した場合,第三者が 登録されたすべてのパスワードにアクセスできるため,マスターパスワードのセキュリティ が重要である. 本研究は,既存方式の問題点を明らかにし,それらを解決するパスワードマネージャを構 築する. キーワード キーワードパスワードマネージャ,パスワード,Webサービス,パターン認 証,ユーザ証明書,キーロガーAbstract
Research of password manager using pattern lock and user
certificate
Takuya Mimoto
In recent years, with the spread of web services, web service accounts managed by users are increasing. Password authentification is often used for web service authentifi-cation. Users are reusing a password on a lot of web services, because it is difficult to remember mutiple web service passwords. Therefore, users use a software called pass-word manager for managing their multiple passpass-words. the passpass-word manager manages multiple password of the web service with a master password. However, if the master password is leaked, third parties can get user’s passwords from the password manager. Therefore, the security of the master password is important.
This research clarifies a problems of existing password manager and solves it.
key words Password manager, Password, Web service, Pattern lock, User certifi-cate, Key logger
目次
第1章 はじめに 1 第2章 既存方式 3 2.1 パスワードマネージャについて . . . 3 2.2 パスワードマネージャの認証方式 . . . 4 2.2.1 固定パスワード認証方式 . . . 4 2.2.2 乱数表認証方式 . . . 4 2.2.3 マトリクス認証方式 . . . 5 2.3 既存方式の問題点 . . . 6 第3章 提案方式 8 3.1 表現と記法 . . . 9 3.2 提案方式に用いる技術 . . . 10 3.2.1 パターン認証 . . . 10 3.2.2 ユーザ証明書 . . . 12 3.3 各フェイズ . . . 13 3.3.1 アカウント作成フェイズ . . . 13 3.3.2 Webサービスのパスワード登録フェイズ . . . 15 3.3.3 利用フェイズ . . . 16 第4章 実験・評価 17 4.1 実装. . . 17 4.2 実験環境 . . . 19 4.3 実験結果 . . . 19 4.4 安全性評価 . . . 20目次
第5章 最後に 21
謝辞 22
図目次
1.1 Webサービス(SNS)の利用人口推移 . . . 1 2.1 パスワードマネージャの概要 . . . 3 2.2 固定パスワード認証方式 . . . 4 2.3 乱数表認証方式 . . . 5 2.4 マトリクス認証方式 . . . 6 2.5 キーロガーによるキー入力窃取 . . . 6 3.1 提案方式概要 . . . 9 3.2 パターン認証 . . . 10 3.3 内部文字列の生成 . . . 11 3.4 提案方式のパターン認証 . . . 11 3.5 ソルトを用いた内部文字列の秘匿 . . . 11 3.6 ユーザ証明書を用いた認証 . . . 12 3.7 ユーザ証明書を用いたパターン認証 . . . 13 3.8 アカウント作成フェイズ . . . 14 3.9 パスワード登録フェイズ . . . 15 3.10 利用フェイズ . . . 16 4.1 ログイン画面 . . . 18 4.2 機能選択画面 . . . 18 4.3 登録Webサービス一覧画面 . . . 18 4.4 Webサービス登録情報編集画面. . . 18表目次
4.1 性能比較表 . . . 19 4.2 ソフトウェア一覧表 . . . 19 4.3 実験結果 . . . 20
第
1
章
はじめに
近年,スマートデバイス普及に伴い,SNS(Social Networking Service) を筆頭に Web
サービスの利用人口は増加している(図1.1)[1].外出時でもインターネットショッピングや SNSを利用できるなどスマートデバイス普及によってWebサービスの利用場所は拡大して いる. 図1.1 Webサービス(SNS)の利用人口推移 それに伴い,ユーザは複数のWebサービスアカウントのID・パスワードを管理しなれば ならない.本来パスワードを使いまわすことは,リスト型攻撃等の攻撃によってパスワード 漏洩のリスクが高まるため推奨されていない.しかし,パスワードを覚えきれないことから 使い回しを行うユーザは後を絶たず,パスワード漏洩による被害が増加している [2].メモ 等紙媒体に記録するという方法があるが,盗難や第三者からのショルダーハッキングによっ てパスワード漏洩の可能性が高まる点から望ましくない. そこで,複数のパスワードを管理するためにパスワードマネージャというソフトウェアが ある.このソフトウェアはマスターパスワードと呼ばれるカギを用いてWebサービスのパ
スワードを集中管理するソフトウェアである.Webサービスのパスワードを利用する際は マスターパスワードを入力してパスワードを取り出す.ユーザが記憶するパスワードはマス ターパスワード一つだけで良いため,ユーザビリティに優れる. しかし,マスターパスワードが第三者に窃取された場合,登録したすべてのWebサービ スのパスワードが漏洩するリスクがあるため,マスターパスワードの保護が重要である.マ スターパスワードの窃取方法の一つにキーロガーがある.キーロガーによる窃取はキーボー ドの入力情報を攻撃者のサーバに送信するものであり,通信路を暗号化してパスワードを送 信しても,端末の入力情報からパスワードを窃取されてしまうためマスターパスワードに とって脅威である.そこで,スクリーンキーボードやマトリクス認証等を用いてキーボード を使うこと無くマスターパスワードを入力する方法が考案されているが,デバイス画面の キャプチャ機能を有するキーロガーも報告されており,有効な対策とはいえない[3]. 本研究は,キーロガーによるキーボード入力窃取,画面キャプチャに対するマスターパス ワードの保護機能を有するため,マスターパスワードにパターン認証及びユーザ証明書を用 いたパスワードマネージャを構築する.
第
2
章
既存方式
2.1
パスワードマネージャについて
パスワードマネージャとは,Webサービスのパスワードをサーバやローカルストレージ に保存し,管理するソフトウェアである.利用する際にはマスターパスワードと呼ばれるパ スワードでユーザ認証を行う.図2.1にソフトウェアの概略図を示す. パスワードマネージャは主にPCにソフトウェアとしてインストール,もしくはブラウザ の拡張機能として利用されることが多い.代表的な既存方式としてLastPass社のLastPass がある[4]. パスワードが保存された領域にアクセスするためにはメールアドレスとマスターパスワー ドで認証を行う.認証後,登録したパスワードにアクセスしWebサービスのURL情報,パ スワードをパスワードマネージャに保存できる.Webサービス利用の際は同様の手順で認 証を行い,登録したURL情報からパスワードマネージャがパスワードを入力フォームに送 信する. 図2.1 パスワードマネージャの概要2.2 パスワードマネージャの認証方式
2.2
パスワードマネージャの認証方式
既存方式のパスワードマネージャは固定パスワード認証に加えて,乱数表認証方式,マト リクス認証方式が採用されている.2.2.1
固定パスワード認証方式
固定パスワード認証方式とは,アカウント作成時に設定したIDとマスターパスワードの 組み合わせで認証を行う方式であり,パスワードマネージャのみならずあらゆる Webサー ビス認証に採用されているメジャーな認証方式である(図2.2)[5].実装コストが非常に低く, 強度を高めるためにはマスターパスワードの文字長を長くするだけ良いという利点を持つ. しかし,辞書攻撃やリスト型攻撃,キーロガーを始めとする多くの脅威に対して脆弱であ る.そこで,既存方式ではスクリーンキーボードを用いたマスターパスワード入力や,後述 の乱数表認証,マトリクス認証などを採用している. 図2.2 固定パスワード認証方式2.2.2
乱数表認証方式
乱数表認証とは,パスワードマネージャのアカウント作成時にサーバから発行された乱数 表をローカル環境に保存し,認証時に提示される座標にある文字列を入力することで認証を 行う方式である(図2.3)[6].入力を求められる座標は毎回変動するため,第三者からの推測2.2 パスワードマネージャの認証方式 が困難であることからリスト型攻撃に強い耐性を持つ. しかし,乱数表を画面キャプチャされるリスクがある.また,それを回避するために乱数 表を印刷しても,外出時にパスワードマネージャにアクセスするためには乱数表を持ち歩か なくてはならないため,可用性の問題が存在する. 図2.3 乱数表認証方式
2.2.3
マトリクス認証方式
マトリクス認証とは,数字表とセル位置の組み合わせで認証をおこなう認証方式である [7].ユーザ認証時に図2.4のような表が表示され,ユーザは事前に登録しておいたセルの位 置情報をもとに数字を選択していき,その値をマスターパスワードとして用いる.表示され る数字表の内容は毎回変動するため,マスターパスワードの値も同様に変動する.従って, リスト型攻撃等に強い耐性を持つ. しかし,選択するセルの位置は固定であるためショルダーハッキングや画面キャプチャに 対する耐性は低い.2.3 既存方式の問題点 図2.4 マトリクス認証方式
2.3
既存方式の問題点
既存方式の問題点としてキー入力情報の窃取がある (図2.5).暗号化された通信でマス ターパスワードを送信しても端末の入力情報からマスターパスワードを窃取できるため,対 策が困難である.特に,一般的にWebサービスの認証に用いられる固定パスワード認証方 式はこの攻撃に対して脆弱である. 図2.5 キーロガーによるキー入力窃取 キーログ盗取問題に対する既存方式のアプローチとして,スクリーンキーボードを用いた2.3 既存方式の問題点 マスターパスワード入力や乱数表,マトリクス認証方式による認証がある.しかし,スク リーンキーボードはキー入力を行わないことからキーボード入力窃取に耐性があるものの, マウスカーソルの位置から画面キャプチャによって入力内容を特定することが可能である. 乱数表,マトリクス認証方式においても同様の手順で不正アクセスが可能である. 以上のことから,既存方式の問題点は以下の通りである. • マスターパスワード認証時におけるキーボード入力窃取に対する耐性がない • マスターパスワード認証時における画面キャプチャに対する耐性がない
第
3
章
提案方式
本章では前章で提起した既存方式の問題に対して,以下のように解決する. • マスターパスワード認証時におけるキーボード入力窃取に対する耐性がない - パターン認証によるキー入力の排除及びユーザ証明書との二要素によるマスターパス ワード生成 • マスターパスワード認証時における画面キャプチャに対する耐性がない - ユーザ識別情報及びパターン生成情報を格納したユーザ証明書によるアクセス制御 図3.1は提案方式の概要図である.提案方式はパターン認証の「認知」及びユーザ証明書 と呼ばれるファイル「所持」の二つの要素をマスターパスワードとして用いる手法を提案 する. 後述のユーザ証明書からパターン認証の内部文字列を生成する.よって,パターンがショ ルダーハッキングや画面キャプチャにより窃取されてもユーザ証明書を所持していなければ 同じパターンをなぞっても生成される文字列は異なるため,認証は行えない.逆に,ユーザ 証明書が盗難した場合でも正しいパターンを認知していなければ認証は行えない.3.1 表現と記法 図3.1 提案方式概要
3.1
表現と記法
下記に,本章で用いる記法を示す. • Server · · · 認証及びデータの管理,その他動的処理を行うサーバ. • User · · · サーバに対して認証等のリクエストを送るエンドユーザ. • C · · · ユーザ証明書のことで,以下の要素を含む. – ID · · · ユーザを識別するための値. – V · · · パターン認証のマス目に格納する文字列を生成する為の乱数. • M Pass · · · Userがパターンを描画した時に発生する内部文字列.• S Name · · · UserがServerに登録するWebサービスの登録名.
• S Pass · · · UserがServerに登録するWebサービスのパスワード.
• Salt · · · サーバが保持するID毎に異なる固定長の文字列.
3.2 提案方式に用いる技術
3.2
提案方式に用いる技術
3.2.1
パターン認証
パターン認証とは,主にAndroid端末で利用される認証方式で表示されたマス目をドラッ グでつなぎ合わせてパターンを生成し,マス目を通った順番の正誤でUserを認証する方式 である (図3.2)[8].Userが記憶するのは複雑で長いパスワードではなく,自らが設定した パターンであるためユーザビリティに優れる.また,操作の手軽さに対してセキュアであり, パスワードの安全性評価で基準とされている12桁以上の文字長を4×4マスで満たす[8]. 図3.2 パターン認証 提案方式では,パターンのマス目の内部に文字列を格納し,それを連結した値をマスター パスワードとして用いる手法を提案する(図3.4).文字列はユーザ証明書Cに含まれる乱数 Vから生成する.生成手順は以下の通りである.I). Userはユーザ証明書CをServerに送信する.
II). ServerはCからID,Vを取り出す.
III). ServerがID毎に保持しているソルトSとVを足したハッシュ関数H(V)を適用する.
IV). H(V)の結果を4×4マスに分散するため16個に分解し,格納する(図3.3).
3.2 提案方式に用いる技術 図3.3 内部文字列の生成 図3.4 提案方式のパターン認証 Userは提案方式のパターン認証を利用することで,パスワード強度を気にすること無く マスターパスワードを生成可能である.また,Saltをハッシュ関数に適用することにより攻 撃者だけでなくUser自身もCから生成されるパターンの内部文字列を予測することは不可 能なため,サーバに保存されたSaltが漏洩しない限り安全であるといえる(図3.5). 図3.5 ソルトを用いた内部文字列の秘匿 しかし,パターン認証のみでは画面キャプチャによりパターンを窃取され,マスターパス ワードを保護できない.そこで,次節のユーザ証明書を用いる.
3.2 提案方式に用いる技術
3.2.2
ユーザ証明書
ユーザ証明書とは,正規の手順で登録されたUserに対してServerが発行するファイルで ある.社内向けサービスなどで利用され,ユーザ証明書を所持していないUserからの不正 アクセスを抑制できるだけでなく,パスワードを記憶することなくファイルを送信するだけ で認証できるメリットがある(図3.6). 図3.6 ユーザ証明書を用いた認証 本研究では,ユーザ証明書内にUser固有の ID及び前節のパターン認証の内部文字列生 成に用いる乱数を保持する.仮に,攻撃者がショルダーハッキングや画面キャプチャ等によ り窃取したUserのパターンを描画しても,ユーザ証明書毎に内部文字列が異なるため,他 のUserと二重で認証することはない(図3.7). 本研究におけるユーザ証明書の持つ役割は下記の通りである. • Userの識別,排除 • パターン認証の内部文字列生成のための乱数所持3.3 各フェイズ
図3.7 ユーザ証明書を用いたパターン認証
3.3
各フェイズ
提案方式をWebアプリケーションとして提供する.Userは提案方式を利用する際,Web
ブラウザを用いて暗号化された通信路でアクセスを行う.
3.3.1
アカウント作成フェイズ
Userは提案方式を利用する際,アカウントの作成を行う.アカウント作成の流れを図3.8
に示す.
I). Userは新規登録リクエストをServerに送信し,ServerはUserに対してIDを割当て 乱数生成器からVを生成する.
II). IDとVを格納したCを発行し,Userは保存を行う.
III). Userは保存したCをServerに送信し,ServerはC内のVに対してH(V)を行う.続 いて,H(V)をランダムな文字長で16マスに分割し,内部文字列として各マスに格納
3.3 各フェイズ
する.
IV). Serverは手順IIIで作成したパターン認証をUserに提供する.
V). Userはマスターパスワードとなるパターンを入力し,M PassをServerに送信する.
VI). ServerはM Passを保存し,Userを登録する.
3.3 各フェイズ
3.3.2
Web
サービスのパスワード登録フェイズ
Userは既存方式を利用する前に Webサービスのパスワードを登録を行う.Webサービ スのパスワード登録の流れを図3.10に示す.
I). User はC をServer に送信し,Server はC 内の V に対して H(V)を行う.続いて,
H(V)を16マスに分割し,内部文字列として各マスに格納する.
II). Serverは手順Iで作成したパターン認証をUserに提供する.
III). Userはパターンを入力し,M PassをServerに送信する.
IV). ServerはM Pass,C内のIDを元にUserの認証を行う.
V). 認証後,UserはS Name,S Passを入力し,Serverに登録する.S Passを新規登録す る際はパスワードの自動生成を用い,既に Webサービスで使用しているS Passがあ る場合はペースト処理によって登録を行う.
3.3 各フェイズ
3.3.3
利用フェイズ
Userが既存方式を利用し,Webサービスにログインする際の流れを図??に示す.
I). User はC をServer に送信し,Server はC 内の V に対して H(V)を行う.続いて,
H(V)を16マスに分割し,内部文字列として各マスに格納する.
II). Serverは手順Iで作成したパターン認証をUserに提供する.
III). ServerはM Pass,C内のIDを元にUserの認証を行う.
IV). 認証後,Userはパスワードマネージャへのアクセスを行う.登録したS Nameが一覧 で表示されるため,利用したいサービスを選択し,S Pass取り出す.
第
4
章
実験・評価
本章では,既存方式と提案方式のパスワードマネージャに対して,パスワードマネージャ に求められる安全性に観点を置き,評価する.提案方式を実装し,キーロガーのキー入力窃 取及び画面キャプチャに対して,マスターパスワードの保護が可能か実験を行った.4.1
実装
提案方式をJavaScript,HTML,Javaを用いて実装した.開発環境としてEclipse Mars.2 Release (4.5.2)を用いた. Webブラウザを用いて提案方式にアクセスした場合,図4.1のようにログイン画面が表 示される.ユーザはアカウントを所持していない場合,新規アカウント作成ボタンを押して アカウントを作成する.アカウントを所持しているユーザはユーザ証明書のアップロード及 び自身が登録したパターンを入力することで認証を行う. ログイン後,図4.2のように機能一覧が表示される.登録Webサイト情報ボタンを押す と図 4.3のように登録した Webサービス一覧へ遷移する.登録情報変更ボタンを押すと ユーザが登録した自身のマスターパスワードのパターンを変更できる. 図4.3においてWebサービスを選択することで図4.4に遷移する.Webサービスの登録 名,URL,パスワードを編集できる.
4.1 実装
図4.1 ログイン画面
図4.2 機能選択画面
図4.3 登録Webサービス一覧画面
4.2 実験環境
4.2
実験環境
本実験における実験環境は下記の表4.1の通りである.
表4.1 性能比較表
カテゴリ OS CPU
サーバ OSX Yosemite 10.10.5 2.6 GHz Intel Core i5
ユーザ端末 Windows 8.1 2.6 GHz Intel Core i5
本実験における使用したソフトウェアの環境は下記の表4.2の通りである.キーロガーの 設定は,入力されたキー入力情報をログとして出力し,1秒間隔で画像を出力するものと した. 表4.2 ソフトウェア一覧表 カテゴリ ソフトウェア名 バージョン 設定 Webブラウザ FireFox 51.0.1 − Webコンテナ Tomcat 7.0 − キーロガー KeyCastr 0.8.0 別途自作プログラムでキー入力をログ出力 キャプチャ Click 2.8 1秒間隔で撮影
4.3
実験結果
前節の実験環境において,キーログ取得及び画面キャプチャによって得た情報から不正ロ グインを試みた結果を以下の表4.3に示す.実験の結果,既存方式の認証において特に画面 キャプチャに対する耐性が低いことが明らかになった.一方,提案方式は画面キャプチャに よりパターンの窃取は可能であったが,認証に必要なユーザ証明書を揃えることができな かったため不正アクセスは不可能であった.4.4 安全性評価 表4.3 実験結果 認証方式 認証要素 キー入力窃取 画面キャプチャによる窃取 不正アクセス 通常入力 メールアドレス,マスターパスワード メールアドレス,マスターパスワード メールアドレス 可 スクリーンキーボード メールアドレス,マスターパスワード 不可 メールアドレス,マスターパスワード 可 乱数表認証 乱数表の座標 不可 乱数表の座標 可 マトリクス認証 セルの位置 不可 セルの位置 可 提案方式 パターン,ユーザ証明書 不可 パターン 不可
4.4
安全性評価
提案方式は認証において,パターン認証によってマスターパスワードを生成することから キーボード入力情報を窃取されることはない.マスターパスワードとなるパターンが,ショ ルダーハッキングや画面キャプチャなどにより窃取される可能性も危惧されるが,ユーザ証 明書を所持していなければユーザIDに紐付けられた内部文字列の生成が行えないため,認 証は不可能である.よって,この問題は解決できたといえる. 更に,攻撃者はユーザ証明書を手に入れても証明書に含まれる乱数からパターンを分析・ 生成することは困難である.これはサーバが保有するソルトを用いてパターン内部の文字列 を予測できないものにしているためである. よって,提案方式に攻撃者が不正アクセスする場合,ユーザ証明書の「所持」とマスター パスワード生成のためのパターンの「所持」が必要になることから,提案方式はキーロガー のキーボード入力窃取及び画面キャプチャに対するマスターパスワードの保護を実現したパ スワードマネージャであるといえる.また,ユーザはパターンを記憶するだけで規則性のな いマスターパスワードを生成できるため既存方式よりもユーザビリティに優れているとい える.第
5
章
最後に
本研究は,キーロガーによるキー入力窃取,画面キャプチャに対するマスターパスワード の保護を目的にパスワードマネージャの提案及び構築を行った.マスターパスワードにパ ターン認証を用いることにより,キー入力を行うこと無く高い強度のマスターパスワード生 成を可能にした.また,ユーザ証明書を用いることで不正なユーザの排除及び,パターンの 盗取に対するマスターパスワード保護を実現した.パターンの「認知」及びユーザ証明書の 「所持」の二要素が揃って初めて認証を行えるため,不正アクセスは困難であることを示し た.セキュリティ面だけでなく,ユーザが記憶するのはパターンだけで良い点からユーザビ リティにおいても既存方式よりも有用といえる. 今後の課題として,ユーザ証明書の失効及び再発行の問題が考えられる.提案方式のパス ワードマネージャをユーザが複数の端末で利用する場合,ユーザ証明書が複数箇所に保存さ れることになるため,紛失等によるユーザ証明書漏洩のリスクが高まる.ユーザ証明書のみ が盗取されても,パターンが知られない限り提案方式に不正アクセスを行うことはできない が,紛失を認知しながら同じユーザ証明書を使い続けることはセキュリティポリシー上望ま しくない.よって,ユーザが任意でユーザ証明書の失効及び再発行を行える仕組みが必要で ある. 現状,パターン認証による認証が使用可能であるが,パターン認証のみで再発行手続きを 行うと,画面キャプチャにより攻撃者が容易に再発行処理が行えるため安全とはいえない. よって,事前に秘密の質問やメールアドレスなどを用いて安全に再発行・配布できる仕組み について検討を行う必要がある.謝辞
本研究の遂行及び論文の執筆にあたり,多くの御指導を頂きました高知工科大学情報学群 清水明宏教授に御礼申し上げます.また,副査を担当して頂いた高知工科大学情報学群 吉 田 真一准教授,植田 和憲講師に御礼申し上げます. 最後に,多くの御助言を頂きました高知工科大学情報学群 セキュリティシステム研究室 関係者各位に感謝申し上げます.参考文献
[1] ICT総研,“2015年度 SNS 利用動向に関する調査,”http://ictr.co.jp/report/ 20150729000088-2.html,2017年2月11日閲覧. [2] 照屋 寛直,中村 航,古本 啓祐,天願 健,田邊 勝義,森井 昌克,“パスワードリス ト攻撃に対するパスワード管理とシステム構築,” 電子情報通信学会技術研究報告, vol.113,pp49-52,2014. [3] 増田 覚,“オンラインバンキング攻防戦でソフトウェアキーボードは無力,”http:// internet.watch.impress.co.jp/cda/event/2008/12/09/21794.html, 2017年2 月20日閲覧.[4] LastPass,“LastPass - Password Manager,”https://www.lastpass.com/,2017
年2月1日閲覧. [5] 情報処理推進機構,“オンライン本人認証方式の実態調査,”https://www.ipa.go. jp/files/000040778.pdf,2017年2月2日閲覧. [6] 松本 勉,岩下 直行,“インターネットを利用した金融サービスの安全性について,”金 融研究 第21巻別冊第1号,2002. [7] 多田 充,“パスワード認証の強化策,”学術情報処理研究,vol.19,pp40-49,2015. [8] 石黒司,福島和英,清本晋作,三宅優,“モバイル端末のロック解除向けパターン認証 の安全性評価,”電子情報通信学会技術研究報告,Vol.112,pp.273-278,2012.