19. 暗号化に関する知識 II

シラバス: 

1. 科目の概要

セキュリティ確保に必須の技術である暗号化や電子認証の仕組みについて解説する。VPNの設定方法やPublic Key Infrastructure (PKI)による電子認証基盤の確立、Certification Authority (CA)の位置付けなど、セキュリティ確保のための様々な技術を解説する。

2. 習得ポイント

本科目の学習により習得することが期待されるポイントは以下の通り。

3. IT知識体系との対応関係

「19.暗号化に関する知識Ⅱ」とIT知識体系との対応関係は以下の通り。

[シラバス:http://www.ipa.go.jp/software/open/ossc/download/Model_Curriculum_05_02.pdf]

<IT知識体系上の関連部分>

4. OSSモデルカリキュラム固有の知識

OSS固有の項目は、PKIに関するソフトウェアのOSS関連情報が該当する。他の項目はVPNなどを運用する上で必要となる知識を掘り下げている。

(網掛け部分はIT知識体系で学習できる知識を示し、それ以外はOSSモデルカリキュラム固有の知識を示している)

II-19-1. IPsecによるVPN通信

VPNとは何か、IPsecの機能や仕組みについて説明し、IPsecを利用したVPNの構築に関する手順や機能を解説する。また暗号化鍵の指定やAuthentication Header (AH)とEncapsulating Security Payload (ESP)といった二つのプロトコルの違いなど、IPsecによるVPNの実現に必要な項目について説明する。

【学習の要点】

* VPNとは公衆網であるコンピュータネットワークを利用して、ポイント間を認証化や暗号化手法で結ぶ仮想専用ネットワークである。

* VPNを実現する手段として主にIPsecを用いたIPsec-VPNとSSLを用いたSSL-VPNがある。

* IPSecではIPヘッダの後ろにアタッチする拡張ヘッダを利用して暗号化機能と認証機能を実装する。

* 暗号化データ+暗号化ヘッダ+IPヘッダをESP(Encapsulated Security Payload)という。

* IPsecを用いたVPNには、アウトサイドトンネル/インサイドトンネルという二つのタイプがある。

図II-19-1. IPsecによるVPN通信

 

【解説】

1) VPNとは

* VPNとは公衆網であるコンピュータネットワークを利用して、ポイント間を認証化や暗号化手法で結ぶ仮想専用ネットワークである。VPNを用いてポイント間を接続すれば、同じLAN環境を共有することができる。

* VPNを実現する手段として主にIPsecを用いたIPsec-VPNとSSLを用いたSSL-VPNがある。

2) IPsecの仕組み

* IPSecではIPヘッダの後ろにアタッチする拡張ヘッダを利用して暗号化機能と認証機能を実装する。つまり拡張ヘッダにより暗号情報、認証情報をやりとりする。

* 暗号化/認証化には暗号鍵、認証鍵が必要であるが、これはホスト間で予め設定されている必要がある。

* 暗号化・認証情報の作成手順は次の通り

- まずデータ+IPヘッダがあるとする。

- データを暗号鍵で暗号化する。これをデータ部に戻した後に、暗号化されたことを明示する暗号化ヘッダを、データ部とIPヘッダの間に挿入する。この暗号化データ+暗号化ヘッダ+IPヘッダをESP(Encapsulated Security Payload)という。

- ESPに対して認証鍵をもちいて認証ヘッダを作成する。これをAH(Authentication Header)という。

- 上記のAHを、暗号化ヘッダとIPヘッダの間に挿入する。この暗号化データ+暗号化ヘッダ+AH+IPヘッダの一体となったパケットを通信するホストに送信する。

* 復号化・認証情報のチェックの仕組みは次の通り

- 送信元から受け取ったパケットからAHを除いた暗号化データ+暗号化ヘッダ+IPヘッダについて、認証鍵をもちいて新たに認証ヘッダを作成する。この新たに作成した認証ヘッダとAHを比較し、改竄の有無をチェックする。

- ESPからIPヘッダと暗号化ヘッダを取り除き、暗号化ヘッダの情報に基づき、暗号鍵を用いて復号化する。

3) IPsec を用いたVPNの実現

