JP6419633B2 - 検索システム - Google Patents

検索システム Download PDF

Info

Publication number
JP6419633B2
JP6419633B2 JP2015080047A JP2015080047A JP6419633B2 JP 6419633 B2 JP6419633 B2 JP 6419633B2 JP 2015080047 A JP2015080047 A JP 2015080047A JP 2015080047 A JP2015080047 A JP 2015080047A JP 6419633 B2 JP6419633 B2 JP 6419633B2
Authority
JP
Japan
Prior art keywords
key
index
document
search
encrypted
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.)
Active
Application number
JP2015080047A
Other languages
English (en)
Other versions
JP2016200938A (ja
JP2016200938A5 (ja
Inventor
稔 藤本
稔 藤本
鮫島 吉喜
吉喜 鮫島
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.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
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 Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2015080047A priority Critical patent/JP6419633B2/ja
Priority to US15/051,808 priority patent/US9576005B2/en
Publication of JP2016200938A publication Critical patent/JP2016200938A/ja
Publication of JP2016200938A5 publication Critical patent/JP2016200938A5/ja
Application granted granted Critical
Publication of JP6419633B2 publication Critical patent/JP6419633B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Description

本発明は、暗号化された状態でデータを検索する検索システムに関する。
クラウドサービスの一つとして、ストレージサービスがある。ストレージサービスは、利用者がアップロードした文書データを保管し、利用者や利用者が許可した他の利用者グループで文書データを共有できるサービスである。サービスの一つとして、キーワードを含む文書データを検索する全文検索がある。
ストレージサービスには、保存した文書データを第三者が閲覧する可能性が課題として指摘されている。特に、法律上正当な権限がある機関(捜査機関や裁判所)がストレージの提出を求めた場合、サービス事業者がストレージの提供を拒否できず、ストレージを押収される恐れがある。クラウドサービスでは、サーバやストレージなどを利用者間で共有しており、利用者自身が対象でない場合でも、利用者の文書データを含んだストレージが提出され、利用者が知らない間に他人(捜査機関、裁判所など)が文書にアクセスする可能性があり、機密漏洩への対策が求められていた。
また、一般的には、クラウド事業者は、文書データを暗号化して保存しているが、正当な権限がある機関に提出を求められたり、復号化の命令に応じなければならない場合がある。このような懸念は、文書データを保存する場合に限らず、Key−ValueストアやリレーショナルDBなどにおいても同じである。
このような課題への対策として、利用者又は利用者が所属する組織の鍵で暗号化して文書データを保存する技術が提案されている。また、暗号化された文書データをそのまま全文検索する技術が提案されている。
本技術の背景技術として、特開2002−278970号公報(特許文献1)、特開2003−150600号公報(特許文献2)がある。特許文献1には、電子文書の保管、書誌検索、全文検索、閲覧機能を提供する文書管理サーバとクライアントから成る文書管理システムであって、クライアントで文書とそれに対応する書誌および全文索引情報を同一または別の方法で暗号化しサーバに送信し、サーバでは暗号化された文書と索引情報を登録し、検索時は、クライアントで検索条件を対応する索引情報と同一の方法で暗号化してサーバに送信し、サーバでは暗号化された検索条件で暗号化された索引情報を検索し、閲覧においては暗号化された文書をサーバからクライアントに送信する。全文索引情報をサーバ上に転置索引方式を用いて保存する。クライアントで索引情報をシーザー暗号化する文書管理ステムが記載されている。
また、特許文献2には、文字列を言語解析する言語解析ステップと、暗号化する暗号化ステップと、文字列を含む情報を複数保持する情報保持ステップと、クエリを入力するクエリ入力ステップと、第1の文字列と第2の文字列を比較する文字列比較ステップと、復号化する復号化ステップと、一致した文字列を含む情報名や情報内容を1つ又は複数個表示する表示又は記憶ステップを含んで情報検索装置を構成するデータ処理方法が記載されている。
特開2002−278970号公報 特開2003−150600号公報
特許文献1及び2においては、利用者が使用するクライアント側で索引情報を作成する必要がある。見出しを作成するためには、文書中の文の形態素や構文などの言語解析をする必要があり、そのための辞書を保有する必要がある。特に英語など、日本語以外の言語ではwroteをwriteとするなど単語の原形を使った索引が一般的である。また、索引情報を暗号化するために暗号の鍵が必要であり、復号の鍵を含めた鍵管理をしなければならない。
言語解析プログラム、辞書、鍵を管理する技術は一般的であり、そのためのシステムも提案されている。しかしながら、ストレージサービスを利用するクライアント側のシステムは一般的には汎用のWebブラウザであり、多種多様なWebブラウザに言語解析プログラム、辞書及び鍵管理などを組み込むのは、技術的及び運用上困難である。
さらに、特許文献1及び2においては、マルチテナントが利用するクラウドサービスとしての検索が考慮されていない。すなわち、複数の組織や、組織に所属しない複数の個人が同一の検索サーバを利用する場合が考慮されておらず、閲覧が許されない文書が検索結果に含まる可能性がある。仮に、文書に対するアクセス制御がされており、文書本体は閲覧されなくても、他組織の利用者や他人が文書名や文書の一部を閲覧できてしまう。さらに、閲覧できない文書が大量に検索結果に含まれると、利用者が探している文書を見つけられなくなるおそれがある。閲覧できない文書は検索結果に含めない処理をするにしても、サーバ内には他組織や他人の文書の方が多くあり、処理コストが高くなる課題がある。
本発明は、一般的なインターネット利用環境において、クラウドサービス事業者のストレージ上のデータが暗号化されたまま、検索機能を提供する。また、全文検索の他に、Key−ValueストアやリレーショナルDBでも利用可能な暗号化検索技術を提案する。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、検索システムであって、文書及び前記文書の索引が検索可能な形式で暗号化されて格納される記憶装置と、前記記憶装置に格納されたデータを検索する検索サーバと、索引鍵を管理する鍵サーバと、を備え、前記記憶装置は、前記索引鍵で暗号化された暗号化索引と、前記索引鍵を利用者の鍵で暗号化した暗号化索引鍵とを関連付けて格納する索引データベースと、文書鍵で暗号化された暗号化文書と、前記文書鍵を利用者の鍵で暗号化した暗号化文書鍵とを関連付けて格納する文書データベースとを格納し、前記検索サーバは、要求された検索クエリから検索用の見出しを抽出し、当該検索クエリを要求した利用者の鍵を用いて、暗号化された索引鍵を復号化し、前記復号化された索引鍵を用いて前記抽出した見出しを暗号化し、端末から検索クエリとトークンを受信すると、受信した検索クエリから検索条件を抽出し、辞書を参照しながら前記検索条件の言語解析を行い、前記検索条件に含まれる見出しを取得し、利用者が所属するグループの索引に関連付けられている暗号化された索引鍵を索引データベースから取得し、暗号化された索引鍵に対応するトークンを鍵サーバに送信することによって、復号化された索引鍵を取得し、前記索引鍵を非一時的記憶装置に格納せずに、各グループの索引鍵で暗号化された見出しを用いて、索引を暗号化した状態で前記索引データベースを検索し、索引データベースのグループに対応する索引を検索して、ヒットした見出しに対応する文書ID、文書中の見出しの位置、見出し前後の文、及び単語を取得し、検索クエリの演算子を考慮して検索結果を集計し、前記集計された検索結果を前記端末に送信する。
本発明の代表的な実施の形態によれば、文書本体を暗号化した状態で検索することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
第1実施例の文書保管・検索システムの全体の構成を示すブロック図である。 第1実施例の文書保管・検索システムを構成する各サーバの物理的な構成を示すブロック図である。 第1実施例における鍵の管理を説明する図である。 第1実施例のグループデータベースの構成例を示す図である。 第1実施例における文書登録処理のフローチャートである。 第1実施例の検索処理の概要を示すフローチャートである。 第1実施例のステップ307における検索結果を集計する集計処理のフローチャートである。 第2実施例のアクセス権追加処理のフローチャートである。 第3実施例のアクセス権追加処理のフローチャートである。
図1は、第1実施例の文書保管・検索システムの全体の構成を示すブロック図である。
文書保管・検索システム112は、検索サーバ121、文書サーバ125および認証サーバ126から構成され、例えば、ストレージサービス提供事業者が提供する文書保管・検索システムである。
文書保管・検索システム112には、利用者が使用する端末110が通信回線114を介して接続されている。
また、文書保管・検索システム112には、鍵サーバ113が通信回線115を介して接続されている。鍵サーバ113は、文書保管・検索システム112を運営する事業者と別のサービス事業者が運営しても、文書保管・検索システム112を運営するストレージサービス事業者自身が運営してもよい。また、鍵サーバ113は、利用者が所属する組織が運営してもよい。鍵サーバ113は、受信したデータを暗号化又は復号化して送信する。暗号化や復号に使われる鍵は外部に取り出すことはできない形式で鍵サーバ113に保管されている。例えば、鍵サーバ113は、Hardware Security Module(HSM)と称される装置を用いることによって、鍵の生成、暗号化及び復号化での鍵の利用、鍵の廃棄を装置内で実行し、鍵が外部に取り出せないように保管することができる。前述したトークンは、外部に取り出せない鍵と関連付けられており、トークンに対応した利用者又はグループの鍵でデータを暗号化及び復号化するために使用する。
通信回線114、115は、例えば、インターネットであるが、所定の組織内のネットワーク(例えば、イントラネット)でもよい。
検索サーバ121は、索引データベース122、辞書123、文書データベース124及び鍵サーバ113にアクセスして、文書の全文を検索可能なように索引を作成し、索引を利用して検索をする。
文書サーバ125は、利用者が指示した文書を端末110のWebブラウザ111に送信するコンピュータであり、例えば、ストレージサービス事業者が保有する。文書サーバ125は、文書を送信する際、利用者が文書にアクセス可能かを示すアクセス権限を付与することができる。
認証サーバ126では、利用者を認証し、トークンをブラウザ111へ送信するコンピュータであり、例えば、ストレージサービス事業者が保有する、また、認証サーバ126は、検索サーバ121からの要求に応じてトークンや索引鍵を送信してもよい。認証サーバ126は、セキュリティを確保する上で重要なので、鍵サーバ113と同様に、文書保管・検索システム112を運営する事業者と異なる事業者が所有し、運用したり、利用者企業が所有し、運用してもよい。
索引データベース122は、検索サーバ121が作成した索引を格納するデータベースであり、高速に全文検索できるように、検索キーワードとなる見出し、該見出しを含む文書の文書ID、文書内の見出しの位置、見出しの前後の文や単語の付加情報を含む。索引データベース122は、ストレージサービス事業者が保有し、検索サーバ121が利用する。索引データベース122の構成は、図3を用いて後述する。
辞書123は、文書登録時に全文検索に使われる見出しを取り出す際の言語処理や、検索時にもクエリから見出しを取り出す際に使用され、ストレージサービス事業者が保有する。
文書データベース124は、暗号化された文書を蓄積するデータベースであり、文書サーバ125のアクセス権限も格納する。また、文書データベース124は、検索サーバ121からアクセス可能である。文書データベース124は、ストレージサービス事業者が保有する。文書データベース124の構成は、図3を用いて後述する。
文書保管・検索システム112は、グループデータベース127を有する。グループデータベース127は、文書保管・検索システム112の利用者が所属するグループを管理するためのデータベースであり、認証サーバ126が利用する。グループデータベース127は、どのようなグループがあり、どの利用者が各グループに所属するかを管理する。グループデータベース127の構成は、図4を用いて後述する。本明細書において、グループは、利用者が所属するグループであり、一人の利用者は複数のグループに所属することができる。また、組織は、利用者が所属する組織であり、一人の利用者は一つの組織のみに所属する。
端末110は、プログラムを実行するプロセッサ(CPU)、プログラムを格納するメモリ、プログラムの実行時に使用されるデータを格納する不揮発性記憶装置、入出力インターフェース(キーボード、マウス、ディスプレイ装置など)、及び通信インターフェースを有するコンピュータである。端末110では、Webブラウザ111が動作している。利用者は、Webブラウザ111が提供するインターフェースを用いて、文書保管・検索システム112で文書を検索することができる。端末110は、Webブラウザ111ではなく、文書保管・検索システム112にアクセスする専用アプリケーションを実行してもよい。
図2は、第1実施例の文書保管・検索システム112を構成する各サーバの物理的な構成を示すブロック図である。なお、図2には、検索サーバ121の構成を示すが、他のサーバ125、126も同様の構成を有すればよい。また、鍵サーバ113も、検索サーバ121と同様の構成でよい。
本実施例の検索サーバ121は、プロセッサ(CPU)1、メモリ2、補助記憶装置3及び通信インターフェース4を有する計算機によって構成される。
プロセッサ1は、メモリ2に格納されたプログラムを実行する。メモリ2は、不揮発性の記憶素子であるROM及び揮発性の記憶素子であるRAMを含む。ROMは、不変のプログラム(例えば、BIOS)などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、プロセッサ1が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
補助記憶装置3は、例えば、磁気記憶装置(HDD)、フラッシュメモリ(SSD)等の大容量かつ不揮発性の記憶装置によって構成され、プロセッサ1が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置3から読み出されて、メモリ2にロードされて、プロセッサ1によって実行される。
通信インターフェース4は、所定のプロトコルに従って、他の装置(端末110、鍵サーバ113など)との通信を制御するネットワークインターフェース装置である。
検索サーバ121は、入力インターフェース5及び出力インターフェース8を有してもよい。入力インターフェース5は、キーボード6やマウス7などが接続され、オペレータからの入力を受けるインターフェースである。出力インターフェース8は、ディスプレイ装置9やプリンタなどが接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。
プロセッサ1が実行するプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリなど)又はネットワークを介して検索サーバ121に提供され、非一時的記憶媒体である不揮発性の補助記憶装置3に格納される。このため、検索サーバ121は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
検索サーバ121は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
<鍵の管理>
図3は、第1実施例における鍵の管理を説明する図である。
本実施例の文書保管・検索システム112では、何種類かの鍵を使用し、文書、索引情報、鍵などを暗号化する。なお、図3において、暗号化されているデータは、太字で示す。
索引1221は、索引鍵1222で暗号化された見出しなどの情報が含まれ、利用者のグループごとに索引データベース122に格納される。利用者のグループは、グループデータベース127(図4)で定義される。
索引鍵1222は、索引内の情報を暗号化するのに利用する鍵である。索引鍵1222は、鍵サーバ113に格納される利用者鍵又はグループ鍵で暗号化される。利用者鍵及びグループ鍵は鍵サーバ113の外に取り出すことができないように管理されている。このため、索引鍵を暗号化する場合、検索サーバ121が索引鍵を鍵サーバ113に送り、暗号化を依頼し、鍵サーバ113が索引鍵を暗号化し、暗号化した索引鍵1222を検索サーバ121に返信する。復号する場合も同様の処理が実行される。なお、索引鍵1222は索引ごとにランダムに生成されるとよい。暗号化された索引鍵1222は暗号化対象の索引1221に関連付けられ、索引DB122に格納される。
文書データベース124は、文書鍵1242で暗号化された文書1241を格納する。
文書鍵1242は、文書を暗号化する際に用いる鍵であり、文書ごとにランダムに生成されるとよい。暗号化及び復号化の方法は索引鍵と同様である。暗号化された文書鍵は暗号化対象の文書1241に関連付けられ、文書データベース124に格納される。すなわち、暗号化された文書1241は、複数の利用者鍵及びグループの鍵で暗号化されたら、複数存在する。また、暗号化された文書鍵1242も、複数の利用者鍵及びグループの鍵で暗号化されたら、複数存在する。なお、暗号化された文書鍵1242には、利用者名及びグループ名が付与され、どの利用者鍵及びグループ鍵で暗号化されたか識別可能に管理される。
<グループ管理>
図4は、第1実施例のグループデータベース127の構成例を示す図である。
グループデータベース127は、グループを示すレコード(行データ)の集まりで構成されており、各レコードはグループ名701及び所属利用者名702の属性を含む。
グループ名701は、グループの名称であり、グループはレコードと1対1の関係である。所属利用者名702は、当該グループに所属する利用者名のリストである。
<文書登録処理>
図5は、第1実施例における文書登録処理のフローチャートである。なお、以下の説明では、文書組織に所属する利用者がアクセスできるように登録する。
まず、利用者は端末110を操作して、Webブラウザ111から認証サーバ126に利用者の認証を要求する(ステップ201)。認証の方法は、パスワード、生体情報、ハードウェアを利用するものなど様々な方法があるが、本実施例ではいずれの方法を採用してもよい。
認証サーバ126は、利用者の認証を試みて、認証に失敗すればエラーを返信する。一方、認証サーバ126が、認証に成功すれば、利用者名を鍵サーバ113へ送信し、検索サーバ121が、鍵サーバ113が保管する利用者鍵を利用する場合のトークンを返信する。さらに、認証サーバ126は、グループデータベース127を用いて、利用者が所属しているグループを特定し、鍵サーバ113へグループ名を送信し、鍵サーバ113が保管するグループ鍵を検索サーバ121が利用する場合のトークンを返信する(ステップ202)。トークンの種別及びデータ構造は、公知のものを利用することができ、その詳細は本明細書では省略する。検索サーバ121が、鍵サーバ113にトークンを示すことによって、当該トークンに対応した利用者鍵又はグループ鍵で鍵サーバ113がデータを暗号化又は復号化する。
Webブラウザ111は、認証サーバ126からトークンを受信すると、利用者が指定した文書及びトークンを検索サーバ121に送信して、文書の登録を要求する(ステップ203)。
検索サーバ121が、Webブラウザ111から文書及びトークンを受信すると、文書登録処理を開始する(ステップ204)。具体的には、文書からテキストを抽出し、辞書123を参照しながら言語解析を行い、見出しとその位置を取得する。一般に、文書には複数の見出しとなる語が含まれているため、複数の見出しとその位置のペアを取得する。さらに、付加的に、見出し前後の文や単語を取り出してもよい。他に、見出しの出現頻度など、検索結果順位を決める情報を取り出してもよい。また、単純に単語を見出しとして取り出すだけではなく、部分一致検索を実現するためのNグラム法を用いて見出しを取り出してもよい。
その後、検索サーバ121は、見出しを暗号化するために使用する索引鍵1222を取得する(ステップ205)。デフォルトの索引鍵は、利用者が所属する組織の索引鍵である。具体的には、検索サーバ121は、索引データベース122にアクセスし、利用者が所属する組織の索引に関連付けられている暗号化された索引鍵1222を取得し、鍵サーバ113に送信する。図3に示したとおり、索引鍵には利用者名やグループ名が付与されており、組織というグループに対応した索引鍵を見付けることができる。この際、所属組織であるグループのグループ鍵を利用するためのトークンも一緒に送信する。鍵サーバ113は、索引鍵を復号化して、復号化した索引鍵を検索サーバ121に返信する。このようにして、検索サーバ121は、索引鍵を取得する。
その後、検索サーバ121は、見出しを索引鍵で暗号化し、暗号化された索引1221と当該索引の暗号化に用いた索引鍵1222とを関連付けて索引データベース122に登録する(ステップ206)。具体的には、暗号化処理は、共通鍵暗号、索引を暗号化した状態で検索する方法で暗号化処理を行う。そして、暗号化した見出し(索引)と当該索引の暗号化に用いた索引鍵1222とを関連付けて索引データベース122に登録する。登録の方法は、B木、ハッシュ索引など、索引の種別に応じた方法を採用する。
索引に登録する項目は、見出しに対する文書ID、文書中の見出しの位置、見出し前後の文や単語、見出しの出現頻度などである。前後の文や単語は暗号化して索引データベース122に登録する。他は暗号化して索引データベース122に登録してもよいし、暗号化せずに索引データベース122に登録してもよい。
その後、検索サーバ121は、文書を文書鍵1242で暗号化し、暗号化された文書1241を文書データベース124に登録する(ステップ207)。文書を暗号化するための文書鍵1242は、ランダムに生成されたものを用いるとよい。具体的には、検索サーバ121は、文書鍵1242を鍵サーバ113に送信して、文書を暗号化するための文書鍵の暗号化を依頼する。この際、所属組織であるグループのグループ鍵を利用するためのトークンも一緒に送信する。鍵サーバ113は、文書鍵を暗号化し、暗号化された文書鍵を検索サーバ121に返信する。検索サーバ121は、暗号化された文書1241と当該文書の暗号化に用いた文書鍵1242とを関連付けて文書データベース124に登録する。さらに、文書のアクセス権限を、当該利用者が所属する組織からアクセス可能に設定する。
その後、検索サーバ121は、文書登録が終了した旨の文書登録の結果を端末110(Webブラウザ111)に送信する(ステップ208)。Webブラウザ111は、文書登録の結果を画面に表示する。
<索引鍵の取得方法>
前述した例では、文書にアクセス可能なグループは利用者が所属する組織であるが、別のグループから当該文書へのアクセスを許可する場合、ステップ205において、索引データベース122に格納される、当該別のグループに対応する索引1221に関連付けられた索引鍵1222を利用する。鍵サーバ113に送るトークンも、当該別のグループのトークンを利用する。なお、検索サーバ121は、ステップ203において、トークンを取得している。また、登録する索引は当該別のグループに対応した索引である。
もし、当該別のグループに対応する索引鍵が索引データベース122に登録されていない場合、新たな索引鍵をランダムに生成する。この場合、生成した索引鍵を、当該別のグループのトークンと共に鍵サーバ113に送信し、暗号化された索引鍵を取得する。そして、検索サーバ121は、暗号化された索引1221と当該索引の暗号化に用いた索引鍵1222とを関連付けて索引データベース122に登録する。
なお、グループではなく、利用者のみにアクセスを許可する場合、グループの鍵ではなく、利用者の索引鍵及び文書鍵を利用する。
<検索処理>
図6は、第1実施例の検索処理の概要を示すフローチャートである。
まず、Webブラウザ111が認証サーバ126に利用者認証を要求する(ステップ301)。この処理は、ステップ201と同じである。
次に、認証サーバ126は、利用者の認証を試み、認証が成功すれば、鍵サーバ113へアクセスするためのトークンをWebブラウザ111へ送信する(ステップ302)。この処理は、ステップ202と同じである。
Webブラウザ111は、認証サーバ126からトークンを受信すると、利用者が指定した検索クエリ及びトークンを検索サーバ121に送信して検索を要求する(ステップ303)。
検索サーバ121は、Webブラウザ111から検索クエリとトークンを受信すると、検索処理を開始する(ステップ304)。すなわち、検索サーバ121は、検索クエリから検索条件を抽出し、辞書123を参照しながら言語解析を行い、検索条件に含まれる見出しを取得する。
その後、検索サーバ121は、見出しを暗号化するために使用する索引鍵を取得する(ステップ305)。この処理は、ステップ205と同じである。すなわち、検索サーバ121は、索引データベース122にアクセスし、利用者が所属する各グループの索引に関連付けられている暗号化された索引鍵1222を取得し、暗号化された各々の索引鍵1222に対応するグループのトークンを一緒に鍵サーバ113に送信する。鍵サーバ113は、索引鍵1222を復号化して、復号化した索引鍵を検索サーバ121に返信する。このようにして、検索サーバ121は、索引鍵を取得する。利用者が複数のグループに所属していれば、複数の索引鍵を取得する。さらに、利用者に関連付けられる索引があれば、同様にして利用者の索引鍵も取得する。
検索サーバ121は、ステップ305で取得した各グループの索引鍵で見出しを暗号化し、索引データベース122の各グループに対応する索引を検索する。検索方法としては、B木、ハッシュ索引など、索引の種別に応じた方法を採用する。また、見出しの比較においては、索引を暗号化した状態で検索する方法で判定することによって、都度索引を復号化することなく高速に判定することができる。そして、ヒットした見出しに対応する文書ID、文書中の見出しの位置、及び見出し前後の文及び単語などを取得する(ステップ306)。ステップ206において、これらの情報を暗号化して索引データベース122に登録した場合、暗号化に応じた方法で復号化する。なお、ステップ306の処理は複数回繰り返す場合がある。検索クエリが、ANDやORの演算子を含み、複数の見出しを含む場合があるからである。さらに、利用者が所属する各グループの索引1221ごとに繰り返す。
その後、複数の索引鍵で重複したヒット、検索クエリのANDやORの演算子を考慮して検索結果を集計し、Webブラウザ111に送信する(ステップ307)。集計処理の詳細は図7で説明する。
その後、Webブラウザ111が検索サーバ121から受信した検索結果を表示し、利用者が指定した文書のIDとトークンを文書サーバ125に送信する(ステップ308)。
文書サーバ125は、ステップ306で取得した文書IDの文書を文書データベース124から取得し、復号化してWebブラウザ111に返信する(ステップ309)。文書の復号化は、まず、文書に関連付けられた暗号化された文書鍵1242のうち、利用者の鍵又は利用者が所属するグループの鍵で暗号化された文書鍵を探し、探し出された暗号化された文書鍵及び利用者又はグループのトークンを鍵サーバ113に送り、鍵サーバ113が文書鍵を復号化し、得られた文書鍵を使って文書を復号する、という手順で行う。
その後、Webブラウザ111は、文書サーバ125から受信した文書を表示する(ステップ310)。
<集計処理>
図7は、第1実施例のステップ307における検索結果を集計する集計処理のフローチャートである。
まず、検索サーバ121は、複数の索引鍵でヒットした同一の見出しを一つの見出しに纏める(ステップ401)。
次に、検索サーバ121は、検索クエリに含まれるAND、ORの演算子や他の検索条件に従って検索結果を絞り込む(ステップ402)。さらに、出現頻度などを用いて検索結果をソートする。ステップ402の処理は通常の全文検索と同じであるため、詳細の説明は省略する。さらに、文書データベース124に格納される文書1241へのアクセス権を検査し、利用者がアクセスできない文書を除外する処理を集計処理に含めてもよい。
<第2実施例>
次に本発明の第2実施例として、文書の所有者が他者に文書へのアクセス権を付与する処理を説明する。
図8は、第2実施例のアクセス権追加処理のフローチャートである。図8で説明する例では、利用者が所属するグループXと利用者Dのアクセス権が付与されている文書に利用者Eへのアクセス権を追加する。
まず、検索サーバ121が、既存のアクセス可能な利用者と新たに追加する利用者を含む新しいグループの生成を認証サーバ126に要求する(ステップ501)。すなわち、グループXに所属する利用者と利用者Dと利用者Eとを含む新グループの生成を要求する。
認証サーバ126は、グループ名及び利用者をグループデータベース127に登録し、新たなレコードをグループデータベース127に追加する。さらに、認証サーバ126は、新たなグループの鍵の生成と、当該生成される鍵を利用するためのトークンを鍵サーバ113に要求する(ステップ502)。
鍵サーバ113は、要求されたグループ鍵及び当該鍵を利用するためのトークンを生成し、生成されたグループ鍵及びトークンを返信する(ステップ503)。
認証サーバ126は、トークンを受信した後、受信したトークンを検索サーバ121に送信する(ステップ504)。
検索サーバ121は、トークンを受信した後、新しいグループに対応した索引1221を作成する(ステップ505)。具体的には、アクセス権追加の対象である文書1241を復号化し、復号化した文書から索引情報を抽出する。文書の復号化はステップ309と同様であり、索引情報の抽出はステップ204と同様である。その後、新しい索引鍵をランダムに生成し、ステップ206と同様の方法で索引情報を暗号化し、索引データベース122に登録する。検索サーバ121は、認証サーバ126から受信したトークンを付して、索引情報を暗号化するための索引鍵の暗号化を鍵サーバ113に依頼し、暗号化された索引鍵1222を暗号化された索引1221に関連付けて索引データベース122に登録する。この際に、暗号化した索引鍵に新しいグループ名を付与して登録する。こうすることによって、図3で述べたように、索引鍵が、どのグループや利用者のものかを識別することができる。
その後、検索サーバ121が、ステップ505で使用した文書鍵の暗号化を鍵サーバ113に依頼し、暗号化された文書鍵1242を暗号化された文書1241に関連付けて文書データベース124に登録する(ステップ506)。
<第3実施例>
次に、本発明の第3実施例として、文書の所有者がアクセス権を追加する機能を検索サーバ121が有する例を説明する。
図9は、第3実施例のアクセス権追加処理のフローチャートである。
前述した実施例では、索引鍵1222と索引1221とは関連付けられて、グループと1対1に対応している。第3実施例では、利用者が組織に所属する場合には、その組織の索引と索引鍵とを使用し、利用者が組織に所属しない個人である場合には、利用者固有の索引と索引鍵とを使用する例を説明する。
アクセスが許可される利用者が、文書を所有している利用者と同一組織に属しているかを判定する(ステップ801)。その結果、アクセスが許可される利用者が、文書を所有している利用者と同一組織に属していれば、ステップ803に進む。一方、アクセスが許可される利用者が、文書を所有している利用者と同一組織に属していなければ、ステップ802に進む。
ステップ802において、検索サーバ121は、アクセス権が追加される文書を復号化し、ステップ204と同様に索引情報を抽出し、アクセスが許可される利用者の所属組織の索引に追加する。なお、当該利用者の所属組織がない場合、アクセスが許可される利用者の索引に追加する。ここで、索引データベース122に追加する索引を暗号化するための索引鍵を取得するために、アクセスが許可される利用者に成り代わり、検索サーバ121は、鍵サーバ113へアクセスするためのトークンを認証サーバ126に要求する。
ステップ803において、アクセス権が追加される文書に当該利用者のアクセス権限を追加するように、文書データベース124を更新する。
第3実施例では、集計処理(図7)のステップ402において、文書データベース124に格納されている文書1241へのアクセス権を検査し、利用者がアクセスできない文書を除外する処理は必須となる。なぜなら、追加した利用者が所属する組織に所属する他の利用者が検索した場合、検索した結果には対象文書が含まれるが、当該文書へのアクセス権はステップ803に示すように追加した利用者のみに与えられるからである。このため、検索結果に含まれる文書へのアクセス権を確認して、アクセス権のない文書を検索結果から削除する必要がある。
<第4実施例>
前述した実施例では、索引鍵1222や文書鍵1242は、鍵サーバ113が管理する利用者鍵又はグループ鍵で暗号化されて、索引データベース122や文書データベース124に格納されている。他の方法として、トークン自体が、利用者鍵やグループ鍵を含む方法がある。この場合、認証サーバ126が鍵を保有してもよい。この場合、何らかの方法で鍵を暗号化してストレージに保存する。また、認証サーバ126が、鍵サーバ113から鍵を取得してもよい。
利用者が所属する組織が、鍵サーバ113や認証サーバ126を運営する場合、利用者が知らない間にストレージが行政機関や裁判所に提供されることはないので、暗号化しないでストレージに保存してもよい。
また、索引鍵や文書鍵を、利用者鍵やグループ鍵ではなく、サーバの鍵で暗号化してもよい。
<第5実施例>
第1実施例では、グループごとに索引1221を作成する。索引データベース122に格納される索引1221を全グループの全利用者で共有してもよい。この場合、一つの暗号化された索引1221には一つの索引鍵1222が対応付けられ、複数の索引鍵1222のそれぞれに対応して複数の暗号化された索引1221が作成される。そして、検索時は、該当する索引鍵で暗号化した索引の見出しがヒットし、異なる索引鍵で暗号化された索引の見出しはヒットしない。索引鍵1222は、組織ごとに用意され、鍵サーバ113中が管理する組織の鍵で暗号化するとよい。また、索引鍵1222を利用者ごと用意し、索引鍵1222を利用者の鍵で暗号化してもよい。
<第6実施例>
前述した実施例では、文書の全文を検索対象としているが、本発明は他の検索にも適用できる。例えば、本発明は、Key−Valueストアにも適用できる。Key−Valueストアではキーに対する値であるデータが登録されており、キーを指定して検索することによって値を得ることができる。Key−Valueストアは、大量のデータを登録しても高速に検索できる。Key−Valueストアにおける索引として、B木やハッシュ索引を用いることが多い。
Key−Valueストアにおける検索と文書の全文検索とは、全文検索における見出しの代わりにキーを登録し、全文検索における文書の代わりに値を登録することである。文書から見出しを抽出する処理が不要となるため、文書登録処理(図5)において、見出し抽出手順(ステップ204)や、暗号化手順(ステップ206)が不要となる。また、検索処理(図6)においてにおいて、検索クエリからの見出し抽出手順(ステップ304)や、検索結果の集計手順(ステップ307)が不要となる。
<第7実施例>
他の実施例として、本発明を適用したリレーショナルDB(RDB)がある。但し、RDBにおいては、キーの比較結果は一致であり、大小の比較を含まない。
レコードを登録する場合、検索対象となる属性値を見出しとして、レコードIDを文書IDとして登録する。レコードを検索する場合、検索クエリから検索対象となる属性及び属性値を取り出し、索引データベース122内を検索し、ヒットするレコードIDを抽出し、検索クエリに含まれるANDやORの演算子などの条件にしたがって、検索結果を絞り込み、検索結果を利用者に返信する。
以上に説明したように、本発明は、クラウドサービスの一種であるストレージサービスの特に文書の全文検索機能に関するものであり、サービス事業者の鍵や利用者の鍵で暗号化された文書に対する全文検索に関する機能である。文書の全文検索に限らず、Key−Valueストアやリレーショナルデータベースでの検索にも適用可能である。
以上に説明したように、本発明の実施例によると、文書本体を暗号化した状態で検索することができる。すなわち、文書及び索引を暗号化した状態で、暗号化したキーワードの索引を使って、文書のキーワード検索ができる。また、索引を暗号化及び復号化するための索引鍵及び文書を暗号化及び復号化するための文書鍵は検索サーバ121のメモリ上のみに記憶されており、非一時的記憶媒体(不揮発性記憶装置である、磁気ディスクドライブやSSD)には格納されないため、非一時的記憶媒体が第三者に提供されても文書の内容が漏洩することはない。
また、利用者のクライアント端末では、言語解析処理、辞書の整備、鍵管理などが不要になり、一般的なブラウザを利用して暗号化検索技術が適用された全文検索を利用することができる。
さらに、文書の所有者が認めれば、他者が検索することも可能となる。また、文書検索の他に、Key−ValueストアやリレーショナルDBでも索引及びデータを暗号化したまま検索をすることができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
111:ブラウザ
112:文書保管・検索システム
113:鍵サーバ
121:検索サーバ
122:索引データベース
123:辞書
124:文書データベース
125:文書サーバ
126:認証サーバ
127:グループデータベース
1221:暗号化された索引
1222:暗号化された索引鍵
1241:暗号化された文書
1242:暗号化された文書鍵

Claims (5)

  1. 検索システムであって、
    文書及び前記文書の索引が検索可能な形式で暗号化されて格納される記憶装置と、
    前記記憶装置に格納されたデータを検索する検索サーバと、
    索引鍵を管理する鍵サーバと、を備え、
    前記記憶装置は、
    前記索引鍵で暗号化された暗号化索引と、前記索引鍵を利用者の鍵で暗号化した暗号化索引鍵とを関連付けて格納する索引データベースと、
    文書鍵で暗号化された暗号化文書と、前記文書鍵を利用者の鍵で暗号化した暗号化文書鍵とを関連付けて格納する文書データベースとを格納し、
    前記検索サーバは、
    要求された検索クエリから検索用の見出しを抽出し、
    当該検索クエリを要求した利用者の鍵を用いて、暗号化された索引鍵を復号化し、
    前記復号化された索引鍵を用いて前記抽出した見出しを暗号化し、
    端末から検索クエリとトークンを受信すると、受信した検索クエリから検索条件を抽出し、辞書を参照しながら前記検索条件の言語解析を行い、前記検索条件に含まれる見出しを取得し、
    利用者が所属するグループの索引に関連付けられている暗号化された索引鍵を索引データベースから取得し、
    暗号化された索引鍵に対応するトークンを鍵サーバに送信することによって、復号化された索引鍵を取得し、
    前記索引鍵を非一時的記憶装置に格納せずに、各グループの索引鍵で暗号化された見出しを用いて、索引を暗号化した状態で前記索引データベースを検索し、
    索引データベースのグループに対応する索引を検索して、ヒットした見出しに対応する文書ID、文書中の見出しの位置、見出し前後の文、及び単語を取得し、
    検索クエリの演算子を考慮して検索結果を集計し、
    前記集計された検索結果を前記端末に送信することを特徴とする検索システム。
  2. 請求項1に記載の検索システムであって、
    前記検索サーバは、
    登録を要求された文書から見出しを抽出し、
    前記索引鍵を用いて前記抽出した見出しを暗号化し、
    当該文書の登録を要求した利用者の鍵を用いて、前記索引鍵を暗号化し、
    前記暗号化された見出し及び前記暗号化された索引鍵を前記索引データベースに登録し、
    前記文書鍵を用いて登録すべき文書を暗号化し、
    当該文書の登録を要求した利用者の鍵を用いて、前記文書鍵を暗号化し、
    前記暗号化された文書及び前記暗号化された文書鍵を前記文書データベースに登録することを特徴とする検索システム。
  3. 請求項1又は2に記載の検索システムであって、
    前記検索サーバは、前記利用者が複数のグループに所属している場合、当該複数のグループの各々の索引鍵を取得することを特徴とする検索システム。
  4. 請求項1から3のいずれか一つに記載の検索システムであって、
    前記検索サーバは、利用者に関連付けられる索引がある場合、当該利用者の索引鍵を取得することを特徴とする検索システム。
  5. 請求項1から4のいずれか一つに記載の検索システムであって、
    前記検索サーバは、前記利用者の鍵を用いて前記索引鍵を暗号化するように、前記利用者のトークンを用いて前記鍵サーバに依頼することを特徴とする検索システム。
JP2015080047A 2015-04-09 2015-04-09 検索システム Active JP6419633B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015080047A JP6419633B2 (ja) 2015-04-09 2015-04-09 検索システム
US15/051,808 US9576005B2 (en) 2015-04-09 2016-02-24 Search system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015080047A JP6419633B2 (ja) 2015-04-09 2015-04-09 検索システム

Publications (3)

Publication Number Publication Date
JP2016200938A JP2016200938A (ja) 2016-12-01
JP2016200938A5 JP2016200938A5 (ja) 2017-11-02
JP6419633B2 true JP6419633B2 (ja) 2018-11-07

Family

ID=57111371

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015080047A Active JP6419633B2 (ja) 2015-04-09 2015-04-09 検索システム

Country Status (2)

Country Link
US (1) US9576005B2 (ja)
JP (1) JP6419633B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017021144A (ja) * 2015-07-09 2017-01-26 日本電気株式会社 翻訳システムおよび翻訳方法
WO2017044595A1 (en) 2015-09-08 2017-03-16 OverNest, Inc. Systems and methods for storing data blocks using a set of generated logical memory identifiers
JP2018032149A (ja) * 2016-08-23 2018-03-01 株式会社リコー 情報処理装置、情報処理システム、情報処理方法およびプログラム
US10642841B2 (en) * 2016-11-17 2020-05-05 Sap Se Document store utilizing partial object compression
US10476663B1 (en) 2017-01-09 2019-11-12 Amazon Technologies, Inc. Layered encryption of short-lived data
US11356254B1 (en) * 2017-01-09 2022-06-07 Amazon Technologies, Inc. Encryption using indexed data from large data pads
US10608813B1 (en) 2017-01-09 2020-03-31 Amazon Technologies, Inc. Layered encryption for long-lived data
US9910999B1 (en) * 2017-02-06 2018-03-06 OverNest, Inc. Methods and apparatus for encrypted indexing and searching encrypted data
JP7003427B2 (ja) * 2017-03-24 2022-01-20 富士通株式会社 検索プログラム、情報処理装置および検索方法
DK3388969T3 (da) 2017-04-13 2020-01-20 Dswiss Ag Søgesystem
US10275611B1 (en) 2017-08-16 2019-04-30 OverNest, Inc. Methods and apparatus for sharing and searching encrypted data
JP6632780B2 (ja) * 2017-09-12 2020-01-22 三菱電機株式会社 データ処理装置、データ処理方法及びデータ処理プログラム
WO2019142268A1 (ja) 2018-01-17 2019-07-25 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム
CN108632032B (zh) * 2018-02-22 2021-11-02 福州大学 无密钥托管的安全多关键词排序检索系统
WO2019215818A1 (ja) 2018-05-08 2019-11-14 三菱電機株式会社 登録装置、サーバ装置、秘匿検索システム、秘匿検索方法、登録プログラムおよびサーバプログラム
JP2020086116A (ja) 2018-11-26 2020-06-04 ソニー株式会社 情報処理装置および情報処理方法
US11893127B2 (en) * 2018-12-21 2024-02-06 Acronis International Gmbh System and method for indexing and searching encrypted archives
US11238174B2 (en) * 2019-01-31 2022-02-01 Salesforce.Com, Inc. Systems and methods of database encryption in a multitenant database management system
US10977315B2 (en) * 2019-03-01 2021-04-13 Cyborg Inc. System and method for statistics-based pattern searching of compressed data and encrypted data
US11256717B2 (en) * 2019-10-21 2022-02-22 Vmware, Inc. Storage of key-value entries in a distributed storage system
US11902425B2 (en) * 2019-12-12 2024-02-13 Google Llc Encrypted search with a public key
US11238168B2 (en) 2020-04-20 2022-02-01 Cyberark Software Ltd. Secure, efficient, and flexible searchable-encryption techniques
US10885217B1 (en) * 2020-04-20 2021-01-05 Cyberark Software Ltd. Client microservice for secure and efficient searchable encryption
US10997301B1 (en) 2020-04-20 2021-05-04 Cyberark Software Ltd. Variable encryption techniques for secure and efficient searchable encryption
JP7384740B2 (ja) * 2020-04-27 2023-11-21 株式会社日立製作所 検索システム、検索装置、および検索方法
US11646878B2 (en) * 2020-07-10 2023-05-09 International Business Machines Corporation Distributing encrypted data objects with encryption information as metadata
US11675524B2 (en) 2020-08-17 2023-06-13 Crystal Group, Inc. Isolated hardware data sanitize system and method
US10931454B1 (en) 2020-09-10 2021-02-23 Cyberark Software Ltd. Decentralized management of data access and verification using data management hub
US11012245B1 (en) 2020-09-10 2021-05-18 Cyberark Software Ltd. Decentralized management of data access and verification using data management hub
US11714911B2 (en) * 2020-12-07 2023-08-01 Twilio Inc. Securing data in multitenant environment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11196084A (ja) * 1997-10-31 1999-07-21 Matsushita Electric Ind Co Ltd 暗号化システム
JP2002278970A (ja) 2001-03-16 2002-09-27 Ricoh Co Ltd 文書管理システム
JP2003150060A (ja) 2001-11-09 2003-05-21 Toppan Printing Co Ltd 貼り替え対策シール及び貼り替え対策方法
JP2003150600A (ja) 2001-11-13 2003-05-23 Canon Inc 情報検索装置、データ処理方法及び記録媒体
JP2005242740A (ja) * 2004-02-27 2005-09-08 Open Loop:Kk 情報セキュリティシステムのプログラム、記憶媒体、及び情報処理装置
GB2415064B (en) * 2004-06-10 2008-01-09 Symbian Software Ltd Computing device with a process-based keystore and method for operating a computing device
CN1588365A (zh) * 2004-08-02 2005-03-02 中国科学院计算机网络信息中心 密文全文检索技术
TW200832181A (en) * 2007-01-30 2008-08-01 Technology Properties Ltd System and method of data encryption and data access of a set of storage device via a hardware key
CN101593196B (zh) * 2008-05-30 2013-09-25 日电(中国)有限公司 用于快速密文检索的方法、装置和系统
JP2012169983A (ja) * 2011-02-16 2012-09-06 Kddi Corp データ処理装置およびプログラム
JP5806187B2 (ja) * 2012-09-14 2015-11-10 レノボ・シンガポール・プライベート・リミテッド 秘密情報の交換方法およびコンピュータ
US9280678B2 (en) * 2013-12-02 2016-03-08 Fortinet, Inc. Secure cloud storage distribution and aggregation
US9558366B2 (en) * 2014-05-12 2017-01-31 Compugroup Medical Se Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
US9413734B1 (en) * 2015-02-09 2016-08-09 Sze Yuen Wong Methods and apparatus for sharing encrypted data

Also Published As

Publication number Publication date
JP2016200938A (ja) 2016-12-01
US9576005B2 (en) 2017-02-21
US20160299924A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
JP6419633B2 (ja) 検索システム
AU2017200641B2 (en) Multi-user search system with methodology for personal searching
KR101407060B1 (ko) 인터넷을 통해 수집한 데이터의 분석과 증거화 방법 및 이를 이용한 데이터 분석과 증거화 시스템
US8918895B2 (en) Prevention of information leakage from a document based on dynamic database label based access control (LBAC) policies
US7992010B2 (en) Secure database access through partial encryption
US9081978B1 (en) Storing tokenized information in untrusted environments
US9864880B1 (en) Data encryption and isolation
US20100318489A1 (en) Pii identification learning and inference algorithm
JP2009508273A (ja) ネットワーク化された情報のインデックス作成および検索についての装置および方法
JP2012248940A (ja) データ生成装置、データ生成方法、データ生成プログラム及びデータベースシステム
JP2011081642A (ja) 検索サーバ、情報検索方法、プログラムおよび記憶媒体
CN107291851A (zh) 基于属性加密的密文索引构造方法及其查询方法
Foster Using distinct sectors in media sampling and full media analysis to detect presence of documents from a corpus
JP3702268B2 (ja) 情報検索システム、情報検索方法およびプログラム
JP2014026305A (ja) データ処理装置及びデータベースシステム及びデータ処理方法及びプログラム
JP2005196382A (ja) 情報管理システムによるデータ登録方法、データ参照方法、ならびに、情報管理システムにおけるマスタデータベースサーバ
Skiba et al. Bachelor Thesis Analysis of Encrypted Databases with CryptDB
JP2010272082A (ja) 情報共有システム、情報共有方法、および情報共有プログラム
Limacher Applied Information Security

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170919

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180919

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: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181010

R150 Certificate of patent or registration of utility model

Ref document number: 6419633

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250