GSCIP 073432006 1 FPN Flexible Private Network FPN GSCIP Grouping for Secure Communication for IP GSCIP GSCIP GMS Group Management Server GMS GSCIP / IPsec IKE KINK GSCIP [1] GSCIP IPsec GMS GSCIP GSCIP IPsec 2 2.1 IPsec IPsec IP IPsec SA Security Association SA IKE KINK IKE SA DH 3 SA 1 IKE IKE 2 IKE SA INIT SA SA IKE AUTH SA 1: IKE KINK IKE KINK Kerberos IPsec SA KINK Kerberos SA IKE 2.2 GSCIP GSCIP 2 GSCIP GSCIP GE GSCIP Element GE GES GE realized by Software GEN GE for Network GES GEA GE realized by Adapter 3 GEN GEN GSCIP GE GK Group Key IP 2:
GE GMS IP GMS GMS GE GSCIP DPRP Dynamic Process Resolution Protocol [1] 3 GSCIP GMS GMS GE GE GE GSCIP GE Web PHP GE GMS GMS GSCIP 4 4.1 GSCIP/GMS DPRP IPsec/IKE IPsec/Kerberos KINK 1 1 3 3 1 4 1 2 4 2 GSCIP 1 4 GES1 4 GE GES1 4 1 GES2 4 2 GSCIP 1 1 2 2 GSCIP GE GMS DPRP GE ID GMS GMS 3 GMS 8 GE 13 33 3: 1: GSCIP IPsec/IKE IPsec/KINK Node1 3 27 18 Node2 3 29 18 Node3 3 29 18 Node4 3 31 21 Server 13 8 15 33 116 90 IKE IPsec 1 1 4 2 2 4 IKE IKE 1 27 2 3 29 4 31 116 KINK IKE Kerberos ID Kerberos IP 1 3 ID 1 3 4 2 ID 2 5 IKE KINK ID KINK 1 3 18 4 21 Kerberos ID 15 90 IKE KINK 4.2 2 GSCIP 0.38ms 1.78ms IKE KINK 264.09ms 3.07ms TCP 3 GSCIP IKE DH KINK IKE IKE KINK TCP 3 5 FPN GSCIP GSCIP GSCIP IPsec GSCIP GSCIP GMS [1] DPRP vol. 47 pp. 2976 2991 (2006).
セキュア通信アーキテクチャ GSCIP を実現するグループ管理サーバの実装と運用評価 Implementation and operational evaluation of Group Management Server which realize 名城大学大学院理工学研究科 渡邊研究室 今村圭佑
研究背景 企業ネットワークのセキュリティ対策は急務 情報漏洩は社会的信頼の低下 外部 ファイアウォール侵入検知暗号通信 (VPN) IP-VPN 内部 パスワード認証平文通信 イントラネット パスワード認証 セキュリティの脅威は組織内部にも存在する 部門や業務に応じた通信グループを構築 Firewall 盗聴, 改ざん 通信グループ内の通信を暗号化 1
通信グループ構築方法 個人単位 グループ単位 相手認証暗号通信 きめ細かいグルーピングが可能個々に設定が必要 : 負荷大 大きな単位でグルーピングが可能設定を集約できる : 負荷小 両者の利点を活かした混在環境が有効 2
研究の目的 柔軟性 セキュリティ 部門や業務内容による通信グループの構築 通信グループ間の通信は暗号化 管理コスト 業務単位 クライアントには最低限の設定 複雑な通信グループ構成であっても設定コストは尐なく 部門単位 セキュリティを保ちつつ, 管理コストを抑えた GSCIP(Grouping for Secure Communication for IP) 混在環境を実現する場合の管理コストの比較評価 GSCIP IPsec(IKE,KINK) 3
既存技術 :IPsec TCP/IP 上において汎用的に利用できる トンネルモード : 端末 (SGW)-SGW トランスポートモード : 端末 - 端末 トランスポートモード SA 送信元 / 宛先アドレス, プロトコル (ESP,AH) モード ( トンネル, トランスポート ) 通信に使用する暗号鍵 N o d e 1 トンネルモード N o d e 2 S G W N o d e 3 一般端末 互換性がないため別々に設定する必要がある SA 共有のネゴシエーション技術 IKE(Internet Key Exchange):RFC 4306 KINK(Kerberized Internet Negotiation of Keys):RFC 4430 4
IKE(Internet Key Exchange) ノード間 SA パラメータの交換 通信に使用する暗号鍵の生成 DH 鍵交換 相手認証 事前共有鍵方式 ( 事前に通信ピア間で鍵を共有する ) 通信グループを導入する場合 Node X 互いに事前共有鍵を設定する必要がある :n(n-1)/2 IKE では IP アドレスとペアで設定 :2n(n-1) IKE の設定に通信相手のアドレスを指定 :n(n-1) DH 鍵交換 DH 鍵交換 相手認証,SA 条件交換相手認証,SA 条件交換 Node Y x.x.x.x y.y.y.y z.z.z.z KeyX KeyY KeyZ 多台数間の設定は負担がかかる複数のグループの定義は煩雑 5
KINK(Kerberized Internet Negotiation of Keys) Kerberos の共通鍵認証機構を利用した SA 交換方法 ノードは事前に Kerberos サーバ (KDC) と秘密鍵を共有 Kerberos ID と秘密鍵のペアを KDC が管理 KDC が提供するセッション鍵を用い SA の交換 通信ピア間で鍵を共有する必要がない 通信相手の Kerberos ID のみ設定 KDC- ノードの共有鍵 :n 通信相手の ID:n(n-1) KDC Node X KDC Node Y 認証要求認証応答 認証要求認証応答 セッション鍵要求 セッション鍵応答 SA 交換 SA 交換 IKE に比べ尐ない 6
GSCIP の概要 同じ暗号鍵を持つノードを同一の通信グループと定義 暗号鍵 = グループ鍵 GK グループ管理サーバ (GMS) おいて通信グループを定義 GK3 GMS-GE 間で認証 GK の配送 GES3 Group 3 GMS Delivery GK GK2 GES1 Group 2 GK1 CL GEN Group 1 Terminal GES2 GE:GSCIP に対応した装置 GES(Software 型 ): ホストタイプ GEN(Network 型 ): ルータタイプ GMS(Group Management Server) グループ管理サーバ GMS-GE 間で鍵を共有 GE に対応する GK を配送 動作モード : 他グループとの通信を定義 開放モード OP: 平文通信可 閉域モード CL: 一切禁止 グループ鍵と通信グループを 1 対 1 で対応させる 7
DPRP(Dynamic Process Resolution Protocol) の概要 通信開始時にネゴシエーション 端末間の認証処理 : グループ鍵による認証 動作処理情報の決定 : 所属通信グループ, 動作モード GES1 GEN GES2 IP:PA1 IP:PA2 IP:PA3 Store 通信経路上の各 GE の設定情報を取得し動作処理情報を決定 DPRP Release 動作処理情報の生成と通知 暗号通信 PIT PA1:s PA3:d 暗号化 / 復号 PIT PA1:s PA3:d 透過中継 PIT PA1:s PA3:d 暗号化 / 復号 パケットは動作処理情報に従って処理される 8
グループ管理サーバ GMS GSCIP のユーザや通信グループを管理する グループ鍵の管理と通信グループの定義 GE 情報 ユーザ ID, 動作モード, 共通鍵 (GMS- 各 GE 間 ) グループ鍵情報 通信グループ番号, グループ鍵 GK, 鍵バージョン 所属通信グループ ユーザ ID, 通信グループ番号 端末起動時に要求 所属する通信グループの鍵情報を応答 通信開始時に DPRP ネゴシエーションを実行 端末間の動作処理情報の決定 ユーザ ID 共通鍵 GMS 鍵の更新 設定情報要求グループ鍵動作モード グループ鍵配送 GE 端末起動時 9
本システムの有効性の評価 各方式の比較評価 IPsec/IKE IPsec/Kerberos+KINK GSCIP/GMS+DPRP Group1 Group2 Group1 Node2 評価項目 ノード数に応じた設定コスト 実環境を想定した設定コスト 一般端末 SGW Node1 Node3 ノードおよびサーバで行う設定 1 つあたりに必要な項目を負荷 1 と定義し, 管理コストの比較を行う 10
鍵設定数 ノード数に応じた鍵管理コスト IKE は全ピア間で鍵を共有するため設定コストは高い IP アドレス, 鍵のペアを互いに共有 KINK,GSCIP はサーバ, ノード間の共有鍵 自己の ID, サーバとの共通鍵 IKE: 全ピア間で鍵を共有 :n (n-1) 2 KINK:KDC とノード間の ID, 共通鍵 :2n 2 GSCIP:GMS とノード間の ID, 共通鍵 :2n 2 多台数間の設定は大幅にコストが増加 6000 5000 4000 3000 2000 1000 0 IKE KINK GSCIP 5 10 20 30 40 50 ノード数 11
設定コスト ノード数に応じた設定コスト IPsec では SA に通信相手の IP アドレスを送受信ペアで設定 ノード数に大きく影響する IKE:SA に全ノードのアドレスのペア :2(n-1) 2 KINK: SA に全ノードのアドレスのペア :2(n-1) 2 GSCIP: 所属通信グループの定義 :n ノード A 送信 :IP_A IP_B 受信 :IP_B IP_A IKE,KINK はネゴシエーションに IP アドレスの設定要素を含む GSCIP はグループ鍵で管理している IP アドレスに依存しない 1000 900 800 700 600 500 400 300 200 100 0 IKE KINK GSCIP 5 10 20 30 40 50 ノード数 12
初期管理負荷 :IPsec/IKE 事前共有秘密鍵事前共有鍵情報セキュリティポリシ IKE IKE 合計設定項目ノード1 通信相手識別子 2: ノード1 ノード2通信ペア識別子 IPsec Transport:14 ( 送信元, 宛先 ) 通信相手識別子 11 27 ノード2 事前共有鍵 6: ノード2 1,3,SGW 処理内容 IPsec (IPsec/Discard/None) Transport:14+2 暗号化アルゴリズム 13 51 プロトコル IPsec (ESP/AH) Tunnel:16 ハッシュアルゴリズムモード (Transport/Tunnel) 認証方式ノード3 2: ノード3 ノード2ポリシ適用レベル IPsec Transport:14 etc. DH 11 グループ 27 etc. 項目数 SGW 2 2:SGW ノード2 16( トンネルモードは None:8, Discard:8 14) 11 11 29 合計 12 76 46 134 Group2 トンネル, トランスポートモードに互換がなく別々に定義する必要がある Group1 Node2 通信ペアが増加すると事前共有鍵の設定が増加する 一般端末 SGW Node1 Node3 13
初期管理負荷 :IPsec/Kerberos+KINK KDC セキュリティポリシ KINK 合計 ノード 1 3 IPsec Transport:14 1 18 ノード2 3+2 IPsec Transport:14+2 IPsec Tunnel:16 3 39 ノード 3 3 IPsec Transport:14 1 18 SGW 3 None:8, Discard:8 1 20 合計 14 76 6 96 KDC:15 + 96 = 111 ノード :ID, 共通鍵,KDC KDC:ID, 共通鍵, 通信グループ Group2 Group1 一般端末 SGW Node1 Node2 KDC Node3 トンネル, トランスポートモードに互換がなく別々に定義する必要がある 所属する通信グループが増加すると ID とサーバとの共通鍵が増加する 14
初期管理負荷 :GSCIP/GMS+DPRP GMS に所属する通信 グループを定義するのみ ユーザ ID, 共通鍵 GMS アドレス G E S 2 G K 1 G K 2 G M S グループ番号鍵バージョン,GK ユーザ ID, 動作モード共通鍵 G K 1 一般端末 G E N G K 1 G E S 1 G K 2 G E S 3 所属通信グループ情報 GES1 グループ1 GES2 グループ1 GES2 グループ2 GES3 グループ2 GEN グループ1 設定数 台数 合計 GE 情報 3 4 12 グループ鍵情報 3 2 6 所属通信グループ情報 2 5 10 GE:12 + 28 = 40 15
各方式の比較 GSCIP/GMS+ DPRP IPsec/IKE IPsec/Kerberos +KINK ノード数に応じた鍵管理コスト サーバ, クライアント間のみ 全ピア間で鍵を共有 n (n-1) 2 サーバ, クライアント間のみ ノード増加による管理コスト 通信グループの定義のみ IP アドレスに依存し増加する IP アドレスに依存し増加する イニシャル管理コスト ( 想定した環境の設定数 ) グループ鍵と通信グループを一対一で対応付け :40 事前共有鍵が大幅に増加 134 ID, 共通鍵のペアがグループに応じて増加 :111 IPsecは複雑なネットワーク構成になると大幅にコストが増加する柔軟性とセキュリティを兼ね備えたグループ通信が可能である 16
まとめ 柔軟性とセキュリティを兼ね備えた通信アーキテクチャ GSCIP 通信グループとグループ鍵を 1 対 1 で対応させることで,IP アドレス, 物理的配置に依存しないグルーピングが可能 グループ管理サーバの実装を行い, 実運用にて有効性を確認 今後 管理負荷を抑えつつ運用が可能でありセキュリティ対策として有効な方法である 負荷分散のため GMS の分散化とその連携 GSCIP をインターネット空間へ適用 GMS の運用方法の検討 17
付録 18
通信性能測定環境 [1] ネゴシエーション時間 [2] 通信開始までの時間 [0] 情報配送時間 OS:FreeBSD6.1 CPU:Pentium4 3.0GHz MEMORY:1GB Ethernet:1000BASE-TX 試行回数 :10 回 IKE,KINK には racoon2 を使用 Kerberos サーバには Heimdal を使用 G E S X G M S I N I T _ I N F O _ R E Q [ 0 ] I N I R _ I N F O _ R E S D D E R G I [ 1 ] [ 2 ] M P I T C D N T C P / U D P G S C I P / G M S + D P R P G E S Y N o d e X N o d e Y I K E _ S A _ I N I T [ 1 ] [ 2 ] I K E _ A U T H T C P / U D P I P s e c / I K E N o d e X K D C N o d e Y A S _ R E Q [ 0 ] A S _ R E P T G S _ R E Q T G S _ R E P [ 1 ] [ 2 ] K I N K _ C R E A T E K I N K _ R E P L Y T C P / U D P I P s e c / K e r b e r o s + K I N K 19
測定結果 ネゴシエーション GSCIP: 起動時にグループ鍵を取得 IKE: ネゴシエーション時に共通鍵を生成 (DH) KINK:KDCがセッション鍵を生成し配送 通信開始までの時間 GSCIPではトリガーとなったパケットをカーネル内に待避 IPsecではTCPの DPRP IKE KINK 再送処理に頼っている [0] 情報配送 6.11 0.89 [1] ネゴシエーション 0.38 264.09 3.07 TCP 再送処理 [2] 通信開始までの時間 (TCP) 1.78 2862.15 3037.98 [2] 通信開始までの時間 (UDP) 1.89 429.92 16.03 単位 : ミリ秒 20
暗号化処理モジュールについて PCCOM(Practical Cipher COMmunication) パケットフォーマットを変更せずに 本人性確認, パケット全体の完全性保証を実現 NATやFWを通過可能 ( イントラネットでは有効 ) FTP ダウンロード時間 単位 :sec Normal PCCOM IPsec ESP 13.94 20.22 43.43 500MBのファイルをダウンロード スループットの低下は尐ない 21
PCCOM 詳細 完全性保証 本人性確認 疑似データを用いたTCP/UDPチェックサムの独自計算により実現 IPアドレスとポート番号の完全性は動作処理情報の検索過程で保証 NATと共存可能 ユーザデータのみを暗号化 従来どおりパケットフィルタリング可能で, ファイアウォールと共存可能 完全性保証 ( 転送中に変化しないフィールド ) PCCOM IP ヘッダ TCP ヘッダ データ 暗号部分 22
IPsec ESP 詳細 TCP ヘッダを含め暗号化 TCPヘッダにポート番号を含む NATを通過させるにはUDPでカプセル化 完全性保証 IPヘッダ ESPヘッダ TCPヘッダデータ ESPトレーラ ESP 認証値 23
IPsec ESP と PCCOM IPsec は強靱なセキュリティ インターネット空間への適用 PCCOM はイントラネットの環境に特化 NAT や FW と共存できるためイントラネットへの適用 IPsec ESP PCCOM 機密性 本人性確認 完全性保証 NAT ファイアウォール フラグメント トラフィック解析 24
KINK(Kerberized Internet Negotiation of Keys) Kerberos の共通鍵認証機構を利用した SA 交換方法 ノードは事前にKDCと秘密鍵を共有 ノードIDと秘密鍵をKDCが管理 Node X KDC Node Y 認証チケット要求認証チケット応答 認証チケット要求認証チケット応答 サービスチケット 要求 サービスチケット応答 SA 交換 SA 交換 ノードと KDC は事前に鍵を共有ノードはレルムに所属 サービスチケット鍵 x{ セッション鍵, 鍵 y{ セッション鍵,IDx}} KDC が提供するセッション鍵を用い SA の交換 25
KINK(Kerberized Internet Negotiation of Keys) KINK でグループ通信を導入すると 通信グループの定義をKDCに集約 クライアントには通信相手のKerberos IDだけでよい :n 所属グループに応じてKerberos ID, 共通鍵が必要である 複数のID, 共通鍵を所持する X@ レルム A,Z@ レルム A Y@ レルム B,Z@ レルム B KDC レルム B レルム A Node X 所属する通信グループが増加すると ID と KDC との共通鍵が増加する Node Y Node Z 26
SSL(TSL) 特徴 ペイロードを暗号化した TCP 長所 NAT との併用が可能 Web アプリケーションのセキュリティ確保は, 事実上標準 短所 WWW サービス以外ではあまり普及していない Socket API とは別の API を利用するため, 非 SSL アプリケーションを SSL 対応させるには, アプリケーションの修正が必要 27
グループ鍵の更新 通信グループから離脱 一日毎に更新 (3 時 ) v2 v1 管理者 GMS GK の更新 配送 v1 GES1 グループからの離脱 GES2 28
グループ管理サーバの実装 Fedora6(Linux) に実装 サーバデーモン :gmsd データベース :MySQL Webアプリケーション :Apache GE:FreeBSD6.1 クライアントデーモン :gmcd Data Base gmcd Administrator SSL WebAP GMS gmsd SPAIC gmcd GES GEN gmcd GEA 29
IKE の相手認証方式 事前共有鍵方式 スケーラビリティに欠ける デジタル署名方式 公開鍵方式 キック ( 通信グループの定義方法?) 事前共有鍵方式以外は実装が必須ではない 30