* IPsecを用いてVPNを通信する場合、VNPトンネルをファイアウォールの外に確立するか、それともファイアウォールの中から確立するかで、アウトサイドトンネル/インサイドトンネルという二つのタイプがある。

* インサイドトンネルの場合、あたかも同じLAN環境になったかのように振る舞うことができ、LANで利用できるアプリケーションはすべて利用できる。通常同じ会社の異なる拠点間を接続する場合に用いる。

* アウトサイトトンネルの場合、トンネルを通じた通信がファイアウォールに阻まれるために、ファイアウォールが許可するアプリケーションの通信だけが利用できる。取引先企業との接続を行う場合はこの接続形態になる。

II-19-2. IPsecの設定方法

動作モードの設定やSecurity Association (SA)の設定など、IPsecの具体的な設定について解説する。さらに、IPsecにより通信路が実際に暗号化されている状態を確認する方法についても説明する。

【学習の要点】

* IPsecには二つのモードがあり、ひとつはTransportモード、もう一つはTunnelモードである。Transportモードはデータ部だけを暗号化する。TunnelモードはIPヘッダも含めて暗号化する。

* SA(Security Association)とはホスト同士が共有するアルゴリズムと鍵の情報である。

* 鍵管理プロトコルとしてIKEがある。

図II-19-2. IPsecによる暗号化の確認方法

 

【解説】

1) IPsecのモード

* IPsecには二つのモードがあり、ひとつはTransportモード、もう一つはTunnelモードである。

* Transportモードはデータ部だけを暗号化し、IPヘッダは暗号化されない。つまり通信内容だけを保護するモードがTransportモードである。

* TunnelモードはIPヘッダも含めて暗号化する。このモードがVPNの基盤となっている。通常のVPNの場合、IPsec機能を持ったルーターを設置してVPNを構築する場合が多く、その場合Tunnelモードの間はルーター間の暗号化処理、復号化処理によりパケット全体が保護されることになる。

2) SAとは

* SA(Security Association)とは通信するピア間で合意されたアルゴリズムと鍵の情報である。

* SAの要素は、鍵、暗号化、認証手段、そしてアルゴリズムで利用される追加パラメータである。

* SAは単方向性であるために、セキュリティサービスごとに異なるSAが必要になる。例えば暗号化と認証という二つのサービスを利用する場合、暗号で一つのSA、 復号で一つのSAという具合に一つのサービスで二つのSAを利用するため、二つのサービスを運用する場合は4つのSAが必要になる。

3) 鍵管理について

* IPsecは暗号鍵の仕様を前提としているために、鍵管理の仕組みが別途必要になる。この鍵管理プロトコルとしてIKE(Internet Key Exchange)がある。

* IKEはネットワーク上で鍵を安全かつ自動的に交換するプロトコルである。

- IKEはUDPポート番号500上で通信され、いくつかのフェーズに分けて認証と暗号化を行い、鍵を安全に交換する。

- IKEにはv1とv2があり、IKEv1はRFC2490で規定されており、IKEv2はRFC4306で規定されている。

* IKEによる認証にはホスト間でSAを確立し、相互認証をおこなわなければならない。相互認証には二つフェーズがある。

- フェーズ1はIKEで使用するSAの確立である。

- フェーズ2はIPSecで使用するSAの確立である。

4) IPsecによる通信の確認方法

* ping6コマンドを利用してIPsecによる通信の暗号化を実際に体験するには次の手順を行う。

- 暗号鍵、認証鍵や暗号化アルゴリズムの方法を記述したsecurity policy (SP)を記述し、送信側受信側で、setkeyコマンドでそのSPを設定する。

- 受信側でtcpdumpで監視

- 送信側でping6コマンドを発行

- もしもIPsecが動作していれば、ダンプされるパケットにはicmヘッダがなく、単にESPという暗号化ヘッダの文言だけが表示される。

II-19-3. PKIの役割、仕組みと重要性

暗号化を運用するための基盤を提供するPublic Key Infrastructure (PKI)の目的や仕組み、役割、適用分野などを解説する。PKIを適用する分野や実際の運用状況、代表的なPKIの種類や特徴に関しても言及する。

