【手続補正書】
【提出日】平成18年10月16日(2006.10.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データに対するセキュリティを実現する方法であって、
ユーザがデータベースに対して発行した照会を受領するステップと、
セキュリティに違反する傾向が存在するか否かを、
（ｉ）前記ユーザが以前に発行した少なくとも１つの他の照会を基準にして前記照会を実行前に比較分析するステップ、および、
（ｉｉ）前記照会の実行から戻された結果と、前記以前に発行された少なくとも１つの他の照会の実行から戻された結果とを実行後に比較分析するステップ
のうちの少なくとも１つのステップに基づいて判断するステップと
を備えた
方法。
【請求項２】
セキュリティに違反する傾向が存在するか否かをステップ（ｉ）に基づいて判断する前記ステップが、
前記照会と前記以前に発行された少なくとも１つの他の照会との間の相対共通度を算出するステップ
を備えている、
請求項１に記載の方法。
【請求項３】
セキュリティに違反する傾向が存在するか否かをステップ（ｉ）に基づいて判断する前記ステップが、
前記照会と前記以前に発行された少なくとも１つの他の照会との間の共通の照会条件が非重複の結果を戻すように構成されていることを探知するステップ
を備えている、
請求項１に記載の方法。
【請求項４】
セキュリティに違反する傾向が存在するか否かをステップ（ｉ）に基づいて判断する前記ステップが、
少なくとも部分的に非重複の結果を戻すように構成された、前記照会と前記以前に発行された少なくとも１つの他の照会との間に少なくとも１つの共通の照会条件が存在することを特徴とする、許可されていない量のデータベースを取得するユーザの試みを探知するステップ
を備えている、
請求項１に記載の方法。
【請求項５】
データに対するセキュリティを実現する方法であって、
ユーザから複数の照会を受領するステップと、
前記複数の照会をデータベースに対して実行するステップと、
前記ユーザが前記データベースに対して引き続いて発行した照会を受領するステップと、
前記複数の照会および前記引き続いて発行された照会に基づいて、前記データベース中に存在するデータのうちの許可されていない量のデータにアクセススするユーザの試みが特定可能であるか否かをプログラムに基づいて判断するステップと
を備え、
プログラムに基づいて判断する前記ステップが、
前記引き続いて発行された照会と前記複数の照会との間の共通の照会条件が少なくとも複数の非重複の結果を戻すように構成されていることを探知するステップ
を備えている、
方法。
【請求項６】
データに対するセキュリティを実現する方法であって、
ユーザから複数の照会を受領するステップと、
前記複数の照会をデータベースに対して実行するステップと、
前記ユーザが前記データベースに対して引き続いて発行した照会を受領するステップと、
前記引き続いて発行された照会を実行するステップと、
前記複数の照会および前記引き続いて発行された照会に基づいて、セキュリティ制約を迂回して一意の本人確認を回避するユーザの試みが特定可能であるか否かをプログラムに基づいて判断するステップと
を備えた
方法。
【請求項７】
プログラムに基づいて判断する前記ステップが、
前記引き続いて発行された照会と前記複数の照会との間の相対共通度を算出するステップと、
前記引き続いて発行した照会の実行から戻された結果と前記複数の照会の実行から戻された結果と間の共通の結果の個数が低減したか否かを判断するステップと、
ＹＥＳの場合に前記相対共通度が所定値未満であるか否かを判断し、ＹＥＳならセキュリティ規則を呼び出すステップと
を備えている、
請求項６に記載の方法。
【請求項８】
特定の物理データ表記を有するデータに対するセキュリティを実現する方法であって、
抽象照会を定義する複数の論理フィールドを備えた照会仕様を準備するステップと、
前記複数の論理フィールドを前記データの物理エンティティにマップするマッピング規則を準備するステップと、
セキュリティ規則を準備するステップと、
ユーザが前記データに対して発行した抽象照会を受領するステップであって、前記抽象照会は前記照会仕様に基づいて定義されているとともに、少なくとも１つの論理フィールドの値を用いて構成されている、ステップと、
前記ユーザから以前に受領した少なくとも１つの抽象照会を基準にして前記抽象照会を分析し、セキュリティ規則の呼び出しを引き起こす、セキュリティに違反するアクティビティの存在を探知するステップと
を備えた
方法。
【請求項９】
前記ユーザから以前に受領した少なくとも１つの抽象照会を基準にして前記抽象照会を分析し、セキュリティ規則の呼び出しを引き起こす、セキュリティに違反するアクティビティの存在を探知する前記ステップが、
前記抽象照会と前記ユーザが以前に発行した少なくとも１つの他の抽象照会との比較分析を実行前に行うステップ
を備えている、
請求項８に記載の方法。
【請求項１０】
前記ユーザから以前に受領した少なくとも１つの抽象照会を基準にして前記抽象照会を分析し、セキュリティ規則の呼び出しを引き起こす、セキュリティに違反するアクティビティの存在を探知する前記ステップが、
前記抽象照会の実行から戻された結果と以前に発行された少なくとも１つの他の抽象照会の実行から戻された結果との比較分析を実行後に行うステップ
を備えている、
請求項８に記載の方法。
【請求項１１】
実行されると、セキュリティ違反を探知するオペレーションを行う命令群であって、
ユーザがデータベースに対して発行した照会を受領するステップと、
セキュリティに違反する傾向が存在するか否かを、
（ｉ）前記ユーザが以前に発行した少なくとも１つの他の照会を基準にして前記照会を実行前に比較分析するステップ、および、
（ｉｉ）前記照会の実行から戻された結果と、前記以前に発行された少なくとも１つの他の照会の実行から戻された結果とを実行後に比較分析するステップ
のうちの少なくとも１つのステップに基づいて判断するステップと
を備えた命令群
を格納した
コンピュータ読み取り可能な媒体。
【請求項１２】
セキュリティに違反する傾向が存在するか否かをステップ（ｉ）に基づいて判断する前記ステップが、
前記照会と前記以前に発行された少なくとも１つの他の照会との間の相対共通度を算出するステップ
を備えている、
請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１３】
セキュリティに違反する傾向が存在するか否かをステップ（ｉｉ）に基づいて判断する前記ステップが、さらに、
前記照会の実行から戻された結果と、前記以前に発行された少なくとも１つの他の照会の実行から戻された結果との間の共通の結果の個数が低減しているか否かを判断するステップと、
ＹＥＳの場合に前記相対共通度が所定値未満であるか否かを判断し、ＹＥＳの場合にセキュリティ規則を呼び出すステップと
を備えた、
請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１４】
セキュリティに違反する傾向が存在するか否かをステップ（ｉｉ）に基づいて判断する前記ステップが、
前記照会の実行から戻された結果と前記以前に発行された少なくとも１つの他の照会の実行から戻された結果とが非重複であることを探知するステップ
を備えている、
請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１５】
さらに、
セキュリティに違反する前記傾向が存在する場合、セキュリティ規則を呼び出すステップ
を備えた、
請求項８に記載のコンピュータ読み取り可能な媒体。
【請求項１６】
コンピュータに、
ユーザから複数の照会を受領するステップと、
前記複数の照会をデータベースに対して実行するステップと、
前記ユーザが前記データベースに対して引き続いて発行した照会を受領するステップと、
前記複数の照会および前記引き続いて発行された照会に基づいて、前記データベース中に存在するデータのうちの許可されていない量のデータにアクセススするユーザの試みが特定可能であるか否かをプログラムに基づいて判断するステップと
を実行させるコンピュータ・プログラムであって、
プログラムに基づいて判断する前記ステップが、
前記引き続いて発行された照会と前記複数の照会との間の共通の照会条件が少なくとも複数の非重複の結果を戻すように構成されていることを探知するステップ
を備えている、
セキュリティを確認するオペレーションを行うセキュリティ確認命令群
を格納した
コンピュータ・プログラム。
【請求項１７】
コンピュータをして、
ユーザから複数の照会を受領するステップと、
前記複数の照会をデータベースに対して実行するステップと、
前記ユーザが前記データベースに対して引き続いて発行した照会を受領するステップと、
前記引き続いて発行された照会を実行するステップと、
前記複数の照会および前記引き続いて発行された照会に基づいて、セキュリティ制約を迂回して一意の本人確認を回避するユーザの試みが特定可能であるか否かをプログラムに基づいて判断するステップと
を実行させるものであって、
セキュリティを確認にするオペレーションを行うセキュリティ確認命令群
を格納した
コンピュータ・プログラム。
【請求項１８】
その上に情報が格納されたコンピュータ読み取り可能な媒体であって、
前記情報が、
抽象照会を定義する複数の論理フィールドを備えた照会仕様と、
前記複数の論理フィールドを前記データの物理エンティティにマップするマッピング規則と、
複数のセキュリティ規則と、
ユーザが前記データに対して発行した抽象照会を受領することに対応して、セキュリティに違反するアクティビティを探知するオペレーションを行いうるように実行可能な実行時コンポーネントであって、
前記抽象照会は前記照会仕様に基づいて定義されているとともに、少なくとも１つの論理フィールドの値を用いて構成されており、
セキュリティに違反するアクティビティを探知する前記オペレーションが、
前記ユーザから以前に受領した少なくとも１つの抽象照会を基準にして前記抽象照会を分析し、セキュリティ規則の呼び出しを引き起こす、セキュリティに違反するアクティビティの存在を探知するステップ
を備えている、
実行時コンポーネントと
を備えている、
コンピュータ読み取り可能な媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
図４および図５は実行時コンポーネント１５０のオペレーションの一実施形態を例示する実行時の方法３００を示す図である。ステップ３０２において方法３００を開始する。その時、実行時コンポーネント１５０は抽象照会（たとえば図２に示す抽象照会２０２）のインスタンスを入力として受領する。ステップ３０４において、実行時コンポーネント１５０は当該抽象照会の当該インスタンスを読み取りかつ分析して個々の選択基準と所望の結果フィールドの所在を特定する。ステップ３０９において、何らかの事前のステートメント構造分析を行うが、それは実行後の結果分析のに際に効果的に使用されることになる。この点については後述する。特に、ステップ３０９において、照会共通度（commonality)値を算出する。照会共通度値は現在の照会と以前のすべての照会との間の相対共通度を求めることにより算出する。たとえば、ある照会が２つの条件（〔クニック番号＞ｘ〕かつ〔郵便番号＝ｙ〕）を有し、別の照会が同一のユーザについて２つの条件（〔クニック番号＜１０００〕かつ〔診断結果＝ｚ〕）を有する場合、これら２つの照会の共通度は５０％である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
ステートメント構造の分析を行うには、ステップ３１０から始めてさらに数ステップを要する。特に、ステップ３１０において、以前の照会の各々ごとにループに入る。すなわち、照会履歴テーブル１５７（図１）にアクセスして全探索を行う。一般に、照会履歴テーブル１５７は実行済みの照会から成るリストである。新たな照会を実行するたびに、照会履歴テーブル１５７に新たなエントリを追加する。一実施形態では、このデータ構造は抽象形態で表したＳＱＬ照会を含んでいる。このデータ構造は履歴を解放する時点について構成することができる。履歴を解放する選択肢の１つはセッションが終了する時である。別の選択肢は所定時間の経過後である。ステップ３１２において、実行時コンポーネント１５０は処理中（ステップ３０６）の照会選択のフィールドが、ステップ３１０において履歴照会テーブル１５７から検索・取得した以前の照会中で使用された否かを判断する。ＮＯの場合、方法３００はステップ３１０に戻り、実行時コンポーネント１５０が履歴照会テーブル１５７から別の以前の照会を検索・取得する。処理中（ステップ３０６）の照会選択のフィールドを有する以前の照会を特定したら、当該照会選択と特定した以前の照会とに対して分析を行う（ステップ３１４）。ステップ３１６において、実行時コンポーネント１５０は（ステップ３１４における）分析の結果として何らかのアクションを実行する必要があるか否かを判断する。一実施形態では、上記アクションはデータ・リポジトリ抽象化コンポーネント１４８中に指定されている（テーブルＩＩ参照）。セキュリティ・アクションにはユーザの照会（または他の適切な情報）を記録すること、照会が実行されるのを防止すること、および／または、ユーザのセッションを終了させることがある。より一般的には、当業者が認識しうるように、セキュリティ規則が呼び出されたら、様々な対応をすることができる。たとえば、（たとえば電子メールによる）システム管理者への通知を発行する。留意点を挙げると、テーブルＩＩに示した例では、個々のユーザ（たとえばCujo) ごと、ユーザ達から成るグループ（たとえばセキュリティ担当者達）ごと、および、すべてのユーザごとにセキュリティ・アクションを定義している。一実施形態では、特定のフィールド用に複数のアクションが存在する場合、あるユーザにとって最狭義に調製されたアクションを適用する。したがって、個々のユーザに特有のアクションは他のすべてのアクションに優先し、あるグループに特有のアクションはすべてのユーザ用に指定されているアクションに優先する。すべてのユーザ用に指定されているアクションが適用されるのは、特定のユーザ用により狭義に調製されたアクションが他に存在しない場合だけである。ステップ３１６の結果がＮＯの場合（すなわちアクションを必要としない場合）、プロセスはステップ３１０に戻り、そこで履歴照会テーブル１５７から別の以前の照会を検索・取得して検査の用に供する。ステップ３１６においてアクションを必要とする場合には、ステップ３１８において当該アクションを実行する。アクションが致命的である場合（ステップ３２０）、当該ユーザの照会は実行しない（ステップ３２２）。そうでない場合、プロセスはステップ３１０に戻る。履歴照会テーブル１５７中の以前の照会の各々について、処理中の現在の照会選択のフィールドが存在するか否かの検査が完了したら、方法３００はステップ３２４に戻る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
以上は実行前分析を例示している。追加または別の側面として、図５のステップ３３６における、照会の実行に続く実行後分析がある。実行後分析の例はブック３３８、３４０、３４２によって示されている。一般に、実行後分析には照会の実行後であって、実行した照会の結果をユーザに戻す前または後に行う処理が含まれる。たとえば、ブロック３３８は当該結果をユーザに提示する前に行う非重複の照会の分析を示している。ブロック３３８の非重複の照会の分析を行う方法６００の一実施形態を図８に示す。まず、実行時コンポーネント１５０はステップ６０２においてループに入る。ここのループは当該結果の各列ごとに実行する。ステップ６０４において、実行時コンポーネント１５０は当該列がキー列（すなわちキーが定義されている列）であるか否かを判断する。ＮＯの場合、当該結果の次の列を同様に処理する。当該結果がキー列を含んでいる場合、当該キー列に対応するリスト１５３の現在のサイズを検索・取得する（ステップ６０６）。リスト１５３に含まれていない結果の各値をリスト１５３に付加する（ステップ６０８）。ステップ６１０において、実行時コンポーネント１５０は非重複の照会が特定されているか否かを判断する。説明中の実施形態では、ステップ６１０には新たな値の各々を付加した（ステップ６０８）後の当該キー・リストのサイズが新たな結果／値と（ステップ６０６で検索・取得した）当該リストの元のサイズとの合計に等しいか否かの判断が含まれている。この点における肯定的な判断は、当該照会によって戻され、リスト１５３に付加した新たな値はない（その場合、ステップ３３６で実行した照会は以前の照会と重複していない）、ということを示している。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
別の種類の実行後照会分析は図５においてブロック３４０で表されている。ここでは、それを照会結合（union)分析による探知方式と呼ぶ。照会結合分析の一例を上で提示した。一般に、照会結合分析による探知方式では、一連の照会群を検査して、明らかに未接続である（すなわち異なる複数の条件から成る）にもかかわらず、結果の組を小さくしても少なくとも１つの共通の結果値を有する照会群の傾向を探知する。探知した後、照会結合分析を扱う一実施形態が図９に示す方法７００である。方法７００は照会の実行に続いて開始する。まず、ステップ７０２において、セキュリティ・アルゴリズム１５１が照会の結果を追跡する結果リストが存在するか否かを判断する。ＮＯなら、結果リスト１６１を作成し、結果をそこに格納する（ステップ７０４）。次いで、方法７００は終了する。しかし、結果リストが既に存在する場合、アルゴリズム１５１は結果リスト１６１から非共通の値をすべて破棄するオペレーションを実行する。すなわち、結果リスト１６１に格納されているが当該照会を実行することにより戻された結果の一部ではないすべての値を結果リスト１６１から除去する。ステップ７０８において、アルゴリズム１５１は結果リストのサイズがサイズ閾値（いきち、しきい値）（一実施形態では、サイズ閾値はカスタマイズ可能である）未満になっているか否かを判断する。ＮＯなら、ユーザに結果を戻した後（ステップ７１０）、方法７００は終了する。ＹＥＳなら、アルゴリズム１５１は（図４のステップ３０５において求めた）共通度値が共通度閾値未満であるか否かを判断する（ステップ７１２）。ＮＯなら、ユーザに結果を戻した後（ステップ７１０）、方法７００は終了する。ＹＥＳなら、事前に定義しておいたセキュリティ・アクションを実行する（ステップ７１４）。当該セキュリティ・アクションが致命的である（とステップ７１６において判断した）場合、当該ユーザの要求を停止させた後、方法７００は終了する。当該セキュリティ・アクションが致命的ではない場合、ユーザに結果を戻した後（ステップ７１０）、方法７００は終了する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
別の種類の実行後の照会分析は図５においてブロック３４２で表されている。ここでは、それを削減（pare down:切り詰め）分析による探知方式と呼ぶ。削減分析とは比較的大量の行を戻す広い照会を実行した後、最初の結果群を後続する照会群を用いて継続的かつ体系的にサブセット（部分集合）化するプロセスのことである。ある面では、削減分析は結合照会分析の変形例である。すなわち、両方法ともユーザにとって既知の情報を有効に利用して、戻される結果群のサイズを限定している。いま、アルツハイマーに罹（かか）っている人々を求める第１の照会を発行するユーザを考える。この第１の照会を実行することにより戻された結果を見て、当該ユーザは上記照会をカリフォルニア州に住んでいるような人々に限定することにより、より大きな特定性を達成できると判断する。したがって、アルツハイマーに罹り、かつカリフォルニア州に住んでいる人々を求める第２の照会を、上記ユーザは発行する。次いで、上記ユーザはさらに上記照会を特定の年齢の人々に限定する。上記ユーザは戻される結果の個数を少なくするために、このサブセット化する傾向を多数の照会にわたって継続する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
【図１】コンピュータ・システムの一実施形態を示す図である。
【図２】本発明の一実施形態のソフトウェア・コンポーネントの論理的／物理的な概観を示す図である。
【図３】抽象照会の論理的な概観と抽象化のデータ・リポジトリとを示す図である。
【図４】実行時コンポーネントのオペレーションを示すフローチャートを示す図である。
【図５】実行時コンポーネントのオペレーションを示すフローチャートを示す図である。
【図６】実行時コンポーネントのオペレーションを示すフローチャートを示す図である。
【図７】実行前分析を用い非重複条件を探知して処理する実行時コンポーネントのオペレーションを示すフローチャートを示す図である。
【図８】実行後結果分析を用い非重複条件を探知して処理する実行時コンポーネントのオペレーションを示すフローチャートを示す図である。
【図９】実行後結果分析を用い照会結合分析を探知して処理する実行時コンポーネントのオペレーションを示すフローチャートを示す図である。
【図１０】実行後結果分析を用い削減分析を探知して処理する実行時コンポーネントのオペレーションを示すフローチャートを示す図である。