製品特長

1. DFA型文字列照合エンジンによる高速検索

  • 照合性能グラフ

    (三菱電機株式会社 情報技術総合研究所調べ)

  • ・すみずみ君 REX SEARCHはDFA型文字列照合エンジンを搭載、複雑な検索条件でも1億文字/秒の照合が可能で個人情報検索やテキスト検索の高速処理を実現しています。

    DFA(Deterministic Finite Automaton / 決定性有限オートマトン)

    ・検索条件を状態遷移に変換することにより効率的に文字列照合を行う方式です。
    ・大規模検索式でも照合性能がほとんど落ちない検索エンジンです。

照合方式の比較

照合方式 特長 正規表現 高速照合
NFA
Nondeterministic Finite Automaton
非決定性有限オートマトン
非決定的な遷移を実行時に解決するため、遷移先が決まらない場合は後戻りを繰り返す ×
DFA
Deterministic Finite Automaton
決定性有限オートマトン
非決定的な遷移を実行前に解決し、遷移先が決まっているため後戻りを繰り返すことがない

※すみずみ君 REX SEARCHの照合方式はDFAです。

DFAによる文字列照合方式

【初期化】検索条件から状態遷移図と状態遷移表を生成する
【照合】作成された状態遷移表を参照しながら入力文字列と照合する
  • 【初期化】検索条件から状態遷移図と状態遷移表を生成

  • 【照合】状態遷移表を参照しながら入力文字列と照合

状態遷移表の生成

初めにNFAの状態遷移図、次にDFAの状態遷移図、最後にDFAの状態遷移表を生成する

(1) NFA(非決定性有限オートマトン)の状態遷移図の生成

・正規表現から生成された状態遷移図では同じ文字に対して複数の遷移先が存在する場合がある。【非決定的遷移】
・非決定的遷移を含むオートマトンがNFA
(Nondeterministic Finite Automaton / 非決定性有限オートマトン)である。

NFAによる文字列照合では照合時に後戻りが発生するため照合速度が低下する

(2) DFA(決定性有限オートマトン)の状態遷移図及び状態遷移表の生成

・非決定的遷移は状態の合併により除去できる。
・非決定的遷移を除去したオートマトンがDFA
(Deterministic Finite Automaton / 決定性有限オートマトン)である。
・DFAでは冗長な状態遷移も合併により除去できる。

DFAによる文字列照合では照合時に後戻りが発生しないため高速照合が可能

  • 状態遷移表
  • 状態遷移パターン
すみずみ君 REX SEARCHが高速で検索できる理由 = DFA型文字列照合エンジン

【例】正規表現で5桁の半角数字列を検索するケース

初期化時に00000~99999の全状態遷移パターンを状態遷移表として作成

※参考 マイナンバーの場合、初期化時に10の11乗=1,000億の状態遷移パターンを作成

2. マルチスレッド(マルチコアCPU)による高速検索

  • 高性能サーバのマルチコアCPUをフル活用して複数ファイルを同時に検索できるマルチスレッド検索機能を搭載。
  • 膨大なファイル数の検索時間を大幅に短縮できます。
  • 最大99スレッドまでのマルチスレッド検索に対応。

【例】

すみずみ君 REX SEARCH 検索時間

検索ソフトウェア スレッド数
(使用コア数)
検索時間
(8,000ファイル / 合計ファイルサイズ 9.6G)
検索時間
(1GBあたりの検索時間)
すみずみ君 REX SEARCH【Linux】 1 25分28秒 2分40秒
2 12分57秒 1分21秒
4 6分51秒 43秒
8 4分1秒 26秒
16 2分37秒 17秒
すみずみ君【Windows】 1 43分2秒 4分29秒

(当社計測値)

すみずみ君 REX SEARCH 検索時間 検証データ

(1)検証機材
  すみずみ君 REX SEARCH すみずみ君
サーバ HP ProLiant DL360 Gen9 同左
CPU Intel Xeon E5-2660 v3 2.60GHz(10コア/2CPU)  20コアCPU 同左
メモリ 32GB 同左
アレイ SmartアレイP440ar 2GBキャッシュ 同左
HDD 12GB SAS 1.2TB × 6本 RAID 6 同左
OS Red Hat Enterprise Linux Server release 6.8 Windows Server 2016 Standard
カーネル Linux 2.6.32-642.el6.x86_64 -
ソフトウェア すみずみ君 REX SEARCH Verison 1.0 すみずみ君 Version 3.16.1
(2)検証用検索対象ファイル【ヒット率50%】
No. 検査対象アプリケーションファイル テキストサイズ ファイルサイズ 検索対象ファイル数 検索ヒットファイル数 検索ヒット率
1 Microsoft Word 2003 1MB 1.96MB 1,000 500 50%
2 Microsoft Word 2007 1MB 105KB 1,000 500 50%
3 Microsoft Excel 2003 1MB 1.11MB 1,000 500 50%
4 Microsoft Excel 2007 1MB 243KB 1,000 500 50%
5 Microsoft PowerPoint 2003 1MB 2.99MB 1,000 500 50%
6 Microsoft PowerPoint 2007 1MB 474KB 1,000 500 50%
7 PDF 1MB 475KB 1,000 500 50%
8 テキストファイル 1MB 1MB 1,000 500 50%
    合計 9.6GB 8,000 4,000 50%
