JP2016148722A - 秘匿パターンマッチング装置、端末装置、その方法、プログラム、およびデータ構造 - Google Patents

秘匿パターンマッチング装置、端末装置、その方法、プログラム、およびデータ構造 Download PDF

Info

Publication number
JP2016148722A
JP2016148722A JP2015024218A JP2015024218A JP2016148722A JP 2016148722 A JP2016148722 A JP 2016148722A JP 2015024218 A JP2015024218 A JP 2015024218A JP 2015024218 A JP2015024218 A JP 2015024218A JP 2016148722 A JP2016148722 A JP 2016148722A
Authority
JP
Japan
Prior art keywords
pattern
character
information
determination result
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015024218A
Other languages
English (en)
Other versions
JP6305946B2 (ja
Inventor
直人 桐淵
Naoto Kiribuchi
直人 桐淵
浩気 濱田
Hiroki Hamada
浩気 濱田
大 五十嵐
Masaru Igarashi
大 五十嵐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015024218A priority Critical patent/JP6305946B2/ja
Publication of JP2016148722A publication Critical patent/JP2016148722A/ja
Application granted granted Critical
Publication of JP6305946B2 publication Critical patent/JP6305946B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】表記の種別の区別の有無を指定可能な秘匿パターンマッチング装置を提供する。
【解決手段】秘匿論理積演算部115n、116nはそれぞれ、対象文字の表記が大文字、小文字等の特定の種別に該当するか否かを表す対象文字種別情報とパターン文字の表記が特定の種別に該当するか否かを表すパターン文字種別情報とが一致し、かつ、対象文字の内容を表す対象符号とパターン文字の内容を表すパターン符号とが一致する、という条件を満たすか否かを表す第1情報に基づく第1判定結果、および、対象符号とパターン符号とが一致するという条件を満たすか否かを表す第2情報に基づく第2判定結果、が秘匿化された秘匿化判定結果を得る。秘匿論理演算部117nは、判定条件が表記の種別を区別することを表す場合に第1判定結果に基づき、判定条件が表記の種別を区別しないことを表す場合に第2判定結果に基づく、第3判定結果に応じた秘匿化情報を出力する。
【選択図】図2

Description

本発明は、暗号応用技術に関し、特に入力データを明かすことなくデータ処理を行う秘密計算技術に関する。
秘匿された文字列に対するパターンマッチング技術として非特許文献1に記載された手法がある。この手法では、パターンマッチングの対象文字列とパターンの両方を秘匿した状態でパターンマッチングを行い、秘匿化されたパターンマッチングの結果を得る。この手法では任意の文字に対応したワイルドカードを使うこともできる。
濱田浩気,桐淵直人,五十嵐大,"ラウンド効率のよい秘密計算パターンマッチング",Computer Security Symposium 2014.
しかしながら、従来手法は表記の種別の区別の有無を指定可能なパターンマッチングに適応していない。
本発明の課題は、表記の種別の区別の有無を指定可能なパターンマッチングを秘密計算で行うことである。
対象文字の表記が特定の種別に該当するか否かを表す対象文字種別情報とパターン文字の表記が特定の種別に該当するか否かを表すパターン文字種別情報とが一致し、かつ、対象文字の内容を表す対象符号とパターン文字の内容を表すパターン符号とが一致する、という条件を満たすか否かを表す第1情報に基づく判定結果、および、対象符号とパターン符号とが一致するという条件を満たすか否かを表す第2情報に基づく第2判定結果、が秘匿化された秘匿化判定結果を得る。判定条件が表記の種別を区別することを表す場合に第1判定結果に基づき、判定条件が表記の種別を区別しないことを表す場合に第2判定結果に基づく、第3判定結果に応じた秘匿化情報を得る。
これにより、表記の種別の区別の有無を指定可能なパターンマッチングを秘密計算で実現できる。
図1は実施形態の秘匿パターンマッチングシステムの構成を例示したブロック図である。 図2は実施形態の秘匿パターンマッチング装置の機能構成を例示したブロック図である。 図3Aは実施形態の端末装置の機能構成を例示したブロック図であり、図3Bは実施形態のデータベース装置の機能構成を例示したブロック図である。 図4Aは実施形態の端末装置の処理を例示するためのフロー図であり、図4Bは実施形態の秘匿パターンマッチング装置の処理を例示するためのフロー図である。 図5Aは、対象符号およびパターン符号の例(変換後の符号点)を示した図である。図5Bは、対象文字またはパターン文字と、対象文字種別情報またはパターン文字種別情報の例(大文字フラグおよび小文字フラグ)と、対象符号およびパターン符号の例(変換後の符号点)との関係を例示するための図である。 図6Aおよび図6Bは、対象文字種別情報とパターン文字種別情報とが一致し、かつ、対象符号とパターン符号とが一致する、という条件を満たすか否かを表す第1情報の例(結果II)を例示した図である。図6Cおよび図6Dは、対象符号とパターン符号とが一致するという条件を満たすか否かを表す第2情報の例(結果III)を例示した図である。 図7Aおよび図7Bは、対象文字種別情報とパターン文字種別情報とが一致し、かつ、対象符号とパターン符号とが一致する、という条件を満たすか否かを表す第1情報の例(結果II)を例示した図である。図7Cおよび図7Dは、対象符号とパターン符号とが一致するという条件を満たすか否かを表す第2情報の例(結果III)を例示した図である。 図8Aおよび図8Bは、第1情報の例(結果II)に基づく第1判定結果の例(パターンマッチング結果x)を例示した図である。 図9Aおよび図9Bは、第2情報の例(結果III)に基づく第2判定結果の例(パターンマッチング結果y)を例示した図である。
以下、図面を参照して本発明の実施形態を説明する。
[用語]
各実施形態で使用する用語を定義する。
「文字」とは、可視的表現を持ち、符号化表現が可能な記号を意味する。「文字」は、言語を伝達し記録するために線や点を使って形作られた記号(非図形文字)であってもよいし、それに準ずる記号(図形文字)であってもよい。「文字」の例は、文字コード規格で定められた符号化文字である。
「パターンマッチング」とは、「対象文字列(対象情報)」が「パターン文字列(パターン情報)」の条件を満たすかを判定する演算を意味する。「対象文字列」および「パターン文字列」は、ともに1個または2個以上の文字を含む。「対象文字列」に含まれる各文字を「対象文字」と呼び、「パターン文字列」に含まれる各文字を「パターン文字」と呼ぶ。「対象文字列」や「パターン文字列」の例は、テキストデータ(文書データ、数値データなど)に含まれた文字列や検索キーワードなどである。例えば、「対象文字列」がテキストデータに含まれた文字列であって「パターン文字列」が検索キーワードであってもよいし、「対象文字列」および「パターン文字列」が互いに同一または異なるテキストデータに含まれた文字列であってもよい。
「種別(クラス)」とは、文字の表記の種別を意味する。例えば、「種別」の例は大文字、小文字、半角、全角、特定のフォントなどである。「文字種別情報」とは、文字の表記が特定の種別に該当するか否かを表す情報(フラグ)を意味する。文字の表記が特定の種別に該当する場合、その「文字種別情報」の値は真(T)(有効)であり、文字の表記が特定の種別に該当しない場合、その「文字種別情報」の値は偽(F)(無効)である。例えば、文字「A」の場合、「大文字」という文字種別情報は真(T)(有効)であり、「小文字」という文字種別情報は偽(F)(無効)である。「対象文字」の「文字種別情報」を「対象文字種別情報」と呼び、「パターン文字」の「文字種別情報」を「パターン文字種別情報」と呼ぶ。
「文字の内容」とは「文字」が表す概念を意味する。例えば、大文字の「A」と小文字の「a」とは同じ概念(アルファベットの最初の文字)を表し、「A」の内容と「a」の内容とは同一である。「対象符号」とは「対象文字」の内容を表す符号であり、「パターン符号」とは「パターン文字」の内容を表す符号である。「対象文字」と「パターン文字」とが同じ内容を表すとき、それらの「対象符号」と「パターン符号」とは互いに同一である。例えば、「A」に対応する「対象符号」と「a」に対応する「パターン符号」とは同一である。一方、たとえ「種別」が同一であっても、「対象文字」と「パターン文字」とが異なる内容を表すとき、それらの「対象符号」と「パターン符号」とは異なる。例えば、「A」に対応する「対象符号」と「B」に対応する「パターン符号」とは異なる。
[第1実施形態]
以下、第1実施形態を説明する。
<構造>
図1に例示するように、本形態の秘匿パターンマッチングシステム1は、端末装置12、秘匿パターンマッチング装置11−11、およびデータベース装置13−13を有する。ただし、Nは1以上の整数である。例えば、本システムで秘密分散方式や秘匿回路方式に基づく秘密計算を行う場合にはN≧2であり、準同型性暗号方式に基づく秘密計算を行う場合にはN=1である。
図2に例示するように、本形態の秘匿パターンマッチング装置11(ただし、n∈{1,・・・,N})は、入力部111、秘匿一致判定部112−k(ただし、k∈{1,・・・,K}、Kは1以上の整数(奇数または偶数))、秘匿一致判定部113、秘匿論理積演算部114,115,116、秘匿論理演算部117、出力部118、および制御部119を有する。ここで、秘匿一致判定部112−k、秘匿一致判定部113、および秘匿論理積演算部114,115,116は第1演算部の例であり、秘匿論理演算部117は第2演算部の例である。説明の便宜上、各部を独立な部位として記述しているが、それらが独立の部位である必要はない。例えば、秘匿一致判定部112−kや秘匿一致判定部113が同一の部位であってもよいし、秘匿論理積演算部114,115,116が同一の部位であってもよい。
図3Aに例示するように、本形態の端末装置12は、入力部121,126、文字種別情報取得部122、符号点変換部123、秘匿化部124、出力部125、復元部127、および制御部128を有する。図3Bに例示するように、本形態のデータベース装置13(ただし、n∈{1,・・・,N})は、記憶部131、抽出部132、出力部133、入力部134、復元部135、および制御部136を有する。
各装置は、例えば、通信器やCPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。また、各装置はそれぞれの制御部119,128,136の制御に基づいて各処理を行う。
<事前処理>
事前処理では、テキストデータの暗号文Cのデータベースと、これらの各テキストデータに含まれた「対象文字列」に対応する「秘匿化データベース」がデータベース装置13(図3B)の記憶部131に格納される。「秘匿化データベース」は、単数または複数の秘匿化レコード[d]を含む。秘匿化レコード[d]は、対象文字列(対象情報)d=(d,・・・,d)(ただし、Mは正の整数)に含まれた各対象文字d(ただし、m∈{1,・・・,M})と、当該対象文字dの表記が特定の種別に該当するか否かを表す対象文字種別情報(フラグ)dfm,k∈{T,F}(ただし、k∈{1,・・・,K})と、当該対象文字dの内容を表す対象符号dcとが対応付けられたデータ構造の秘匿化情報である。対象符号dcの構成に限定はない。例えば、対象文字dが小文字である場合、その元の符号点(ユニコード等)をその大文字の符号点(変換後符号点)に変換し、その「変換後符号点」を対象符号dcにする。また例えば、対象文字dが大文字である場合、その元の符号点をそのまま「変換後符号点」として対象符号dcにする。例えば、「A」の元の符号点「U+0041」を「A」および「a」の対象符号dcとし、「B」の元の符号点「U+0042」を「B」および「b」の対象符号dcとする(図5A)。対象文字種別情報dfm,kの構成にも限定はないが、例えばK=2とし、対象文字dが大文字であるか否かを表す対象文字種別情報を大文字フラグdfm,1∈{T,F}とし、小文字であるか否かを表す対象文字種別情報を小文字フラグdfm,2∈{T,F}とする。例えば、「A」の大文字フラグdfm,1は「T」、小文字フラグdfm,2は「F」であり、「a」の大文字フラグdfm,1は「F」、小文字フラグdfm,2は「T」であり、「B」の大文字フラグdfm,1は「T」、小文字フラグdfm,2を「F」であり、「b」の大文字フラグdfm,1は「F」、小文字フラグdfm,2は「T」である(図5B)。また、各対象文字種別情報dfm,k,対象符号dcについて秘密計算が可能なのであれば、対象文字種別情報dfm,k,対象符号dcが個々に独立して秘匿化されてもよいし、対象文字種別情報dfm,1,・・・,dfm,Kおよび対象符号dcがまとめて秘匿化されていてもよいし、その他の単位でまとめて秘匿化されてもよい。秘匿化方式にも限定はなく、秘密計算による一致判定(等号判定)および論理演算(論理和、論理積、論理否定)が可能であれば、秘密分散方式(Shamir秘密分散方式等)、秘匿回路方式、準同型性暗号方式など、どのような方式が用いられてもよい。例えば、非特許文献1や参考文献1(Damgard, I., Fitzi, M., Kiltz, E., Nielsen, J. B., & Toft, T. (2006), “Unconditionally secure constant-rounds multi-party computation for equality, comparison, bits and exponentiation,” In Theory of Cryptography (pp. 285-304). Springer Berlin Heidelberg.)などに記載された方式を用いてもよい。
<パターンマッチング処理>
図4Aに例示するように、端末装置12(図3A)の入力部121に、表記の種別を区別するか否かを表す判定条件a∈{T,F}、およびパターン文字列(パターン情報)p=(p,・・・,p)が入力される。判定条件aは「表記の種別を区別する」ことを表す「真(T)」であるか、「表記の種別を区別しない」ことを表す「偽(F)」である。パターン文字列pはM個のパターン文字p,・・・,pを含む。判定条件aは、秘匿化部124に送られ、パターン文字列pは、文字種別情報取得部122および符号点変換部123に送られる(ステップS121)。
文字種別情報取得部122は、パターン文字列pが含む各パターン文字p(ただし、m∈{1,・・・,M})の表記が特定の種別に該当するか否かを表すパターン文字種別情報(フラグ)pfm,k∈{T,F}(ただし、k∈{1,・・・,K})を得て出力する。パターン文字種別情報pfm,kは対象文字種別情報dfm,kと同じ基準(例えば、図5B)に従って生成される。例えばK=2とし、パターン文字pが大文字であるか否かを表すパターン文字種別情報を大文字フラグpfm,1∈{T,F}とし、小文字であるか否かを表すパターン文字種別情報を小文字フラグpfm,2∈{T,F}とする(ステップS122)。符号点変換部123は、パターン文字列pが含む各パターン文字p(ただし、m∈{1,・・・,M})の内容を表すパターン符号pcを得て出力する。パターン符号pcも対象符号dcと同じ基準(例えば、図5A)に従って生成される(ステップS123)。
秘匿化部124は、前述の「秘匿化データベース」と同じ秘匿化方法を用い、判定条件aに対応する秘匿化情報(判定条件aが秘匿化された秘匿化判定条件)[a]、ならびに各パターン文字p(ただし、m∈{1,・・・,M})のパターン文字種別情報pfm,1,・・・,pfm,Kおよびパターン符号pcに対応する秘匿化情報[p]を含む、秘匿化クエリ[a],[p]を得て出力する。各パターン文字種別情報pfm,k,パターン符号pcについて秘密計算が可能なのであれば、パターン文字種別情報pfm,k,パターン符号pcが個々に独立して秘匿化されてもよいし、パターン文字種別情pfm,1,・・・,pfm,Kおよびパターン符号pcがまとめて秘匿化されていてもよいし、その他の単位でまとめて秘匿化されてもよい(ステップS124)。
秘匿化クエリ[a],[p]は出力部125に送られ、出力部125は秘匿化クエリ[a],[p]を、秘匿パターンマッチング装置11(ただし、n∈{1,・・・,N})に送信する(ステップS125)。
図4Bに例示するように、秘匿化クエリ[a],[p]は、秘匿パターンマッチング装置11(図2)の入力部111に入力される(ステップS110)。制御部119は、秘匿化レコードの送信要求を生成して出力部118から送信する。送信要求はデータベース装置13(図3B)の入力部134に入力され、抽出部132に送られる。抽出部132は、記憶部131から秘匿化データベースの何れかの秘匿化レコード[d]を抽出し、出力部133から送信する。秘匿化レコード[d]は、秘匿パターンマッチング装置11(図2)の入力部111に入力される(ステップS111)。
秘匿パターンマッチング装置11(図2)の秘匿一致判定部112−k(ただし、k∈{1,・・・,K})および秘匿一致判定部113は、[d]および[p]を入力とし、m∈{1,・・・,M}について、以下のステップS112およびS113の処理を実行する。これらの処理は各mについて順番に実行されてもよいし、複数のmについて同時に実行されてもよい。
《ステップS112
秘匿一致判定部112−k(ただし、k∈{1,・・・,K})は、秘密計算による一致判定(等号判定)により、dfm,kとpfm,kとが一致する場合(dfm,k=pfm,k)に真(T)となり、一致しない場合(dfm,k≠pfm,k)に偽(F)となる一致判定結果rfm,k∈{T,F}の秘匿化情報[rfm,kを得て出力する。図6Aの例では、対象文字d=「A」について、大文字フラグdfm,1=T、小文字フラグdfm,2=Fであり、パターン文字p=「a」について、大文字フラグpfm,1=F、小文字フラグpfm,2=Tであるため、rfm,1=F、rfm,2=Fとなる。図6Bの例では、対象文字d=「a」について、大文字フラグdfm,1=F、小文字フラグdfm,2=Tであり、パターン文字p=「a」について、大文字フラグpfm,1=F、小文字フラグpfm,2=Tであるため、rfm,1=T、rfm,2=Tとなる。図7Aの例では、対象文字d=「B」について、大文字フラグdfm,1=T、小文字フラグdfm,2=Fであり、p=「a」について、大文字フラグpfm,1=F、小文字フラグpfm,2=Tであるため、rfm,1=F、rfm,2=Fとなる(結果I)。図7Bの例では、d=「b」について、大文字フラグdfm,1=F、小文字フラグdfm,2=Tであり、パターン文字p=「a」について、大文字フラグpfm,1=F、小文字フラグpfm,2=Tであるため、rfm,1=T、rfm,2=Tとなる(結果I)。なお、例えば「T」を1とし、「F」を0とすると、dfm,kとpfm,kとの一致判定は、dfm,kとpfm,kとの排他的論理和の否定となる。このような秘密計算による一致判定は、例えば、参考文献1等に記載された方法によって実現できる(以下、同様)。
秘匿一致判定部113は、秘密計算による一致判定(等号判定)により、対象符号dcとパターン符号pcとが一致する場合(dc=pc)に真(T)となり、一致しない場合(dc≠pc)に偽(F)となる一致判定結果rc∈{T,F}の秘匿化情報[rcを得て出力する。図6A−図6Dの例では、dc=pc=「U+0041」となるため、rc=Tとなる(結果I)。図7A−図7Dの例では、dc=「U+0042」であり、pc=「U+0041」となるため、rc=Fとなる(結果Iおよび結果III)。なお、一致判定結果rcは、「対象符号dcとパターン符号pcとが一致するという条件を満たすか否かを表す第2情報」の例である。一致判定結果rcは、対象符号dcとパターン符号pcとが一致する場合に真(T)となり、対象符号dcとパターン符号pcとが異なる場合に偽(F)となる。
《ステップS113
秘匿論理積演算部114は、[rfm,k(ただし、k∈{1,・・・,K})および[rcを入力とし、秘密計算による論理積により、(rfm,1=T)AND(rfm,2=T)AND・・・AND(rfm,K=T)AND(rc=T)のときに真(T)となり、そうでない場合に偽(F)となる論理積CON∈{T,F}の秘匿化情報[CON(ただし、m∈{1,・・・,M})を得て出力する。「AND」は論理積を表す。図6Aの例ではCON=Fとなり、図6Bの例ではCON=Tとなり、図7Aの例ではCON=Fとなり、図7Bの例ではCON=Fとなる(結果II)。例えば「T」を1とし、「F」を0とすると、CON=(rfm,1)AND(rfm,2)AND・・・AND(rfm,K)AND(rc)となる。このような秘密計算による論理積は、例えば、非特許文献1等に記載された方法によって実現できる(以下、同様)。また、論理積CONは、「対象文字種別情報dfm,kとパターン文字種別情報pfm,kとが一致し、かつ、対象符号dcとパターン符号pcとが一致する、という条件を満たすか否かを表す第1情報」の例である。論理積CONは、対象文字種別情報dfm,kとパターン文字種別情報pfm,kとが一致し、かつ、対象符号dcとパターン符号pcとが一致する場合に真(T)となり、対象文字種別情報dfm,kとパターン文字種別情報pfm,kとが異なるか、または、対象符号dcとパターン符号pcとが異なる場合に偽(T)となる(ステップS112およびS113の処理の説明終わり)。
秘匿論理積演算部115は、[CON(ただし、m∈{1,・・・,M})を入力とし、秘密計算による論理積により、(CON=T)AND(CON=T)AND・・・AND(CON=T)のときに真(T)となり、そうでない場合に偽(F)となる論理積であるパターンマッチング結果xの秘匿化情報[x]を得て出力する。例えば「T」を1とし、「F」を0とすると、x=(CON)AND(CON)AND・・・AND(CON)となる。図8Aの例では、M=3,CON=F,CON=F,CON=Tであり、x=Fとなる。図8Bの例では、M=3,CON=T,CON=T,CON=Tであり、x=Tとなる。M=1の場合にはx=CONである。なお、パターンマッチング結果xは「第1情報に基づく第1判定結果」の例である。パターンマッチング結果xは、パターン文字列p(および対象文字列d)に対応するすべての論理積CON,・・・,CONが真(T)である場合に真(T)となり、対象文字列dに対応する何れかのCONが偽(F)である場合に偽(F)となる。[x]は「第1判定結果が秘匿化された秘匿化判定結果」の例である(ステップS114)。
秘匿論理積演算部116は、[rc(ただし、m∈{1,・・・,M})を入力とし、秘密計算による論理積により、(rc=T)AND(rc=T)AND・・・AND(rc=T)のときに真(T)となり、そうでない場合に偽(F)となる論理積であるパターンマッチング結果yの秘匿化情報[y]を得て出力する。例えば「T」を1とし、「F」を0とすると、rc=(rc)AND(rc)AND・・・AND(rc)である。図9Aの例では、M=3,rc=T,rc=T,rc=Tであり、y=Tとなる。図9Bの例では、M=3,rc=F,rc=T,rc=Tであり、y=Fとなる。M=1の場合にはy=rcである。なお、パターンマッチング結果yは「第2情報に基づく第2判定結果」の例である。パターンマッチング結果yは、パターン文字列p(および対象文字列d)に対応するすべてのrcが真(T)である場合に真(T)となり、パターン情報pに対応する何れかのrcが偽(F)である場合に偽(F)となる。[y]は「第2判定結果が秘匿化された秘匿化判定結果」の例である(ステップS115)。
秘匿論理演算部117は、[a],[x],[y]を入力とし、秘密計算による論理演算により、判定条件a=Tの場合(表記の種別を区別することを表す場合)にパターンマッチング結果x(第1判定結果)に基づき、判定条件a=Fの場合(表記の種別を区別しないことを表す場合)にパターンマッチング結果y(第2判定結果)に基づく結果r(第3判定結果)に応じた秘匿化情報[r]を得て出力する。本形態では、判定条件a=Tの場合にr=xとなり、判定条件a=Fの場合にr=yとなる結果rが秘匿化された秘匿化情報[r]を得て出力する。例えば、秘匿論理演算部117は、{(x=T)AND(a=T)}OR{(y=T)AND(a=F)}のときに真(T)となり、そうでない場合に偽(F)となる論理演算値r∈{T,F}が秘匿化された秘匿化情報[r]を得て出力する。「OR」は論理和を表す。すなわち、論理演算値rは、(1)パターンマッチング結果xが真であり、かつ、判定条件aが真であるか、または、(2)パターンマッチング結果yが真であり、かつ、判定条件aが偽である場合に真となり、それ以外の場合に偽となる。例えば「T」を1とし、「F」を0とすると、r=(x AND a)OR(y AND (1−a))となり、[r]=[(x AND a) OR (y AND (1−a))]となる。このような秘密計算による論理演算は、例えば、非特許文献1等に記載された方法によって実現できる(ステップS116)。[r]は出力部118から送信される(ステップS117)。
[r]は何れかのデータベース装置13に送信され、データベース装置13(図3B)の入力部134に入力される。[r]は復元部135に送られて復元値rが得られる。ここで、a=Tであった場合にはr=x∈{T,F}となっており、a=Fであった場合にはr=y∈{T,F}となっている。復元値rは抽出部132に送られる。r=Tであった場合、復元値rはステップS111で抽出された秘匿化レコード[d]に対応するテキストデータの暗号文Cを記憶部131から抽出し、出力部133から送信する。暗号文Cは、端末装置12の入力部126に入力され、復元部127でテキストデータmに復元されて出力される。一方、r=Fであった場合、復元値rは記憶部131から新たな秘匿化レコード[d]を抽出し、前述のステップS111以降の処理が繰り返される。記憶部131に新たな秘匿化レコード[d]が存在しない場合にはエラーメッセージを返してもよい。
以上のように、本形態では判定条件aによって表記の種別の区別の有無を指定可能であり、また各処理は秘密計算による一致判定や論理演算によって実現できる。これにより、表記の種別の区別の有無を指定可能なパターンマッチングを秘密計算で実現できる。
[変形例等]
本発明は上述の実施形態に限定されるものではない。例えば、上述の実施形態では、判定条件aに応じ、秘密計算によって、テキストデータに含まれた対象文字列d=(d,・・・,d)とパターン文字列p=(p,・・・,p)とのパターンマッチングを行った。すなわち、テキストデータの全部または部分である対象文字列dとパターン文字列pとのパターンマッチングを行った。この変形例として、テキストデータの全部または部分である文字列と、パターン文字および特殊記号を含むパターンと、のパターンマッチングを行ってもよい。特殊記号とは、どのような対象文字もマッチすることにするものである。特殊記号の例は、1個の任意の対象文字にマッチすることにする「ワイルドカード」や、0個以上の任意の対象文字にマッチすることにする「無限長ギャップ」などである。このようなパターンマッチングは、特殊記号を含むパターンでパターンマッチングを行う公知手法(例えば、非特許文献1等)でのパターン文字との一致判定を、文字ごと(M=1)のステップS112−S117の処理に置換することで実現できる。
M=1の場合、秘匿論理積演算部115,116を省略し、秘匿論理積演算部114で得られた[CONをそのまま[x]とし、秘匿一致判定部113で得られた[rcをそのまま[y]としてもよい。
上述の実施形態では、判定条件a=Tの場合にr=xとなり、判定条件a=Fの場合にr=yとなった。しかしながら、判定条件a=Tの場合にxとその他の情報とに応じた値がrとなり、判定条件a=Fの場合にyとその他の情報とに応じた値がrとなってもよい。
判定条件a、パターン文字列p=(p,・・・,p)、および対象文字列d=(d,・・・,d)の組が複数組存在し、それぞれの組についてステップS112−S117の処理が実行されてもよい。または、それぞれの組についての結果rの論理演算結果(論理積など)が秘匿化された秘匿化情報が出力されてもよい。各組の判定条件aやMは同一であってもよいし、異なっていてもよい。このような論理演算結果の秘匿化情報も、「判定条件が表記の種別を区別することを表す場合に第1判定結果に基づき、判定条件が表記の種別を区別しないことを表す場合に第2判定結果に基づく、第3判定結果に応じた秘匿化情報」に相当する。
パターン文字列pおよび対象文字列dの両方が互いに同一または異なるテキストデータに含まれたものであってもよい。パターン文字列pおよび対象文字列dの両方が入力テキストであってもよい。上述のようなテキストを抽出するためではなく、テキストからパターン文字列pにマッチングする対象文字列dを抽出するために本方式が用いられてもよい。また、秘密計算が可能なのであれば、パターンマッチング結果xおよびパターンマッチング結果yが個々に秘匿化されていてもよいし、これらがまとめて秘匿化されていてもよい。
上述の実施形態では、データベース装置13が復元部135を含み、入力された[r]から復元値rを復元し、復元値rに応じ、新たな秘匿化レコード[d]またはテキストデータの暗号文Cを抽出した。しかしながら、データベース装置13が復元部135を持たず、記憶部131が、テキストデータの暗号文Cに代え、秘密計算可能なテキストデータの秘匿化情報を保持していてもよい。この場合には抽出部132が[r]をそのまま用い、秘密計算によって新たな秘匿化レコード[d]またはテキストデータの秘匿化情報を抽出してもよい。
各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。例えば、端末装置とデータベース装置とが同一の装置であってもよいし、データベース装置と秘匿パターンマッチング装置とが同一の装置であってもよい。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
対象文字の表記が特定の種別に該当するか否かを表す対象文字種別情報と前記対象文字の内容を表す対象符号とが対応付けられた情報の秘匿化情報を含むデータ構造を流通させてもよい。この流通は可搬型記録媒体を販売、譲渡、貸与等したり、ネットワークを介して転送したりすることによって行う。このようなデータ構造は、第1演算部が、前記対象文字種別情報とパターン文字の表記が前記特定の種別に該当するか否かを表すパターン文字種別情報とが一致し、かつ、前記対象符号と前記パターン文字の内容を表すパターン符号とが一致する、という条件を満たすか否かを表す第1情報に基づく第1判定結果、および、前記対象符号と前記パターン符号とが一致するという条件を満たすか否かを表す第2情報に基づく第2判定結果、が秘匿化された秘匿化判定結果を得、第2演算部が、判定条件が表記の種別を区別することを表す場合に前記第1判定結果に基づき、前記判定条件が表記の種別を区別しないことを表す場合に前記第2判定結果に基づく、第3判定結果に応じた秘匿化情報を得るために用いられる。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
上述した技術は、例えば、クラウド上での秘密計算によるデータベース検索などに利用できる。
1 秘匿パターンマッチングシステム
11 秘匿パターンマッチング装置
12 端末装置
13 データベース装置

Claims (8)

  1. 対象文字の表記が特定の種別に該当するか否かを表す対象文字種別情報とパターン文字の表記が前記特定の種別に該当するか否かを表すパターン文字種別情報とが一致し、かつ、前記対象文字の内容を表す対象符号と前記パターン文字の内容を表すパターン符号とが一致する、という条件を満たすか否かを表す第1情報に基づく第1判定結果、および、前記対象符号と前記パターン符号とが一致するという条件を満たすか否かを表す第2情報に基づく第2判定結果、が秘匿化された秘匿化判定結果を得る第1演算部と、
    判定条件が表記の種別を区別することを表す場合に前記第1判定結果に基づき、前記判定条件が表記の種別を区別しないことを表す場合に前記第2判定結果に基づく、第3判定結果に応じた秘匿化情報を得る第2演算部と、
    を有する秘匿パターンマッチング装置。
  2. 請求項1の秘匿パターンマッチング装置であって、
    前記パターン文字はパターン情報に含まれ、
    前記第1情報は、前記対象文字種別情報と前記パターン文字種別情報とが一致し、かつ、前記対象符号と前記パターン符号とが一致する場合に真となり、前記対象文字種別情報と前記パターン文字種別情報とが異なるか、または、前記対象符号と前記パターン符号とが異なる場合に偽となり、
    前記第1判定結果は、前記パターン情報に対応するすべての前記第1情報が真である場合に真となり、前記パターン情報対応する何れかの前記第1情報が偽である場合に偽となり、
    前記第2情報は、前記対象符号と前記パターン符号とが一致する場合に真となり、前記対象符号と前記パターン符号とが異なる場合に偽となり、
    前記第2判定結果は、前記パターン情報に対応するすべての前記第2情報が真である場合に真となり、前記パターン情報に対応する何れかの前記第2情報が偽である場合に偽となる、秘匿パターンマッチング装置。
  3. 請求項1または2の秘匿パターンマッチング装置であって、
    前記第2演算部は、(1)前記第1判定結果が真であり、かつ、前記判定条件が真であるか、または、(2)前記第2判定結果が真であり、かつ、前記判定条件が偽である場合に真となり、それ以外の場合に偽となる論理演算値が秘匿化された情報を得る、秘匿パターンマッチング装置。
  4. パターン文字の表記が特定の種別に該当するか否かを表すパターン文字種別情報を得る第1処理部と、
    前記パターン文字の内容を表すパターン符号を得る第2処理部と、
    表記の種別を区別するか否かを表す判定条件、前記パターン文字種別情報、および前記パターン符号に対応する秘匿化情報を得る第3処理部と、
    を有する端末装置。
  5. 第1演算部が、対象文字の表記が特定の種別に該当するか否かを表す対象文字種別情報とパターン文字の表記が前記特定の種別に該当するか否かを表すパターン文字種別情報とが一致し、かつ、前記対象文字の内容を表す対象符号と前記パターン文字の内容を表すパターン符号とが一致する、という条件を満たすか否かを表す第1情報に基づく第1判定結果、および、前記対象符号と前記パターン符号とが一致するという条件を満たすか否かを表す第2情報に基づく第2判定結果、が秘匿化された秘匿化判定結果を得るステップと、
    第2演算部が、判定条件が表記の種別を区別することを表す場合に前記第1判定結果に基づき、前記判定条件が表記の種別を区別しないことを表す場合に前記第2判定結果に基づく、第3判定結果に応じた秘匿化情報を得るステップと、
    を有する秘匿パターンマッチング方法。
  6. 第1処理部が、パターン文字の表記が特定の種別に該当するか否かを表すパターン文字種別情報を得るステップと、
    第2処理部が、前記パターン文字の内容を表すパターン符号を得るステップと、
    第3処理部が、表記の種別を区別するか否かを表す判定条件、前記パターン文字種別情報、および前記パターン符号に対応する秘匿化情報を得るステップと、
    を有する秘匿パターンマッチング方法。
  7. 請求項1から3の何れかの秘匿パターンマッチング装置、または請求項4の端末装置としてコンピュータを機能させるためのプログラム。
  8. 対象文字の表記が特定の種別に該当するか否かを表す対象文字種別情報と前記対象文字の内容を表す対象符号とが対応付けられた情報の秘匿化情報を含み、
    第1演算部が、前記対象文字種別情報とパターン文字の表記が前記特定の種別に該当するか否かを表すパターン文字種別情報とが一致し、かつ、前記対象符号と前記パターン文字の内容を表すパターン符号とが一致する、という条件を満たすか否かを表す第1情報に基づく第1判定結果、および、前記対象符号と前記パターン符号とが一致するという条件を満たすか否かを表す第2情報に基づく第2判定結果、が秘匿化された秘匿化判定結果を得、
    第2演算部が、判定条件が表記の種別を区別することを表す場合に前記第1判定結果に基づき、前記判定条件が表記の種別を区別しないことを表す場合に前記第2判定結果に基づく、第3判定結果に応じた秘匿化情報を得るためのデータ構造。
JP2015024218A 2015-02-10 2015-02-10 秘匿パターンマッチング装置、その方法、およびプログラム Active JP6305946B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015024218A JP6305946B2 (ja) 2015-02-10 2015-02-10 秘匿パターンマッチング装置、その方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015024218A JP6305946B2 (ja) 2015-02-10 2015-02-10 秘匿パターンマッチング装置、その方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2016148722A true JP2016148722A (ja) 2016-08-18
JP6305946B2 JP6305946B2 (ja) 2018-04-04

Family

ID=56691158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015024218A Active JP6305946B2 (ja) 2015-02-10 2015-02-10 秘匿パターンマッチング装置、その方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6305946B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019124134A1 (ja) * 2017-12-19 2019-06-27 日本電信電話株式会社 検索装置、検索方法、プログラム、および記録媒体

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877188A (ja) * 1994-09-05 1996-03-22 Oki Electric Ind Co Ltd フルテキストサーチ方法
JP2010191858A (ja) * 2009-02-20 2010-09-02 Daikin Ind Ltd ソフトウェア開発支援装置
JP2012502311A (ja) * 2008-09-08 2012-01-26 コンフィデイト セキュリティ ソリューションズ リミテッド データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネント
JP2014194662A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd データ検索方法、データ検索プログラムおよび中継装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877188A (ja) * 1994-09-05 1996-03-22 Oki Electric Ind Co Ltd フルテキストサーチ方法
JP2012502311A (ja) * 2008-09-08 2012-01-26 コンフィデイト セキュリティ ソリューションズ リミテッド データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネント
JP2010191858A (ja) * 2009-02-20 2010-09-02 Daikin Ind Ltd ソフトウェア開発支援装置
JP2014194662A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd データ検索方法、データ検索プログラムおよび中継装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
原田 弘毅 外3名: "準同型性暗号を用いた拡張文字列の秘匿パターン照合", CSS2013コンピュータセキュリティシンポジウム2013論文集 合同開催 マルウェア対策研究人材育, vol. 第2013巻/第4号, JPN6017049954, 14 October 2013 (2013-10-14), JP, pages 801 - 808, ISSN: 0003710403 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019124134A1 (ja) * 2017-12-19 2019-06-27 日本電信電話株式会社 検索装置、検索方法、プログラム、および記録媒体

Also Published As

Publication number Publication date
JP6305946B2 (ja) 2018-04-04

Similar Documents

Publication Publication Date Title
US20200074109A1 (en) Generating and processing obfuscated sensitive information
CN109241484B (zh) 一种基于加密技术的网页数据的发送方法及设备
Al Etaiwi Encryption algorithm using graph theory
JP2018054765A (ja) データ処理装置、データ処理方法、およびプログラム
US10541982B1 (en) Techniques for protecting electronic data
CN111033506A (zh) 利用匹配操作和差异操作的编辑脚本核实
Dang Changes in federal information processing standard (FIPS) 180-4, secure hash standard
CN109977684A (zh) 一种数据传输方法、装置及终端设备
JP6915375B2 (ja) 多項式ベースの準同型暗号
CN110062941B (zh) 消息发送系统及方法、通信终端、服务器装置、记录介质
CN111191255A (zh) 信息加密处理的方法、服务器、终端、设备以及存储介质
Zhang et al. Cryptosystem identification scheme based on ASCII code statistics
CN110704875B (zh) 客户敏感信息的处理方法、装置、系统、介质及电子设备
Tayyab et al. Cryptographic based secure model on dataset for deep learning algorithms
Malik et al. A homomorphic approach for security and privacy preservation of Smart Airports
CN111475690B (zh) 字符串的匹配方法和装置、数据检测方法、服务器
CN116055067B (zh) 一种弱口令检测的方法、装置、电子设备及介质
JP6305946B2 (ja) 秘匿パターンマッチング装置、その方法、およびプログラム
US20180309579A1 (en) Secure representation via a format preserving hash function
Wu et al. Estimates of Upper Bound for a Function Associated with Riemann‐Liouville Fractional Integral via h‐Convex Functions
JPWO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6274669B2 (ja) 秘匿パターンマッチング装置、端末装置、それらの方法、およびプログラム
Nechta Steganography in social networks
Wu et al. A reliable user authentication and key agreement scheme for web-based hospital-acquired infection surveillance information system
Santos et al. Performance analysis of data fragmentation techniques on a cloud server

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180307

R150 Certificate of patent or registration of utility model

Ref document number: 6305946

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150