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