【学習の要点】

* PKIはユーザ同士の本人認証を、事前の直接的なコンタクトなしに、実現するコンピュータシステム基盤である。

* PKIは公開鍵暗号方式を用いて、本人認証を行う仕組みであり、PKIの要素は証明書・認証局・リポジトリである。

* PKIの適用分野はe-commerce、ドキュメントのリーガルドキュメント化、原本証明、公的機関への入札等の本人証明が必要なすべての分野に渡る。

* PKIの運用状況は、WebにおいてはSSL、メールの暗号化・署名にS/MIME、PDFなどの電子文書の署名、スマートカードの本人認証、電子マネーの本人認証、無線LANの認証等がある。

* 代表的なPKIの種類について、もっとも数が多いものはWindows Serverに組み込まれたPKIであり、OSSではOpenCA、 EJBCA、商用ではEntrust社、RSASecurity社など多数存在する。

図II-19-3. PKIの仕組みと流れ

 

【解説】

1) PKIとは

* PKIはユーザ同士の本人認証を、事前の直接的なコンタクトなしに、実現するコンピュータシステム基盤である。コンタクトなしに認証を実現するためには、信頼できる第三者機関(TTP: Trusted Third Party)が信頼関係を確立するための重要な責をもっている。

* PKIは公開鍵暗号方式を用いて、本人認証を行う仕組みであり、PKIモデルの要素は次の通りである。

- 認証局(CA: Certification Authority)
秘密鍵と公開鍵の鍵ペアの所持者に対して公開鍵証明書を発行する機関である。CAが証明書を発行するさいにはRAの審査が終了していることが必要である。CAは証明書を発行するさいに、自分自身の鍵をもちいて、所持者の証明書に署名をして、リポジトリに登録する。これをもってCAが所持者に信頼を与えたとする。

- 登録局(RA: Registration Authority)
公開鍵証明書を発行するために資格審査を行う要素である。

- リポジトリ
公開鍵証明書を保管、開示するための手段である。

- 公開鍵証明書
公開鍵ペアの所持者であることを証明した情報である。CAにより署名がされている。

- 失効リスト(CRL: Certificate Revocation List)
有効期限切れや資格喪失等により証明できない証明書一覧を記述したリストである。CRLはCAにより署名される。

- 証明書有効性検証機関(VA: Validation Authority)
公開鍵証明書が有効であるかどうかを検証する要素である。信頼されたCAにより署名が行われていること、CRLに載っていないこと、そして有効期限内であることの検証が行われる。

- 証明書利用者
秘密鍵の所有者で、公開鍵証明書を利用する人やプログラムである。

2) PKIの適用

* PKIの適用分野はe-commerce、ドキュメントのリーガルドキュメント化、原本証明、公的機関への入札等の本人証明が必要なすべての分野に渡る。

* PKIの運用状況は、WebにおいてはSSL、メールの暗号化・署名にS/MIME、PDFなどの電子文書の署名、スマートカードの本人認証、電子マネーの本人認証、無線LANの認証等がある。

* 代表的なPKIの種類について、もっとも数が多いものはWindows Serverに組み込まれたPKIであり、OSSではOpenCA、 EJBCA、商用ではEntrust社、RSASecurity社など多数存在する。

3) PKIの規格

* ITU-T X.509

* IETF PKIX

* PKCS標準

II-19-4. CA局の仕組みとその機能

電子証明書に電子署名(Digital Signature)を行う第三者機関であるCertification Authority (CA)局の役割や目的を説明し、CA局の仕組みやCA局が提供する機能、CA局を構成するソフトウェア、CA局による暗号化の手順などについて解説する。

【学習の要点】

* CA局は公開鍵証明書および失効リストを発行し、他のCA局の信頼性を担保する役割を担っている。

* CA局の種類は、Public CAとPrivate CAの二種類がある。

* CA局の機能は、証明書の作成、証明書の登録・管理、CRLの発行、信頼モデルに基づいた信頼の構築である。

* CA局を構成するソフトウェアは、PKIを構築するために利用するソフトウェアである。例えばOpenSSLやWindows ServerのCA機能が利用される。

