神奈川大学理学部情報科学科 2013 年度学士論文要旨 指導教員:松尾和人 SSL 暗号強度に関するブラウザアドオンの実装 2010 1 間宮孝平 はじめに 高度情報社会に伴い,情報は価値が膨れ上がり「ヒト」 「モノ」「カネ」に次ぐ第四の資産となっている. 情報 高強度暗号 AES-128,256, Camellia-128,256 低強度暗号 RC4, Triple-DES, SEED 表 1: FireFox 利用共通鍵暗号の強度分け の活用により人々の生活は便利になり豊かさを増したが, その反面我々の資産に対する脅威も増えている.情報は その性質上, 複製, 拡散しやすいため, 流出した情報が一 アドオンの目的は SSL 接続の安全性をより高める事, 瞬で世界に広がる危険性を持つ.そのため情報は「ヒト」 「モノ」「カネ」以上に厳重なセキュリティが必要と言っ 機能の目的 2 つまり問題と考える “危殆化した暗号の無効化”,“サイ ても過言ではない. ファースイート選択権の獲得”,さらに SSL 接続状態を 情報セキュリティと一概に言っても様々な手法があるが, 分かりやすくするために “SSL 接続状況の視覚化” の3 本研究ではアプリケーションとしてのブラウザのセキュ つを実現することである.これらの目的を果たすために リティ対策を検討する. 以下のような機能を作成する. ブラウザの暗号化通信は SSL/TLS(以後 SSL に統一)と 1. SSL 接続情報の表示 いうセキュリティプロトコルにより保護されており,こ 2. 高強度暗号設定 3. 段階的暗号設定 4. 任意暗号設定 の SSL は複数のセキュリティ技術を併用しているため高 い安全性を有していると言われている.しかし SSL が有 には,解読方法が見つかり危殆化した暗号を含まれるた SSL 接続情報の表示はツールバー等に接続状況を表示さ せることで,ユーザが簡単にセキュリティ状況を把握し め,実際には必ずしも安全だと言えない.ネットワーク 易くする事が目的である.高強度暗号設定は低強度暗号 の中には古く危殆化した Web ページや,通信速度に重 を無効化することで,危殆化した暗号の利用を拒否する 点を置き敢えて危殆化したサイファースイートを利用す が目的である.段階的暗号設定は高強度暗号を優先する る Web ページも存在する.これに対しサイファースイー ことで,サイファースイート選択で安全面に有利な影響 トの選択はサーバ側に優先権があるため,クライアント を与える事が目的である.任意暗号設定は上記の設定で にはどうしようもないのが現状である.これは SSL 接続 対処できない問題や,詳細なニーズに応じるための設定 の問題点といえる.そこで本研究では FireFox を対象と である.これらの目的に近い機能を持ったアドオンとし してこの問題点を解消し,より安全な SSL 接続を行う方 て Calomel SSL Validation[2] がある.本研究ではこの 法を検討する. アドオンを参考にして実装を行なった. するサイファースイート(暗号方式の組み合わせ)の中 FireFox において,危殆化した暗号の拒否は高度な設定 の about:config より行える.サイファースイート選択権 についても暗号設定の組み合わせや切替のタイミングを 機能の実装 3 前節の機能を実現し,実装したものを説明する. 工夫することで,クライアント側の希望を疑似的に反映 SSL 接続情報の表示 させることも可能である.しかし多くのユーザはこの設 3.1 定について存在すら知らないと思われる.また容易に設 性もある.そこでこの about:config による SSL 設定を簡 SSL 接続情報の表示は,ツールバーに表示されるボタ ンをクリックすることで利用暗号状態をポップアップに 表示する機能である.またボタンを CRYPTREC 電子政 単かつ安全に行うアドオンを開発する. 府推奨暗号に対応させ,低強度の場合にボタンの画像を 暗号強度の基準は日本で最も信頼性の高い CRYPTREC 変更させることでユーザに視覚的な警戒を促す. 定を変更するとブラウザに悪影響を及ぼしてしまう可能 電子政府推奨暗号 [1] に準拠させ,FireFox で利用可能な 共通鍵暗号を表 1 のように分類した.なお,共通鍵暗号 以外の暗号方式はほとんど CRYPTREC の推奨暗号とし て認定されているので評価分類から除外する. 3.2 高強度暗号設定 高強度暗号設定は低強度暗号を無効化し,高強度暗 号のみに制限することで危殆化された暗号を利用した 接続を完全に拒否できる.XPCOM インターフェースの 神奈川大学理学部情報科学科 2013 年度学士論文要旨 指導教員:松尾和人 nsIPrefBranch のメソッドである setBoolPref などを使っ て FireFox のプリファレンスの変更を行い実現している, 3.3 段階的暗号設定 段階的暗号設定はサイファースイートの優先順位を無 視し,高強度暗号を優先させる設定である.これは高強 度暗号と同様に低強度暗号を無効化させ,さらに接続が 失敗した場合に自動的に低強度暗号を有効化して再接続 させることで実現させている.この機能によりサーバの サイファースイート選択に影響を与え,接続速度優先の ための低強度暗号接続を阻止できる.しかしこの設定は 最終的に全ての暗号での接続を許可する問題があり,危 殆化した暗号のブロックができない.そこで後述の任意 暗号設定との組み合わせで危殆化した暗号をブロックす ることが望ましい. 3.4 任意暗号設定 任意暗号設定は利用する暗号を,暗号方式単位で自由 に決めることができる設定である.設定できる暗号方式 は各共通鍵暗号,共通鍵暗号鍵長,公開鍵暗号,デジタ ル署名,ハッシュ関数に対応してる.主に暗号にこだわ りのあるコアユーザ向けの設定だが,高強度暗号の範囲 を狭めた超高強度暗号を設定したり,段階的暗号と組み 合わせたりすることで接続失敗時でも指定した危殆化し た暗号での接続を拒否するなどの使い方もできる. 4 3. 段階的暗号設定の暗号強度切替後の接続の際,一瞬 エラー画面が表示される.また URI スキームに URI が表示されず,SSL 接続状況の表示もされなくなる. 機能のテスト・評価 そこでこれらの問題の原因を調べ,考察を行った. 1に関してはアドオンによる暗号切替に限らず,高度な 設定 about:config からの暗号切替でも起こっていた.ま たクラッシュが発生する接続先には偏りがあり,サーバ 側の問題である可能性も考えられる.しかしそのクラッ シュが原因でプロファイルが使用不能になってしまった こともあるため,エラーが起こらないように一定以上の 利用可能暗号を保持させる設定を組込んだり,注意書き を書くなどの工夫が必要と考える. 2に関しては Calomel SSL Validation の HP に対する SSL 接続で確認できた.このテストに対してのみ 30 回 SSL 接続を行ったが,同サイト以外ではこの現象が確認 できなかった.したがって CalomelSSL Validation が特 殊な設定を行っていると考えられるが,アドオンのサイ ファースイート設定に従わない設定が可能とするもので あり,原因究明すべき現象であると考える. 3に関しては原因不明である.しかしエラー画面が表示 されても接続は行われ,URI・SSL 接続状況が表示され ていなくても実際には SSL 接続が成功している.そのた めセキュリティ上では問題のないエラーである.しかし ユーザには不安だと思われるので,こちらも注意書きな どで対応する必要がある. これらのエラーは修正すべき問題で今後の課題となる. 実装した機能の動作テストを行い,その結果を評価す る.動作の方法は以下のとおりである. 1. 全ての設定と組み合わせで数回 SSL 接続を行う.段 階的暗号設定は失敗時の暗号切替も確認する. 2. 全ての設定と組み合わせで設定切替が正しく行われ ているかをあらゆる切替方法で確認する. なお組み合わせは高強度暗号設定もしくは段階的暗号 5 おわりに 情報を保護するセキュリティ技術の一つに FireFox 等 のブラウザなどで使われる SSL がある.この SSL には 危殆化した暗号を含むにも関わらず,サーバ側に暗号選 択権が優先されている事を問題点としてを指摘した.そ してその問題点を解消するウェブブラウザ FireFox のア ドオンを開発,提案した. 設定と,各種任意暗号設定との組み合わせを指し,切替 本研究では目的とする機能の作成には成功したがまだエ 方法は一括有効化(無効化),順次有効化(無効化),の ラーが残る状況である.このエラーを修正することが今 4通りテストを行う. 後の課題である. 以上に留意してテストを行った結果,大部分は期待通り の動作を確認できたが 3 点期待しない動作が行われてし まった.それは以下の通りである. 1. 利用暗号を少数の低強度暗号のみ SSL 接続を行う と,ブラウザがクラッシュする場合がある 2. 全てのサイファースイートを無効化した状態でも,一 部の Web ページで SSL 接続が行われる場合がある. 参考文献 [1] CRYPTREC 暗号リスト, http://www.cryptrec. go.jp/images/cryptrec_ciphers_list_2013. pdf [2] Calomel SSL Valsation, https://calomel.org/ [3] mozilla developer network, https://developer. mozilla.org
© Copyright 2024 Paperzz