デジタルプラクティス Vol.9 No.3 (July 2018)
SSL/TLS
暗号設定の外部検査手法
━暗号危殆化対策から得られた知見━
奥田 哲矢 知加良 盛 NTTセキュアプラットフォーム研究所 NTTテクノクロス(株) 本稿は,すべてのHTTP通信が暗号化される「常時SSL/TLS化(完全HTTPS化)」の時代に向 けて,安全で継続的なWebサービス提供に必要な,SSL/TLS関連の設定確認のプラクティスを システム管理者に提供することを目指す.まず,設定確認のシステム運用上の課題を整理し,解 決方針を検討し,解決方針を具現化する設定確認ツールの仕様を示す.次に,ツールによる外部 検査の効用を示し,最後に,外部検査の実践で得られた知見を事例を通じて紹介する.1
.はじめに
近年,インターネットにおける攻撃手法の進化に伴い,常時SSL/TLS化(完全HTTPS化)対 応サイトがWebサービス企業を中心に増えている[1].そこで,本稿ではSSL/TLSを安全に設定 および管理するための手法や知見を過去の実施事例を通じて紹介する. NTTグループでは,約10年の暗号危殆化対策推進の過程で,SSL/TLSの暗号設定確認の自動 化ツールを開発している[2].本ツールは,直近5年間で年2,3回,延べ1,000システム以上の検 査実績があり,本稿で述べる知見の礎である.ただし,ツールは本稿の知見の実施例にすぎず, 本稿で説明するSSL/TLS設定の外部検査手法はツールを限定せず利用可能なものである.本稿の 想定読者としては,HTTP, TCP/IP等の通信の仕組みを理解しているが,SSL/TLSの通信の仕組 みは専門でないシステム管理者を想定している. 本稿の構成を以下に述べる.第2章で知見の理解に必要な技術背景を述べる.第3章で課題と解 決方針,解決方針の実施例である外部検査ツールの仕様を述べる.第4章でツールによる外部検 査の効用と外部検査の実践で得られた知見を過去の実施事例を通じて述べる.第5章でまとめを 行う.2
.技術背景
本章では,知見の理解に必要な技術背景として, SSL/TLSに関するプロトコル概要,システ ム運用,ネットワーク(以降NW)構成について述べる. 2.1 SSL/TLSプロトコルの概要と特徴 特集投稿論文 1 2 1 2本節では,SSL/TLSプロトコルの概要を説明する.基本的な通信手順としては,最初に Handshakeプロトコルで通信の事前設定を行い,RecordプロトコルとApplication Dataプロ トコルで暗号化通信を行う.通信の安全性を決めるのはおおむねHandshakeプロトコルで,通 信の相手認証と暗号アルゴリズム・ ・証明書の送受信を行い,暗号化通信のパラメタを決定す る.クライアント/サーバが暗号化通信の設定を相互に交渉する過程は「ネゴシエーション」と 呼ばれる. SSL/TLSプロトコルの通信シーケンスを図1 に示す.また,Handshakeプロトコルで使用さ れるメッセージ一覧を下記に示す.さらに,SSL/TLSプロトコルの通信内容の例を図6,7, 8,10に示す(なお,説明の簡便のため,クライアント証明書は利用しない前提とする). ClientHello クライアントが対応可能なプロトコルバージョン,セッションID,暗号アルゴリズム一 覧を送信する. ServerHello サーバが,クライアントの提示した一覧から,対応可能として選択したプロトコルバー ジョン,セッションID,暗号アルゴリズムを送信する. 図1 SSL/TLSプロトコルの通信シーケンス
Certificate サーバ認証に必要なサーバ証明書を送信する.併せて,ルート認証局を るための中間 証明書を送信する. ServerKeyExchange DH(Diffie Hellman)方式で 交換を行う場合, 交換用のサーバ側公開情報をクラ イアントに送信する(RSA方式の場合,サーバ証明書内のRSA公開 を代わりに使用す るため,本メッセージは不要である) . ServerHelloDone サーバからのメッセージ送信完了を通知する. ClientKeyExchange DH方式で 交換を行う場合, 交換用のクライアント側公開情報をサーバに送信す る.サーバ/クライアントは互いの公開情報を元にDH 生成を行う. RSA方式の場合,クライアントが生成した乱数をサーバのRSA公開 で暗号化してサ ーバに送信する.サーバ/クライアントはこの値から 生成を行う. Finished Handshake プロトコルの完了を通知する.一連のメッセージ全体にHandshakeプロ トコルで決めた設定で暗号化を行い,メッセージ認証コードを付与する. 暗号化通信の代表的なプロトコルとしては,SSL/TLS,IPSec,SSH等があるが,SSL/TLS は設定確認の難易度が相対的に高いといえる.なぜなら,SSL/TLSは,不特定多数のクライアン トとWebサーバの間で使用可能な複数のプロトコルバージョン/暗号アルゴリズムから動的にネ ゴシエーションして設定変更する手順を有し,この動的過程を考慮して設定確認を行う必要があ るためである[3].IPsecは,通信の両終端点を同一のシステム管理者が操作可能なことが多いた め,設定の制御が比較的容易である[4].SSHは,クライアント側でプロトコルバージョン/暗 号アルゴリズムを決定してリクエストするため,システム管理者が各自利用するSSHクライアン トに適切な設定を行えばよく,制御が比較的容易である[5]. ・SSL/TLSは設定確認が難しい 不特定多数のクライアントとWebサーバの間で動的に設定変更を行うため 2.2 SSL/TLSのシステム運用 2.2.1 SSL/TLS設定の多層構成とシステム運用 SSL/TLSを安全に利用するためには,下記3点の設定および確認が必要である. (1)ライブラリバージョン (2)プロトコルバージョン (3)暗号アルゴリズムおよび 長の組合せ まず,システムで利用するライブラリに脆弱性が存在する場合,ライブラリの設定確認やバー ジョン更新作業が必要となる.たとえば,Heartbleed脆弱性が発見された際,OpenSSLライ ブラリのバージョン確認および更新作業が業界全体で進められた[6].また,ライブラリのバー ジョン更新では対処できない脆弱性が存在し,たとえば,SSLv3プロトコル仕様に重大な脆弱性 が発見されて以降,各種サーバの設定変更でSSLv3をサポート対象外とすることが推奨されてい
る[7].さらに,暗号アルゴリズムの強度は計算機能力の向上とともに徐々に低下する問題がある ため,より長期的な視点の対策が必要になり(暗号危殆化[8]),たとえば,暗号アルゴリズム RC4は以前より強度低下が指摘されているため,各種サーバの設定変更でRC4をサポート対象外 とすることが推奨されている[9]. 安全で継続的なサービス提供のためには,ライブラリ/プロトコル/暗号アルゴリズムの3点 セット(図2)の設定および確認作業に対応する必要がある. また,これら設定および確認作業は不定期に必要になることが多く,人や組織にノウハウが定 着しないことが多い.安全で継続的なサービス提供のためには,これら作業に組織として対応す る必要がある. 2.2.2 後方互換性がもたらす煩雑な対策作業 前項の対策作業は,後方互換性(ex.古い端末へのサービス継続)の観点で,古い設定を残さ ざるを得ない場合に,システム管理者を悩ませる.たとえば,社内の情報セキュリティ主管がバ ージョン更新や設定変更を推奨しても,サービス主管が旧端末を使用するユーザへのサービス継 続性の懸念から対策を許容しないことがあり,組織内の調整作業が必要となる.さらに,同じく 後方互換性の観点で,OpenSSL等のライブラリ実装は古いプロトコルやアルゴリズムを残す場 合があり[10],これらの有効/無効化の影響調査と判断が必要となる.組織内の調整作業の低減 とともに,対策作業自体の負荷を低減する設定確認手法が必要である. 2.3 高度化/複雑化したネットワーク構成 SSL/TLSを取り巻くネットワーク構成は,近年高度化/複雑化している.まず,Webサービ ス提供基盤(社外公開用NW)は,信頼性やスケーラビリティ確保,セキュリティ対策等の各要 件を満たすために高度化/複雑化しており,リバースプロキシ/ロードバランサ/キャッシュ/ファ イアウォール/IDS/IPS/WAF等のミドルボックスが介在することが一般的である[11](図3 ).ま た,社内業務用NWには,通信帯域制御,セキュリティ対策等の各要件を満たすために,フォワ ードプロキシ/キャッシュ/ファイアウォール/ Webフィルタリング等のミドルボックスが介在す ることが一般的である[11](図3).さらに近年は,クラウド上で上記機能を提供するサービス が存在し[12],システム構成はさらに複雑化している. 図2 SSL/TLS暗号設定の多層構成 [13]
これらネットワーク構成の高度化/複雑化により,システム管理者は各アプリケーションの通 信を担っているサーバの把握が難しくなり,管理作業が煩雑になっている.SSL/TLS通信を終端 するサーバにおいて適切な設定が行われる必要があるが,前述の構成ではミドルボックスが SSL/TLS通信を終端し,安全を確保すべき通信路が細分化するため,設定確認すべき個所と対策 作業が増加する.たとえば,図3のネットワーク構成上のどこで通信を監視すれば,SSL/TLSの 通信内容を適切に捕捉できるかの判断は非常に難しい. ・ミドルボックスがSSL/TLS通信を終端,安全を確保すべき通信路が細分化 →対策すべき個所と対策作業の増加
3
.課題と解決方針
3.1 課題 本節では,SSL/TLSの設定確認の課題を示す. 課題(α)設定確認すべき項目が膨大である SSL/TLSの暗号通信は, 交換/署名/共通 暗号/メッセージ認証の組合せ(以降 CipherSuitesと呼ぶ)で行われ,有効/無効を確認すべきCipherSuitesはIANA[13]の 規定で約330個に上る.また,プロトコルバージョン(SSLv2,v3, TLSv1.0,v1.1,v1.2) ごとに使用可能なCipherSuitesは異なり,有効/無効を確認すべき項目は掛け算で増加 する.また,近年,PFS(Perfect Forward Secrecy)の観点で推奨されるDHE(Ephemeral Diffie-Hellman)およびECDHE(Elliptic Curve DHE)は[14], ネゴシエーション過程で 長を決定するため,CipherSuitesからは 長が判定できない 上,文献[15]発行時点(2015.5)でやや強度が低い 長が許容されていた経緯があり,
長の確認が必要である.さらに,Heartbleed[6]等のライブラリ実装への攻撃対策を含 め,TLSプロトコル拡張機能(heartbeat, encrypt_then_mac etc.)がIANA[13]の規 図3 企業NWに介在するミドルボックス
定で約27個存在し,プロトコルバージョンごとに有効/無効の確認が必要である. 不特定多数のユーザに提供するサービスでは,サービス継続性の観点で,古いブラウザ等 特定のブラウザでアクセス時の挙動を個別に確認する必要がある. 課題(β)設定値の安全性評価に知識が求められる 各CipherSuitesが安全か否かを判定するには,暗号技術に関する専門知識が求められ る.各CipherSuitesで利用する 交換/署名/共通 暗号/メッセージ認証アルゴリズ ムのうち,いずれか1つでも安全でない場合は,そのCipherSuitesは安全でないと判定す るが,たとえば,SHA-1は(本稿執筆時点で)署名利用は安全でないがメッセージ認証は 許容される等の例外が複数存在する.その他,同一のCipherSuitesでもプロトコルバー ジョン次第で安全性が異なるケース,PFSの観点で 交換アルゴリズムの 長が短くても 許容されるケース,システムに求められるセキュリティ水準によりCipherSuitesの利用 可否が異なるケース等,設定値の安全性評価には専門的な知識が求められる[15]. 課題(γ)設定値を特定することが難しい SSL/TLSの通信内容をパケットキャプチャした例を図6,7,8,10に示したが,設定確 認すべき個所を目視で特定するには一定の時間と労力がかかる上,管理するサーバ規模次 第では,全サーバを目視で設定確認することは確認ミスを招きやすい点でも望ましくな い. SSL/TLS仕様では,クライアントは使用可能な暗号アルゴリズム候補を優先順に並べて 送信し,サーバが使用する暗号アルゴリズムを決定するが,サーバ側の実装により,クラ イアントが提示する優先順位にしたがって決定する場合と,サーバが自身の優先順位にし たがって決定する場合があり,これら挙動の把握が必要である. 証明書に使用するアルゴリズムや 長の移行に際して,多くのサーバ製品で新旧の証明書 の並存ができない問題があり,移行前後の設定確認が困難である. 課題(α) 設定確認すべき項目が膨大 課題(β) 設定の安全性評価に専門知識が必要 課題(γ) 設定値を特定することが困難 3.2 解決方針 本節では,関連事例を参考に解決方針を述べる. 情報処理推進機構(IPA)のSSL/TLS暗号設定ガイドライン[15]は,電子政府推奨暗号リスト [16]に従い,SSL/TLSに推奨設定を適用するための方針を説明している.文中で,ネットワーク やシステム構成によっては設定内容が実際の通信に反映されない可能性があるため,『外部から の監視/スキャンツールを用いたチェックと組み合わせる』必要性に言及している[15].本稿 は,上記言及に対して,外部検査の方法論を示し,各課題の解決を目指す.IPAのSSL/TLSアプ ライアンス製品の暗号設定方法等の調査報告書[11]は,より具体的な製品ごとの設定方法を説明 するとともに,設定に対する挙動が製品ごとにさまざまである点に着目して,設定が正しく動作 に反映されているかを実際に製品を動作させて検査している.本稿では,使用製品にかかわら ず,実動作に沿った外部検査の方法論を示す. 3.3 ツール仕様
本節では,本稿知見の実現例であるNTTグループの暗号設定確認ツールの仕様を紹介する.本 ツールは,SSL/TLSサーバとクライアントの挙動を模擬して,SSL/TLS通信を終端している個 所に対して動的に外部検査を行う.TLSクライアント調査ツールおよびTLSサーバ調査ツールで 構成される(図4). 3.3.1 TLSクライアント調査ツール 調査対象のSSL/TLSクライアントに対して,擬似的なSSL/TLSサーバとして動作する.利用 方法としては,クライアントが送信したClientHelloメッセージより暗号設定情報を収集し,安 全性評価および利用可否の判定を行い,利用可否に応じて可視化・出力する. 3.3.2 TLSサーバ調査ツール 調査対象のSSL/TLSサーバに対して,擬似的なSSL/TLSクライアントとして動作する.利用 方 法 と し て は , 設 定 内 容 の 異 な る ClientHello メ ッ セ ー ジ を 複 数 回 送 信 し , 応 答 さ れ る ServerHelloメッセージから暗号設定情報を収集し,安全性評価および利用可否の判定を行い, 結果を一覧表で出力する(図5 ).たとえば,図中 C1, C2等の欄にはCipherSuitesが約330個 表示され,自動で安全性および利用可否が判定され,利用可否に応じて青/黄/赤の3色で可視 化される[17]. (CipherSuites例:TLS_DHE_RSA_WITH_AES_128_GCM_SHA256) 図4 SSL/TLS設定確認ツールの構成
TLSサーバ調査ツールで対応可能な項目一覧を示す. (A) 暗号アルゴリズム検査 (B) 暗号アルゴリズム選択優先権/優先順検査 (C) TLSプロトコル拡張機能検査 (D) SSL/TLSプロトコルバージョン−ダウングレード攻撃対策機能検査[18] (E) 証明書検査 (F) 特定クライアント対向検査 項目(A)(E)(F)は,設定値の収集および安全性評価/利用可否判定を行い,利用可否に 応じて3色に可視化を行う.項目(B)(C)(D)は,設定値の収集のみを行う.
4
.外部検査の実践で得られた知見
4.1 ツールによる外部検査の効用 図5 TLSサーバ調査ツール検査結果例本節では,ツールによる外部検査の効用を述べる.4.1.1∼4.1.5項では,課題(α,β,γ)の 解決方法に関して得られた知見を述べる.4.1.6項では,設定の多層構成に起因してツール検査 の過程で発生した事例を知見として述べる.4.1.7項では,ツール検査の業務上の効率性につい て得られた知見を述べる. 4.1.1 ツール化による確認作業の容易化 本ツールは,SSL/TLSの通信内容を自動で解析する.手動で行う場合は,どのパケットに必 要な情報が含まれるか特定するのに労力がかかり,人為的ミスが回避できない上,安全性評価や 利用可否の判定には専門知識が必要である.これら課題に対して,ツール化により,人為的ミス を回避でき,かつ,SSL/TLSの知識なしに(A)∼(F)の設定確認が可能となることが分かっ た. 4.1.2 暗号アルゴリズム等検査対象の網羅性 (検査機能(A)(C)(D)の効用) 本ツールは,CipherSuites(図7,8 の赤枠で例示)をプロトコルバージョンごとに特定個数 ずつ指定して繰り返し実行し,使用可能なアルゴリズムを網羅的に確認する.また,TLSプロト コル拡張機能(図7,8の青枠で例示)をプロトコルバージョンごとに有効/無効を確認する.こ れら結果を図5の一覧表形式で出力することで,網羅性の確認が容易になると分かった.また, ClientHello,ServerHelloメッセージに加え, ServerKeyExchangeメッセージ(図6 で例 示)を確認することで,(EC)DHEの 長の判定が可能と分かった.
4.1.3 アルゴリズム選択優先権/優先順の挙動把握
(検査機能(B)の効用)
図7 ClientHelloメッセージの例
本ツールは,クライアントの暗号アルゴリズムの優先順位を入れ替えして接続要求し,入れ替 え前後でServerHelloのCipherSuites選択結果が変わらなければサーバが選択権を有し,入れ 替え前後で選択結果が変わればクライアントが選択権を有すると判定できる(図9 ).また,サ ーバが選択権を有する場合は,ServerHelloで選択されたCipherSuitesを除外して再リクエス トすることで,順々にサーバ側のCipherSuites優先順位を判定できる(図14).これら判定ロ ジックにより,従来は動作時に判明していたサーバ側の選択優先権/優先順設定の内容を事前に 検査可能と分かった. 4.1.4 証明書移行前後の外部検査 (検査機能(E)の効用) 本ツールは,Certificateメッセージ(図10 に例示)を証明書フォーマット(X.509[19])に 従って解析し,署名/公開 アルゴリズムと 長を外部検査する機能を持つ.これにより,従来 課題であった証明書移行前後の設定確認が可能と分かった.本設定値は手動で確認することも可 能であるが,システム全体の更改等で多数サーバを一括で確認する必要がある場合には,4.1.1項 で述べたようにツール化が有効である[15]. 図9 アルゴリズム選択優先権の挙動把握
4.1.5 特定ブラウザ サーバ間の挙動把握 (検査機能(F)の効用) 本ツールは,図4のシステム構成により,特定ブラウザで接続時の挙動確認を自動化する.具 体的には,ClientHello一式(図7で例示)をTLSクライアント調査ツールで収集し,TLSサーバ 調査ツールでサーバに当該ClientHello一式を送信し,ServerHelloから選択された暗号設定 (図8で例示)を確認可能とする.これらの機能により,特定ブラウザで接続時の挙動把握が可 能となることが分かった.本挙動を手動で確認することも可能であるが,検査対象システムがサ ポートするブラウザが多数ある場合には,4.1.1項で述べたようにツール化が有効である. 4.1.6 ライブラリ構成に依存しない外部検査 ツール検査の過程で,利用ライブラリの認識誤りが原因で,設定と挙動に相違が生じる場合が あった.Webブラウザは,OSベンダ製はOS組込みの機能を利用し,サードパーティ製はWeb ブラウザ組込みの機能を利用するため,選択される暗号設定は異なることがある.Webサーバ は,RedHat等のOSバンドルのOpenSSL実装と,オープンソースのOpenSSL実装で,同じ設 定に対して挙動が異なることがある(図11 ).本稿で示す外部検査手法は,こうしたライブラリ 構成に依存せず,暗号プロトコルおよび暗号アルゴリズムの設定確認に有効であることが分かっ た. 図10 Certificateメッセージの例
4.1.7 業務上の検査および情報共有の効率性 検査作業の効率性は,従来ツールの評価でサーバ1台あたり人手調査:25分に対してツール調 査:3∼4分と試算されている[2].さらに,組織として対策を進めるためには,対策推進部署へ の報告書作成に稼動がかかり,実際,フォーマット統一などの煩雑な作業のために検査の稼動の 数倍はかかるという声がある.本稿のツール出力結果は,図5のように安全でない暗号アルゴリ ズムが使用される場合は警告色でハイライトされ,システム管理者が対策すべき個所が明確であ り,関係部門に検査結果や実施証跡を共有することが容易になるため,部門間調整の効率化に役 立つことが分かった. ■ツールによる外部検査の効用 ・課題(α,β,γ)を解決 ・外部検査により,使用ライブラリ等のシステム構成に依存せず検査可能 ・業務効率化(検査および情報共有) 4.2 実践で新たに分かった課題と工夫点 本節では,前節のツールによる外部検査を実践した結果,新たに分かった課題と工夫点を知見 として述べる.4.2.1∼4.2.2項では,複雑なネットワーク構成に起因してツールの機能では解決 できない事例が存在したため,ツールの利用方法により対応した知見をミドルボックスの種別ご とに述べる.4.2.3∼4.2.4項では,外部検査のシステム運用上の考慮事項を述べる. 4.2.1 ロードバランサ経由の検査 Webサーバの前段にロードバランサやCDN等キャッシュが配置される場合の知見を述べる. 実際の運用において,ロードバランサ等がSSL/TLSの終端点であれば,ツール検査は当該終端点 に対して行えばよい(図12 ).ただし,サーバ証明書は,他サーバと共用する場合(ex.ワイル ドカード証明書)と,各サーバ個別の証明書を利用する場合がある.後者の場合,証明書のツー ル検査結果は各Webサーバ個別の結果になる一方,暗号アルゴリズムのツール検査結果はロード バランサ等の共用の設定が反映される点に留意して,結果を確認する必要がある. 図11 検査対象サーバが実際に利用するライブラリ
4.2.2 社内プロキシ経由の検査 社内NWからインターネットへのアクセス経路上に,ウィルスチェック等監視機能を有するプ ロキシが配置される場合の検査方法を説明する.監視機能は,暗号化通信を一度復号する必要が あるため,クライアントとのSSL/TLSの終端点をアクセス先からプロキシに変更する必要がある (図13 ).しかし,アクセス先のサーバ証明書をプロキシは当然流用できない.このため,実際 の製品の動作例として,プロキシはダミーの認証局となり,ダミーのサーバ公開 を生成し,そ の公開 に対するダミーのサーバ証明書を生成し,クライアントとのSSL/TLS通信を終端する. この場合,社内から実施したツール検査結果は,サーバ証明書を含めてアクセス先の設定状況が まったく反映されないため,本稿ツールのプロキシ設定機能を利用するか,対象サーバに直接ア クセス可能な別の経路を用意して検査を実施する必要がある. 4.2.3 検査対象サーバの負荷の低減 一般に,セキュリティ診断系ツールは,特に稼働中サービスに対しては,リクエスト回数や負 荷などの影響が少ない方が望ましい.理由は2点あり,1点目は,診断系ツールのリクエストが検 査対象サーバの監視ツールによりサーバへのスキャンやDoS攻撃として検出され,そのリクエス トが切断される点,2点目は,監視ツールから大量の不要ログ出力が発生し,サービス運用上必 要なログ解析に支障が出る点である. 本稿ツールでは,一度に送信するアルゴリズム数をエラーやタイムアウトが返るまで段階的に 増加させることで,対象サーバが対応可能な最大数を判定し,図14 のように一括判定するロジッ クを採用することで,リクエスト回数を低減した.また,リクエスト送信間隔を設定する機能に 図12 ロードバランサ等経由時の検査 図13 社内プロキシ経由時の検査
より,検査に利用するネットワーク環境に応じて送信間隔を調整した.これら方法で,負荷を低 減して検査を進められることが分かった. 4.2.4 システム管理者と検査者の業務分担 システム運用を委託している場合や,一部システムにクラウドサービスを利用している場合 [12],検査対象のシステム管理者とツール検査担当者の関係性を考慮して,検査を計画する必要 がある.システム管理者が委託先の場合,委託先の運用するシステムに対する監査のような形に なるため,ツール検査日時の事前周知,稼働中サービスに影響が生じた場合の対策および責任範 囲,等の事前検討が必要である.ツール検査担当者が委託先の場合,実施工数の補填方法,検査 および設定変更の対応範囲,検査結果の報告方法,等の事前検討が必要である. ■実践で新たに分かった課題と工夫点 ・ロードバランサ経由の検査方法 ・社内プロキシ経由の検査方法 ・検査対象サーバの負荷の低減 ・検査業務の分担や責任範囲
5
.おわりに
5.1 結論 本稿は,常時SSL/TLS化(完全HTTPS化)が進む背景を踏まえ,安全で継続的なWebサービ ス提供に必要なSSL/TLSの設定確認の方法や知見をシステム管理者に提供することを目指した. まず,設定確認のシステム運用上の課題を整理し,解決方針と,方針の具現化に有効なツールの 仕様を説明した.次に,ツール検査の効用を説明し,ツール検査の実践で得られた知見を紹介し た.本稿の内容の活用方法としては,たとえば,市中の検査ツールの動作の理解に役立てる,パ ケットキャプチャにより手動でサンプル検査を実施してみる,外注先に検査を依頼する際の参考 情報としてもらうなどが考えられる.活用の際は,本稿の方法論と合わせて,文献[15][11]等の 設定ガイドラインや個別の製品マニュアルを組み合わせて利用することが効果的である. 図14 アルゴリズム検査のリクエスト回数の低減5.2 今後の動向
本稿で述べたSSL/TLS設定確認のプラクティスは,サービス提供を担う開発者/運用者にと って,必要不可欠であるが大変に労力のかかるものである.将来的には,こうした煩雑な設定確 認が不要となることが望ましいと考えられる.業界動向として,仕様策定中のTLS1.3は使用可 能な暗号アルゴリズムを安全性の高い少数に限定する方向で調整が進んでいる[20].また, Appleが提案するATS(App Transport Secutiry)は同様に使用可能な暗号アルゴリズムを限 定する方針である[21].暗号アルゴリズムの設定で迷わない点は,開発者/運用者にとって望ま しい方向性と考えられる一方,algorithm agilityがないことで,採用したアルゴリズムに仮に脆 弱性が発見された場合に,設定変更で対処し難い点は,今後の評価が待たれる. 謝辞 本稿の執筆にあたり,これまで暗号危殆化対策を進められた,NTTテクノクロスの吉田 勝彦様をはじめ,情報セキュリティ担当者皆様,特に,SSL/TLS設定確認ツール開発の担当者皆 様の,継続的な取り組みに敬意を表し,ここに謝辞申し上げます. 参考文献
1) Electronic Frontier Foundation, We're Halfway to Encrypting the Entire Web,
https://www.eff.org/deeplinks/2017/02/were-halfway-encrypting-entire-Web
2)佐藤亮太,吉田勝彦,知加良盛,関 良明,神田雅透,栢口 茂,平田真一 : SSLにおける 暗号設定確認ツールの提案と評価, 情報科学技術フォーラム講演論文集, Vol.10, No.4, pp.119-126 (2011).
3) Dierks, T. and Rescorla, E. : The Transport Layer Security ( TLS ) Protocol Version 1.2, RFC 5246 (2008), https://tools.ietf.org/html/rfc5246
4)Frankel, S. and Krishnan, S. : IP Security (IPsec) and Internet Key Exchange (IKE) Document Roadmap, RFC 6071 (2011),
https://tools.ietf.org/html/rfc6071
5)Ylonen, T. and Lonvick, C. ed. : The Secure Shell (SSH) Connection Protocol, RFC 4254 (2006), https://tools.ietf.org/html/rfc4254 6 ) 情 報 処 理 推 進 機 構 ( IPA ) : OpenSSL の 脆 弱 性 対 策 に つ い て , https://www.ipa.go.jp/security/ciadr/vul/20140408-openssl.html 7 ) 情 報 処 理 推 進 機 構 ( IPA ) : SSL 3.0 の 脆 弱 性 対 策 に つ い て , https://www.ipa.go.jp/security/announce/20141017-ssl.html 8 ) 情 報 処 理 推 進 機 構 ( IPA ) : 暗 号 の 危 殆 化 に 関 す る 調 査 , https://www.ipa.go.jp/security/fy16/reports/crypt_compromize/index.html
9 ) Popov, A. : Prohibiting RC4 Cipher Suites, RFC 7465 ( 2015 ) ,
https://tools.ietf.org/html/rfc7465
10)OpenSSL Software Foundation, https://www.openssl.org/
11)情報処理推進機構(IPA) : SSL/TLSアプライアンス製品の暗号設定方法等の調査報告書 (2016).
https://www.ipa.go.jp/security/fy28/reports/crypto_survey/index.html
12)Amazon Web Services, Inc. : AWS WAF-Web アプリケーションファイアウォール,
https://aws.amazon.com/jp/waf/
13)Internet Assigned Numbers Authority(IANA), TLS Cipher Suite Registry,
https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml
14)Adrian, D., Bhargavan, K., Durumeric, Z., Gaudry, P., Green, M., Halderman,J. A., Heninger, N., Springall, D., Thome, E., Valenta, L., VanderSloot, B., Wustrow, E., Zanella-Beguelin, S. and Zimmermann, P. : Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice, ACM CCS (2015).
15)情報処理推進機構(IPA): SSL/TLS暗号設定ガイドライン∼安全なWebサイトのために (暗号設定対策編)∼ (2015),
https://www.ipa.go.jp/security/vuln/ssl_crypt_config.html 16 ) CRYPTREC 暗 号 リ ス ト ( 電 子 政 府 推 奨 暗 号 リ ス ト),http://www.cryptrec.go.jp/list.html 17)佐藤亮太,神田雅透,関 良明,武藤健一郎,知加良盛,吉田勝彦,栢口 茂,平田真一 : セキュリティプロトコルにおける暗号アルゴリズム調査手法とその考察, 情報処理学会論文誌, Vol.53, No.2, pp.474-484(2012).
18)Rescorla, E., Ray, M., Dispensa, S. and Oskov, N. : TLS Fallback Signaling Cipher Suite Value ( SCSV ) for Preventing Protocol Downgrade Attacks, RFC 7507 (2015), https://tools.ietf.org/html/rfc5746
19) Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R. and Polk, W. : Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, RFC 5280 (2008), https://tools.ietf.org/html/rfc5280
20)Rescorla, E. : The Transport Layer Security(TLS)Protocol Version 1.3 draft-ietf-tls-tls13-21 ( 2017.7, work in progress ) , https://tools.ietf.org/html/draft-ietf-tls-tls13-21
21)Apple Inc. : Requirements for Connecting Using ATS,
https://developer.apple.com/library/archive/documentation/General/Reference/InfoP listKeyReference/Articles/CocoaKeys.html 投稿受付:2018年2月15日 採録決定:2018年5月31日 編集担当:北村操代(三菱電機) 奥田哲矢(正会員)[email protected] 2011年入社後,暗号危殆化および位置情報アプリケーションのセキュリティ対策技術の 研究開発に従事. 2013年Webサービス提供会社に出向し,HTML5ベースのWeb地 図/GISサービスの開発/運用に従事. 2017年現職に戻り,暗号危殆化およびWebアプリ ケーションのセキュリティ対策技術の研究開発に従事. 知加良盛(正会員)[email protected] 1988年東京工業大学工学部電気電子工学科卒業.1990年同大学大学院総合理工学研究 科修士課程修了.同年日本電信電話(株)入社.以来,ネットワーク管理,ITS,暗号応 用システム,情報セキュリティの研究開発に従事.2017年よりNTTテクノクロス(株) 所属.2011年FIT論文賞受賞.