(3)検索条件
No. 検索クエリ
1 名字(漢字)日本の名字上位200位≧1
2 住所≧1
3 電話番号≧1
4 メールアドレス≧1
5 機密≧1
6 クレジットカード番号(半角数字)区切りなし≧1
7 マイナンバー(半角数字)区切りなし≧1

3. 多重起動(マルチコアCPU)による高速検索

  • すみずみ君 REX SEARCHの実行プログラムを多重起動することで、ディレクトリごとに違う検索条件で検索を同時に実行し、ディレクトリごとに検索結果ファイルを出力することができます。
  • 部門ごとの業務で扱う情報に応じた条件で検索することで、ファイルサーバの部門ごとのディレクトリを効率的に検索することができます。
  • 各部門の担当者が確認作業を実施するという運用ができますので、確認作業効率がアップします。

【例】

5スレッド4多重起動検索

4. クレジットカード番号検索(PAN:Primary Account Number)

割賦販売法の改正により2018年6月1日から、クレジットカードを取り扱う加盟店に対し、カード情報の非保持化あるいはPCI DSS(Payment Card Industry Data Security Standard) への準拠などが義務付けられました。

クレジットカード番号等取扱業者は、クレジットカード番号等の「漏えい、滅失又は毀損の防止その他のクレジットカード番号等の適切な管理のために必要な措置を講じなければならない」。

Linuxサーバ上やネットワークストレージ上の意図していない場所にクレジットカード番号や個人情報が存在していないか、すみずみ君 REX SEARCHが高速で検索します。

チェックデジット検証(Luhnアルゴリズム)を行い検索するクレジットカード番号

国際ブランド プレフィックス 検索する番号
Diners Club International 30 / 36 / 38 区切りなしの連続14桁
4桁、6桁、4桁のハイフン区切り14桁
4桁、6桁、4桁のスペース区切り14桁
American Express 34 / 37 区切りなしの連続15桁
4桁、6桁、5桁のハイフン区切り15桁
4桁、6桁、5桁のスペース区切り15桁
VISA / MasterCard / JCB / DISCOVER Card 4 / 51 / 52 / 53 /54 / 55 / 35 / 60 / 64 / 65 区切りなしの連続16桁
4桁、4桁、4桁、4桁のハイフン区切り16桁
4桁、4桁、4桁、4桁のスペース区切り16桁
※VISA、MasterCard、JCB、American Express、Diners Club International、DISCOVER Cardはクレジットカードの国際ブランドです。

尚、ハイフン区切りのクレジットカード番号は下記の区切り文字に対応しています。

クレジットカード番号(半角数字)ハイフン区切り
No. 記号 UTF-8コード 区切り文字
1 - 0x2D 半角ハイフン
クレジットカード番号(全半角数字)ハイフン区切り
No. 記号 UTF-8コード 区切り文字
1 - 0x2D 半角ハイフン
2 0xE28090 全角ハイフン
3 0xEFBC8D 全角マイナス
4 0xE28095 全角ダッシュ
5 0xE29480 横線
6 0xE383BC 全角長音:ひらがなカタカナの長音記号(長音符)
7 0xE4B880 漢数字の 一 (漢数字の1)
また、チェックデジット検証を行っての検索はできませんが、番号の一部がマスクされたクレジットカード番号も正規表現で検索することができます。

【例】番号の一部が****でマスクされているクレジットカード番号(PAN)を検索する正規表現

  • 16桁PAN 12345678****9012
    正規表現 \d{8}****\d{4}
  • 16桁PAN 1234-5678-****-9012
    正規表現 \d{4}-\d{4}-****-\d{4}

5. 個人情報検索クエリファイル作成サービス

  • すみずみ君 REX SEARCHは正規表現(テキストデータ)で検索条件を作成し、この正規表現からクエリファイル(状態遷移データ)を作成します。
  • すみずみ君 REX SEARCHはこのクエリファイルを元に高速でファイル検索を行います。
  • 正規表現ファイル【テキストデータ】
  • クエリファイル作成プログラム
  • クエリファイル【状態遷移データ】

当社ではご購入ライセンス期間中のお客様向けに個人情報検索用のクエリファイルを作成する無償サービスをご提供しております。
当社でご提供可能な検索項目の一例は下記の通りです。

No. 検索項目
1 名字(漢字)日本の名字上位200位
2 名字(漢字)日本の名字上位2,000位
3 名字(カナ)日本の名字上位200位
4 名字(カナ)日本の名字上位2,000位
5 名字(英字)日本の名字上位200位
6 名字(英字)日本の名字上位2,000位
7 住所
8 電話番号
9 メールアドレス
10 生年月日
11 クレジットカード番号(半角数字)区切りなし/ハイフン区切り/スペース区切り
12 クレジットカード番号(全半角数字)区切りなし/ハイフン区切り/スペース区切り
13 口座番号(半角数字)
14 口座番号(半角数字)CIFを含まない
15 マイナンバー(半角数字)区切りなし/ハイフン区切り/スペース区切り
16 免許証番号(半角数字)
17 パスポート番号(半角数字)

クエリファイル作成サービスの流れ

クエリファイル作成サービスの流れ