(57)【要約】【課題】秘密情報を検出する。【解決手段】格納データを読み取る方法は、格納データ内の文字列を識別するステップと、文字列の少なくとも幾つかの各々について、文字列が、１つ以上のフォーマット整合を表すバイトを含むかどうかを特定するステップと、各フォーマット整合について、秘密情報に関連するルールのセットを用いて上記予め定められたフォーマットに整合する値をテストして、フォーマット整合が、１つ以上の無効な値を含む無効なフォーマット整合であるか否かを特定するステップと、無効なフォーマット整合のカウントの他のフォーマット整合のカウントに対する比に少なくとも部分的には基づいて、格納データについてのスコアを計算するステップと、を含む。【選択図】図１
2015053735.tif 000002
【特許請求の範囲】
【請求項１】
秘密情報を検出する方法であって、
格納データを読み取るステップと、
上記格納データ内の文字列を識別するステップであって、各文字列は一連の連続バイトを含み、当該バイトの全てが、存在し得る値の予め定められたサブセット中にある値を有する、ステップと、
上記文字列の少なくとも幾つかの各々について、上記文字列が、１つ以上のフォーマット整合を表すバイトを含むかどうかを特定するステップであって、フォーマット整合が、秘密情報に関連する予め定められたフォーマットに整合する値のセットを含む、ステップと、
各フォーマット整合について、上記秘密情報に関連するルールのセットを用いて上記予め定められたフォーマットに整合する値をテストして、上記フォーマット整合が、１つ以上の無効な値を含む無効なフォーマット整合であるか否かを特定するステップと、
無効なフォーマット整合のカウントの他のフォーマット整合のカウントに対する比に少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を含む方法。
【請求項２】
請求項１に記載の方法であって、
上記秘密情報がクレジット・カード番号である、方法。
【請求項３】
請求項２に記載の方法であって、
上記文字列において検出された数字を表す値を有するバイトの数がクレジット・カード番号についての標準的なフォーマットにおける数字の数に等しい場合にフォーマット整合が起こるように決められている、方法。
【請求項４】
請求項３に記載の方法であって、
クレジット・カード番号に関連するルールが、有効な発行者識別番号のリストの仕様を含む、方法。
【請求項５】
請求項３に記載の方法であって、
クレジット・カード番号に関連するルールが、チェック・サム・アルゴリズムの仕様を含む、方法。
【請求項６】
請求項１に記載の方法であって、
上記秘密情報が社会保障番号である、方法。
【請求項７】
請求項６に記載の方法であって、
上記文字列において検出された数字を表す値を有するバイトの数が９に等しい場合にフォーマット整合が起こるように決められている、方法。
【請求項８】
請求項７に記載の方法であって、
社会保障番号に関連するルールが、社会保障番号の最初の５桁によって表される数についての値の有効なサブセットの仕様を含む、方法。
【請求項９】
請求項１に記載の方法であって、
上記秘密情報が電話番号である、方法。
【請求項１０】
請求項９に記載の方法であって、
上記文字列において検出された数字を表す値を有するバイトの数が１０に等しいか、又は上記文字列において検出された数字の数が最初の数字が「１」である１１個の数字に等しい場合にフォーマット整合が起こるように決められている、方法。
【請求項１１】
請求項１０に記載の方法であって、
電話番号に関連するルールが、有効な市外局番のリストの仕様を含む、方法。
【請求項１２】
請求項１０に記載の方法であって、
電話番号に関連するルールが、市外局番の後の最初の数字が１又は０（ゼロ）であってはならないという仕様を含む、方法。
【請求項１３】
請求項１に記載の方法であって、
上記秘密情報が郵便番号である、方法。
【請求項１４】
請求項１３に記載の方法であって、
一連のバイトが、数字を表す値を有する５個のバイト又は５番目の数字と６番目の数字との間にハイフンを有する９個の数字を表す値を有する１０個のバイトの何れかからなると検出された場合にフォーマット整合が起こるように決められている、方法。
【請求項１５】
請求項１４に記載の方法であって、
電話番号に関連するルールが、有効な５桁の郵便番号のリストの仕様を含む、方法。
【請求項１６】
請求項１に記載の方法であって、
各文字列について、当該文字列が名前と整合する１つ以上の単語を含むかどうかを特定するステップであって、単語とは、文字列内の一連の連続バイトであって、当該バイトの全てが、文字−数字のキャラクタを表す値を有し、そして名前とは、個々の人々を呼ぶのに一般に使用されるキャラクタの連なりのリストからのキャラクタの連なりである、ステップと、
上記格納データにおいて検出された名前のカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を更に含む、方法。
【請求項１７】
請求項１６に記載の方法であって、
名前の上記リストが、２個のサブセット（ファースト・ネーム及びラスト・ネーム）に分割されている、方法。
【請求項１８】
請求項１７に記載の方法であって、
各文字列について、当該文字列が１個以上のフル・ネームを含むかどうかを特定するステップであって、フル・ネームとは、ファースト・ネームのリストからの名前と、それに続くスペースと、それに続くラスト・ネームのリストからの名前と、からなるキャラクタの連なりである、ステップと、
検出されたフル・ネームのカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を更に含む、方法。
【請求項１９】
請求項１６に記載の方法であって、
上記リスト中の名前が、それらに関連する頻度数を各々有し、上記格納データにおいて出現する名前についての平均頻度数が計算され、当該平均頻度数に少なくとも部分的には基づいて、上記格納データについてのスコアが計算される、方法。
【請求項２０】
請求項１９に記載の方法であって、
上記格納データにおいて検出される名前の数が閾値よりも少ない場合には上記平均頻度数が無視される、方法。
【請求項２１】
請求項１に記載の方法であって、
各文字列について、２個の文字からなる単語の数をカウントするステップであって、単語とは、一連の連続バイトであって、当該バイトの全てが、文字−数字のキャラクタを表す値を有する、ステップ、
を更に含む、方法。
【請求項２２】
請求項２１に記載の方法であって、
各２文字単語について、当該２文字単語が有効な州の略称であるかどうかを特定するステップと、
有効な州の略称のカウント及び２文字単語のカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を更に含む、方法。
【請求項２３】
請求項１に記載の方法であって、
各文字列について、当該文字列が１個以上の州／郵便番号のペアを含むかどうかを特定するステップであって、州／郵便番号のペアとは、州の略称と、それに続くスペースと、次にそれに続く郵便番号と、からなるキャラクタの連なりである、ステップと、
検出された州／郵便番号のペアのカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を更に含む、方法。
【請求項２４】
請求項１に記載の方法であって、
電子的に格納されたファイル・システムにおける何れのファイルが最近更新されたのかを特定するステップと、
最近更新されたファイルの各々に、請求項１に記載の方法を適用するステップと、
を更に含む、方法。
【請求項２５】
請求項１に記載の方法であって、
文字列を規定するバイト値のサブセットが、文字−数字のキャラクタ、括弧、ハイフン、及びスペースを表す、方法。
【請求項２６】
請求項１に記載の方法であって、
上記スコアを閾値と比較するステップと、
上記スコアが上記閾値を超える場合は、秘密情報を含有する可能性有りとして上記格納データにフラグを立てるステップと、
を更に含む、方法。
【請求項２７】
秘密情報を検出するシステムであって、
データ格納装置、及び
上記データ格納装置に接続されたランタイム環境を含み、
上記ランタイム環境が、
上記データ格納装置から格納データを読み取るステップと、
上記格納データ内の文字列を識別するステップであって、各文字列は一連の連続バイトを含み、当該バイトの全てが、存在し得る値の予め定められたサブセット中にある値を有する、ステップと、
上記文字列の少なくとも幾つかの各々について、上記文字列が、１つ以上のフォーマット整合を表すバイトを含むかどうかを特定するステップであって、フォーマット整合が、秘密情報に関連する予め定められたフォーマットに整合する値のセットを含む、ステップと、
各フォーマット整合について、上記秘密情報に関連するルールのセットを用いて上記予め定められたフォーマットに整合する値をテストして、上記フォーマット整合が、１つ以上の無効な値を含む無効なフォーマット整合であるか否かを特定するステップと、
無効なフォーマット整合のカウントの他のフォーマット整合のカウントに対する比に少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を実行するように構成されている、システム。
【請求項２８】
請求項２７に記載のシステムであって、
上記秘密情報がクレジット・カード番号であり、
上記文字列において検出された数字を表す値を有するバイトの数がクレジット・カード番号についての標準的なフォーマットにおける数字の数に等しい場合にフォーマット整合が起こるように決められており、そして
クレジット・カード番号に関連するルールが、有効な発行者識別番号のリストの仕様、及びチェック・サム・アルゴリズムの仕様を含む、システム。
【請求項２９】
請求項２７に記載のシステムであって、
上記秘密情報が社会保障番号であり、
上記文字列において検出された数字を表す値を有するバイトの数が９に等しい場合にフォーマット整合が起こるように決められており、そして
社会保障番号に関連するルールが、社会保障番号の最初の５桁によって表される数についての値の有効なサブセットの仕様を含む、システム。
【請求項３０】
請求項２７に記載のシステムであって、
上記秘密情報が電話番号であり、
上記文字列において検出された数字を表す値を有するバイトの数が１０に等しいか、又は上記文字列において検出された数字の数が最初の数字が「１」である１１個の数字に等しい場合にフォーマット整合が起こるように決められており、そして
電話番号に関連するルールが、有効な市外局番のリストの仕様、及び市外局番の後の最初の数字が１又は０（ゼロ）であってはならないという仕様を含む、システム。
【請求項３１】
請求項２７に記載のシステムであって、
上記秘密情報が郵便番号であり、
一連のバイトが、数字を表す値を有する５個のバイト又は５番目の数字と６番目の数字との間にハイフンを有する９個の数字を表す値を有する１０個のバイトの何れかからなると検出された場合にフォーマット整合が起こるように決められており、そして
電話番号に関連するルールが、有効な５桁の郵便番号のリストの仕様を含む、システム。
【請求項３２】
請求項２７に記載のシステムであって、
上記ランタイム環境が、
各文字列について、当該文字列が名前と整合する１つ以上の単語を含むかどうかを特定するステップであって、単語とは、文字列内の一連の連続バイトであって、当該バイトの全てが、文字−数字のキャラクタを表す値を有し、そして名前とは、個々の人々を呼ぶのに一般に使用されるキャラクタの連なりのリストからのキャラクタの連なりであり、そして上記リストが、２個のサブセット（ファースト・ネーム及びラスト・ネーム）に分割されている、ステップと、
各文字列について、当該文字列が１個以上のフル・ネームを含むかどうかを特定するステップであって、フル・ネームとは、ファースト・ネームのリストからの名前と、それに続くスペースと、それに続くラスト・ネームのリストからの名前と、からなるキャラクタの連なりである、ステップと、
上記格納データにおいて検出された名前のカウントに少なくとも部分的には基づいて、且つ検出されたフル・ネームのカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を実行するように更に構成されている、システム。
【請求項３３】
請求項２７に記載のシステムであって、
上記ランタイム環境が、
各文字列について、当該文字列が名前と整合する１つ以上の単語を含むかどうかを特定するステップであって、単語とは、文字列内の一連の連続バイトであって、当該バイトの全てが、文字−数字のキャラクタを表す値を有し、そして名前とは、個々の人々を呼ぶのに一般に使用されるキャラクタの連なりのリストからのキャラクタの連なりであり、そして上記リスト中の名前が、それらに関連する頻度数を各々有する、ステップと、
上記格納データにおいて出現する名前についての平均頻度数を計算するステップと、
上記格納データにおいて検出された名前のカウントに少なくとも部分的には基づいて、且つ上記平均頻度数に少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を実行するように更に構成されている、システム。
【請求項３４】
請求項２７に記載のシステムであって、
上記ランタイム環境が、
各文字列について、当該文字列が１個以上の州／郵便番号のペアを含むかどうかを特定するステップであって、州／郵便番号のペアとは、州の略称と、それに続くスペースと、次にそれに続く郵便番号と、からなるキャラクタの連なりである、ステップと、
検出された州／郵便番号のペアのカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を実行するように更に構成されている、システム。
【請求項３５】
請求項２７に記載のシステムであって、
文字列を規定するバイト値のサブセットが、文字−数字のキャラクタ、括弧、ハイフン、及びスペースを表す、システム。
【請求項３６】
秘密情報を検出するためのコンピュータ・プログラムを格納するコンピュータ可読媒体であって、
上記コンピュータ・プログラムが、
格納データを読み取るステップと、
上記格納データ内の文字列を識別するステップであって、各文字列は一連の連続バイトを含み、当該バイトの全てが、存在し得る値の予め定められたサブセット中にある値を有する、ステップと、
上記文字列の少なくとも幾つかの各々について、上記文字列が、１つ以上のフォーマット整合を表すバイトを含むかどうかを特定するステップであって、フォーマット整合が、秘密情報に関連する予め定められたフォーマットに整合する値のセットを含む、ステップと、
各フォーマット整合について、上記秘密情報に関連するルールのセットを用いて上記予め定められたフォーマットに整合する値をテストして、上記フォーマット整合が、１つ以上の無効な値を含む無効なフォーマット整合であるか否かを特定するステップと、
無効なフォーマット整合のカウントの他のフォーマット整合のカウントに対する比に少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
をコンピュータに実行させるための命令を含む、コンピュータ可読媒体。
【請求項３７】
請求項３６に記載のコンピュータ可読媒体であって、
上記秘密情報がクレジット・カード番号である、コンピュータ可読媒体。
【請求項３８】
請求項３７に記載のコンピュータ可読媒体であって、
上記文字列において検出された数字を表す値を有するバイトの数がクレジット・カード番号についての標準的なフォーマットにおける数字の数に等しい場合にフォーマット整合が起こるように決められている、コンピュータ可読媒体。
【請求項３９】
請求項３８に記載のコンピュータ可読媒体であって、
クレジット・カード番号に関連するルールが、有効な発行者識別番号のリストの仕様を含む、コンピュータ可読媒体。
【請求項４０】
請求項３８に記載のコンピュータ可読媒体であって、
クレジット・カード番号に関連するルールが、チェック・サム・アルゴリズムの仕様を含む、コンピュータ可読媒体。
【請求項４１】
請求項３６に記載のコンピュータ可読媒体であって、
上記秘密情報が社会保障番号である、コンピュータ可読媒体。
【請求項４２】
請求項４１に記載のコンピュータ可読媒体であって、
上記文字列において検出された数字を表す値を有するバイトの数が９に等しい場合にフォーマット整合が起こるように決められている、コンピュータ可読媒体。
【請求項４３】
請求項４２に記載のコンピュータ可読媒体であって、
社会保障番号に関連するルールが、社会保障番号の最初の５桁によって表される数についての値の有効なサブセットの仕様を含む、コンピュータ可読媒体。
【請求項４４】
請求項３６に記載のコンピュータ可読媒体であって、
上記秘密情報が電話番号である、コンピュータ可読媒体。
【請求項４５】
請求項４４に記載のコンピュータ可読媒体であって、
上記文字列において検出された数字を表す値を有するバイトの数が１０に等しいか、又は上記文字列において検出された数字の数が最初の数字が「１」である１１個の数字に等しい場合にフォーマット整合が起こるように決められている、コンピュータ可読媒体。
【請求項４６】
請求項４５に記載のコンピュータ可読媒体であって、
電話番号に関連するルールが、有効な市外局番のリストの仕様を含む、コンピュータ可読媒体。
【請求項４７】
請求項４５に記載のコンピュータ可読媒体であって、
電話番号に関連するルールが、市外局番の後の最初の数字が１又は０（ゼロ）であってはならないという仕様を含む、コンピュータ可読媒体。
【請求項４８】
請求項３６に記載のコンピュータ可読媒体であって、
上記秘密情報が郵便番号である、コンピュータ可読媒体。
【請求項４９】
請求項４８に記載のコンピュータ可読媒体であって、
一連のバイトが、数字を表す値を有する５個のバイト又は５番目の数字と６番目の数字との間にハイフンを有する９個の数字を表す値を有する１０個のバイトの何れかからなると検出された場合にフォーマット整合が起こるように決められている、コンピュータ可読媒体。
【請求項５０】
請求項４９に記載のコンピュータ可読媒体であって、
電話番号に関連するルールが、有効な５桁の郵便番号のリストの仕様を含む、コンピュータ可読媒体。
【請求項５１】
請求項３６に記載の方法であって、
各文字列について、当該文字列が名前と整合する１つ以上の単語を含むかどうかを特定するステップであって、単語とは、文字列内の一連の連続バイトであって、当該バイトの全てが、文字−数字のキャラクタを表す値を有し、そして名前とは、個々の人々を呼ぶのに一般に使用されるキャラクタの連なりのリストからのキャラクタの連なりである、ステップと、
上記格納データにおいて検出された名前のカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
をコンピュータに実行させるための命令を更に含む、コンピュータ可読媒体。
【請求項５２】
請求項５１に記載のコンピュータ可読媒体であって、
名前の上記リストが、２個のサブセット（ファースト・ネーム及びラスト・ネーム）に分割されている、コンピュータ可読媒体。
【請求項５３】
請求項５２に記載のコンピュータ可読媒体であって、
各文字列について、当該文字列が１個以上のフル・ネームを含むかどうかを特定するステップであって、フル・ネームとは、ファースト・ネームのリストからの名前と、それに続くスペースと、それに続くラスト・ネームのリストからの名前と、からなるキャラクタの連なりである、ステップと、
検出されたフル・ネームのカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
をコンピュータに実行させるための命令を更に含む、コンピュータ可読媒体。
【請求項５４】
請求項５１に記載のコンピュータ可読媒体であって、
上記リスト中の名前が、それらに関連する頻度数を各々有し、
上記格納データにおいて出現する名前についての平均頻度数を計算するステップと、
当該平均頻度数に少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
をコンピュータに実行させるための命令を更に含む、コンピュータ可読媒体。
【請求項５５】
請求項５４に記載のコンピュータ可読媒体であって、
上記格納データにおいて検出される名前の数が閾値よりも少ない場合には上記平均頻度数が無視される、コンピュータ可読媒体。
【請求項５６】
請求項３６に記載のコンピュータ可読媒体であって、
各文字列について、２個の文字からなる単語の数をカウントするステップであって、単語とは、一連の連続バイトであって、当該バイトの全てが、文字−数字のキャラクタを表す値を有する、ステップ、
をコンピュータに実行させるための命令を更に含む、コンピュータ可読媒体。
【請求項５７】
請求項５６に記載のコンピュータ可読媒体であって、
各２文字単語について、当該２文字単語が有効な州の略称であるかどうかを特定するステップと、
有効な州の略称のカウント及び２文字単語のカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
をコンピュータに実行させるための命令を更に含む、コンピュータ可読媒体。
【請求項５８】
請求項３６に記載のコンピュータ可読媒体であって、
各文字列について、当該文字列が１個以上の州／郵便番号のペアを含むかどうかを特定するステップであって、州／郵便番号のペアとは、州の略称と、それに続くスペースと、次にそれに続く郵便番号と、からなるキャラクタの連なりである、ステップと、
検出された州／郵便番号のペアのカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
をコンピュータに実行させるための命令を更に含む、コンピュータ可読媒体。
【請求項５９】
請求項３６に記載のコンピュータ可読媒体であって、
電子的に格納されたファイル・システムにおける何れのファイルが最近更新されたのかを特定するステップと、
最近更新されたファイルの各々に、請求項１に記載の方法を適用するステップと、
をコンピュータに実行させるための命令を更に含む、コンピュータ可読媒体。
【請求項６０】
請求項３６に記載のコンピュータ可読媒体であって、
文字列を規定するバイト値のサブセットが、文字−数字のキャラクタ、括弧、ハイフン、及びスペースを表す、コンピュータ可読媒体。
【請求項６１】
請求項３６に記載のコンピュータ可読媒体であって、
上記スコアを閾値と比較するステップと、
上記スコアが上記閾値を超える場合は、秘密情報を含有する可能性有りとして上記格納データにフラグを立てるステップと、
をコンピュータに実行させるための命令を更に含む、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘密情報の検出に関する。
【背景技術】
【０００２】
データ処理環境によっては、機密保護が不十分なデータ格納装置に格納された電子ファイル中に秘密情報が見受けられる場合がある。機密保護がなされていないファイル中のこの秘密情報の存在は、それが関連する個人の機密及びプライバシーを危険にさらしたり、当該機密保護が不十分なデータ格納システムを運営する団体についての責任を生じさせたりすることがある。秘密情報には、細心の注意を払うべき財務データ又は特定の個人を識別して彼らをファイルの内容と関連付けるのに使用することができる何等かの情報が含まれる場合がある。秘密情報の幾つかの例には、名前、住所、電話番号、社会保障番号、及びクレジット・カード番号が含まれる。
【発明の概要】
【０００３】
１つの一般的な態様において、格納データを読み取る方法は、
上記格納データ内の文字列を識別するステップであって、各文字列は一連の連続バイトを含み、当該バイトの全てが、存在し得る値の予め定められたサブセット中にある値を有する、ステップと、
上記文字列の少なくとも幾つかの各々について、上記文字列が、１つ以上のフォーマット整合を表すバイトを含むかどうかを特定するステップであって、フォーマット整合が、秘密情報に関連する予め定められたフォーマットに整合する値のセットを含む、ステップと、
各フォーマット整合について、上記秘密情報に関連するルールのセットを用いて上記予め定められたフォーマットに整合する値をテストして、上記フォーマット整合が、１つ以上の無効な値を含む無効なフォーマット整合であるか否かを特定するステップと、
無効なフォーマット整合のカウントの他のフォーマット整合のカウントに対する比に少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を含む。
【０００４】
もう１つの一般的な態様において、秘密情報を検出するシステムは、データ格納装置、及び上記データ格納装置に接続されたランタイム環境を含む。上記ランタイム環境は、
上記データ格納装置から格納データを読み取るステップと、
上記格納データ内の文字列を識別するステップであって、各文字列は一連の連続バイトを含み、当該バイトの全てが、存在し得る値の予め定められたサブセット中にある値を有する、ステップと、
上記文字列の少なくとも幾つかの各々について、上記文字列が、１つ以上のフォーマット整合を表すバイトを含むかどうかを特定するステップであって、フォーマット整合が、秘密情報に関連する予め定められたフォーマットに整合する値のセットを含む、ステップと、
各フォーマット整合について、上記秘密情報に関連するルールのセットを用いて上記予め定められたフォーマットに整合する値をテストして、上記フォーマット整合が、１つ以上の無効な値を含む無効なフォーマット整合であるか否かを特定するステップと、
無効なフォーマット整合のカウントの他のフォーマット整合のカウントに対する比に少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を実行するように構成される。
【０００５】
もう１つの一般的な態様において、コンピュータ可読媒体は、秘密情報を検出するためのコンピュータ・プログラムを格納する。上記コンピュータ・プログラムは、
格納データを読み取るステップと、
上記格納データ内の文字列を識別するステップであって、各文字列は一連の連続バイトを含み、当該バイトの全てが、存在し得る値の予め定められたサブセット中にある値を有する、ステップと、
上記文字列の少なくとも幾つかの各々について、上記文字列が、１つ以上のフォーマット整合を表すバイトを含むかどうかを特定するステップであって、フォーマット整合が、秘密情報に関連する予め定められたフォーマットに整合する値のセットを含む、ステップと、
各フォーマット整合について、上記秘密情報に関連するルールのセットを用いて上記予め定められたフォーマットに整合する値をテストして、上記フォーマット整合が、１つ以上の無効な値を含む無効なフォーマット整合であるか否かを特定するステップと、
無効なフォーマット整合のカウントの他のフォーマット整合のカウントに対する比に少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
をコンピュータに実行させるための命令を含む。
【０００６】
種々の態様は、以下の特徴の１つ以上を含むことができる。
上記秘密情報は、クレジット・カード番号であってもよい。上記文字列において検出された数字を表す値を有するバイトの数がクレジット・カード番号についての標準的なフォーマットにおける数字の数に等しい場合にフォーマット整合が起こるように決めてもよい。クレジット・カード番号に関連するルールは、有効な発行者識別番号のリストの仕様を含んでもよい。クレジット・カード番号に関連するルールは、チェック・サム・アルゴリズムの仕様を含んでもよい。
【０００７】
上記秘密情報は、社会保障番号であってもよい。上記文字列において検出された数字を表す値を有するバイトの数が９に等しい場合にフォーマット整合が起こるように決めてもよい。社会保障番号に関連するルールは、社会保障番号の最初の５桁によって表される数についての値の有効なサブセットの仕様を含んでもよい。
【０００８】
上記秘密情報は、電話番号であってもよい。上記文字列において検出された数字を表す値を有するバイトの数が１０に等しいか、又は上記文字列において検出された数字の数が最初の数字が「１」である１１個の数字に等しい場合にフォーマット整合が起こるように決めてもよい。電話番号に関連するルールは、有効な市外局番のリストの仕様を含んでもよい。電話番号に関連するルールは、市外局番の後の最初の数字が１又は０（ゼロ）であってはならないという仕様を含んでもよい。
【０００９】
上記秘密情報は、郵便番号であってもよい。一連のバイトが、数字を表す値を有する５個のバイト又は５番目の数字と６番目の数字との間にハイフンを有する９個の数字を表す値を有する１０個のバイトの何れかからなると検出された場合にフォーマット整合が起こるように決めてもよい。電話番号に関連するルールは、有効な５桁の郵便番号のリストの仕様を含んでもよい。
【００１０】
各文字列について、当該文字列が名前と整合する１つ以上の単語を含むかどうかを特定するステップであって、単語とは、文字列内の一連の連続バイトであって、当該バイトの全てが、文字−数字のキャラクタを表す値を有し、そして名前とは、個々の人々を呼ぶのに一般に使用されるキャラクタの連なりのリストからのキャラクタの連なりである、ステップと、
上記格納データにおいて検出された名前のカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を実行する。
名前の上記リストは、２個のサブセット（ファースト・ネーム及びラスト・ネーム）に分割されていてもよい。
【００１１】
各文字列について、当該文字列が１個以上のフル・ネームを含むかどうかを特定するステップであって、フル・ネームとは、ファースト・ネームのリストからの名前と、それに続くスペースと、それに続くラスト・ネームのリストからの名前と、からなるキャラクタの連なりである、ステップと、
検出されたフル・ネームのカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を実行する。
【００１２】
上記リスト中の名前は、それらに関連する頻度数を各々有していてもよく、上記格納データにおいて出現する名前についての平均頻度数を計算してもよく、当該平均頻度数に少なくとも部分的には基づいて、上記格納データについてのスコアを計算してもよい。上記格納データにおいて検出される名前の数が閾値よりも少ない場合には上記平均頻度数が無視されるようにしてもよい。
【００１３】
各文字列について、２個の文字からなる単語の数をカウントするステップであって、単語とは、一連の連続バイトであって、当該バイトの全てが、文字−数字のキャラクタを表す値を有する、ステップ、を実行する。
各２文字単語について、当該２文字単語が有効な州の略称（ｓｔａｔｅ ａｂｂｒｅｖｉａｔｉｏｎ）であるかどうかを特定するステップと、
有効な州の略称のカウント及び２文字単語のカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を実行する。
【００１４】
各文字列について、当該文字列が１個以上の州／郵便番号のペアを含むかどうかを特定するステップであって、州／郵便番号のペアとは、州の略称と、それに続くスペースと、次にそれに続く郵便番号と、からなるキャラクタの連なりである、ステップと、
検出された州／郵便番号のペアのカウントに少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を実行する。
【００１５】
電子的に格納されたファイル・システムにおける何れのファイルが最近更新されたのかを特定するステップと、
最近更新されたファイルの各々につき、秘密情報が無いかサーチするステップと、
を実行する。
【００１６】
文字列を規定するバイト値のサブセットは、文字−数字のキャラクタ、括弧、ハイフン、及びスペースを表してもよい。
【００１７】
上記スコアを閾値と比較するステップと、
上記スコアが上記閾値を超える場合は、秘密情報を含有する可能性有りとして上記格納データにフラグを立てるステップと、
を実行する。
【００１８】
種々の態様は、以下の利点の１個以上を含むことができる。
秘密情報についてのサーチの自動化を可能とする。秘密情報を効率的に検出して、機密及びプライバシーの保護度合いを可能にしたり高めたりする。
【００１９】
本発明の他の特徴及び利点は、以下の説明及び請求の範囲より明らかとなるであろう。
【図面の簡単な説明】
【００２０】
【図１】格納データにおける秘密情報を検出するシステムのブロック図である。
【図２】格納データにおける秘密情報を検出するのに使用されるソフトウェアのブロック図である。
【図３】ファイルが秘密情報を含有する可能性を示すスコアを計算するプロセスのフロー・チャートである。
【発明を実施するための形態】
【００２１】
膨大なセットのデータにおいて秘密データの出現を検出することは望ましく、秘密データについてサーチにおいてデータの大部分をレビューするのに人力を必要とすること無く秘密情報を検出することは特に望ましい。秘密情報を検出するシステムは、潜在的な秘密情報を自動的に検出することができる（その後、人力によって全体的又は部分的にレビューすることができる）。実施態様によっては、秘密データの人間によるレビューを許可された人員による短時間なものに限定したり、又は完全に回避したりして、秘密情報の取り扱いの誤りによって引き起こされるプライバシーの侵害を減らしたり、排除したりしてもよい。
【００２２】
図１は、電子的に格納されたデータにおいて秘密情報を検出する例示的なシステムを描いたものである。対象となるデータは、１個以上のデータ格納装置（例えば、並列ファイル・システムにおいて複数の装置上に実装された並列「マルチファイル」１１０（例えば、米国特許第５、８９７、６３８号明細書に記載されている。同記載は、引用により、本明細書に組み込まれる））又はデータベース・サーバ１２０に格納されていてもよい。当該秘密情報検出（ＣＩＤ）システム１００は、ランタイム環境１５０において実行されるソフトウェアを使用して、上記データ格納装置又はデータ格納装置群における格納データを分析する。格納データ（例えば、ファイル）の各ユニットについてのスコア、及び場合によっては、格納データの何れのユニットに秘密情報を含有する可能性があるかを示すフラグを含む上記分析の結果は、同じデータ格納装置１１０、１２０、又は他のデータ格納装置１６０、１７０に書き込んでもよい。場合によっては、ユーザ・インターフェース１８０をオペレータが使用して、上記ＣＩＤシステムを構成及び制御すると共に、上記結果をレビューしてもよい。
【００２３】
上記ランタイム環境１５０は、適切なオペレーティング・システム（例えば、ＵＮＩＸオペレーティング・システム（ＵＮＩＸは登録商標））の制御下で１台以上の汎用コンピュータ上にホスティングしてもよい。例えば、上記ランタイム環境１５０は、ローカル型であっても（例えば、ＳＭＰコンピュータ等のマルチプロセッサ・システム）、又はローカル分散型であっても（例えば、クラスタ若しくはＭＰＰとして結合された複数のプロセッサ）、又はリモート型であっても、又はリモート分散型であっても（例えば、ＬＡＮ若しくはＷＡＮネットワークを介して結合された複数のプロセッサ）、あるいはそれらの何れの組み合わせであっても、複数の中央演算処理装置（ＣＰＵ）を使用するコンピュータ・システムの構成を含む多重ノード並列コンピュータ環境を含むことができる。上記ランタイム環境１５０によってアクセスされる入力データセット、出力データセット又は中間データセットは、並列ファイル・システムに格納された並列「マルチファイル」であってもよい（例えば、データ・ストア１６０、又はローカルで若しくは通信リンク越しにリモートで上記システム１００に結合された外部データ・ストレージ）。
【００２４】
図２は、上記ランタイム環境において実行して電子的に格納されたファイルにおいて秘密情報を検出するシステムを実装することができるソフトウェアについての構造を描いたものである。上記ＣＩＤシステム１００は、全てのファイル・フォーマットを未知として扱い、秘密情報を含有するキャラクタの文字列をサーチする。ファイルはデータ格納装置２０１から読み取られる。文字列を識別する手法は、秘密情報を表すデータにおいて使用されるキャラクタ、又は秘密情報を表すデータの共通フォーマッティングを表すバイトを除き、全てのバイトを除去することである。バイトは概して８ビット長であるが、検出しようとするキャラクタ・セットに適切な任意のサイズに規定してもよい。例えば、バイトの長さを１６ビット又は３２ビットに規定してもよい。図示した実施例のシステムは、８ビットのバイト・サイズを使用する。
【００２５】
対象となるキャラクタに関連する存在し得るバイト値のサブセットを使用して、文字列を識別する。上記サブセットから外れる値を有するバイトは、文字列デリミタとして扱われる。この例においては、上記サブセット中のバイト値は、文字−数字のキャラクタ、括弧、ハイフン、及びスペースのＡＳＣＩＩ表現である。括弧、ハイフン、及びスペースは、電話番号、社会保障番号（ＳＳＮ）、クレジット・カード番号等のものをフォーマットするのに、又は住所における単語の間に、一般に使用されるので、これらのキャラクタが含まれる。文字列抽出モジュール２１０によって識別された文字列は、種々の秘密情報検出モジュール２２０、２３０、２４０、２５０、２６０、及び２７０に渡される。
【００２６】
クレジット・カード番号検出モジュール２２０は、番号について、各文字列をサーチし、クレジット・カード番号に関連するルールのセットに照らして、その番号をチェックする。これらのルールには、数字の数で測定される、１種以上の許容クレジット・カード番号長の仕様が含まれる。当該モジュールは、数字を表すバイトについて文字列をサーチすることによって起動する。文字列において検出された数字の数が、クレジット・カード番号として標準化されたフォーマットの数字で表された長さに等しい場合、基本的フォーマット整合が宣言される。番号を表す数字の間に他のキャラクタを表すバイトが散在していても（例えば、数字のグループの間のスペース）、基本的フォーマット整合が起こってもよい。各基本的フォーマット整合について、文字列における数字によって表される番号が、クレジット・カード番号に関連するルールのフル・セットを使用してテストされる。当該フル・セットにおける他のルールには、例えば、有効な発行者識別番号又は有効なチェック・サムの仕様を含んでもよい。これらのルールの何れかを番号が満足できない場合、無効、又はクレジット・カード番号の類似物、として識別される。ファイルを処理する際、クレジット・カード番号検出モジュール２２０は、基本的フォーマット整合の数及び、これらの中で無効であると特定されたものの数をカウントする。無効な番号のカウントの他の基本的フォーマット整合のカウントに対する比は、当該他の基本的フォーマット整合が実際に有効なクレジット・カード番号である可能性に関係する場合がある。本実施例のシステムにおいては、スコアの計算において完全フォーマット整合のカウントの重み付けを行うのに、この比を使用する。
【００２７】
代替の実施態様においては、各々が数字を表す値を有するバイトの途切れない連なりであって、クレジット・カード番号として標準化されたフォーマットの数字で表された長さに等しい長さを有する連なりを、文字列が含む場合にのみ、クレジット・カード番号についての基本的フォーマット整合を宣言するようにしてもよい。
【００２８】
同様に、社会保障番号検出モジュール２３０は、番号について、各文字列をサーチし、社会保障番号に関連するルールのセットに照らして、その番号をチェックする。これらのルールには、社会保障番号は９桁の長さでなければならないという仕様が含まれる。当該モジュールは、数字を表すバイトについて文字列をサーチすることによって起動する。文字列において検出された数字の数が９に等しい場合、基本的フォーマット整合が宣言される。番号を表す数字の間に他のキャラクタを表すバイトが散在していても（例えば、数字のグループの間のハイフン）、基本的フォーマット整合が起こってもよい。各基本的フォーマット整合について、文字列における数字によって表される番号が、社会保障番号に関連するルールのフル・セットを使用してテストされる。当該フル・セットにおける他のルールには、例えば、社会保障番号の最初の５桁によって表される数についての値の有効なサブセットの仕様を含んでもよい。これらのルールの何れかを番号が満足できない場合、無効、又は社会保障番号の類似物、として識別される。ファイルを処理する際、社会保障番号検出モジュール２３０は、基本的フォーマット整合の数及び、これらの中で無効であると特定されたものの数をカウントする。無効な番号のカウントの他の基本的フォーマット整合のカウントに対する比は、当該他の基本的フォーマット整合が実際に有効な社会保障番号である可能性に関係する場合がある。本実施例のシステムにおいては、スコアの計算において完全フォーマット整合のカウントの重み付けを行うのに、この比を使用する。
【００２９】
同様に、電話番号検出モジュール２４０は、番号について、各文字列をサーチし、電話番号に関連するルールのセットに照らして、その番号をチェックする。これらのルールには、電話番号が、１０桁の長さ、又は最初の数字が１に等しい１１桁の長さの何れかであるという仕様が含まれる。当該モジュールは、数字を表すバイトについて文字列をサーチすることによって起動する。文字列において検出された数字の数が１０に等しいか、又は文字列において検出された数字の数が１１であり且つ最初の数字が１である場合、基本的フォーマット整合が宣言される。番号を表す数字の間に他のキャラクタを表すバイトが散在していても（例えば、市外局番の前後の括弧、又は数字のグループの間のハイフン）、基本的フォーマット整合が起こってもよい。各基本的フォーマット整合について、文字列における数字によって表される番号が、電話番号に関連するルールのフル・セットを使用してテストされる。当該フル・セットにおける他のルールには、例えば、有効な市外局番のリストの仕様、又は市外局番の後の最初の数字が１又は０（ゼロ）であってはならないという仕様を含んでもよい。これらのルールの何れかを番号が満足できない場合、無効、又は電話番号の類似物、として識別される。ファイルを処理する際、電話番号検出モジュール２４０は、基本的フォーマット整合の数及び、これらの中で無効であると特定されたものの数をカウントする。無効な番号のカウントの他の基本的フォーマット整合のカウントに対する比は、当該他の基本的フォーマット整合が実際に有効な電話番号である可能性に関係する場合がある。本実施例のシステムにおいては、スコアの計算において完全フォーマット整合のカウントの重み付けを行うのに、この比を使用する。
【００３０】
代替の実施態様においては、以下の連なりの１つを表す値を有するバイトの途切れない連なりを文字列が含む場合にのみ、電話番号についての基本的フォーマット整合を宣言するようにしてもよい。
【００３１】
【数１】
2015053735.tif 000003
【００３２】
上式中、＊は、０、１、２、３、４、５、６、７、８、及び９の数字の何れかを表すワイルド・カードである。
【００３３】
名前検出モジュール２５０は、一般名称のリストからの名前に整合する単語について、各文字列をサーチする。ここで、単語とは、バイトの途切れない連なりであって、当該バイトの全てが文字を表す。一般名称のこのようなリストは、政府による調査から導かれるものであってもよい。名前のリストは、ファースト・ネームとラスト・ネームとに分割されていてもよい。一般に使用されている単語として別名に知られている特定の名前を排除して、誤検出（ｆａｌｓｅ ｐｏｓｉｔｉｖｅ）の機会を少なくしてもよい。例えば、名前のリストをカスタマイズして、月や曜日の名前を排除してもよい。誤検出を補償するもう１つの方法は、ファイル中に出現する名前の平均頻度を監視することである。例えば、アメリカ合衆国の調査によれば、各名前の頻度数が提供される。一般名称よりも珍しい名前は非常に沢山あるので、殆どの名前は、平均よりも十分低い頻度を有する。名前のリストは、ほぼ平均的な頻度を有するものと予想することができる。少数の名前にたまたまヒットするランダムなキャラクタのリストは、遙かに低い頻度を有する筈である。ファイルにおいて検出された名前の数が標本の大きさの最小値（例えば、１０個の名前）を超える場合、それらの名前の平均頻度を計算し、それらの名前をテストしてもよい。平均頻度を閾値と比較して、それらの名前が誤検出又は真の名前の何れである可能性が高いのかを特定してもよい。
【００３４】
本実施例において、名前検出モジュール２５０は、関連する頻度を有する一般名称のリストからのファースト・ネーム及びラスト・ネームについて、各文字列をサーチする。また、当該モジュールは、同じ文字列においてラスト・ネームの直前にファースト・ネームが出現する場合、このような出現をフル・ネームとして検出し、カウントする。当該モジュール２５０は、ファースト・ネームのカウント、ラスト・ネームのカウント、フル・ネームのカウント、及びファイル中に出現する全ての名前についての平均頻度を出力する。
【００３５】
所在地住所検出モジュール２６０は、番号と、それに続く文字からなる１つ又は２つの単語と、次にそれに続く認定された所在地の略称と、を含む単語の連なりについて、各文字列をサーチする。所在地住所の始めにある番号は、最初の数字がゼロに等しくない、数字の途切れない連なりで始まっていなければならない。この番号は、所在地名の１つ又は２つの単語の直前のスペースの前の端に任意の文字を有していてもよい。所在地住所検出モジュールは、ファイルにおいて検出された所在地住所の連なりの数を採点モジュールに渡す。
【００３６】
州及び郵便番号検出モジュール２７０は、郵便番号及び認定された２つのキャラクタの州の略称について、各文字列をサーチする。また、当該モジュールは、州の略称と、それに続く有効な郵便番号と、からなる２つの単語の連なりの出現をカウントする。当該モジュールは、全ての２文字単語をカウントし、各２文字単語が、アメリカ合衆国によって規定されたような、有効な州名の略称であるかどうかをチェックする。また、当該モジュール２７０は、番号について、各文字列をサーチし、郵便番号に関連するルールのセットに照らして、その番号をチェックする。これらのルールには、郵便番号が、５桁の長さである途切れない数字の連なり、又は５番目の数字と６番目の数字との間にハイフンを有する９桁の長さである連なりの何れかであるという仕様を含んでもよい。これらのパターンの何れかに整合するバイトの連なりが検出された場合、基本的フォーマット整合が宣言される。各基本的フォーマット整合について、文字列における数字によって表される番号が、郵便番号に関連するルールのフル・セットを使用してテストされる。当該フル・セットにおける他のルールには、例えば、全てのあり得る５桁の数字のサブセットとしての、有効な５桁の郵便番号の仕様を含んでもよい。これらのルールの何れかを番号が満足できない場合、無効、又は郵便番号の類似物、として識別される。ファイルを処理する際、当該モジュール２７０は、基本的フォーマット整合の数及び、これらの中で無効であると特定されたものの数をカウントする。無効な番号のカウントの他の基本的フォーマット整合のカウントに対する比は、当該他の基本的フォーマット整合が実際に有効な郵便番号である可能性に関係する場合がある。本実施例のシステムにおいては、スコアの計算において完全フォーマット整合のカウントの重み付けを行うのに、この比を使用する。最後に、当該モジュール２７０は、有効な州の略称と、それに続くスペースと、それに続く有効な郵便番号と、からなる州及び郵便の番号をカウントする。その後、当該モジュール２７０は、２文字単語のカウント、有効な州の略称のカウント、郵便番号のフォーマット整合のカウント、有効な郵便番号のカウント、並びに州及び郵便番号の連なりのカウントを、採点モジュールに渡す。
【００３７】
ＣＩＤシステムによって処理された各ファイルにスコアを割り振り、そのスコアに応じて、秘密情報を潜在的に含有するものとして、フラグを立ててもよい。採点モジュール２８０は、秘密情報検出モジュール２２０、２３０、２４０、２５０、２６０、及び２７０の出力に基づいて、ファイルについてのスコアを計算する。当該スコアは、ＣＩＤシステム１００に保存されてもよく、又はＣＩＤシステム１００から出力されてもよい。また、当該スコアを閾値と比較して、そのスコアが上記閾値を超える場合は当該ファイルにフラグを立てる閾値化モジュール２９０にも、当該スコアは渡される。
【００３８】
図２においては、上記秘密情報検出モジュール群は、文字列に対して独立して稼働するものとして描かれているが、場合によっては、文字列についての中間的な処理結果を当該検出モジュール群の幾つかの間で共用することにより、より大きな効率化を達成し得ることが理解されるべきである。例えば、数字を表す文字列におけるバイトをカウントするルーチンの結果は、クレジット・カード番号検出モジュール２２０、社会保障番号検出モジュール２３０、及び電話番号検出モジュール２４０によって共用することができる。また、サーチ対象である秘密情報についてのフォーマットに整合するのに必要とされるバイトの最少数未満の文字列を無視することによって、上記検出モジュール群の多くを最適化することができる。上記モジュールの境界は、実装されているロジックの理解をもたらすことを意図して説明されたものであり、ソフトウェアにおいて開示される方法を実装するコードの構造への厳密な拘束を課すことを意図するものではない。
【００３９】
採点モジュール２８０において実装することができる例示的な採点方法を図３に示す。採点モジュールの実行（３０１）の後、採点モジュールは、秘密情報検出モジュール２２０、２３０、２４０、２５０、２６０、及び２７０の１つによって出力された秘密情報タイプ（ＣＩタイプ）の１つに関するデータを取り出す（３１０）。その後、採点モジュールは、当該ＣＩタイプについてのヒット・カウント及び誤検出インジケータを抽出する（３２０）。
【００４０】
上記ヒット・カウントは、無効であると特定されていない、ファイルにおけるＣＩタイプのフォーマットへの整合の数である。例えば、クレジット・カード番号検出モジュールによって生成されるヒット・カウントは、無効であると特定されない基本的フォーマット整合の数である。これらのヒットは、ＣＩ対応に関連するルールのフル・セットへの完全整合である。ＣＩタイプの情報をコード化していなくても、ランダムなデータが完全整合を含む場合があるので、ヒットが誤検出であることも未だ起こり得る。誤検出インジケータとは、関連するヒット・カウントの信頼性を査定するのに採点モジュールが使用する測定基準である。例えば、クレジット・カード番号検出モジュールによって生成される誤検出インジケータは、無効として特定された基本的フォーマット整合のカウントである。これらの無効な基本的フォーマット整合は、ある意味で、クレジット・カード番号の「ニア・ミス」又は「類似物」であり、それらの存在は、誤検出の機会がより多いことを示唆する場合がある。完全整合とは区別して基本的フォーマット整合が規定されていないＣＩタイプについては、他の測定基準を誤検出インジケータとして使用してもよい。例えば、名前検出モジュールによって生成される平均頻度カウントを、名前のカウントについての誤検出インジケータとして使用してもよい。
【００４１】
採点モジュールは、誤検出インジケータに部分的に基づいて、誤検出重み係数を計算する（３３０）。この実施例において、重み係数は誤検出インジケータに反比例する。より正確には、重み係数は以下の形式をとる。
【００４２】
【数２】
2015053735.tif 000004
【００４３】
上式中、Ｈはヒット・カウントであり、Ｆは誤検出インジケータであり、そしてｎは整数の指数である（通常は、１〜５）。誤検出インジケータによっては、誤検出重み係数を計算するのに、他の関数形式を必要とするものもあり得る。例えば、誤検出重み係数は、名前についての平均頻度カウントに正比例する。また、重み係数がとり得る値を制約するステップをとることが好都合である場合もある。例えば、名前についての重み係数を、０．５と１との間の値をとるように不連続に制約してもよい。
【００４４】
採点において、誤検出インジケータが全く利用できないＣＩタイプも考えられる。本実施例のシステムにおいては、所在地住所検出モジュールは、誤検出インジケータを全く生成しない。誤検出重み係数計算ステップ３３０をスキップするか、又は同等に重み係数を１若しくは何か他のデフォルト値に設定して、誤検出インジケータが無いＣＩタイプを採点に組み込んでもよい。
【００４５】
その後、採点モジュールは、採点において考慮される各ＣＩタイプについてのサブ−スコアを計算する（３４０）。本実施例においては、サブ−スコアは、ヒット・カウント、誤検出重み係数、及びファイル・サイズ・インジケータの関数として計算される。より正確には、サブ−スコアは以下の形式をとる。
【００４６】
【数３】
2015053735.tif 000005
【００４７】
上式中、Ｎはファイル・サイズ・インジケータであり、ｋ及びｎは、サブ−スコアにおける係数を正規化するように各ＣＩタイプについて調整された定数である。特殊な場合においては、サブ−スコア計算の形式を単純化してもよい。例えば、フル・ネームの検出が名前についてのサブ−スコアの代替計算を開始させるようにしてもよい。上述したものと類似の採点アルゴリズムを実装するコードの例が、後に記載するサンプル・コード・リスティングに含まれている。
【００４８】
サブス−コアの計算（３４０）の後、採点モジュールは、考慮されるべきＣＩタイプ・データが残っているかどうかをチェックする（３５０）。考慮されるべき全てのＣＩタイプについてサブ−スコアが計算されていない場合は、採点モジュールがループ・バックして、次のＣＩタイプについての秘密情報検出モジュールからデータを取り出す。全てのサブ−スコアが計算された場合は、これらのサブ−スコアに基づいて当該ファイルについての複合スコアの計算（３６０）へと進む。描かれている実施例においては、複合スコアは、全てのサブ−スコアの合計である。複合スコアに加える前に、サブ−スコアに制約を加えてもよい。
【００４９】
その後、結果として得られる複合スコアを、例えば、データベース・サーバ１７０または並列「マルチ・ファイル」システム１６０等のデータ格納装置上の不揮発性メモリに書き込むことによって保存してもよい（３７０）。また、採点モジュールの実行の停止（３９５）の前に、複合スコアを閾値モジュール２９０に渡してもよい。
【００５０】
実装によっては、ＣＩＤシステム１００を、当該システムのユーザによって提供される１つ以上のファイルを処理するように構成してもよい。他の実装においては、ＣＩＤシステムを、ファイル・システム中の全てのファイルを処理するように構成してもよい。ＣＩＤシステムは、定期的に運転されるように構成してもよく、実装によっては、ファイル・システム中のファイルに関連するタイムスタンプ（例えば、所定の時（例えば、ＣＩＤシステムが前回運転された時）より後の最終編集時刻）をチェックして、最近更新されたファイルのみを処理するように構成してもよい。
【００５１】
上述の秘密情報検出手法は、コンピュータ上で実行するためのソフトウェアを使用して実装することができる。例えば、かかるソフトウェアは、少なくとも１つのプロセッサ、少なくとも１つのデータ格納システム（揮発性及び不揮発性メモリ、んあらびに／又は記憶素子）、少なくとも１つの入力装置又は入力ポート、及び少なくとも１つの出力装置又は出力ポートを各々が含む、１つ以上のプログラムされたまたはプログラム可能なコンピュータ・システム（分散型、クライアント／サーバ型、又はグリッド型等の種々のアーキテクチャのものであってよい）上で実行される、１つ以上のコンピュータ・プログラムにおけるプロシージャを形成する。上記ソフトウェアは、例えば、解散グラフの設計及び構成に関係する他のサービスを提供する、より大きいプログラムの１つ以上のモジュールを形成していてもよい。上記グラフのノード及びエレメントは、コンピュータ可読媒体に格納されたデータ構造、又はデータ・リポジトリに格納されたデータ・モデルに合致する他の系統的データとして、実装することができる。
【００５２】
上記ソフトウェアは、汎用の又は特殊用途のプログラム可能なコンピュータによって読み取ることができる記憶媒体（例えば、ＣＤ−ＲＯＭ）上に提供したり、又は実行時に、ネットワークの通信媒体越しに（伝搬信号中にコード化して）コンピュータに配信したりすることができる。上記機能の全ては、特殊用途のコンピュータ上で、又はコプロセッサ等の特殊用途のハードウェアを使用して、行うことができる。上記ソフトウェアは、当該ソフトウェアによって規定される計算の異なる部分が異なるコンピュータによって行われる分散方式にて実装することもできる。このような各コンピュータ・プログラムは、汎用の又は特殊用途のプログラム可能なコンピュータによって読み取ることができる記憶媒体又は記憶装置（例えば、固体メモリ若しくは媒体、又は磁気媒体若しくは光媒体）上に格納したり、又はダウンロードしたりして、コンピュータ・システムが上記記憶媒体又は記憶装置を読み取って本明細書に記載されたプロシージャを行おうとする際に、上記コンピュータが構成され、運転されるようにするのが好ましい。また、本発明のシステムは、コンピュータ・プログラムによって構成される、コンピュータ可読記憶媒体として実装されると考えることもできる。ここで、このように構成された記憶媒体は、コンピュータ・システムを、特定の予め定められた方式で運転して、本明細書に記載された機能を行う。
【００５３】
本発明の幾つかの実施態様について説明してきた。しかしながら、本発明の精神及び範囲から逸脱すること無く、種々の変形を行うことができることが理解されるであろう。例えば、上述のステップの幾つかは、順序に依存しないものであってもよく、従って、上述のものとは異なる順序で行うことができる。
【００５４】
サンプルとしてのコード・リスティングを以下に示す。
【００５５】
【数４】
2015053735.tif 000006
【００５６】
【数５】
2015053735.tif 000007
【００５７】
【数６】
2015053735.tif 000008
【００５８】
【数７】
2015053735.tif 000009
【００５９】
他の実施態様は、以下の請求の範囲の範囲内にある。
【図１】
2015053735.tif 000010
【図２】
2015053735.tif 000011
【図３】
2015053735.tif 000012
【手続補正書】
【提出日】平成26年12月24日(2014.12.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
秘密情報を検出する方法であって、
格納データを読み取るステップと、
上記格納データ内の文字列を識別するステップであって、各文字列は一連の連続バイトを含み、当該バイトの全てが、存在し得る値の予め定められたサブセット中にある値を有する、ステップと、
上記文字列の少なくとも幾つかの各々について、上記文字列が、１つ以上のフォーマット整合を表すバイトを含むかどうかを特定するステップであって、フォーマット整合が、秘密情報に関連する予め定められたフォーマットに整合する値のセットを含む、ステップと、
各フォーマット整合について、上記秘密情報に関連するルールのセットを用いて上記予め定められたフォーマットに整合する値をテストして、上記フォーマット整合が、１つ以上の無効な値を含む無効なフォーマット整合であるか否かを特定するステップと、
無効なフォーマット整合のカウントの他のフォーマット整合のカウントに対する比に少なくとも部分的には基づいて、上記格納データについてのスコアを計算するステップと、
を含む方法。
【外国語明細書】
2015053735000001.pdf