この章では、Oracle Advanced Securityの概要、対象となるセキュリティ上の問題の要約、およびその機能について説明します。これらの機能は、Oracle Database、Oracle Application Server、Oracle Identity Managementインフラストラクチャなど、Oracle Net Servicesとインタフェースするデータベースおよび関連製品で使用できます。
この章の内容は次のとおりです。
効率を高め、コストを削減するために、企業はビジネス・プロセスを自動化する戦略を採用します。そのような戦略の1つに、より多くのビジネスをWeb上で行うことがありますが、それにはコンピュータ処理能力を高める必要があり、ITコストの増加につながります。ITコストの増加に対応して、複数の安価なコンピュータが1つの強力なシステムとして機能するエンタープライズ・グリッド・コンピューティング・アーキテクチャを検討する企業が増えています。このような戦略によって収益は向上しますが、保管中および移動中のデータの保護と、増加し続けるユーザーIDの管理に関連するリスクも発生します。
この項では、今日のエンタープライズ・コンピューティング環境におけるセキュリティの問題について次のトピックで説明します。
グリッド・コンピューティングは、数多くのサーバーとストレージを調整して、単一の大規模コンピュータとして動作させるコンピューティング・アーキテクチャです。ビジネス・ニーズの変化に応じて安価な既製のコンポーネントをグリッドに追加できるため、柔軟性、コスト削減およびIT投資保護が実現されます。グリッド・コンピューティング環境には大きな利点がありますが、コンピューティング・リソースが分散され、異機種混合である場合も多いため、固有のセキュリティ要件があります。次の項では、これらの要件について説明します。
分散環境のセキュリティ要件
エンタープライズ・グリッド・コンピューティングは、分散されたビジネス・コンピューティング・リソースをプールし、クラスタ化されたサーバーとストレージの能力を利用してコスト効率を高めます。分散環境では安全なネットワーク接続が必要です。グリッド環境でさらに重要なのは、対象となるユーザーとそのユーザーに許可されることの統一された定義が必要であることです。そのような統一された定義がないと、管理者は、従業員、顧客およびパートナの情報を保護するために、様々なソフトウェア・アプリケーションで各ユーザーに対する認可の割当て、管理および取消しを頻繁に行う必要があります。これには時間を要するため、コストが大幅に増加します。その結果、グリッド・コンピューティングによって得られるコスト削減は実現されません。
異機種環境のセキュリティ要件
グリッド・コンピューティング環境はビジネス・ニーズの変化に応じて拡大する場合が多いため、コンピューティング・リソースが長期にわたって追加され、多様なハードウェアとソフトウェアが集まることになります。このような異機種環境では、業界標準に準拠した様々なタイプの認証メカニズムのサポートが必要です。業界標準に厳密に準拠していないと、異機種コンポーネントの統合にはコストと時間がかかります。繰り返しになりますが、適切なインフラストラクチャが存在しないと、グリッド・コンピューティングの利点は失われます。
Oracleデータベースは、インターネット上の大規模なWebサイトや人気の高いWebサイトの原動力となっています。世界中の組織が、Oracle DatabaseとOracle Net Servicesをベースとする分散データベースおよびクライアント/サーバー・アプリケーションを記録的な数でデプロイしています。分散コンピューティングがこのように急増することで、組織がコンピュータに格納する情報量も増加しています。従業員レコードや財務レコード、顧客からの注文、製品情報およびその他の機密データが、書類整理棚からファイル構造へと移されています。Web上にある機密情報の量の増加により、損なわれる可能性があるデータ価値も増加しました。
分散異機種環境でのデータ量の増加により、ユーザーは次に示すような様々なセキュリティの脅威に直面しています。
インターネットやWide Area Network環境では、公衆通信事業者とプライベート・ネットワークの両方が、安全性の低い陸上回線、攻撃を受けやすいマイクロ波や衛星リンク、または多数のサーバーを経由してネットワークの一部をルーティングしており、貴重なデータが利害関係のある第三者にさらされています。建物やキャンパス内のローカル・エリア・ネットワーク環境では、物理的な配線にアクセスできる内部の者が自分用ではないデータを見たり、ネットワークSnifferをインストールしてネットワーク・トラフィックを傍受する可能性があります。
分散環境では、ユーザーが識別情報を偽造して機密情報にアクセスできる可能性が高くなります。クライアントBからサーバーAに接続しているユーザーが本人であるということは、どうすれば確認できるでしょうか。
さらに、分散環境では、犯罪者が接続を乗っ取る可能性があります。クライアントBとサーバーAが本当にクライアントBとサーバーAであるということは、どうすれば確認できるでしょうか。サーバーAの人事システムからサーバーBの給与支払いシステムに送られるトランザクションが移動中に傍受され、サーバーBとして偽装した端末に再ルーティングされる可能性があります。
大規模なシステムでは、通常、ユーザーは使用する様々なアプリケーションやサービスごとに複数のパスワードを記憶する必要があります。たとえば、開発者はワークステーション上の開発アプリケーションにアクセスし、電子メールを送信するためにPCにアクセスし、テスト、不具合の報告および構成管理のために複数のコンピュータまたはイントラネット・サイトにアクセスする場合があります。
ユーザーは通常、複数のパスワードを管理するという問題を次のいくつかの方法で処理しています。
名前、架空の人物、辞書にある言葉など、推測しやすいパスワードを選択する場合があります。これらのパスワードはすべて、辞書攻撃に対して脆弱です。
すべてのシステムまたはWebサイトで同じになるように、パスワードを標準化する場合もあります。その結果、パスワードが見破られた場合に影響を受ける可能性のある範囲が拡大します。また、知られたパスワードから容易に導き出せる、類似したパスワードを使用することもあります。
複雑なパスワードを使用するユーザーは、それを攻撃者が簡単に見つけられる場所に書き留める場合があります。また、単純に忘れてしまう場合があり、コストのかかる管理とサポートの労力が必要となります。
これらの方法のすべてにおいて、パスワードの機密性とサービスの可用性が損なわれます。さらに、複数のユーザー・アカウントとパスワードの管理は複雑で、時間もコストもかかります。
エンタープライズ・コンピューティングにおけるセキュリティの問題を解決するために、Oracle Advanced Securityは、業界標準に基づいたデータの機密、整合性、認証、シングル・サインオンおよびアクセス認可を様々な方法で提供します。たとえば、データの機密のために、Oracle Net固有の暗号化またはSecure Sockets Layer (SSL)を構成できます。また、Oracle Advanced Securityでは、Kerberos、スマートカード、デジタル証明書など、複数の厳密認証方式も選択できます。
Oracle Advanced Securityでは、次のセキュリティ機能をサポートしています。
データベースに格納されたり、エンタープライズ・ネットワークやインターネット上を移動する機密情報は、暗号化アルゴリズムによって保護できます。暗号化アルゴリズムによって、情報は復号化鍵がないと解読できない形式に変換されます。
図1-1は、ネットワークで送信されるトランザクションのセキュリティを確保するために、暗号化がどのように機能するかを示しています。たとえば、管理者がボーナスを承認した場合、このデータはネットワークで送信されるときに、傍受されないように暗号化される必要があります。クライアント、データベースおよびアプリケーション・サーバー間のすべての通信が暗号化されると、管理者がボーナスの金額をデータベースに送信したときに、このデータは保護されます。
このセクションのトピックは次のとおりです:
Oracle Advanced Securityは、ネットワーク・データ送信のプライバシを保護するために、次の暗号化アルゴリズムを提供しています。
ネットワーク暗号化アルゴリズムの選択はユーザー構成オプションであり、様々なタイプのデータ転送に様々なレベルのセキュリティとパフォーマンスが提供されます。
Oracle Advanced Securityの以前のバージョンには、米国内版、アップグレード版および輸出版の3つのエディションがあり、それぞれ異なる鍵の長さが使用されていました。Oracle Advanced Security 11g リリース2 (11.2)には、米国内版エディションでのみ利用可能であった暗号化アルゴリズムと鍵の長さを補完したものが組み込まれています。以前のバージョンの製品をデプロイする場合は、該当する製品リリースの米国内版エディションを入手できます。
注意: 米国政府は、暗号化製品に対する輸出ガイドラインを緩和しました。これにより、オラクル社は最も強力な暗号化機能を備えたOracle Advanced Securityをすべての顧客に出荷できます。 |
Oracle Advanced Securityは、Triple-DES暗号化(3DES)もサポートします。この暗号化では、メッセージ・データをDESアルゴリズムに3回渡すことによって暗号化します。3DESでは高度なメッセージ・セキュリティが提供されますが、パフォーマンスは低下します。低下の度合いは、暗号化を実行するプロセッサの速度によって異なります。通常、3DESでは、標準のDESアルゴリズムに比べてデータ・ブロックの暗号化に3倍の時間がかかります。
3DESには2つの鍵を使用するバージョンと3つの鍵を使用するバージョンがあり、それぞれ有効な鍵の長さは112ビットと168ビットです。どちらのバージョンも、外部暗号ブロック連鎖(CBC)モードで動作します。
米国商務省国立標準技術研究所(NIST)により、米国連邦情報処理標準(FIPS)刊行物197で承認されたAdvanced Encryption Standard (AES)は、DESにかわるものとして開発された暗号化アルゴリズム規格です。AESは、128、192および256ビットの長さの暗号鍵を使用して128ビットのデータ・ブロックを処理できる対称型ブロック暗号であり、それぞれAES-128、AES-192およびAES-256と呼ばれます。3つのバージョンはすべて外部CBCモードで動作します。
伝送時のデータ・パケットの整合性を確保するために、Oracle Advanced SecurityではSHA-1のハッシング・アルゴリズムを使用して暗号化の見地から安全なメッセージ・ダイジェストを生成し、それをネットワーク上で送信される各メッセージに含めることができます。
データ整合性アルゴリズムは、オーバーヘッドをほとんど追加せず、次の攻撃からデータを保護します。
データ変更
パケット削除
再生攻撃
注意: SHA-1は、以前にサポートされていたMD5よりも大きいメッセージ・ダイジェストを作成し、総当たり攻撃および反転攻撃に対処できます。 |
Oracle Advanced Securityリリース8.1.6は、米国連邦情報処理標準140-1 (FIPS)Level 2セキュリティ・レベルで検証されています。これにより、Oracle Advanced Securityが米国連邦政府の標準に準拠していることが独自に確認されています。
Oracle Database 10gに含まれるSSLの暗号ライブラリは、FIPS 140-2 Level 2セキュリティ・レベルで検証されています。FIPS 140-1およびFIPS 140-2関連の構成設定については、付録D「Oracle Advanced Security FIPS 140の設定」で説明されています。
認証はユーザーの識別情報を証明するために使用されます。分散環境では、ユーザーIDを認証することが必須であり、これを行わないとネットワーク・セキュリティの信頼性はほぼありません。パスワードは、認証で最も一般的な手段です。Oracle Advanced Securityでは、Oracle認証アダプタを使用して厳密な認証を行います。Oracle認証アダプタは、デジタル証明書を使用したSSLを含む様々なサード・パーティ認証サービスをサポートします。
図1-2は、サード・パーティの認証サーバーを使用するように構成されたOracleデータベース・インスタンスでのユーザー認証を示しています。ネットワークのすべてのメンバー(クライアントからサーバー、サーバーからサーバー、ユーザーからクライアントとサーバーの両方)を1箇所で集中的に認証する方法は、メンバーのIDを偽造するネットワーク・ノードの脅威に対処する効果的な方法の1つです。
この項の内容は次のとおりです。
集中化された認証では、シングル・サインオン(SSO)の利点もユーザーに提供されます。シングル・サインオンでは、ユーザーは1つのパスワードで複数のアカウントとアプリケーションにアクセスできます。ユーザーがログインする必要があるのは1回のみであり、ユーザー名とパスワードを再度入力しなくても、他の任意のサービスに自動的に接続できます。シングル・サインオンを使用すると、ユーザーは複数のパスワードを記憶したり管理する必要がなくなるため、複数のサービスへのログインに費やす時間を削減できます。
図1-3は、集中化されたネットワーク認証サービスの通常の動作を示しています。
集中化されたネットワーク認証プロセスは、次のように動作します。
ユーザー(クライアント)が認証サービスを要求し、トークンまたはパスワードなどの識別情報を入力します。
認証サーバーによりユーザーの識別情報が検証され、チケットまたは資格証明がクライアントに渡されます。チケットまたは資格証明には期限がある場合があります。
クライアントは、これらの資格証明をサービス要求(データベースへの接続など)と一緒にOracleサーバーに渡します。
サーバーは資格証明を認証サーバーに渡し、認証を行います。
認証サーバーは資格証明をチェックし、Oracleサーバーに通知します。
認証サーバーが資格証明を受け入れた場合、Oracleサーバーはユーザーを認証します。認証サーバーが資格証明を拒否した場合、認証は失敗し、サービス要求は拒否されます。
Oracle Advanced Securityは、業界で標準的な次の認証方式をサポートしています。
Secure Sockets Layer (デジタル証明書を使用)
Oracle Advanced SecurityはKerberosをサポートしており、Oracleユーザーにシングル・サインオンおよび集中化された認証の利点を提供します。Kerberosは、共有秘密を使用するサード・パーティの認証システムです。これは、サード・パーティがセキュアであることを保障し、シングル・サインオン機能、集中化されたパスワード・ストレージ、データベース・リンク認証、拡張されたPCセキュリティを提供します。 Kerberosは、Kerberos認証サーバーを使用して認証を行います。このアダプタの構成および使用の詳細は、第12章「Kerberos認証の構成」を参照してください。
注意: Kerberos用のOracle認証では、データベース・リンク認証(プロキシ認証とも呼ばれる)が提供されます。Kerberosは、エンタープライズ・ユーザー・セキュリティでサポートされている認証方式でもあります。 |
RADIUSは、最も広く知られている、リモートでの認証とアクセスを可能にするクライアント/サーバー・セキュリティ・プロトコルです。Oracle Advanced Securityは、この標準をクライアント/サーバー・ネットワーク環境で使用して、RADIUSプロトコルをサポートするあらゆる認証方式の使用を可能にします。RADIUSは、トークン・カードやスマート・カードなど、いろいろな認証メカニズムで使用できます。
RADIUS準拠のスマートカードは、クレジット・カードに似たハードウェア・デバイスであり、メモリーとプロセッサを備えています。クライアント・ワークステーションにあるスマートカード・リーダーで読み取られます。
トークン・カード(Secure IDまたはRADIUSに準拠)は、いくつかの異なるメカニズムによって使いやすくできます。一部のトークン・カードは、認証サービスと同期された1回かぎりのパスワードを動的に表示します。サーバーは、認証サービスにアクセスすることにより、トークン・カードによって提供されるパスワードを任意の時点で検証できます。トークン・カードにはキーパッドを持ち、チャレンジ・レスポンス・ベースで動作するものがあります。この場合、サーバーはユーザーがトークン・カードに入力するチャレンジ(番号)を提供します。トークン・カードはレスポンス(チャレンジから暗号的に導出される別の番号)を提供し、ユーザーはそれを入力してサーバーに送信します。
SecurIDトークンはRADIUSアダプタを介して使用できます。
Secure Sockets Layer(SSL)は、ネットワーク接続を保護するための業界標準プロトコルです。SSLは、認証、データの暗号化およびデータの整合性を提供します。
SSLプロトコルは、公開鍵インフラストラクチャ(PKI)の基盤です。認証のために、SSLはX.509v3標準に準拠したデジタル証明書と公開鍵/秘密鍵ペアを使用します。
Oracle Advanced SecurityのSSLは、任意のクライアントと任意のサーバー間の通信を保護するために使用できます。SSLは、サーバーのみ、クライアントのみ、またはクライアントとサーバーの両方に認証を提供するように構成できます。また、Oracle Advanced Securityでサポートされている他の認証方式(データベース・ユーザー名とパスワード、RADIUSおよびKerberos)と組み合せて、SSL機能を構成することもできます。
PKI実装をサポートするために、Oracle Advanced SecurityにはSSL以外に次の機能があります。
Oracleウォレット(PKI資格証明を格納できる)
Oracle Wallet Manager (Oracleウォレットを管理するために使用できる)
証明書失効リスト(CRL)による証明書の検証
ハードウェア・セキュリティ・モジュールのサポート
関連項目:
|
Oracle Advanced Securityは、高度なセキュリティ機能によってOracleサーバーまたはクライアントのインストールを補完します。図1-4は、Oracleネットワーク環境におけるOracle Advanced Securityのアーキテクチャを示しています。
図1-4 Oracleネットワーク環境におけるOracle Advanced Security
Oracle Advanced Securityでは、既存のOracleプロトコル・アダプタと同様のアダプタによって認証がサポートされます。図1-5に示すように、認証アダプタによってOracle Netインタフェースが統合され、既存のアプリケーションを変更しなくてもそれらのアプリケーションで新しい認証システムを透過的に利用できるようになります。
関連項目: Oracleネットワーク環境でのスタック通信の詳細は『Oracle Database Net Services管理者ガイド』を参照してください。 |
Oracle Advanced Security 11g リリース2 (11.2)は、Oracle Net 11g リリース2 (11.2)を必要とし、Oracle Database Enterprise Editionをサポートしています。表1-1は、その他のシステム要件を示しています。
注意: Oracle Advanced Securityは、Oracle Database Standard Editionでは使用できません。 |
表1-1 認証方式とシステム要件
認証方式 | システム要件 |
---|---|
|
|
|
|
|
|
Entrust/PKI |
|
Oracle Applicationsは、Oracle Advanced Securityの暗号化およびデータの整合性をサポートしています。ただし、Oracle Advanced Securityではデータを安全に送信するためにOracle Net Servicesが必要であるため、Microsoft Windowsで実行されるOracleの財務管理アプリケーション、人事管理アプリケーションおよび生産管理アプリケーションの一部では、Oracle Advanced Securityの外部認証機能はサポートされません。これらの製品のOracle Display Manager (ODM)を使用する部分では、Oracle Advanced Securityは利用されません。ODMではOracle Net Servicesが使用されないためです。