* CA局における暗号化手法は、公開鍵暗号化標準(PKCS)沿った暗号化が用いられる。

 

図II-19-4. CA局の役割とその機能

 

【解説】

1) CA局の役割と種類

* CA局はPKIで利用される公開鍵証明書の信頼性を保証する役割を担っている。また、他のCA局と相互認証を行うことにより、PKIの信頼性基盤を構築する礎となる。

* CA局の種類は次の二つである

- Public CA:第三者により発行される証明書で本人性を証明する。一般に広く利用される。

- Private CA:組織内や限られた範囲で利用される。

2) CA局の機能と暗号化の手順

* CA局は、PKIの基盤に則り公開鍵証明書を発行し、第三者として本人性を保証する仕組みを提供する。

* CA局の暗号化手順は下記のとおりである。

- 利用者の公開鍵に対して、CA局の秘密鍵を用いて電子署名を行い、これを公開鍵証明書として発行する。

- 発行した公開鍵証明書はリポジトリに登録され、利用者が証明書を受けることができるようにする。

* CA局の公開鍵は、公開鍵証明書の検証のために公開される。

* 公開鍵証明書の失効したリスト(CRL)を発行する。

* 信頼モデルに基づいて他のCAと信頼関係を取り結ぶ。

* CA局の秘密鍵は、PKIの信頼性基盤を形づくる上で最重要の要素であるために、厳重に保管されなければならない。

3) CA局を構成するソフトウェア
広く利用されているCA局を構成するソフトウェアは、オープンソースソフトウェアではOpenSSL、企業のイントラネットではWindows ServerのCA機能である。これ以外にも商用のソフトウェアが各ベンダから発売されている。

4) CA局における暗号化手法

* CA局では暗号化手法として、米国RSA社の提唱するPKIを実現するための技術仕様のグループであるPKCS(Public Key Cryptography Standards)に実質的に準拠しているといえる。

* 現在、PKCS #1からPKCS#15までが策定されている。

* PKCS#1など、IETF(Internet Engineering Taskforce)のRFCといった標準技術団体に採用されているものもある。

II-19-5. CA局の運用

CA局の運用環境やCA局の運用に必要な事項について解説する。また電子証明書の発行許可を与えるRegistration Authority (RA局、登録局)や、電子署名の有効性を確認するValidation Authority (VA局、検証局)、実際に電子証明書の発行を行うIssuing Authority (IA局、発行局)といった違いを説明する。

【学習の要点】

* CA局の運用は、認証局運用規定(CPS: Certificate Practice Statements)として策定される。CPSには、CA局の運用に関わる情報や証明書のライフサイクル等の規定が必要である。

* RA局が発行許可を与えた電子証明書の発行はIA局が行う。VA局はその有効性を保証する。

* 信頼性の担保という観点から、CAによって発行された公開鍵証明書にはライフサイクルという考え方をすることが重要である。ライフサイクルには証明書の発行からはじまり、失効、そして再発行に至るまでの証明書の各状態とCA局の関わりが決められなければならない。

図II-19-5. 公開鍵のライフサイクル

 

【解説】

1) CA局の運用
CA局の運用は、認証局運用規定(CPS: Certificate Practice Statements)として策定され、CA運用の信頼性を高めるために利用される。CPSには以下の項目が必要である。

* CA局の義務と責務、資産の責任、解釈と実行、料金、公開とリポジトリ、準拠するべき監査、機密に関するポリシー、知的財産権に関する情報。

* CAやRAに関して適用される認証手順要件。

* CA, CA証明書、RA、利用者に関する運用要件。

* 物理的な手続き、スタッフのセキュリティに関しての制御要件。

* CA局の暗号鍵、リポジトリに関する保護要件。

* 証明書とCRLのフォーマット要件。

* CPS自体の仕様書の管理要件。

2) RA局、VA局、IA局

* RA局は、申請に基づき電子証明書の発行許可を与える。

* VA局は、CA局とは別に電子証明書の有効性を保証する役割を担う。

* IA局は、RA局の許可に基づき電子証明書を発行する。

* 独自の基準で電子証明書を発行したい組織向けに各局の運営を支援するサービスが多くのベンダから提供されている。

