Comments
Description
Transcript
スマートデバイスによるパスワード 管理システム
平成 26 年度 学士学位論文 スマートデバイスによるパスワード 管理システム Smart Device Password Management System 1150383 渡邊 真悟 指導教員 清水 明宏 2015 年 2 月 27 日 高知工科大学 情報学群 要旨 スマートデバイスによるパスワード 管理システム 渡邊 真悟 近年,スマートデバイスからの Web サービスの利用が急増している.スマートデバ イスは様々な場所で利用出来る.そのため,紛失の可能性も高い [1].また,ユーザはス マートデバイス内で ID とパスワードを保存するか,ログイン状態を維持する場合が多 い.よって,ID とパスワードを安全に管理できていない.そのため,スマートデバイス におけるパスワード管理システムが提案されている.主にスマートデバイス内に暗号化 して保存する方式,SSL を用いてサーバに保存する方式がある.本研究では,既存シス テムの問題点を挙げ,それらを解決するパスワード管理システムを提案する. キーワード スマートデバイス,パスワード管理システム,Web サービス,ワンタイム パスワード,SAS-2 –i– Abstract Smart Device Password Management System In recent years, the use of Web services from smart devices is increasing rapidly. Smart devices are used in various places. Therefore, the smart device also likely lost. Also, the users save locally the ID and password or in many cases maintain the login state. Therefore, it is not possible to safely manage the ID and password. Therefore, the password management system for smart device has been proposed. Mainly there are ways to encrypt and save locally or to be stored on the server using SSL. In this study, cited problems of existing systems, and propose a password management system for solving them. key words smartphone,Password Management System,Web service,one-time password,SAS-2 – ii – 目次 第1章 はじめに 1 1.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 本論文の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 パスワード管理システム 4 2.1 既存のパスワード管理システム . . . . . . . . . . . . . . . . . . . . . . 4 2.2 既存システムで使用される技術 . . . . . . . . . . . . . . . . . . . . . . 4 2.2.1 暗号化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.2 SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 既存システムの問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 認証方式 8 3.1 固定パスワード認証方式 . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 ワンタイムパスワード認証方式 . . . . . . . . . . . . . . . . . . . . . . 9 第2章 2.3 第3章 第4章 SAS-2 認証方式 12 4.1 定義と記法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2 SAS-2 プロトコル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.1 登録フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.2 認証フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 SAS-2 プロトコル安全性 . . . . . . . . . . . . . . . . . . . . . . . . . . 15 スマートデバイスによるパスワード管理システム 17 5.1 システムの構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.2 定義と記法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.3 第5章 – iii – 目次 5.3 初期登録フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.4 登録フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.5 閲覧フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.6 評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.6.1 安全性の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.6.2 実装実験による評価 . . . . . . . . . . . . . . . . . . . . . . . . . 23 第6章 まとめ 25 謝辞 26 参考文献 27 – iv – 図目次 1.1 Web サービス利用者数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Web サービス利用形態の変化 . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1 SSL 動作手順 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1 登録フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2 認証フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1 初期登録フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.2 登録フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.3 閲覧フェーズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 –v– 表目次 5.1 実装環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 実装環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 – vi – 第1章 はじめに 1.1 背景 インターネットが普及している現代において,Web サービスはインターネット利用者 にとって欠かせないものとなっている.Web サービスは年々増加しており,それに伴い Web サービスの利用人口も図 1.1 で示すように増加している [2].また,近年のスマート デバイスの普及により,図 1.2 で示すようにスマートデバイスからの Web サービス利用 者数が増加している.Web サービスの利用には,Web サービスに認証情報を登録しアカ ウントを作成する必要がある.Web サービスの多くが,ID,パスワード認証を用いてい る.そのため,個人が複数の Web サービスを利用する場合,各 Web サービスに ID とパ スワードを作成する必要があり,結果,個人が複数の ID とパスワードを管理する事と なる. 図 1.1 Web サービス利用者数 –1– 1.1 背景 図 1.2 Web サービス利用形態の変化 ユーザが作成するパスワードは,次の項目を満たす必要がある.1 つ目は,総当たり攻 撃,辞書攻撃で破られ難いとされる 16 文字以上かつランダムな文字列に設定する事,2 つ目は,各 Web サービスで異なるパスワードを作成する事である.ユーザは,これを安 全に管理しなければならない.しかし,多くのユーザは,複雑なパスワードを複数記憶 しておく事は困難である.そのため,破られやすいパスワードの設定,同一のパスワー ドの使い回しを行っている.また,スマートデバイスは携帯端末のため,様々な場所で 使用される.そのため,ID とパスワードを平文でローカルに保存している場合や,メモ 帳等に記入し持ち歩いている場合,また,ログイン状態を維持してる場合がある.これ らの事から,ユーザは,ID とパスワードを安全に管理が出来ているとは言えない [3]. 現在,安全なパスワード管理を行うため,パスワード管理システムが提案されている. しかし,多くのパスワード管理システムは PC 端末に対してのみ提供されており,スマー トデバイスに対応出来ていないものが多い.近年,スマートデバイスからの Web サービ ス利用率の急増やスマートデバイス本体の紛失の可能性も高く,紛失による情報流出や 情報消失の増加からもスマートデバイスによるパスワード管理システムが必要であると 言える. 既存のシステムは主に,スマートデバイス内部に ID とパスワードを暗号化し保存する 方式,SSL(Secure Sokets Layer) を用いてサーバに保存する方式がある.前者では,紛 –2– 1.2 本論文の概要 失の際にデータの消失,漏洩の可能性がある.後者では,SSL 通信に用いる電子証明書 の導入及び運営にコストがかかってしまう. 本研究では,スマートデバイスによるパスワード管理において,紛失時のリスクを減 らし,電子証明書を用いないパスワード管理システムの提案及び実装を行う. 1.2 本論文の概要 第 2 章では,スマートデバイスによる既存のパスワード管理システムについて述べる. また,既存システムで用いられている技術の概要を説明する. 第 3 章では,認証の方式について述べる. 第 4 章では,ワンタイムパスワード認証方式 SAS-2(Simple And Secure password authentication protocol, Ver.2)[4] について述べる.プロトコルの詳細,安全性について 述べる. 第 5 章では,スマートデバイスによるパスワード管理システムについて述べる.提案 システムの詳細や評価について述べる. 最後に本研究の成果をまとめ,今後の課題を述べる. –3– 第2章 パスワード管理システム 2.1 既存のパスワード管理システム スマートデバイスによる既存システムとして主に,スマートデバイス内部のストレー ジに暗号化して保存する方式,SSL を用いてサーバに保存する方式がある. スマートデバイス内部のストレージに保存する方式は,保存したい情報をユーザのみ が知り得るパスワードを鍵として暗号化し保存する方式である.この方式は紛失時に悪 意のある第三者に内部ストレージを覗かれた場合でも,暗号化を行っているため,鍵で あるパスワードを知られない限り情報を知られる事はない. SSL を用いてサーバに保存する方式は,ユーザ,サーバ間の通信に SSL を使い,安全 にサーバに ID,パスワード等の情報を送信し,保存する方式である.保存場所をサーバ にする事で,スマートデバイス紛失時にデータを全て失うリスクは無くなる. 2.2 既存システムで使用される技術 既存システムで使われている技術である暗号化方式,SSL について以下で概要を説明 する. 2.2.1 暗号化 暗号化の方式は,公開鍵暗号方式,共通鍵暗号方式に分類される. 公開鍵暗号方式は代表的なものとして Diffie-Hellman[5],RSA[6] があり,暗号化,復 –4– 2.2 既存システムで使用される技術 号において対になる 2 つの鍵を用いる方式である.この方式は,認証局が発行する証明 書を使用し,利用者の正当性を示す必要がある.そのため,安全性は認証局に依存する 事となる.また,この方式は共通鍵暗号方式に比べ,格段に処理負荷が大きい.そのた め,大容量データを高速に暗号化するには適していない. 共通鍵暗号方式は代表的なものとして DES[7],AES[8],FEAL[9] 等がある.この方式 は暗号化,復号において共通の鍵を用いる方式である.この方式は,公開鍵暗号方式に 比べ,高速に暗号化,復号が出来るため,高速に暗号化を行う必要がある場合に適して いる. スマートデバイスは処理能力があまり高くないため,スマートデバイスを用いたパス ワード管理システムでは,主に共通鍵暗号方式が用いられている. 2.2.2 SSL SSL は TCP/IP ネットワークでデータを暗号化し送受信するプロトコルである.公開 鍵暗号方式,共通鍵暗号方式の両方を用いる事で,盗聴やなりすましを防ぐ事が出来る. また,一方向性関数を用いる事で改ざんを検出する事が可能である.公開鍵暗号方式は 前述した通り,認証局が発行する証明書を必要とする.そのため,SSL を使用するには 導入や運営に非常にコストがかかる事になる.SSL の公開鍵暗号方式使用時の手順を図 2.1 で示し以下で説明を行う. 1. サーバが秘密鍵,公開鍵を生成する. 2. 公開鍵,各種証明書を認証局に送信する. 3. 認証局で審査を行い,認証局の秘密鍵で暗号化した証明書を発行し,サーバに送信 する. 4. クライアントは認証局の証明書をインストールする. 5. サーバに対しクライアントが接続要求を行った際にサーバの証明書をクライアント に送信する. –5– 2.3 既存システムの問題点 図 2.1 SSL 動作手順 6. クライアントは受信した証明書を認証局の公開鍵で復号し,正規のサーバであるか を検証する. 7. クライアントが共通鍵を生成し,復号したサーバの公開鍵で暗号化を行い,サーバ に送信する. 8. サーバは受信した共通鍵をサーバの秘密鍵で復号する.この共通鍵を用いて暗号通 信を行う. 2.3 既存システムの問題点 既存システムの問題点として,以下の 2 つが挙げられる. スマートデバイス内部に暗号化して保存する方式 スマートデバイス内部に暗号化して保存する方式では,保存場所がスマートデバイ –6– 2.3 既存システムの問題点 ス内であるため,紛失した場合,全ての情報が失われる事になる.第 1 章で述べた ように,スマートデバイスは紛失する可能性が高いため,スマートデバイス内部で パスワードを保存する方式は情報消失のリスクが高い. SSL を使用する方式 SSL を用いた方式では電子証明書を使用するため,導入や運用に非常にコストがか かる.また,端末からサーバを認証する事は可能だが,相互に認証を行う事ができ ない. –7– 第3章 認証方式 あるパスワード管理システムに登録されたユーザがシステムを利用する際に,システ ムは利用しようとしているユーザが登録されている正当なユーザであるかどうかを判断 する必要がある.システムがユーザを判断する手段として様々な方式の認証がある.一 般的な方式として,ユーザ固有の識別子とパスワードをシステムに保存する.ユーザが システムを使用する際に,システムが保存している識別子とパスワードを比較し,一致 した際に正当なユーザであると判断する方式が用いられている.ユーザとシステムのみ が知りうる識別子とパスワードは,第三者に知られる事があってはならない.そのため, 一方向性関数や暗号化処理を用いて識別子とパスワードを秘匿し,秘匿後の情報をお互 いに保持し合う認証方式が有効である. ここで述べる一方向性関数とは,ある値 x を一方向性関数 H に入力すると全く異なっ た値である y = H(x) を出力する関数である.出力された値 y から入力された値 x を 算出する事は計算量的に非常に困難である.異なる入力 x′ を一方向性関数に与え,出 力 y と同じ値になる確立は極めて低く,入力される値の長さが異なっても出力される値 の長さは常に一定となる性質を持つ.一方向性関数のアルゴリズムとして,MD5[10], SHA-1[11],RIPEMD-160[12] などが提案されている. 使用するユーザが事前に登録されている正当なユーザかを判断する必要があるため, 上記で述べた認証方式が用いられる事が多い.一方向性関数を用いた認証方式として, 固定パスワード認証方式とワンタイムパスワード認証方式がある.以下,その各方式に ついて説明する. –8– 3.1 固定パスワード認証方式 3.1 固定パスワード認証方式 一方向性関数を用いる固定パスワード認証方式は,ユーザは認証に使用するパスワー ドを入力し,一方向性関数に適用する.これにより得られた出力値とユーザの識別子を, サーバに送信する.サーバはユーザから受信したユーザの識別子に対応づけられたパス ワードをデータベースから取得する.取得したパスワードを一方向性関数に適用し,そ の出力値とユーザから受信した値とを比較する.一致した場合にのみ認証が成立し,シ ステムが利用可能となる.一致しない場合,認証が不成立となり,システムを利用出来 ない. パスワードを一方向性関数に適用した際の出力値は常に一定である事から,悪意のあ る第三者は,通信経路上で盗聴などの行為により,ユーザ,サーバ間でしかしりえない 情報である出力値などを容易に取得出来る.これにより,固定パスワード認証方式にお いて,悪意のある第三者はユーザが入力したパスワードを知る事なく,通信経路上の秘 匿された認証情報を取得する事が可能であり,この情報を再利用し,不正に認証を行う なりすまし行為が可能となる. 3.2 ワンタイムパスワード認証方式 固定パスワード認証方式における盗聴によるなりすまし行為を防ぐためには,通信路 上を流れるパスワード等の認証情報を盗聴されないようにする,または,盗聴された場 合でも再利用されないようにする必要がある.盗聴を防ぐ手段として専用回線の設置が ある.しかし,コストがかかるため小規模な施設では可能であるが,大規模な施設では 困難であると考えられる.専用回線を設置する事無く,ユーザ認証を安全かつ容易に行 える認証方式の 1 つとして,ワンタイムパスワード認証方式がある. ワンタイムパスワード認証方式は認証に使い捨てのパスワードを使用する事で認証の 際に使用するパスワードを毎回変更する方式である.使い捨てのパスワードを使用す るため,通信経路上を流れるパスワードを盗聴された場合でも,次回認証では別のパス –9– 3.2 ワンタイムパスワード認証方式 ワードを使用するため,再利用する事は出来ず,なりすまし行為を防ぐ事が可能となる. このワンタイムパスワードを用いた方式として,ローリングコード方式 [13],チャレン ジレスポンス方式 [14],SAS-2 が挙げられる.以下で各方式について説明する. ローリングコード方式 ローリングコード方式では,ワンタイムパスワードとして M 系列乱数を用いてお り,ユーザ識別子を送信せず,受信したワンタイムパスワードがサーバに保存され ているかを比較して認証を行う.次回認証時にユーザ,サーバが生成するワンタイ ムパスワードは同系列の乱数を用いているため,同じワンタイムパスワードが生成 される.この方式は,識別子を用いずにワンタイムパスワードの比較のみを行うた め,複数ユーザが生成するワンタイムパスワードが同一だった場合,サーバは判別 する事が出来ない.これより,ローリングコード方式を適用したパスワード管理シ ステムでは,複数ユーザの利用が困難となる. チャレンジレスポンス方式 システムに対し,複数のユーザが利用する環境に対応したワンタイムパスワード認 証方式として,チャレンジレスポンス方式がある.この方式は,ユーザがサーバに 認証の要求を行い,サーバが乱数を生成し,ユーザに送信する.この乱数をチャレ ンジとし,ユーザはパスワードと送られてきたチャレンジを合わせ,一方向性関数 に適用する.この結果をレスポンスとし,ワンタイムパスワードとしてサーバに送 信する.サーバは,保存されているパスワードと乱数を合わせ一方向性関数に適用 し,その結果とレスポンスを比較し,認証を行う.この方式において,悪意のある 第三者がユーザ,サーバ間の通信路上の情報を盗聴し,蓄積した場合,なりすまし 行為が可能となる.サーバに対し蓄積したチャレンジと同じチャレンジをサーバが 発生するまで問い合わせを行い,同じチャレンジを得られた場合に,対応するレス ポンスを送信する事でなりすまし行為が可能となる. – 10 – 3.2 ワンタイムパスワード認証方式 SAS-2 SAS-2 は上記のローリングコード方式やチャレンジレスポンス方式におけるなりす ましの危険性において高い安全性を持つワンタイムパスワード方式である.また, 認証時のユーザ,サーバ間の通信の回数が 2 回であり,最低でも 3 回の通信を必要 とするチャレンジレスポンス方式より少ない通信で認証が行える.更に, 一方向性 関数や排他的論理和演算の適用回数が少ないため,スマートデバイスで用いる認証 方式として適していると考えられる.第 4 章に SAS-2 認証方式の詳細を述べる. – 11 – 第4章 SAS-2 認証方式 ワンタイムパスワード認証方式 SAS-2 は,中間者攻撃や反射攻撃などによるなりすま しの危険性に対し,高い安全性を持つ.前述通り,認証時に必要とする通信セッション 回数が 2 回と少なく,排他的論理和演算,一方向性関数の適応回数が少ないため,高速 認証が可能である.公開鍵暗号方式で用いられる証明書を必要としないため,低コスト での運用が可能である.以下で,SAS-2 認証方式について述べる. 4.1 定義と記法 • User は,認証されるユーザである. • Server は,User を認証する認証者である. • ID は,ユーザの識別子を示す. • S は,ユーザのパスワードを示す. • X ,F ,H は,一方向性関数を示す.例として H(x) は x を一方向性関数に適用して 得た出力値を示す.またこの一方向性関数は出力ビット数が常に一定とする. • E は,暗号化を示す.例として E(x, k) は x を k で暗号化した出力値を示す. • D は,復号を示す.例として D(x, k) は x を k で復号した出力値を示す. • i は,認証セッション毎に加算される数値である. • Ni は,i 回めの認証時に生成される乱数を示す. • + は,加算演算子を示す. • ⊕ は,排他的論理和演算子を示す. – 12 – 4.2 SAS-2 プロトコル 図 4.1 登録フェーズ 4.2 SAS-2 プロトコル SAS-2 プロトコルは登録フェーズと認証フェーズから構成されている.登録フェーズ は一度だけ実行され,認証フェーズはユーザがログインする度に毎回実行される.以下 で,各フェーズの説明を順に行う. 4.2.1 登録フェーズ SAS-2 プロトコルにおける登録フェーズでは,ユーザは初期情報を生成し,安全ルー トでサーバへ送信する.図 4.1 に,SAS-2 登録フェーズを示す. 1. ユーザは,自身の識別子 ID,パスワード S を入力する.それと同時に乱数 N1 を生成 し,保存する.そして,入力された ID,S ,生成された N1 を用い,A = X(ID, S⊕N1 ) を算出する. 2. ユーザは,ID,A を安全なルートを用いてサーバへ送信する. 3. サーバは,受け取った ID,A を保存する. – 13 – 4.2 SAS-2 プロトコル 図 4.2 認証フェーズ 4.2.2 認証フェーズ SAS-2 プロトコルにおける認証フェーズでは,ユーザとサーバでの相互認証を行う. まず,ユーザが生成した認証情報の正当性をサーバが検証し,ユーザを認証する.次に, サーバが生成した認証情報の正当性をユーザが検証し,サーバを認証する事で,相互認 証が可能となる.図 4.2 に i 回目の認証における SAS-2 認証フェーズを示す. 1. ユーザは自身の識別子 ID,パスワード S を入力する.そして,入力されたデー タと保存された乱数 Ni を用い,A = X(ID, S ⊕ Ni ) を算出する.次に,ユー ザは乱数 Ni+1 を生成し,保存する.さらに,ユーザは C = X(ID, S ⊕ Ni+1 ), – 14 – 4.3 SAS-2 プロトコル安全性 F (C) = F (ID, C) をそれぞれ求め,算出された C ,F (C) と,先に生成した乱数 Ni+1 を用い,α = C ⊕ (F (C) + A),β = F (C) ⊕ A をそれぞれ求める. 2. ユーザは,ID,α,β をサーバへ送信する.この時使用するネットワークは,イン ターネット等の安全でない共通ネットワークを用いてもよい. 3. サーバは受信した β と保存された A を用い,F (C) = β ⊕ A を算出する.さらに, サーバは C = α ⊕ (F (C) + A) を算出する.先に算出された F (C) と F (ID, C) を比 較し,不一致ならば認証は不成立となる.一致すれば認証が成立し,以下の処理が 実行される. 4. サーバは,保存された A の代わりとして C を保存し,次回認証に備える.さらに, γ = H(ID, F (C)) を算出する. 5. サーバは,γ をインターネット等を通してユーザへ送信する. 6. ユーザは,H(ID, F (C)) を算出し,受信した γ と比較する.もし一致すれば,サー バはユーザに認証される.不一致ならば,認証は不成立となる. 4.3 SAS-2 プロトコル安全性 ワンタイムパスワード認証方式は,認証時に毎回異なった認証情報を送信する.これ により,悪意のある第三者が通信経路上の認証情報を盗聴し,この情報を再利用する事 でなりすまし行為を行おうとした場合でもそれを防ぐ事が出来る.しかし,盗聴した認 証情報を元に認証を成立させるための情報を生成する事が可能な場合,なりすまし行為 の危険性がある. SAS-2 プロトコルの登録フェーズにおいて,認証情報をやり取りするルートは安全な 回線を利用するため,登録フェーズは安全と言える.よって,SAS-2 プロトコルの安全 性を評価する場合,認証フェーズの安全性を示す事が必要である. 正当なユーザが SAS-2 による (i + 1) 回目の認証を行う際に,ユーザが送信する認証情 報を以下に示す. – 15 – 4.3 SAS-2 プロトコル安全性 α ← E ⊕ (F (E) + C) β ← F (E) ⊕ C ID この時,悪意のある第三者がなりすまし攻撃を実行する場合, α ′ ← x ⊕ (F (x) + C) β ′ ← F (x) ⊕ C ID を送信しなければならない.悪意のある第三者が i 回目以前での認証情報を全て取得 出来た場合でも,これらの認証情報を生成する事は不可能である.以上の事から,SAS-2 プロトコル認証は安全であると言え,パスワード管理システムへ適応する事が可能であ ると考えられる. – 16 – 第5章 スマートデバイスによるパスワー ド管理システム 第 4 章までに,既存システムでの問題点,ワンタイムパスワード認証方式 SAS-2 の安 全性及びパスワード管理システムへ適応可能である事を述べた.本章では,既存システ ムでの問題点である,端末紛失時の情報消失のリスクをなくすため,ストレージを端末 内部ではなくサーバとする.また,電子証明書を用いずに安全に通信を行うために,ス マートデバイスとサーバの相互認証に SAS-2 を用いる.以上の技術を用いたパスワード 管理システムの提案を行い,詳細について述べる.そして,評価より考察を行う. 5.1 システムの構成 提案システムは,ワンタイムパスワード認証方式 SAS-2 を用いる事で,公開鍵暗号方 式を用いずにサーバと安全に通信を行うパスワード管理システムである.このシステム は,ユーザをサーバに登録する初期登録フェーズ,ユーザがシステムを利用し,情報を 登録する登録フェーズ,ユーザが登録した情報を閲覧する閲覧フェーズから構成される. 5.2 定義と記法 本章で用いる定義と記法は以下の通りである. • User は,認証されるユーザである. – 17 – 5.3 初期登録フェーズ • Server は,User を認証する認証者であり,ユーザの登録する情報を管理する. • 端末は,スマートデバイスを指す. • IDM は,ユーザの識別子を示す. • P assM は,ユーザのマスターパスワードを示す. • 登録情報,Service,ID,Pass は,ユーザがシステムを用いてサーバに保存する情報 を示す. • X ,F ,H は,一方向性関数を示す.例として H(x) は x を一方向性関数に適用して 得た出力値を示す.またこの一方向性関数は出力ビット数が常に一定とする. • i は,認証セッション毎に加算される数値である. • Ni は,i 回めの認証時に生成される乱数を示す. • + は,加算演算子を示す. • ⊕ は,排他的論理和演算子を示す. 5.3 初期登録フェーズ ユーザがシステムを利用するにあたり,ユーザはサーバに認証情報を登録する必要が ある.初期登録フェーズの流れを図 5.1 に示し,以下で説明する. 1. ユーザは,自身の識別子 IDM ,パスワード P assM を入力する.それと同時に乱数 N1 を生成し,保存する.そして,入力された IDM ,P assM ,生成された N1 を用 い,A = X(IDM , P assM ⊕ N1 ) を算出する. 2. ユーザは,IDM ,P assM を安全なルートを用いてサーバへ送信する. 3. サーバは,受け取った IDM ,A を保存する. 5.4 登録フェーズ システム利用時に,正規のユーザであるかを判断するために,相互認証を行い,認証完 了後,ユーザ情報の登録を行う.登録フェーズの流れを図 5.2 に示し,以下で説明する. – 18 – 5.4 登録フェーズ 図 5.1 初期登録フェーズ 1. ユーザは自身の識別子 IDM ,パスワード P assM を入力する.そして,入力された データと保存された乱数 Ni を用い,A = X(IDM , P assM ⊕ Ni ) を算出する.次に, ユーザは乱数 Ni+1 を生成し,保存する.さらに,ユーザは C = X(IDM , P assM ⊕ Ni+1 ),F (C) = F (IDM , C) をそれぞれ求め,算出された C ,F (C) と,先に生成し た乱数 Ni+1 を用い,α = C ⊕ (F (C) + A),β = F (C) ⊕ A をそれぞれ求める. 2. ユーザは,IDM ,α,β をサーバへ送信する. 3. サーバは受信した β と保存された A を用い,F (C) = β ⊕ A を算出する.さらに, サーバは C = α ⊕ (F (C) + A) を算出する.先に算出された F (C) と F (IDM , C) を 比較し,不一致ならば認証は不成立となる.一致すれば認証が成立し,以下の処理 が実行される. 4. サーバは,保存された A の代わりとして C を保存し,次回認証に備える.さらに, γ = H(IDM , F (C)) を算出する. 5. サーバは,γ をインターネット等を通してユーザへ送信する. 6. ユーザは,H(IDM , F (C)) を算出し,受信した γ と比較する.不一致ならば,認証 は不成立となる.一致した場合は以下の処理が実行される. – 19 – 5.4 登録フェーズ 図 5.2 登録フェーズ – 20 – 5.5 閲覧フェーズ 図 5.3 閲覧フェーズ 7. ユーザは登録情報である Service,ID,Pass を入力する. 8. 端末内部で ID,Pass に対し P assM を鍵として暗号化を行う. 9. C = X(IDM , P assM ⊕ Ni+1 ) を算出し,それを鍵として Service,ID,Pass を暗号 化し,サーバに送信する. 10. サーバは受信した登録情報を保存されている C を用いて復号し,保存する. 5.5 閲覧フェーズ システム利用時に,登録フェーズと同様に相互認証を行い,認証完了後,登録情報の閲 覧を行う.閲覧フェーズの流れを図 5.3 に示し,以下で説明する.ただし,登録フェー ズの 6 の処理まで同様に行われるため,省略する. 1. ユーザはサーバから登録情報の識別子となる Service を取得する. 2. ユーザは取得した Service の中から閲覧したい情報の Service を選択し,サーバに送 – 21 – 5.6 評価 信する. 3. サーバは受信した Service を持つ登録情報に対し,保存している C で暗号化を行い, 送信する. 4. ユーザは C = X(IDM , P assM ⊕ Ni+1 ) を算出し,受信した登録情報の鍵として用 いて登録情報を復号し,更に,P assM で復号を行う事で登録情報を取り出し,表示 する. 5.6 評価 パスワード管理システムの評価項目として,システムの安全性,スマートデバイスへ のシステム導入時の認証及びデータ取得時間の早さが挙げられる.これらの項目に対す る提案システムの評価を,それぞれ安全性の評価,実装実験による評価とし,以下に方 法,結果,考察を述べる. 5.6.1 安全性の評価 提案システムにおける初期登録フェーズは,安全な経路での通信のみを使用するため, 盗聴の恐れは無く,安全であると言える.したがって,提案システムの安全な経路以外 を通信路に含む認証部分の安全性を示す事で評価する事が出来る. 登録,閲覧フェーズで行われる認証部分について評価する.正当なユーザが i + 1 回目 の認証を行う際に,ユーザが送信する認証情報は以下の通りである. α ← E ⊕ (F (E) + C) β ← F (E) ⊕ C IDM この時,悪意のある第三者がなりすまし攻撃を実行する場合, – 22 – 5.6 評価 α ′ ← x ⊕ (F (x) + C) β ′ ← F (x) ⊕ C IDM を送信しなければならない.悪意のある第三者が i 回目以前での認証情報を全て取得 出来た場合でも,これらの認証情報を生成する事は不可能である.この事から認証部を 含む登録,閲覧フェーズは安全であると言える. 以上の評価より,提案システムの各フェーズの安全性を示す事が出来た.よって,提 案システムは公開鍵暗号方式を使用せずにサーバと安全に通信を行えると言える.また, サーバとの安全な通信が可能な事からサーバに登録情報を安全に保存する事が出来るた め,端末内部に保存する事によるリスクを軽減する事が出来ると言える. 5.6.2 実装実験による評価 提案システムにおいて,認証要求を受けてから認証が終了するまでの時間,また,登 録情報の要求を受けてから表示するまでの時間を測定し,評価する.実装環境を表 5.1 に示す. 表 5.1 実装環境 役割 ユーザ サーバ ハードウェア 性能 ASUS Nexus7 NVIDIA Tegra 3 モバイルプロセッサ 1.3GHz ASUS Nexus7(2013) Qualcomm Snapdragon S4 Pro APQ8064 1.5GHz Mac OS X Intel Core i7 3GHz 実験において認証に要した時間及び登録情報表示に要した時間は,計測回数をそれぞ れ 20 回とし,平均時間を計測したものである.結果を表 5.2 に示す. 実験環境においては認証及び登録情報表示に要する平均時間は 1 秒にも満たなかった. この事から,提案システムは,高速な認証,データ閲覧が可能であると言える. – 23 – 5.6 評価 表 5.2 実装環境 ハードウェア 相互認証 情報表示 ASUS Nexus7 250ms 220ms ASUS Nexus7(2013) 241ms 196ms – 24 – 第6章 まとめ 本研究では,データの保存場所をローカルのストレージからサーバに移した事でス マートデバイス紛失時のリスクを軽減し,ワンタイムパスワード認証方式 SAS-2 を用い る事で,公開鍵暗号方式で用いる電子証明書にかかる導入及び運営コストを削減したパ スワード管理システムを提案した. 今後の課題として,他端末,複数端末からの利用への対応,他のアプリとの連携が挙 げられる.しかし,初期登録フェーズにおいて,スマートデバイスとサーバ間の安全な 経路を確保する方法の検討が最も大きな課題であると言える. – 25 – 謝辞 本研究の遂行及び論文作成にあたり,言葉では言い表せないほどの御指導,御助言を 賜った高知工科大学情報学群 清水明宏教授に心より感謝し厚く御礼申し上げます. 本研究の副査を担当していただいた高知工科大学情報学群 濵村昌則教授,植田和憲講 師に深く御礼申し上げます.また,本研究において,適切な御助言と御指導をいただき ました清水研究室 武政里枝氏に深く御礼申し上げます.最後に,提案システム実装にご 協力いただきました清水研究室の関係者各位に心より感謝いたします. – 26 – 参考文献 [1] McAfee, Ponemon Institute, ”The Lost Smartphone Problem,” http://www.rbbtoday.com/article/2012/07/17/91855.html, 2011. [2] ICT 総研, “2014 年度 SNS 利用動向に関する調査, ” http://www.ictr.co.jp/, 2015 年 1 月 7 日. [3] TREND MICRO, “Web サ イ ト の パ ス ワ ー ド 利 用 実 態 調 査, ” http://www.trendmicro.co.jp/, 2014 年 12 月 15 日. [4] T. Tsuji, A.Shimizu, “A one-time password authentication method for low spec machines and on internet protocols,” IEICE Trans.Commun., vol.E87-B, no.6, pp.1594-1600, 2004. [5] M. Bellare and P. Rogaway, “Optimal Asymmetric Encryption,” EUROCRYPTO’94, LNCS 950, pp. 92-111, Springer-Verlag, 1995. [6] R. Rivest, A. Shamir, and L. Adleman,“A method for obtaining digital sig- natures and public-key cryptosystems,” Commun. of the ACM, Vol. 21, No.2, pp. 120-126, February 1978. [7] U.S. Dept. of Commerce, “FIPS PUB 46-3, Data Encryption Standard (DES),” October 1999. [8] NIST, “FIPS PUB 197 Advanced Encryption Standard (AES),” November 2001. [9] 清水明宏, 宮口庄司, “高速データ暗号アルゴリズム FEAL,” 電子情報通信学会論 文誌, Vol.J70-D, No. 7, pp.1413-1423, 1987. [10] R. Rivest, “The MD5 message-digest algorithm,” Internet Request For Comments 1321, April 1992. [11] National Institute of Standards and Technology, “Secure hash standard,” FIPS Publication 180-1, April 1995. – 27 – 参考文献 [12] W. Stallings, “Secure hash algorithm,” in Cryptography and Network Security: Principles and Practice Second Edition, pp.193-197, Prentice-Hall, 1999. [13] 株式会社東海理化電機制作所, 水野善之, “車両用負荷の遠隔操作装置,” 特開平 8-246733, 1996-9-24. [14] 株式会社ユーシン, 吉岡宏, “遠隔操作装置,” 特開平 7-274258, 1995-10-20. – 28 –