(57)【要約】【課題】ＨＴＴＰ要求に対する全ての処理に適用可能なＨＴＴＰ要求処理システムを提供すること。【解決手段】本発明のＨＴＴＰ要求処理システムは、利用者端末と、利用者端末にネットワークを介して接続されたＷｅｂサーバとを具備している。Ｗｅｂサーバは、ＨＴＴＰ要求受付部と、生成部とを具備している。利用者端末は、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）要求を送信する。ＨＴＴＰ要求受付部は、ＨＴＴＰ要求を受け付ける。生成部は、子プロセス又は子スレッドを生成し、ＨＴＴＰ要求に対する処理を子プロセス又は子スレッドに実行させて、その実行結果をＨＴＴＰ応答として利用者端末に送信する。【選択図】図２
2010204936.tif 000002
【特許請求の範囲】
【請求項１】
ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）要求を送信する利用者端末と、
前記利用者端末にネットワークを介して接続されたＷｅｂサーバと
を具備し、
前記Ｗｅｂサーバは、
前記ＨＴＴＰ要求を受け付けるＨＴＴＰ要求受付部と、
子プロセス又は子スレッドを生成し、前記ＨＴＴＰ要求に対する処理を前記子プロセス又は子スレッドに実行させて、その実行結果をＨＴＴＰ応答として前記利用者端末に送信する生成部と
を具備するＨＴＴＰ要求処理システム。
【請求項２】
前記ＨＴＴＰ要求はメタ情報を含み、
前記子プロセス又は子スレッドは、自己のセキュリティ属性に代えて、前記メタ情報に対応する対応セキュリティ属性を設定し、
前記対応セキュリティ属性が設定された前記子プロセス又は子スレッドは、前記ＨＴＴＰ要求に対する処理を実行し、その実行結果を前記ＨＴＴＰ応答として前記利用者端末に送信する
請求項１に記載のＨＴＴＰ要求処理システム。
【請求項３】
前記Ｗｅｂサーバは、
記憶装置と、
前記ＨＴＴＰ要求に含まれる前記メタ情報を前記記憶装置に格納するＨＴＴＰ要求解析部と
を更に具備し、
前記子プロセス又は子スレッドは、前記記憶装置に格納された前記メタ情報を読み出し、前記自己のセキュリティ属性に代えて、前記メタ情報に対応する前記対応セキュリティ属性を設定する
請求項２に記載のＨＴＴＰ要求処理システム。
【請求項４】
前記Ｗｅｂサーバは、
複数のメタ情報と複数のセキュリティ属性とが格納された対応表
を更に具備し、
前記子プロセス又は子スレッドは、前記対応表に格納された前記複数のセキュリティ属性の中から、前記メタ情報に対応する前記対応セキュリティ属性を選択し、前記自己のセキュリティ属性に代えて前記対応セキュリティ属性を設定する
請求項２又は３に記載のＨＴＴＰ要求処理システム。
【請求項５】
前記ＨＴＴＰ要求は、更に、静的コンテンツの参照やＷｅｂアプリケーションの実行を行うためのＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）を含み、
前記対応セキュリティ属性が設定された前記子プロセス又は子スレッドは、前記ＨＴＴＰ要求に基づいて前記静的コンテンツの参照や前記Ｗｅｂアプリケーションの実行を行い、その結果を前記ＨＴＴＰ応答として前記利用者端末に送信する
請求項２〜４のいずれかに記載のＨＴＴＰ要求処理システム。
【請求項６】
前記対応セキュリティ属性が設定された前記子プロセス又は子スレッドは、前記静的コンテンツの参照や前記Ｗｅｂアプリケーションの実行を行った結果としてデータ列を生成し、前記ＨＴＴＰ要求に対するメタ情報である応答メタ情報を前記データ列に付加して前記ＨＴＴＰ応答として前記利用者端末に送信する
請求項５に記載のＨＴＴＰ要求処理システム。
【請求項７】
請求項１〜６のいずれかに記載のＨＴＴＰ要求処理システムに使用されるＷｅｂサーバ。
【請求項８】
ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）要求を送信する利用者端末にネットワークを介して接続されたＷｅｂサーバを用いる方法であって、
（ａ）  前記利用者端末からの前記ＨＴＴＰ要求を受け付けるステップと、
（ｂ）  子プロセス又は子スレッドを生成するステップと、
（ｃ）  前記子プロセス又は子スレッドが前記ＨＴＴＰ要求に対する処理を実行するステップと、
（ｄ）  前記子プロセス又は子スレッドが前記ＨＴＴＰ要求の実行結果をＨＴＴＰ応答として前記利用者端末に送信するステップと
を具備するＨＴＴＰ要求処理方法。
【請求項９】
前記ＨＴＴＰ要求はメタ情報を含み、
（ｅ）  前記子プロセス又は子スレッドが、自己のセキュリティ属性に代えて、前記メタ情報に対応する対応セキュリティ属性を設定するステップ
を更に具備し、
前記（ｃ）のステップは、
前記対応セキュリティ属性が設定された前記子プロセス又は子スレッドが、前記ＨＴＴＰ要求に対する処理を実行し、
前記（ｄ）のステップは、
前記対応セキュリティ属性が設定された前記子プロセス又は子スレッドが、前記ＨＴＴＰ要求の実行結果を前記ＨＴＴＰ応答として前記利用者端末に送信する
請求項８に記載のＨＴＴＰ要求処理方法。
【請求項１０】
（ｆ）  前記ＨＴＴＰ要求に含まれる前記メタ情報を記憶装置に格納するステップと、
（ｇ）  前記子プロセス又は子スレッドが、前記記憶装置に格納された前記メタ情報を読み出し、前記（ｅ）のステップを実行するステップと
を更に具備する請求項９に記載のＨＴＴＰ要求処理方法。
【請求項１１】
前記（ｅ）のステップは、
（ｅ１）  前記子プロセス又は子スレッドが、複数のメタ情報と複数のセキュリティ属性とが格納された対応表を参照して、前記複数のセキュリティ属性の中から、前記メタ情報に対応する前記対応セキュリティ属性を選択するステップと、
（ｅ２）  前記子プロセス又は子スレッドが、前記自己のセキュリティ属性に代えて前記対応セキュリティ属性を設定するステップと
を含む請求項９又は１０に記載のＨＴＴＰ要求処理方法。
【請求項１２】
前記ＨＴＴＰ要求は、更に、静的コンテンツの参照やＷｅｂアプリケーションの実行を行うためのＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）を含み、
前記（ｃ）のステップは、
（ｃ１）  前記対応セキュリティ属性が設定された前記子プロセス又は子スレッドが、前記ＨＴＴＰ要求に基づいて前記静的コンテンツの参照や前記Ｗｅｂアプリケーションの実行を行うステップと、
（ｃ２）  前記対応セキュリティ属性が設定された前記子プロセス又は子スレッドが、前記静的コンテンツの参照や前記Ｗｅｂアプリケーションの実行を行った結果を前記ＨＴＴＰ応答として生成するステップと
を含む請求項９〜１１のいずれかに記載のＨＴＴＰ要求処理方法。
【請求項１３】
前記（ｃ２）のステップは、
（ｃ２−１）  前記対応セキュリティ属性が設定された前記子プロセス又は子スレッドが、前記静的コンテンツの参照や前記Ｗｅｂアプリケーションの実行を行った結果としてデータ列を生成するステップと、
（ｃ２−２）  前記対応セキュリティ属性が設定された前記子プロセス又は子スレッドが、前記ＨＴＴＰ要求に対するメタ情報である応答メタ情報を前記データ列に付加して前記ＨＴＴＰ応答として生成するステップと
を含む請求項１２に記載のＨＴＴＰ要求処理方法。
【請求項１４】
請求項８〜１３のいずれかに記載のＨＴＴＰ要求処理方法の各ステップをコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュアオペレーティングシステム（日本語では、Ｓｅｃｕｒｅ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）（英語では、Ｓｅｃｕｒｉｔｙ−ｆｏｃｕｓｅｄ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ又はＳｅｃｕｒｉｔｙ−ｅｖａｌｕａｔｅｄ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）（以下、オペレーティングシステムをＯＳと称する）上で動作するＷｅｂサーバと、そのＷｅｂサーバにＨＴＴＰ要求を行う利用者端末とを具備するＨＴＴＰ要求処理システムに関する。
【背景技術】
【０００２】
計算機の利用者がＯＳ管理下の資源（ファイル、ネットワーク等）にアクセスする際、利用者は自身の代理となって動作するプログラム（プロセス）に指示を与え、プロセスを通じて資源にアクセスする。
【０００３】
セキュリティ維持のために、ＯＳやセキュアＯＳはアクセス制御機能を有している。
【０００４】
セキュアＯＳが有する強制アクセス制御（Ｍａｎｄａｔｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ：ＭＡＣ）機能は、プロセスがＯＳ管理下の資源にアクセスを試みた際にこれを例外なく捕捉し、自身のセキュリティポリシーに基づいてこれの実行可否を判断する。
【０００５】
セキュリティポリシーとは『どのプロセスが、何の資源に、どのようにアクセスできるか／できないか』を記したルール集である。例えば『Ｗｅｂサーバは、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式ファイルを、読出すことができる』といった具合のルールが記述されている。
【０００６】
プロセスは二種類に大別することができる。利用者の代理として働くユーザプロセスと、利用者からのリクエスト（要求）を待機／実行するサーバプロセスである。
【０００７】
セキュアＯＳの強制アクセス制御機能は、プロセスに対してセキュリティ属性を付加し、これに基づいてプロセスを識別する。言い換えれば、セキュリティ属性とはセキュリティポリシーにおける『どのプロセスが』に相当する概念であり、強制アクセス制御機能は同一のセキュリティ属性に対して同一の結果（許可／拒否）を返す。
【０００８】
特別な操作を行わない限り、プロセスのセキュリティ属性は子プロセスへと継承される。利用者が計算機にログインして資源にアクセスする場合、利用者に応じたユーザプロセスのセキュリティ属性が設定され、それ以降、利用者によって起動されたプロセスがこれを継承する。
【０００９】
Ｗｅｂサービスを提供するのは、Ｗｅｂサーバプロセスである。Ｗｅｂサーバは、利用者からのＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）要求を待機し、受信したＨＴＴＰ要求に応じてＷｅｂアプリケーションの実行や静的コンテンツの返却、又はエラーを返す。
【００１０】
しかし、利用者からの要求に基づいてプロセスがシステムの資源にアクセスし、その結果を利用者に戻すという一連の流れは、論理的に同一であるにも関わらず、利用者が計算機にログインしてプロセスを実行した場合と、Ｗｅｂアプリケーションを介してプロセスを実行した場合では、強制アクセス制御の結果が異なる（同一の場合もある）。
【００１１】
これは、前者の場合は利用者に対応するセキュリティ属性がプロセスに関連付けられているが、後者の場合はＷｅｂサーバが全てのＨＴＴＰ要求を処理しているため、プロセスに対して個々の利用者に応じたセキュリティ属性を関連付けられないためである。
【００１２】
したがって、Ｗｅｂサーバは、全ての正当なＨＴＴＰ要求を処理するために、全ての利用者の権限を包含するセキュリティ属性の下でＷｅｂアプリケーションを実行し、セキュアＯＳの強制アクセス制御機能が正当な処理を妨げないようにする。
【００１３】
しかしながら、Ｗｅｂアプリケーション経由での資源のアクセスに対しては、Ｗｅｂアプリケーション自身が独自にアクセス制御を実施しなければならないため、以下に示すような課題がある。
【００１４】
第１に、網羅性の欠如が挙げられる。これは、Ｗｅｂアプリケーションのアクセス制御に漏れがあり、アクセス制御を回避して資源にアクセスされる可能性を排除できないからである。
【００１５】
第２に、一貫性の欠如が挙げられる。これは、Ｗｅｂアプリケーションが独自のルールに基づいてアクセス制御を行うために、セキュアＯＳのセキュリティポリシーと矛盾する可能性を排除できないからである。
【００１６】
特開２００５−２０９０６８号公報によると、Ｗｅｂサーバから起動されるＣＧＩプロセスに対し、利用者に応じたセキュリティ属性を関連付けることで上記の課題を解決している。
【００１７】
しかし、ＣＧＩとして実装されているのは既存のＷｅｂアプリケーションの一部でしかなく、静的コンテンツの返却やビルトインのスクリプトの実行に適用することは不可能である。
【００１８】
ＨＴＴＰ要求に対する全ての処理（例えば、全てのＷｅｂアプリケーションの実行、全ての静的コンテンツの参照）に適用可能なことが望まれる。
【００１９】
プロセスやアクセスに関する文献を紹介する。
【００２０】
特開２００５−２０９０６８号公報には、セキュリティサーバが記載されている。セキュリティサーバは、端末を利用するユーザを表すユーザ識別子とセキュリティラベルと対応させるためのユーザ対応表情報を格納するユーザ対応表情報格納手段と、ユーザがプロセスを起動するための要求を受け付ける受付手段と、受付手段が受け付けた要求に応じてユーザ識別子を取得するユーザ識別子取得手段と、ユーザ対応表情報に基づいてユーザ識別子取得手段が取得したユーザ識別子に対応したセキュリティラベルを決定するセキュリティラベル決定手段とを有している。セキュリティサーバは、セキュリティラベル決定手段によって決定されたセキュリティラベルをプロセスに付与し、付与したプロセスに対してアクセス制御を行う。
【００２１】
特表２００８−５１８３６３号公報には、コンピュータシステムが記載されている。コンピュータシステムは、中央処理装置（ＣＰＵ）と、チップセットとを備えている。中央処理装置（ＣＰＵ）は、関連する第１のスレッド識別（ＩＤ）を有する第１のスレッドと、関連する第２のスレッドＩＤを有する第２のスレッドとを有している。チップセットは、結合されて該ＣＰＵからアクセス要求を受け取り、アクセス要求に含まれているスレッドＩＤを調べて、どのスレッドがアクセスを要求しているかを判断する。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】特開２００５−２０９０６８号公報
【特許文献２】特表２００８−５１８３６３号公報
【発明の概要】
【発明が解決しようとする課題】
【００２３】
本発明の課題は、ＨＴＴＰ要求に対する全ての処理に適用可能なＨＴＴＰ要求処理システムを提供することにある。
【課題を解決するための手段】
【００２４】
本発明のＨＴＴＰ要求処理システムは、利用者端末と、利用者端末にネットワークを介して接続されたＷｅｂサーバとを具備している。Ｗｅｂサーバは、ＨＴＴＰ要求受付部と、生成部とを具備している。利用者端末は、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）要求を送信する。ＨＴＴＰ要求受付部は、ＨＴＴＰ要求を受け付ける。生成部は、子プロセス又は子スレッドを生成し、ＨＴＴＰ要求に対する処理を子プロセス又は子スレッドに実行させて、その実行結果をＨＴＴＰ応答として利用者端末に送信する。
【発明の効果】
【００２５】
本発明のＨＴＴＰ要求処理システムによれば、上述の構成・動作により、第一の効果として、ＨＴＴＰ要求に対する全ての処理（例えば、全てのＷｅｂアプリケーションの実行、全ての静的コンテンツの参照）に適用可能である。
【００２６】
本発明のＨＴＴＰ要求処理システムによれば、第二の効果として、アクセス制御の強制性・網羅性を担保できる。
【００２７】
本発明のＨＴＴＰ要求処理システムによれば、第三の効果として、アクセス制御の一貫性を担保できる。
【００２８】
本発明のＨＴＴＰ要求処理システムによれば、第四の効果として、攻撃者の権限昇格の可能性を排除する。
【図面の簡単な説明】
【００２９】
【図１】図１は、本発明の実施形態によるＨＴＴＰ要求処理システムの概念を示している。
【図２】図２は、図１のＷｅｂサーバ１の構成を示している。
【図３】図３は、図２のＷｅｂサーバ１の動作を示すフローチャートである。
【図４】図４は、図３の子スレッド等生成処理（ステップＳ３）を示すフローチャートである。
【図５】図５は、図１のＷｅｂサーバ１の他の構成を示している。
【発明を実施するための形態】
【００３０】
以下に添付図面を参照して、本発明の実施形態によるＨＴＴＰ要求処理システムについて詳細に説明する。
【００３１】
［発明の概念］
図１は、本発明の実施形態によるＨＴＴＰ要求処理システムの概念を示している。
【００３２】
本発明の実施形態によるＨＴＴＰ要求処理システムは、利用者端末２と、Ｗｅｂサーバ１とを具備している。Ｗｅｂサーバ１は、利用者端末２にネットワークを介して接続され、セキュアＯＳ上で動作する。利用者端末２は、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）要求５を送信する。
【００３３】
Ｗｅｂサーバ１は、ＨＴＴＰ要求５の処理に先立って子プロセス又は子スレッド（以下、子スレッド等と称する）を生成する。子スレッド等は、ＨＴＴＰ要求５の属性に関連付けられたセキュリティ属性を自分自身に設定する。
【００３４】
スレッドにセキュリティ属性を設定する場合、ＯＳがこの操作を許していなければならない。通常、ここで設定される（新しい）セキュリティ属性は、元のセキュリティ属性よりも縮退した権限であることが多い。
【００３５】
ＨＴＴＰ要求５の属性には、ＨＴＴＰ認証に基づくユーザ名、要求送信元のネットワークアドレス、要求を受信したネットワークデバイス等、子スレッド等に関連付けるセキュリティ属性を正しく識別することのできるあらゆる属性が含まれる。
【００３６】
個別のセキュリティ属性が設定された子スレッド等は、コンテンツハンドラを呼び出し、ＨＴＴＰ要求５に含まれるＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）に基づいて、静的コンテンツの返却、ビルトインスクリプトの実行、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）プログラムの実行などを行う。
【００３７】
コンテンツハンドラを呼び出した子スレッド等は、これらの処理の過程でファイルへのアクセスなど、セキュアＯＳの強制アクセス制御によるチェックを受けるが、この場合に検証されるのは、個別のセキュリティ属性を付与された子スレッド等の権限である。
【００３８】
子スレッド等は、コンテンツハンドラの実行後、速やかに終了する。子スレッド等を生成した親スレッド等は、子スレッド等が終了するのを待機する。子スレッド等の実行終了後、親スレッド等は次のＨＴＴＰ要求に備えて待機する。
【００３９】
本発明の適用により、セキュアＯＳの強制アクセス制御の観点から、Ｗｅｂアプリケーションの実行／Ｗｅｂコンテンツの参照を適切な権限の下で実行することができる。したがって、本発明の実施形態によるＨＴＴＰ要求処理システムにおいても、端末からのログインと同様に、アクセス制御の網羅性と一貫性を担保することができる。
【００４０】
［構成］
図２は、Ｗｅｂサーバ１の構成を示している。
【００４１】
Ｗｅｂサーバ１は、ＨＴＴＰ要求受付部１１と、ＨＴＴＰ要求解析部１２と、子スレッド等生成部１３と、子スレッド等待機部１４と、セキュリティ属性設定部２１と、コンテンツハンドラ２２と、ＨＴＴＰ応答生成部２３と、一時記憶装置１５と、接続元ネットワークアドレス／セキュリティ属性・対応表３０とを具備している。
【００４２】
Ｗｅｂサーバ１の上記の構成は、回路でもコンピュータプログラムでも実現可能である。コンピュータプログラムである場合、Ｗｅｂサーバ１（コンピュータ）は、更に、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である実行部（図示しない）と、記録媒体である記憶部（図示しない）と、を具備している。記憶部には、コンピュータに実行させるためのコンピュータプログラムが記憶されている。実行部は、起動時などに記憶部からコンピュータプログラムを読み取って実行する。
【００４３】
この場合、コンピュータプログラムは、ＨＴＴＰ要求受付部１１と、ＨＴＴＰ要求解析部１２と、子スレッド等生成部１３と、子スレッド等待機部１４と、呼び出し用プログラムとを含んでいる。呼び出し用プログラムは、セキュリティ属性設定部２１と、コンテンツハンドラ２２と、ＨＴＴＰ応答生成部２３とを含んでいる。また、記憶部には、更に、接続元ネットワークアドレス／セキュリティ属性・対応表３０が記憶されている。
【００４４】
接続元ネットワークアドレス／セキュリティ属性・対応表３０には、複数の接続元ネットワークアドレス３１と複数のセキュリティ属性３２とが対応付けられて格納されている。
【００４５】
［動作］
図３は、Ｗｅｂサーバ１の動作を示すフローチャートである。
【００４６】
ＨＴＴＰ要求受付部１１は、子スレッド等待機部１４から受付指示を受け取る。この場合、ＨＴＴＰ要求受付部１１は、利用者端末２からのＨＴＴＰ要求５を受け付ける。ＨＴＴＰ要求受付部１１は、このＨＴＴＰ要求５を内部処理に適した形式に変換してＨＴＴＰ要求解析部１２に出力する（ステップＳ１；ＨＴＴＰ要求受付処理）。ＨＴＴＰ要求５はメタ情報を含んでいる。そのメタ情報は、接続元ネットワークアドレス３であるものとする。
【００４７】
ＨＴＴＰ要求解析部１２は、ＨＴＴＰ要求５に含まれる接続元ネットワークアドレス３を抽出し、一時記憶装置１５に格納する（ステップＳ２；ＨＴＴＰ要求解析処理）。
【００４８】
子スレッド等生成部１３は、新たに子スレッド等（上述のように、子プロセス又は子スレッドを表す）を生成する。子スレッド等生成部１３は、ＨＴＴＰ要求５に対する処理を子スレッド等に実行させて、その実行結果をＨＴＴＰ応答として利用者端末２に送信する（ステップＳ３；子スレッド等生成処理）。
【００４９】
子スレッド等待機部１４は、子スレッド等生成部１３によりステップＳ３の実行が終了した場合、次のＨＴＴＰ要求に対してステップＳ１が実行されるように、上記の受付指示をＨＴＴＰ要求受付部１１に出力する（ステップＳ４；子スレッド等待機処理）。
【００５０】
図４は、上記の子スレッド等生成処理（ステップＳ３）を示すフローチャートである。
【００５１】
子スレッド等生成処理（ステップＳ３）において、子スレッド等が生成された後、子スレッド等は、セキュリティ属性設定部２１を呼び出し、これを実行する。子スレッド等は、一時記憶装置１５に格納された接続元ネットワークアドレス３を読み出す（ステップＳ１１；メタ情報読み出し処理）。
【００５２】
子スレッド等は、接続元ネットワークアドレス／セキュリティ属性・対応表３０に格納された複数の接続元ネットワークアドレス３１の中から、接続元ネットワークアドレス３に一致する選択接続元ネットワークアドレスを選択する。子スレッド等は、接続元ネットワークアドレス／セキュリティ属性・対応表３０に格納された複数のセキュリティ属性３２の中から、選択接続元ネットワークアドレスに対応する対応セキュリティ属性を選択する（ステップＳ１２；セキュリティ属性選択処理）。
【００５３】
子スレッド等は、セキュアＯＳのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を利用して、自己のセキュリティ属性に代えて、対応セキュリティ属性を設定する（ステップＳ１３；セキュリティ属性設定処理）。
【００５４】
子スレッド等は、コンテンツハンドラ２２を呼び出し、これを実行する。対応セキュリティ属性が設定された子スレッド等は、ＨＴＴＰ要求５に対する処理を実行する。例えば、ＨＴＴＰ要求５は、更に、静的コンテンツの参照やＷｅｂアプリケーションの実行を行うためのＵＲＩを含んでいる。その子スレッド等は、ＨＴＴＰ要求５に含まれるＵＲＩに基づいて、静的コンテンツの参照やＷｅｂアプリケーションの実行を行う（ステップＳ１４；ＨＴＴＰ要求実行処理）。
【００５５】
子スレッド等は、ＨＴＴＰ応答生成部２３を呼び出し、これを実行する。対応セキュリティ属性が設定された子スレッド等は、静的コンテンツの参照やＷｅｂアプリケーションの実行を行った結果としてデータ列を生成する。その子スレッド等は、ＨＴＴＰ要求５に対するメタ情報である応答メタ情報をデータ列に付加してＨＴＴＰ応答を生成し、利用者端末２に送信する（ステップＳ１５；ＨＴＴＰ応答生成処理）。
【００５６】
その後、子スレッド等は速やかに子スレッド等生成処理（ステップＳ３）を終了する。
【００５７】
［効果］
本発明の実施形態によるＨＴＴＰ要求処理システムによれば、上述の構成・動作により、第一の効果として、ＨＴＴＰ要求５に対する全ての処理（例えば、全てのＷｅｂアプリケーションの実行、全ての静的コンテンツの参照）に適用可能である。
【００５８】
一方、従来のシステムでは、ＨＴＴＰサーバとは別プロセスとして動作するＣＧＩプログラムだけに適用が可能である。ＣＧＩはＷｅｂアプリケーションの実装方式の一つでしかなく、Ｗｅｂアプリケーション実装方式の主流であるビルトインのスクリプトに応用できないため、汎用性に問題がある。
【００５９】
本発明の実施形態によるＨＴＴＰ要求処理システムによれば、第二の効果として、アクセス制御の強制性・網羅性を担保できる。本発明におけるアクセス制御は、Ｗｅｂアプリケーションの起動前に権限を縮退させることが可能であるため、全てのＷｅｂアプリケーションに対して強制的に適用される。
【００６０】
一方、従来のシステムでは、アクセス制御をＷｅｂアプリケーション自身に委ねることになるため、設計ミス等によるアクセス制御回避の可能性を否定できない。
【００６１】
本発明の実施形態によるＨＴＴＰ要求処理システムによれば、第三の効果として、アクセス制御の一貫性を担保できる。セキュアＯＳのセキュリティポリシーは、当該システム内の全てのサブシステムに対して共通の形式で記述されるために、互いに矛盾することはない。例えば、セキュリティ属性「一般利用者」を持つプロセスが、セキュリティ属性「機密情報」を持つ資源にアクセスできないとすれば、それはファイルシステム上であっても、データベース管理システム上であっても同様である。
【００６２】
一方、従来のシステムでは、アクセス制御をＷｅｂアプリケーション自身に委ねることになるため、必ずしも一貫性が担保されるとは限らない。
【００６３】
本発明の実施形態によるＨＴＴＰ要求処理システムによれば、第四の効果として、攻撃者の権限昇格の可能性を排除する。本発明を適用したＷｅｂサーバ１では、Ｗｅｂアプリケーションの実行前に子スレッド等を生成し、親スレッド等はその終了を待機する。したがって、スレッド等のセキュリティ属性を設定するために必要な権限は、「親スレッド等のセキュリティ属性」から「子スレッド等のセキュリティ属性」に変更する単方向だけで十分であり、逆方向は必要でない。子→親方向への権限が必要ないということは、仮にＷｅｂアプリケーションに脆弱性が存在し、それを攻撃されたとしても、攻撃者に他のユーザ相当の権限を与えることはない、ということを意味する。
【００６４】
なお、ＨＴＴＰ要求５に含まれるメタ情報は、接続元ネットワークアドレス３であったが、図５に示されるように、ＨＴＴＰ認証済みユーザ名４でもよい。この場合、Ｗｅｂサーバ１の他の構成として、記憶部には、接続元ネットワークアドレス／セキュリティ属性・対応表３０に代えて、ＨＴＴＰ認証済みユーザ名／セキュリティ属性・対応表４０が記憶されている。ＨＴＴＰ認証済みユーザ名／セキュリティ属性・対応表４０は、複数のＨＴＴＰ認証済みユーザ名４１と複数のセキュリティ属性３２とが対応付けられて格納されている。それ以外の構成・動作は上述と同じである。また、接続元ネットワークアドレス３、ＨＴＴＰ認証済みユーザ名４に限定されず、セキュリティ属性を決定することができれば、他の方法でもよい。
【産業上の利用可能性】
【００６５】
本発明は、Ｗｅｂを通じて利用者／アクセス元などに応じた動的なコンテンツを提供する全ての分野に適用が可能である。中でも、Ｗｅｂを含むシステム全体を一貫したアクセス制御ポリシーによって保護する必要のある、機密レベルの高い情報を取扱う場合に有用である。
【符号の説明】
【００６６】
１    Ｗｅｂサーバ、
２    利用者端末、
３    接続元ネットワークアドレス（メタ情報）、
４    ＨＴＴＰ認証済みユーザ名（メタ情報）、
５    ＨＴＴＰリクエスト（ＨＴＴＰ要求）、
１１    ＨＴＴＰ要求受付部、
１２    ＨＴＴＰ要求解析部、
１３    子スレッド等生成部（生成部）、
１４    子スレッド等待機部（待機部）、
１５    一時記憶装置（記憶装置）、
２１    セキュリティ属性設定部、
２２    コンテンツハンドラ、
２３    ＨＴＴＰ応答生成部、
３０    接続元ネットワークアドレス／セキュリティ属性・対応表、
３１    接続元ネットワークアドレス、
３２    セキュリティ属性、
４０    ＨＴＴＰ認証済みユーザ名／セキュリティ属性・対応表、
４１    ＨＴＴＰ認証済みユーザ名、
【図１】
2010204936.tif 000003
【図２】
2010204936.tif 000004
【図３】
2010204936.tif 000005
【図４】
2010204936.tif 000006
【図５】
2010204936.tif 000007