3) 公開鍵証明書のライフサイクル
信頼性の担保という観点から、CA局によって発行された証明書にはライフサイクルという考え方をすることが重要である。

* 鍵ペア生成:公開鍵と秘密鍵のペアの生成。利用者であるエンドエンティティで行う場合もある。

* 証明書発行:RA局の審査後に行う。有効期限を含める。

* 証明書配付:安全な手段で証明書を配布する。

* 証明書開示:リポジトリへ利用者の証明書を開示する。

* 証明書活性化:利用者により証明書を活性化する。配布時点で活性化する運用もある。

* 証明書利用

* 証明書失効:秘密鍵の信頼性の喪失、CA秘密鍵の信頼性の喪失等により、有効期限前に証明書を失効させること。

* 有効期限切れ:証明書に記述された有効期限を超過すると証明書は失効する。

* 再発行・更新:失効した証明書を新たに発行すること。有効期限切れの場合は鍵はそのままで、期限だけを書き換えて更新する場合もある。

II-19-6. BtoC型の認証構造

BtoC型の認証構造を構築し、PKIの仕組みを検証する。CA局を構築するソフトウェアによりCA局を作成し、サーバに対するサーバ証明書とクライアントに対するクライアント証明書発行の動作や仕組みについて解説する。

【学習の要点】

* BtoC型の認証構造は、ルート証明書をクライアント側にインポートすることを期待できないモデルであり、クライアントソフトウェアにプリインストールされたルート証明書を利用する。

* BtoC型の認証構造の信頼モデルの根拠は、PKIを利用するアプリケーションのメーカーが選定する商用ルートCAの基準にある。

* BtoC型の認証構造の典型的な例は、WWWで頻繁に利用されるSSL通信である。

図II-19-6. BtoC型の認証構造

 

【解説】

1) BtoC型認証構造

* BtoC型の認証構造は、ルート証明書をクライアント側にインポートすることを期待できないモデルであり、クライアントソフトウェアにプリインストールされたルート証明書を利用する。

* サーバ側は一般的には商用のルート証明サービスを利用し、サーバ証明書を商用の証明書サービスに発行依頼をするか、自局のCA局を商用のトラスティッドツリーに組み込むサービスを利用するかのいずれかの手段をとる。

* クライアント側は商用のルート証明書をプリインストールされている。その商用ルートCAの信頼性モデルに基づいてサーバのサーバ証明書の認証検証を行う。

* 商用のルートCAとしてベリサイン、グローバルトラスト、クロストラスト等会社があり、それぞれの会社が信頼できる第三者機関として、サーバの運営者を審査し、サーバ証明書を発行する。

2) BtoC型の信頼モデル
BtoC型の信頼モデルは一般には次のような形をとる。

* 商用のルートCAはお互いの信頼性を相互認証している。

* 商用ルートCAからサーバ証明書が発行される。

* クライアントはサーバ証明書の検証を、プリインストールされた商用ルートCAの証明書を利用する。

* プリインストールされた商用ルート証明書を利用するということは、クライアント側の信頼の根拠は、PKIを利用するアプリケーションのメーカーが選定する商用ルートCAの基準にあるということである。

3) SSL
BtoC型の認証構造の典型的な例は、WWWで頻繁に利用されるSSL通信である。SSL通信と特徴は次の通りである。

* 相手認証および鍵交換には公開鍵暗号方式を利用するが、メッセージ認証にはマスターシークレットキーを利用した共通鍵暗号を利用して高速化を実現している。

* サーバ・クライアント間のハンドシェイクプロトコルをもち、お互いの証明書を交換してメッセージ認証のマスターシークレットキーを生成する。

* レコード層とそれ以外の二層に分割し、レコード層をハンドシェイクプロトコルから生成されたマスターシークレットキーを用いて暗号化し、メッセージ認証とする。

II-19-7. BtoB型の認証構造

BtoB型の認証構造を構築し、PKIの仕組みを検証する。具体的な手順として、相互認証する相手認証局に対して相互認証証明書を相互に発行することで、サーバ間の相互認証を行う仕組みについて解説する。

【学習の要点】

* BtoB型の認証構造は、相互認証モデルと呼ばれる認証構造をもつ。

* 相互認証はお互いのCA局について相互認証証明書(X-Cert)を発行して、信頼モデルを構築する。

* 相互認証を行うときに重要なのは、利用者が安全に信頼ポイントまでの認証パスを構築することである。

図II-19-7. BtoB型の認証構造

 

【解説】

1) BtoB型の認証構造
BtoB型の認証構造は相互認証モデルと呼ばれる認証構造をもつ。

* 相互認証には大きく分けて次の二種類がある。

- 階層型
相互証明書の発行方向は一方向である。階層型相互認証の下階層に位置するCAを中間CAと呼ぶことがある。

- 並列型
相互証明書の発行方向は双方向である。

* 並列型相互認証は認証ドメインの役割に応じて更に次の二種類の構造に分けられる。

- メッシュ型ドメイン

- ブリッジ型ドメイン

* 相互認証において発行される証明書を相互証明書という。

* 相互認証を行うためには、当該の二つのCAが共通に信頼できる認証ポイントが必要であるか、証明書要求の発信元を確認するなんらかの手段である。

2) 相互証明書(X-Cert)

* 相互証明書は同一認証ドメインであるかどうかによって次の二種類に分かれる。

- ドメイン間相互証明書

- ドメイン内相互証明書

* 各CAが持つのは相手が署名した相互証明書と自己署名証明書である。

* 相互証明書のsubjectには認証されたCAの名前が入り、isuuerには認証したCAの名前が入る。

3) 認証パスの構築とポリシーの検証
相互認証を行うときに重要なのは、利用者が安全に信頼ポイントまでの認証パスを構築することである。

* 認証パスを構築するには、鍵や証明書のライフサイクルが万全なCAを信頼ポイントとしなければならない。

* CA間の相互認証においては、各CAポリシー同士のマッピングが十分であることが必要である。このポリシーマッピングが各CA間で同等に行われるかどうかという検証が、ポリシー検証である。

* ポリシーマッピングの状況は、CA証明書のPolicyMapping拡張領域に記述される。

II-19-8. 電子証明書の管理と発行

電子証明書を利用する際に必要となる情報の収集方法や、発行した電子証明書の配送方法、電子証明書の活用方法など、電子証明書の発行とその管理に関する様々な項目について説明する。

【学習の要点】

* 電子証明書の利用にあたっては、まずセキュリティポリシーの策定から取り組み、セキュリティ要件を定義する必要がある。

* セキュリティポリシーは情報システムのセキュリティに関するすべての人、組織、建屋、機器、ソフトウェア、ネットワークの、セキュリティとしてあるべき姿を記述する。ただし、物理環境・組織の制約、運用及びコストの制約、そしてシステム要件のバランスをとる必要がある。

* セキュリティ要件はセキュリティポリシーに沿って具体的なセキュリティ要件を定義するが、信頼が喪失されたときの損害のおおきさに基づいて策定されるべきである。

図II-19-8. セキュリティポリシーとセキュリティ要件

 

【解説】

1) セキュリティポリシーとは

* 情報システムのセキュリティを保つために必要な文書化された基本方針である。

* 具体的な行動やシステムの個別設定を直接記述するものでない場合が多い。

* 情報システムのセキュリティに関するすべての人、組織、建屋、機器、ソフトウェア、ネットワークの、セキュリティとしてあるべき姿を記述する。

* ISO17799の国際標準に沿うことが多い。

- セキュリティとしての組織のあり方

- 資産の分類と管理

- スタッフのセキュリティ規範

- 物理的および環境的要因のセキュリティ基準

- 通信および運用管理に関する方針

* 実際にセキュリティポリシーを作成するときは、物理環境・組織の制約、運用及びコストの制約、そしてシステム要件のバランスをとりながら、個別のシステムに合致させる必要がある。

2) セキュリティ要件
セキュリティ要件はセキュリティポリシーに沿って具体的な要件を定義するものであり、以下の項目を含む。

* アプリケーションと選定の検討

* 鍵用途の検討

* public CAを利用するか、private CAを利用するか。

- 運用及び技術的要件の定義

- 公開鍵証明書のライフサイクルの明示と安全な鍵の配送方法

- CA秘密鍵の管理運用

- CA局を設置する物理環境の設計

- 証明書の設計

- CRLの設計

- リポジトリの設計

* CA局を運用する組織と役割の検討

* セキュリティ要件には、日本電子商取引組合(ECOM)がガイドラインとして提示している、次の三つのレベルがある。

- 低レベル:暗号電子メールなどをイントラネット内で構築するレベル

- 中レベル:比較的少額の取引が行われる環境に該当するレベル

- 高レベル:組織間取引において高額な取引が行われる環境に該当するレベル

* セキュリティ要件は、信頼が喪失されたときの損害の大きさに基づいて策定されるべきである。

3) 電子証明書の活用方法

* BtoCでは、e-commerceなどでのフォーム入力内容の暗号化がある。

* BtoBでは、原本証明、公的機関への入札等の本人証明が必要な分野で利用されている。

II-19-9. ユビキタスネットワークの暗号化

オープンソースソフトウェアの新しい活用基盤である近傍無線技術やユビキタスネットワーク等の新しいネットワーク環境における暗号化の位置付けや意義、実装の仕様、課題、役割、必然性、メリットやデメリットについて説明する。

【学習の要点】

* 近傍無線技術の実用例としては、無線LANやBluetooth、ユビキタスネットワークの例としては非接触スマートカードやRFIDなどがあり、オープンソースソフトウェアでも利用されている。

* 共通の特徴として無線であることから、利用者の利便性が高いといえるが、意図しない他社の傍受の危険性も高く、常にセキュリティの強化が求められている。

* 特定のベンダによる技術に依存している場合や電波を利用することによる法制面での規制も配慮する必要がある。

図II-19-9. ユビキタスネットワークにおける暗号化の例

 

【解説】

1) 近傍無線技術・ユビキタスネットワークの暗号化の例と課題

* 近傍無線技術:無線LAN

- 無線LAN技術においてセキュリティ上の問題点は3つある。アクセスポイントが発見されやすい、通信データが傍受されやすい、関係ないユーザに使われやすい、という点である。特に二点目のデータの漏洩に対して、暗号化技術が適用される。

- 無線LANにおける暗号化規格として、業界団体であるWi-Fi Allianceが2004年9月に発表したWPA2がある。

- 2002年10月に発表されたWPAに比べ、改良版のWPA2では強力な暗号化方式であるAESをベースにした、CCMPと呼ばれるプロトコルを使用している。なお、WPAはIEEE 802.11iが策定される以前にWi-Fi Allianceによって作成されたので準拠していなかったが、WPA2はIEEE 802.11iを準拠している。

- 2006年3月より、WPA2をサポートすることがWi-Fi認定ロゴを製品に添付する条件になった。

* ユビキタスネットワーク:FeliCa

- FeliCaとはSONYが開発した非接触ICカード技術で、現在日本では最も普及している。

- リーダ/ライタによる処理は、ICカードの検出、相互認証、データの読み書きという順序で行われ、FeliCaでは、相互認証にはトリプルDESを使用し、通信データの暗号化にはDESを使用している。

- 特に通信データの暗号化鍵は、相互認証時に乱数を生成させ、それを利用することで、動的に鍵は生成し、「なりすまし」を避けている。

- 共通鍵暗号化方式を使用する理由としては、ラッシュ時におけるSuicaの利用に見られるように、高速処理が求められるという点が挙げられるが、より安全性が高い暗号化方式として公開鍵方式が挙げられるが、一般的に処理に時間がかかってしまうという欠点がある。

2) メリットとデメリット

* メリットとして、無線であることから利便性が高いことが上げられる。

* デメリットとしては、メリットの裏返しとなるが無線であるが故に意図しない他者による傍受の危険性にさらされている点があげられる。このため常に通信の暗号化の強化が求められている。

3) オープンソースソフトウェアの活用と制約

* 近傍無線技術では、クライアント用に無線LANやBluetoothのLinuxスタックであるBlueZなどが提供され利用されている。

* ユビキタスネットワークにおいては、OSやミドルウェアなどの基盤としてオープンソースソフトウェアが利用されている。

* 暗号化の実現にあたって、特定のハードウェアやソフトウェアに依存する仕様の場合には、利用したいオープンソースソフトウェアに対応したドライバやSDKの存在が必須なため制約となる場合がある。

II-19-10. IPv6における暗号化

オープンソースソフトウェアのもうひとつの新しい活用基盤であるIPv6、その新しいネットワーク環境における暗号化の位置付けや意義、実装の仕様、課題、役割、必然性、メリットやデメリットについて説明する。

【学習の要点】

* IPv6では標準的なプロトコル仕様として、暗号化を含むセキュリティ機能をIPsecとして組み込んでいる。

* エンドツーエンドのセキュリティを確保できる点が、IPv6のもっともメリットがある点である。

* IPsecを利用する場合、通信経路でアドレスを変更するNATにより、無効化されるので注意する必要がある。

図II-19-10. NATによるIPsecの無効化

 

【解説】

1) IPv6におけるIPsecとはIPパケットの安全性と信頼性を高めるプロトコルである。

* IPv6においてIPsecは標準で実装される。それに対して、IPv4においては標準ではない。

- IPv4においてはIPアドレスが不足しているため、一般にはNATルーターにおいてプライベートアドレスとグローバルアドレスの変換が行われている。しかし、このように通信経路でアドレス変換が行われてしまうと、認証ヘッダが食い違いIPsecを使用できない。

* IPsecでは安全性を確保するために暗号化機能を持つ。また信頼性を確保するために、データが改竄されていないかを調べる認証機能を持つ。これらの機能はそれぞれ暗号化ヘッダと認証ヘッダ (AH)と呼ばれる個別の拡張ヘッダを使用する。

- 暗号化ヘッダのアルゴリズムとして、対称型暗号に基づいた鍵付きメッセージ認証コードであるDESやトリプルDESが使用される。

- 認証ヘッダのアルゴリズムとして、一方向ハッシュ関数であるSHA-1やMD5が使用される。

2) IPv6におけるセキュリティ上の問題について

* IPv6におけるIPsecは暗号化に使われる鍵の交換方法は規定されていない。そのため、鍵配送には手作業かあるいは自動になる。最近では、IPv6用の集中証明書サーバとして、IKEv2プロトコルをサポートするサーバによって簡略化された。

* エンドツーエンドのIPsecはIPv6の大きな利点である。しかし、そのためにエンドポイント間に置かれた機器が、暗号化されたパケットを復元して検査することが不可能になってしまう。もし、すべての暗号鍵を検査のために集中管理させてしまうと、今度はそこにクラッカーが侵入されるとすべての暗号鍵が盗まれてしまうという脆弱点が出来てしまう。これに対しては、中央のサーバに侵入検知パターンなどのデータベースを持たせ、クライアントは常時それを参考にしてパケットをチェックするという手段が提案されている。

* すべてのベンダによるIPsecにおけるESPの実装が守秘性機能をサポートしているとは限らない。IPv6の実装は歴史が浅いため、IPv6ネットワークのセキュリティ監査ツールがまだなく、実装の中には、まだ十分なテストを経ていないコードも含まれている。

* 従来のIPv4ネットワークにおいては、境界にファイアウォールを設置し、NATが使用されるセキュリティモデルが使用されてきた。しかし、IPv6ネットワークではエンドツーエンドの透過性を確保しつつネットワーク全体のセキュリティを高める必要がある。ネットワーク規模に応じた二つの分散型セキュリティモデルが、この目的に対し挙げられる。

- ファイアウォールをエンドポイントに分散したモデルでは、セキュリティ管理サーバがネットワーク上のエンドポイントを認証し、それらにファイアウォールポリシーを配布する。このポリシーの中にはIPsecの鍵なども含まれる。つまり、エンドポイント自身が自分のセキュリティを確保する。

- ハイブリッド型の分散ファイアウォールモデルでは、同様に管理サーバがエンドポイントを認証し、ポリシーを配布する。しかし、サーバはエンドポイントそれぞれにセキュリティレベルを決定し、それに基づいてポリシーを決定する。この場合、簡単なアクセス制御以上の複雑な制御は各エンドポイントで行われる。