JP7325396B2 - データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 - Google Patents

データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 Download PDF

Info

Publication number
JP7325396B2
JP7325396B2 JP2020216616A JP2020216616A JP7325396B2 JP 7325396 B2 JP7325396 B2 JP 7325396B2 JP 2020216616 A JP2020216616 A JP 2020216616A JP 2020216616 A JP2020216616 A JP 2020216616A JP 7325396 B2 JP7325396 B2 JP 7325396B2
Authority
JP
Japan
Prior art keywords
data
common key
encrypted data
searchable
key
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
JP2020216616A
Other languages
English (en)
Other versions
JP2022102086A (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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP2020216616A priority Critical patent/JP7325396B2/ja
Priority to EP21909826.6A priority patent/EP4270365A1/en
Priority to US18/036,023 priority patent/US20240022397A1/en
Priority to PCT/JP2021/033576 priority patent/WO2022137668A1/ja
Publication of JP2022102086A publication Critical patent/JP2022102086A/ja
Application granted granted Critical
Publication of JP7325396B2 publication Critical patent/JP7325396B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0825Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

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

Description

本発明は、検索可能暗号技術を適用して高いセキュリティを維持しながら、ファイル名での検索、高速なファイルの送受信を実現するデータファイル暗号化送受信システムに関する。
情報システムの開発及び運用管理費の効率化を目的に、他組織が提供する情報システムを利用する、クラウドと呼ばれる運用管理形態が注目されている。クラウドにおける不正流出の予防策として、例えば、特許文献1の検索可能暗号技術を用いることで電子データを検索する際、DBサーバにマスクを解除させずに検索結果を取得し、復号することが可能となっている。
しかし電子データではなく、バイナリーデータであるファイルにも機密情報は含まれており、不正流出の予防策を講じる必要がある。
データをクラウドに保存する際、通信経路での漏洩や盗聴を防止するため、種々の暗号化技術が提案されている。現在、一般的な技術としてSSL/TLSで利用されているハイブリッド暗号方式では、送信者側で所定の手法で生成した共通鍵で平文を暗号化し、予め受信者から受け取った公開鍵で共通鍵を暗号化し、暗号化した平文及び共通鍵を受信者へ送信する。受信者側では秘密鍵で送信された共通鍵を復号し、共通鍵によって暗号化された平文を復号することで、安全かつ高速な伝送を実現している。
データファイル暗号化システムの技術の一般的な方法の例として、送信先においてランダムに生成したマスタ乱数から抽出した一時鍵情報でデータファイルを共通鍵方式で暗号化し、マスタ乱数制御値や乱数を送信元から事前に共有された公開鍵を用いて公開鍵方式で暗号化し送信元へ送信する。
送信元では秘密鍵でマスタ乱数制御値や乱数を復号し、マスタ乱数制御値を用いて生成したマスタ乱数や復号した乱数から抽出した一時鍵情報を用いて暗号化データファイルを共通鍵方式で復号することで実現している(例えば、下記特許文献2、3)。
特開2012-123614号公報 特開2009-177304号公報 特開2006-67412号公報
特許文献2では、データファイルの暗号化に、毎回変化する一度限りのパスワード、いわゆるワンタイムパスワードを用いるため、ランダムに生成したマスタ乱数の一部を使用している。データファイルを暗復号するためには、受信側と送信側で同じ乱数を共有する必要があり、特許文献2では、乱数をそのまま送信するのではなく、前記マスタ乱数を加工するためのマスタ乱数制御値を暗号化し、送信している。
特許文献3では、現在時刻や伝送すべき情報を表すデータのハッシュ値などをもとに乱数を生成し、一度限りのパスワード(文献内ではセッション鍵)を生成する。この乱数は公開鍵暗号方式で暗号化され、送信されている。
このように、安全性を高めるために使用される乱数や乱数を生成するための値が、暗号化されていたとしてもインターネットなどの通信網上に流れるのは課題である。
特許文献3で使用されているハッシュ関数は、元のデータが同じであれば同じ固定長の値(ハッシュ値)に変換されるという性質がある。特に暗号学的ハッシュ関数は、与えられたハッシュ値に対して、そのハッシュ値を出力するようなハッシュ関数の入力値を得ることが事実上不可能(原像計算困難性、弱衝突耐性)という特性を持っていなければならない。
この特性によって、ハッシュ値は不可逆な暗号化された状態であると考えられ、ハッシュ化されたIDやパスワードであれば、漏洩しても問題がないと主張がされているが、実際はハッシュ化されていたとしても解析されて悪用されているというケースは数多く存在している。
例えば、2016年5月、ビジネス向けSNSの米Linkedinから2012年に流出したパスワードは、1億1,700万人を超えていたとみられることが報告されている。そのパスワードはハッシュ化されていたにも関わらず、闇市場で電子メールとパスワードを含むアカウント情報が売りに出され、20万件以上の悪用が報告されている。
このように、一般的なセキュリティ手法であるハッシュ化は、本当に安全性が高いとは言い難い。代表的なハッシュ値に対する攻撃手法として、「レインボーテーブル」があげられる。この攻撃手法は、平文とハッシュ値の対応表を生成し、ハッシュ値を検索して対応する平文を探すことで、ハッシュ化によって秘匿された情報を不正に取得する手法である。
この攻撃への対策として、ハッシュ化するデータに文字列を付け加えてハッシュ化する「ソルト」や、ハッシュ化を繰り返し適用する「ストレッチング」と呼ばれる手法があるが、ハッシュ値の解析に時間がかかるようになるだけであり、本質的にハッシュ値の解析ができなくなるわけではない。
以上のことから、ある値を入力したとき生成するハッシュ値は常に同じという決定性の性質が課題であり、一定の法則に基づかない暗号化(確率的暗号化方式)の使用が望まれる。
特許文献2及び3で使用されている公開鍵暗号は一般的にRSA暗号を使用することが多い。RSA暗号は、桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠としている。通常のRSA暗号は、ある暗号文から平文を算出する選択暗号文攻撃に対して脆弱性があり、そのまま利用することは好ましくないとされている。
そこで、RSA暗号の実装は、パディングとして毎回乱数を生成して挿入する対策がされている場合が多い。これを、RSA-OAEP(Optimal Asymmetric Encryption Padding)方式と呼び「電子政府における調達のための推奨すべき暗号リスト(CRYPTREC暗号リスト)」に公開鍵暗号方式の守秘技術の分類で登録されている。
しかし、CRYPTREC暗号リストに記載されている暗号化機能、ハッシュ機能、署名機能等の承認されたセキュリティ機能をハードウェアやソフトウェア等に正しく実装、実行し、重要情報保護が適切にできているかを担保する制度である「暗号モジュール試験及び認証制度(CMVP:Cryptographic Module Validation Program)」に基づいた北米CMVPでは、CRYPTREC暗号リストに記載されているものを対象とした暗号モジュール試験において、ほぼ半数の製品で問題が発覚しており、北米CMVP試験機関の調査結果として、2013年秋~2014年夏まで、セキュリティレベル1・2の平均で57%程度の不適合事例が明らかになっている。
つまり、RSA-OAEP暗号を用いた公開鍵暗号方式は、正しく実装・実行・管理できていれば、安全性が確保できるが、実際の実装は困難であるといえる。
また、公開鍵暗号方式は、暗号化は公開鍵で行い、復号は秘密鍵を使用する方式である。暗号化と復号の鍵が異なるため、データファイルを暗号化した人が、自身で復号することはできない。
そのため、データファイルを電子メールに添付して送付する場合など、一方向の送受信のシステムに使用するのであれば問題ないが、ユーザが暗号化したデータファイルをデータベースに登録し、そのユーザが再度自身で登録したデータファイルを復号して取得するというファイルデータベースのようなシステムには適用できないという課題がある。
更に、特許文献2及び3のように、共通鍵暗号化方式と公開鍵暗号化方式の組み合わせを使用した場合、そのまま検索はできないため、検索を行う際にはデータを復号する必要がある。
多くの暗号化データファイルを管理する場合は、検索ができることが望まれるが、検索する都度データファイルを復号すると、データセンタ内で、平文のデータファイルが存在する頻度が上がりセキュリティが課題となる。
データファイルを暗号化したまま検索を可能にするために、ファイル名を平文、データファイルを暗号化するシステムも存在するが、その場合、盗聴された際に平文のファイル名からデータファイルを推測することが容易となり、セキュリティ面で課題があることには変わらない。
そこで本発明は、上記課題に鑑みてなされたもので、処理の高速性とセキュリティ性能の双方を維持したデータファイルの暗号化及び復号化と送受信を実現することを目的とする。
プロセッサとメモリを有する計算機が、入力されたデータファイルを暗号化してネットワークを介して接続されたデータ管理サーバに登録するデータファイル暗号化システムであって、前記計算機は、
前記データファイルを暗号化して前記データ管理サーバに登録する登録部を有し、
前記登録部は、
暗号化対象のデータファイルを文字列データに変換する文字列変換部と、
共通鍵を生成して、当該共通鍵と前記文字列データを第1の入力情報と第2の入力情報に分割する鍵生成部と、
前記第1の入力情報を前記共通鍵によって暗号化して共通鍵暗号化データを生成する共通鍵暗号化部と、
前記第2の入力情報を予め設定されたユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成する検索可能暗号化部と、
前記共通鍵暗号化データと前記検索可能暗号化データの組を前記データ管理サーバに登録する通信部と、
前記データ管理サーバから前記共通鍵暗号化データと前記検索可能暗号化データを取得してデータファイルに復号する検索部と、
前記登録部は、
前記共通鍵暗号化データと検索可能暗号化データの組を対応付ける連結IDを生成する連結ID生成部をさらに有し、
前記検索部は、
前記連結IDを取得して前記データ管理サーバに格納された前記共通鍵暗号化データと前記検索可能暗号化データの組を特定し、当該特定した前記共通鍵暗号化データと前記検索可能暗号化データを取得し、
前記鍵生成部は、前記生成された連結IDと前記共通鍵を前記第2の入力情報に含め、前記生成された文字列データを前記第1の入力情報に含め、
前記検索部は、
前記データ管理サーバから取得した前記検索可能暗号化データを、前記ユーザ秘密鍵で復号して前記第2の入力情報から前記連結IDと前記共通鍵を取得する検索可能暗号復号部と、
前記検索可能暗号化データに対応する前記共通鍵暗号化データを前記連結IDで前記データ管理サーバを検索し、前記連結IDに該当する前記共通鍵暗号化データを取得し、前記復号された共通鍵で前記共通鍵暗号化データを復号して文字列データを生成する共通鍵暗号復号部と、
前記文字列データからデータファイルを生成する文字列変換部と、を有し、
前記計算機は、
前記ネットワークを介して前記計算機に接続されてデータを格納する一時データベースサーバをさらに有し、
前記計算機は、
予め配布された公開鍵と前記登録部を有する申請者端末と、
前記公開鍵に対応する秘密鍵が予め配布され、前記登録部と前記検索部を有する登録者端末と、を含み、
前記申請者端末は、
前記登録部で前記データファイルを共通鍵によって暗号化して共通鍵暗号化データを生成し、前記共通鍵と前記連結IDを前記公開鍵で暗号化して公開鍵暗号化データを生成し、前記一時データベースサーバに前記共通鍵暗号化データと前記公開鍵暗号化データを登録し、
前記登録者端末は、
前記一時データベースサーバから前記共通鍵暗号化データと前記公開鍵暗号化データを取得して、前記秘密鍵で前記公開鍵暗号化データを復号し、復号された前記共通鍵と前記連結IDを前記ユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成し、前記データ管理サーバに前記共通鍵暗号化データと前記検索可能暗号化データを登録することを特徴とするデータファイル暗号化送受信システム。
本発明は、
本発明では、データファイルと復号に必要な情報を第1の入力情報と第2の入力情報に分割して、第1の入力情報を共通鍵で暗号化し、第2の入力情報を検索可能暗号で暗号化することにより、処理の高速性とセキュリティ性能の双方を維持したデータファイルの暗号化及び復号化と送受信を実現することができる。
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
本発明の実施例1を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。 本発明の実施例1を示し、データ管理サーバの構成の一例を示すブロック図である。 本発明の実施例1を示し、登録クライアント端末の構成の一例を示すブロック図である。 本発明の実施例1を示し、検索クライアント端末の構成の一例を示すブロック図である。 本発明の実施例1を示し、データファイル登録処理の概要を示す図である。 本発明の実施例1を示し、データファイル登録処理の一例を示すフローチャートである。 本発明の実施例1を示し、データファイル検索処理の概要を示す図である。 本発明の実施例1を示し、データファイル検索処理の一例を示すフローチャートである。 本発明の実施例1の変形例を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。 本発明の実施例2を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。 本発明の実施例2を示し、データファイル検索処理の一例を示すフローチャートである。 本発明の実施例3を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。 本発明の実施例4を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。 本発明の実施例5を示し、ワークフローシステムの構成の一例を示すブロック図である。 本発明の実施例6を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。
以下、本発明の実施形態を添付図面に基づいて説明する。
図1は、本発明の実施例1のデータファイル暗号化送受信システムの構成を示す図である。
<システム構成>
本実施例のデータファイル暗号化送受信システムは、登録クライアント端末2と、検索クライアント端末3と、データ管理サーバ1から構成される。
データファイル暗号化送受信システムを構成する各装置は、ネットワーク4を介して情報を送受信できるよう接続される。なお、ネットワーク4の種類としては、WAN(Wide Area Network)及びLAN(Local Area Network)等が考えられる。また、ネットワーク4の接続方式は、有線又は無線のいずれでもよい。
データファイル暗号化送受信システムは、高速性とセキュリティ性能の双方を維持するため、登録するデータの性質に応じて2つに分割し、一方の平文データを暗号化処理の速い共通鍵暗号化方式で暗号化し、他方の平文データを更にセキュリティ性能が高い検索可能暗号化方式で暗号化することを特徴とする。このとき高速性を維持するために、検索可能暗号化方式を適用する範囲は最小化する方が好ましい。
本実施例では、データファイルを共通鍵暗号化方式で暗号化し、データファイルの暗号化に使用した共通鍵と初期ベクトルと連結IDを検索可能暗号化方式で暗号化するが、実際にデータファイル暗号化送受信システムを実装する際には、その限りではない。
なお、連結IDは、共通鍵暗号化方式で暗号化した共通鍵暗号化データ100と、検索可能暗号化方式で暗号化した検索可能暗号化データ200を対応付ける識別子である。なお、連結IDは、必ずしも暗号化する必要は低いため、平文データのまま2つの暗号化データの一方に添付してもよい。また、検索可能暗号化方式については、前記特許文献1等の公知又は周知の技術を適用すればよいので、本実施例では詳述しない。
登録クライアント端末2は、共通鍵暗号化方式に従って生成した初期ベクトルと、生成した共通鍵で、平文のデータファイルから共通鍵暗号化データ100を生成する。また、登録クライアント端末2は、共通鍵暗号化方式で生成する暗号化データと、検索可能暗号化方式で生成する暗号化データを対応付けるための連結IDを生成する。
本実施例では登録クライアント端末2が連結IDを生成する例を示すが、連結IDの発行は、データ管理サーバ1が行ってもよい。
次に、登録クライアント端末2は、予め取得したユーザ秘密鍵で検索可能暗号化技術を適用し、確率的暗号化方式に従って共通鍵や連結IDや初期ベクトルやファイル名を含むデータから検索可能暗号化データ200を生成し、データ管理サーバ1に共通鍵暗号化データと検索可能暗号化データ200を登録する。
ここで、確率的暗号化方式は、平文データから、同値関係及び大小関係が秘匿されたランダムな暗号化データを生成する暗号化のアルゴリズムである。確率的暗号化方式では、平文及び暗号文が一対多の対応関係を有する。
また、データ管理サーバ1に登録するデータファイルのファイル名や、ユーザが任意で設定可能な検索用のキーワードなどを検索可能暗号化することによって、ファイル名やキーワードによる検索も可能である。
検索クライアント端末3は、データ管理サーバ1から検索可能暗号化データ200を取得し、初期ベクトルと、共通鍵、連結IDを復号し、復号した初期ベクトルと共通鍵を使用して連結IDで特定した共通鍵暗号化データ100の復号を行う。
なお、取得したいデータファイルのファイル名や、ユーザが任意で設定可能な検索用のキーワードなどが設定されている場合、それらのデータで検索可能暗号化データ200の検索も可能である。
この場合、検索クライアント端末3は、確率的暗号化方式に従って検索キーワード(平文データのファイル名や任意のキーワード)から暗号化検索キーワードを生成し、出力用の暗号化検索キーワードを含む検索要求をデータ管理サーバ1に送信し、検索を実行することができる。
<データ管理サーバ>
図2は、データ管理サーバ1の構成の一例を示すブロック図である。データ管理サーバ1は、プロセッサ11と、メモリ12と、ストレージ装置13と、ネットワークインタフェース14を含む計算機である。
ストレージ装置13には、共通鍵暗号化データ100と、検索可能暗号化データ200が格納される。共通鍵暗号化データ100は、暗号化文字列データ110を含む。検索可能暗号化データ200は、暗号化共通鍵130と、暗号化初期ベクトル140と、暗号化連結ID150を含む。共通鍵暗号化データ100と検索可能暗号化データ200はデータベース形式でストレージ装置13に格納される。
メモリ12には、共通鍵暗号化データ100と検索可能暗号化データ200の管理を行うソフトウェアがロードされてプロセッサ11によって実行される。ストレージ装置13に格納された各データを管理するソフトウェアとしては、例えば、データベース管理システム等を採用することができる。
ネットワークインタフェース14は、ネットワーク4に接続されて、1以上の登録クライアント端末2と、1以上の検索クライアント端末3に接続されて、データの登録や検索等の要求を受け付ける。
データ管理サーバ1は、検索可能暗号技術を用いて、データ管理サーバ1内で復号できない形式で暗号化された検索可能暗号化データ200を格納する。
データ管理サーバ1は、共通鍵暗号化方式で暗号化した共通鍵暗号化データ100と、検索可能暗号化方式で暗号化した検索可能暗号化データ200を格納し、また、検索要求に対応する共通鍵暗号化データ100と検索可能暗号化データ200を検索する。
また、データファイルのヘッダーもしくは一部分と、それ以外の2つに分割し、ヘッダーもしくは一部分のみ検索可能暗号化し、データ管理サーバ1に格納してもよい。これによって、データ管理サーバ1は、セキュリティ性能を維持したまま、更に処理の高速化が可能となる。
図1では、1つのデータ管理サーバ1を図示するが、検索可能暗号化データ200を格納してデータ内で復号せずにデータを出力するデータベースと、共通鍵暗号化データ100を格納し通常の暗号化技術が適用された(すなわち、暗号化されたデータが記憶装置に格納されるが、データセンタ内で復号化されたデータが出力される)データベースに物理的に分けてもよい。
また、検索可能暗号化データ200を格納したデータベース内で復号せずに、データを出力するデータベース内でスキーマを分けて共通鍵暗号化データ100と、検索可能暗号化データ200を格納してもよい。
<登録クライアント端末>
図3は、登録クライアント端末2の構成の一例を示すブロック図である。登録クライアント端末2は、プロセッサ21と、メモリ22と、ストレージ装置23と、ネットワークインタフェース24と、入出力装置25を含む計算機である。
メモリ22には、文字列変換部210と、鍵生成部220と、共通鍵暗号化部230と、検索可能暗号化部240と、連結ID生成部250と、通信部260がプログラムとしてロードされてプロセッサ21によって実行される。また、メモリ22には、予め設定された共通鍵生成ライブラリ430と、予め取得されたユーザ秘密鍵460が格納される。
プロセッサ21は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ21は、文字列変換プログラムに従って処理を実行することで文字列変換部210として機能する。他のプログラムについても同様である。更に、プロセッサ21は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。なお、各機能部の詳細については、後述する。
入出力装置25は、キーボードやマウス或いはタッチパネル等の入力装置と、ディスプレイ等の出力装置で構成される。ネットワークインタフェース24は、ネットワーク4に接続されて他の装置と通信を行う。
<検索クライアント端末>
図4は、検索クライアント端末3の構成の一例を示すブロック図である。検索クライアント端末3は、プロセッサ31と、メモリ32と、ストレージ装置33と、ネットワークインタフェース34と、入出力装置35を含む計算機である。
メモリ32には、検索可能暗号復号部310と、共通鍵暗号復号部320と、文字列変換部330がプログラムとしてロードされてプロセッサ31によって実行される。また、メモリ32には、予め取得されたユーザ秘密鍵460が格納される。
プロセッサ31は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ31は、検索可能暗号復号プログラムに従って処理を実行することで検索可能暗号復号部310として機能する。他のプログラムについても同様である。更に、プロセッサ31は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。なお、各機能部の詳細については、後述する。
入出力装置35は、キーボードやマウス或いはタッチパネル等の入力装置と、ディスプレイ等の出力装置で構成される。ネットワークインタフェース34は、ネットワーク4に接続されて他の装置と通信を行う。
<登録処理>
図5は、本発明に係るデータファイルの登録処理の概要の一例を示す図である。図6は、データファイル暗号化送受信システムにおけるデータファイルの登録処理の一例を示すフローチャートである。以下、これらの図を参照して説明する。
登録クライアント端末2は、文字列変換部210、共通鍵生成ライブラリ430、共通鍵暗号化部230、検索可能暗号化部240と、連結ID生成部250と、通信部260を有し、ユーザ秘密鍵460及びデータファイル410を保持する。データファイル410は、登録クライアント端末2のユーザが入力したデータである。
文字列変換部210は、データファイル410を受け付けた後、データファイル410をBase64形式等の所定の文字列に変換し、平文の文字列データ420を生成する(図6のステップS1)。
登録クライアント端末2は、新たにデータファイル410の文字列データ420を暗号化してデータ管理サーバ1に登録する場合、共通鍵暗号化データ100と検索可能暗号化データ200を対応付ける連結IDを発行する。本実施例では登録クライアント端末2が連結IDを生成する例を示すが、連結IDの発行は、データ管理サーバ1が行ってもよい。
データファイル暗号化送受信システムは、高速性とセキュリティ性能の双方を維持するため、データ管理サーバ1に登録するデータの性質に応じて2つに分割し、一方の平文データを暗号化処理の速い共通鍵暗号化方式で暗号化し、他方の平文データを更にセキュリティ性能が高い検索可能暗号化方式で暗号化することを特徴とする。
本実施例では、登録クライアント端末2が、入力されたデータファイル410を暗号化する際に、文字列データ420と、復号に必要な情報の2つに情報を分割し、文字列データ420を共通鍵で暗号化し、復号に必要な情報を検索可能暗号で暗号化する例を示したが、これに限定されるものではない。後述するように、文字列データ420の一部(キーワード)やデータファイル410のファイル名等を検索可能暗号で暗号化してもよい。
入力されたデータファイル410を暗号化する際に、暗号化する情報をどのように分割して共通鍵暗号化と検索可能暗号化を適用するのかについては、登録クライアント端末2で予め設定しておけばよい。例えば、暗号化するデータを、第1の入力情報と第2の入力情報に分割して、第1の入力情報を共通鍵暗号化部230で暗号化し、第2の入力情報を検索可能暗号化部240で暗号化してもよい。
本実施例では、登録クライアント端末2が、データファイル410の文字列データ420を共通鍵暗号化方式で暗号化し(図6のステップS2)、データファイル410の文字列データ420の暗号化に使用した初期ベクトル450と、共通鍵440と、連結ID120を検索可能暗号化方式で暗号化する(図6のステップS3)。
そして、登録クライアント端末2は、共通鍵で暗号化された共通鍵暗号化データ100と、検索可能暗号化で暗号化された検索可能暗号化データ200をデータ管理サーバ1に登録する。なお、実際に本データファイル暗号化送受信システムを実装する際には上記に限定されるものではない。
また、共通鍵暗号化データ100と検索可能暗号化データ200の分割の手法については、以下の手法を用いてもよい。登録クライアント端末2は、例えば、データファイル410のヘッダーもしくは一部分と、それ以外の2つに分割する(図6のステップS4)。
登録クライアント端末2は、データファイル410のヘッダーもしくは文字列データ420の一部分、及び連結ID120を検索可能暗号化し(図6のステップS5)、暗号化された文字列データ420の一部と連結ID120を組としてデータ管理サーバ1に格納する。それ以外のデータは連結ID120(平文)と組として、データ管理サーバ1に格納する。これによって、セキュリティ性能を維持したまま、本実施例よりも更に高速化が可能となる。
登録クライアント端末2は、入出力装置25を介してユーザからデータファイル410の登録指示を受け付けた場合、共通鍵暗号化方式に従って平文の文字列データ420から暗号化文字列データ110を生成する。具体的には、以下のような処理が実行される。
登録クライアント端末2の鍵生成部220は、共通鍵生成ライブラリ430を用いて、毎回異なる共通鍵440と初期ベクトル450を生成する。鍵生成部220は、毎回異なる共通鍵440と初期ベクトル450を生成することで、一定の法則に基づかない方式で暗号化及び乱数化することを実現する。
初期ベクトル450は、データファイル410の文字列データ420を暗号化する際に添加する一意な乱数(擬似乱数)であり、暗号化文字列を復号するために必要となるため、共通鍵440と同様にセキュリティ性能が高い検索可能暗号化方式で暗号化する方が好ましい。
共通鍵暗号化部230は、初期ベクトル450及び共通鍵440を用いて文字列データ420を暗号化することによって、暗号化文字列データ110を含む共通鍵暗号化データ100を生成する。
登録クライアント端末2は、検索可能暗号化方式に従って、平文で生成された共通鍵440と、初期ベクトル450及び連結ID120から、検索可能暗号化データ200を生成する(図6のステップS3)。具体的には、以下のような処理が実行される。
検索可能暗号化部240は、検索可能暗号化技術を適用し、ユーザ秘密鍵460と擬似乱数及び準同型関数を用いたマスクによる確率的暗号化方式で、共通鍵440と、初期ベクトル450及び連結ID120を暗号化することによって、暗号化共通鍵130と、暗号化初期ベクトル140及び暗号化連結ID150を含む検索可能暗号化データ200を生成する。
ユーザ秘密鍵460は、登録クライアント端末2及び検索クライアント端末3を使用するユーザ毎に予め割り当てられる。一度ユーザ秘密鍵460の受け渡しが完了した以降は、ユーザ秘密鍵460の送受信は発生しないため、ユーザ秘密鍵460が漏洩する危険性を抑制することが可能となる。
連結ID生成部250は、共通鍵暗号化データ100と検索可能暗号化データ200を対応付けるための識別子として連結ID120を生成して、検索可能暗号化部240へ入力する。
通信部260は、共通鍵暗号化部230で生成された共通鍵暗号化データ100と、検索可能暗号化部240で生成された検索可能暗号化データ200を組にしてデータ管理サーバ1へ送信し、登録する。
本実施例では、暗号化共通鍵130と、暗号化初期ベクトル140と、暗号化連結ID150の組を検索可能暗号化データ200とする。
登録クライアント端末2は、共通鍵暗号化データ100と検索可能暗号化データ200を組みにしてデータ管理サーバ1に送信する(図6のステップS6)。
また、登録クライアント端末2は、予め属性情報(取得したいデータファイル410のファイル名や、ユーザに任意で設定が可能な検索用のキーワードなど)を検索可能暗号化してデータ管理サーバ1に登録しておくことによって、データ管理サーバ1ではファイル名やキーワードによる検索をも可能である。
上記ステップS4、S5の処理は必須の処理ではないが、データファイル410の一部又は構成要素(キーワードや属性情報)を分割して検索可能暗号化データ200に含めることで、暗号化したままで検索を行うことが可能となる。
<検索処理>
図7は、本発明に係るデータファイル410の検索処理の概要を示す図である。図8は、本システムにおけるデータファイル410の検索処理の一例を示すフローチャートである。以下、これらの図を参照して説明する。
データ管理サーバ1からのダウンロードは基本的にアップロードの手順と逆の処理を実行することで暗号化されたデータの復号を行う。
検索クライアント端末3は、図4で示したように、文字列変換部330と、検索可能暗号復号部310と、共通鍵暗号復号部320とを有し、ユーザ秘密鍵460を保持する。
データ管理サーバ1は、暗号化文字列データである共通鍵暗号化データ100と、暗号化共通鍵130と、暗号化初期ベクトル140及び暗号化連結ID150の組である検索可能暗号化データ200を保持する。
検索クライアント端末3は、データ管理サーバ1から検索可能暗号化データ200を取得する。このとき、属性情報(取得したいデータファイル410のファイル名や、ユーザが任意で設定可能な検索用のキーワードなど)を検索可能暗号化しておくことによって、ファイル名やキーワードによる検索も可能である。
検索クライアント端末3は、検索可能暗号復号部310で、取得した検索可能暗号化データ200を、ユーザ秘密鍵460を用いて復号する(図8のステップS11)。復号したデータには、共通鍵440、初期ベクトル450、連結ID120、設定されていた場合はファイル名などその他属性情報が含まれる。
また、検索クライアント端末3は、データファイル410のヘッダーもしくは一部分を検索可能暗号化した場合も、上記と同様の手順で復号を行う。
検索クライアント端末3の共通鍵暗号復号部320は、復号された連結ID120で共通鍵暗号化データ100を検索して取得し、取得した共通鍵暗号化データ100に対して、上記復号した共通鍵440と初期ベクトル450を用いて復号する。復号されたデータには、文字列データ420が含まれる。
最後に、文字列変換部330は、文字列データ420からデータファイル410を生成する(図8のステップS12)。
以上のように実施例1では、データ管理サーバ1に登録するデータの性質に応じて2つに分割し、一方のデータを暗号化処理の速い共通鍵暗号化方式で暗号化し、他方のデータを更にセキュリティ性能が高い検索可能暗号化方式で暗号化することで、処理の高速性とセキュリティ性能の双方を維持したデータファイルの暗号化と復号化と送受信が、専用のハードウェアを用いることなく、ソフトウェア処理のみよって実現できる。
また、登録クライアント端末2は、毎回異なる共通鍵440と、暗号化する際に添加する一意な乱数(擬似乱数)である初期ベクトル450を生成し、共通鍵暗号化方式で暗号化する。そして、登録クライアント端末2は、検索可能暗号化技術を適用した、ユーザ秘密鍵460と擬似乱数及び準同型関数を用いたマスクによる確率的暗号化方式であり、同じデータやクエリでも、毎回異なる暗号文になる(一定の法則に基づかない)という性質がある。共通鍵暗号化方式と検索可能暗号化方式の組み合わせによって、暗号化したデータは全て乱数化されて高い安全性を確保することが可能となる。
検索可能暗号化方式に使用するユーザ秘密鍵460は、登録クライアント端末2及び検索クライアント端末3を使用するユーザ毎に割り当てられ、一旦ユーザ秘密鍵460の受け渡しが完了した以降は、ユーザ秘密鍵の送受信が発生しないため、データ暗号化の度に乱数(擬似乱数)や乱数生成のための数値の送受信を行う従来技術と比較して、ユーザ秘密鍵460が漏洩する危険性を低下させることが可能となる。
検索可能暗号化方式は、共通鍵暗号化方式を利用しており、登録クライアント端末2及び検索クライアント端末3は、自身が持つユーザ秘密鍵460で暗号化と復号が可能であるため、暗号化と復号の鍵が異なる公開鍵暗号方式では実現できなかったデータファイルの登録・検索・取得を同一のユーザで行うことが実現できる。
また、登録クライアント端末2は、予め属性情報(取得したいデータファイル410のファイル名や、ユーザに任意で設定が可能な検索用のキーワードなど)を検索可能暗号化してデータ管理サーバ1に登録しておくことによって、データ管理サーバ1ではファイル名やキーワードによる検索が可能となる。
図9は、実施例1の変形例を示し、登録クライアント端末2と検索クライアント端末3の機能を、ひとつのユーザ端末5で実現する例を示す。ユーザ端末5は、図示しないプロセッサとメモリと通信部をゆうする計算機である。
ユーザ端末5は、上述の登録クライアント端末2と同様の機能を有する登録部20と、上述の検索クライアント端末3と同様の機能を有する検索部30を有し、当該ユーザ端末5のユーザに割り当てられたユーザ秘密鍵460で、暗号化と復号を実施する。その他の、構成については上述の実施例1と同様である。
登録部20は、図3で示したように、文字列変換部210と、鍵生成部220と、共通鍵暗号化部230と、検索可能暗号化部240と、連結ID生成部250と、通信部260と、共通鍵生成ライブラリ430と、ユーザ秘密鍵460を有する。
検索部30は、図4で示したように、検索可能暗号復号部310と、共通鍵暗号復号部320と、文字列変換部330と、ユーザ秘密鍵460を有する。
図10、図11は、本発明の実施例2を示す。本実施例では格納するデータの種類に応じて前記実施例1に示したデータ管理サーバ1を分割した例を示す。
本実施例は、検索可能暗号化データ200をデータ管理サーバ1-1に格納し、共通鍵暗号化データ100をデータ管理サーバ1-2に分割して格納するものである。従って、これらに係る処理以外の構成については、上記実施例1と同様である。
図10は、本実施例のデータファイル暗号化送受信システムの構成の一例を示すブロック図である。本実施例のデータファイル暗号化送受信システムは、前記実施例1の変形例に示したユーザ端末5と、データ管理サーバ1-1、1-2及びネットワーク4から構成される。
データ管理サーバ1-1は、検索可能暗号技術を用いて、データ管理サーバ1-1内で復号できない形式で暗号化された検索可能暗号化データ200を格納する。データ管理サーバ1-2は、通常の平文データが格納されるデータベースを管理する。データ管理サーバ1-2は、通常の暗号化技術が適用された(すなわち、暗号化されたデータが記憶装置に格納されるが、データセンタ内で復号化されたデータが出力される)データベースを管理することができる。
本実施例では、登録部20は、データファイル410を文字列データ420に変換してから共通鍵暗号化方式で暗号化して共通鍵暗号化データ100と連結ID120(平文)とを組にして、データ管理サーバ1-2に格納する。
次に、データファイル410の暗号化に使用した共通鍵440を検索可能暗号化方式で暗号化し、連結ID120と組にしてデータ管理サーバ1-1の検索可能暗号化データ200に格納する。この場合、連結ID120を検索可能暗号化方式で暗号化してもよい。
この連結ID120によって、データ管理サーバ1-1とデータ管理サーバ1-2に格納したデータを関連付けることができる。データ管理サーバ1-1に格納される暗号化共通鍵130は、共通鍵440を一定の法則に基づかない方式で暗号化(確率的暗号化方式)され、乱数化されている。
また、暗号化、複合を行うユーザ秘密鍵460は、登録者・申請者が使用するユーザ端末5のみに保持されているため、データ管理サーバ1-1とデータ管理サーバ1-2に格納したデータは、データセンタ内で連結したとしてもデータファイル410を復号することはできず、実施例1よりも更に安全に管理することができる。
また、データ管理サーバ1-2に加えて、データファイル410は、特開2015-187828号公報の情報管理システムを適用して、個人を特定できる情報と、それだけでは個人を特定できない情報とに分離して格納することで、より安全にデータを管理することができる。
本実施例は、データ管理サーバ1-1(第1データベース)とデータ管理サーバ1-2(第2データベース)が一つもしくは複数のデータセンタ内に設けられる情報管理システムであって、データ管理サーバ1-1(第1データベース)は、検索可能暗号化技術を用いて、前記データセンタ内で復号できない形式で暗号化されたデータを格納し、データ管理サーバ1-2(第2データベース)は、データ管理サーバ1-1(第1データベース)に格納されるデータと関連付けられるデータを格納することを特徴とする。
データ管理サーバ1-2に対象者を一意に表すIDと暗号化したデータファイル410を格納し、データ管理サーバ1-1に対象者を一意に表すIDと連結ID120を格納することで、閲覧権限を持つユーザでのみ暗号化したファイルを取得することができる。
また、データファイル410のヘッダーもしくは一部分と、それ以外の2つに分割し、ヘッダーもしくは一部分は検索可能暗号化してデータ管理サーバ1-1に格納し、それ以外はデータ管理サーバ1-2に格納してもよい。
データ管理サーバ1-1に格納されたデータは検索可能暗号化されて乱数(擬似乱数)となっており、データセンタ内で連結したとしても、データファイル410を復号することはできない。データファイル410の一部分のみ検索可能暗号化するため、セキュリティを維持したまま、データファイル410の全体を共通鍵で暗号化するよりもデータ登録・取得時の処理性能を向上させることができる。
図11は、本実施例の、データファイル暗号化送受信システムで行われるデータファイル410の検索処理の一例を示すフローチャートである。
ユーザ端末5は、データ管理サーバ1-1から検索可能暗号化データ200を取得した後、データ管理サーバ1-2から共通鍵暗号化データ100を取得してもよいし、データ管理サーバ1-2から共通鍵暗号化データ100を取得した後、データ管理サーバ1-1から検索可能暗号化データ200を取得してもよい。
ステップS21、S22は、ユーザ端末5がデータ管理サーバ1-1から先にデータを取得する方法を示し、ステップS23、S24は、データ管理サーバ1-2から先にデータを取得する例を示す。いずれのデータ管理サーバ1-1、1-2から先にデータを取得するかは、ユーザ端末5で実行されるアプリケーションが選択して、各データ管理サーバ1-1、1-2へのリクエストの送信を制御する。
また、データファイル410のヘッダーもしくは一部分と、それ以外の2つに分割し、ヘッダーもしくは一部分は検索可能暗号化した検索可能暗号化データ200をデータ管理サーバ1-1に格納し、それ以外はデータ管理サーバ1-2に格納した場合も同様である。
まず、ステップS21、S22のように、ユーザ端末5がデータ管理サーバ1-1から先にデータを取得する例を示す。ユーザ端末5は、データ管理サーバ1-1から検索可能暗号化データ200をデータ管理サーバ1-1から取得する(S21)。ユーザ端末5は取得したいデータファイル410のファイル名や、ユーザに任意で設定が可能な検索用のキーワードなどを設定している場合、それらのデータでデータ管理サーバ1-1を検索することが可能である。
ユーザ端末5は、取得した検索可能暗号化データ200を、ユーザ秘密鍵460を用いて復号する。復号したデータには、共通鍵440、初期ベクトル450、連結ID120、設定していた場合はファイル名などその他属性情報が含まれる(S21)。
ユーザ端末5は、連結ID120に基づいて、共通鍵暗号化データ100を検索するようデータ管理サーバ1-2に指示する(S22)。データ管理サーバ1-2は、同じ連結ID120を含む共通鍵暗号化データを検索し、ユーザ端末5に送信する。
ユーザ端末5は、送信された共通鍵暗号化データ100を、復号した共通鍵440と初期ベクトル450を用いてデータファイル410を復号する(ステップS25、S26)。
一方、ユーザ端末5がデータ管理サーバ1-2から先にデータを取得する場合、ユーザ端末5は、リクエストをデータ管理サーバ1-2に送信し、検索処理によってデータ管理サーバ1-2に格納された共通鍵暗号化データ100を取得する(ステップS23)。
また、管理サーバ1-1、1-2に対象者を一意に表すIDと暗号化したデータファイル410を格納し、データ管理サーバ1-2に対象者を一意に表すIDと連結ID120を格納した場合、閲覧権限を持つユーザでのみ暗号化したファイルを取得することができる。
ユーザ端末5は、データ管理サーバ1-2から取得した連結ID120を用いて、リクエストをデータ管理サーバ1-1に送信し、検索処理によってデータ管理サーバ1-1に格納された検索可能暗号化データ200を取得する(ステップS24)。
以上の処理により、ユーザ端末5の検索部30は、データ管理サーバ1-1、1-2に分割されて格納された検索可能暗号化データ200と共通鍵暗号化データ100を前記実施例1と同様に検索することが可能となる。
図12は、実施例3を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。本実施例は、前記実施例1の変形例に加えて、複数のユーザ端末5-1~5-3を加えて1つのデータファイル410を送受信する例を示す。その他の構成については、前記実施例1と同様である。
本発明は、実際の業務において、例えばファイルサーバのように組織内でのファイルの共用を行う活用方法や、ピアツーピア的に、データファイル410を暗号化して送受信する活用方法が考えられる。この際、情報の漏洩を防ぐために、通信経路上とデータ管理サーバ1内では暗号化されている方が好ましい。
従来の技術として、ファイルサーバでは、ファイルの検索のために、データセンタ内では平文で格納する方式や、データファイル410を暗号化したまま検索を可能にするために、ファイル名を平文、データファイル410を暗号化する方式が提案されている。
上記の場合では、盗聴された際に平文のファイル名から、データファイル410を推測することが容易となり、セキュリティ面で課題がある。
本実施例は、上記課題を解決し、セキュリティと実用性を保った複数のユーザと一つのデータファイル410の送受信を可能とする。本実施例のデータファイル暗号化送受信システムは、複数のユーザ端末5-1~5-3と、データ管理サーバ1から構成される。
図12では1つのデータ管理サーバ1内に、検索可能暗号化データ200と共通鍵暗号化データ100を格納しているが、前記実施例2のようにデータ管理サーバ1を分割した形態でもよい。なお、以下の説明では、ユーザ端末を個々に識別しない場合には「-」以降を省略した符号「5」を用いる。その他の構成要素の符号についても同様である。
ユーザ端末5-1~5-3は、ユーザ毎にユーザ秘密鍵460-1~460-3が予め配布されている。また。各ユーザ端末5は、前記実施例1の変形例で示したように、登録部20と検索部30(図示省略)を有している。
ユーザ端末5は、共通鍵暗号化方式に従って平文の、データファイル410から共通鍵暗号化データ100を生成する。次に、検索可能暗号化技術を適用し、確率的暗号化方式に従って共通鍵を含むデータから検索可能暗号化データ200を生成し、データ管理サーバ1に共通鍵暗号化データ100と検索可能暗号化データ200を登録する。
データ管理サーバ1に登録されたデータは、複数のユーザ端末5によって、検索、取得が可能である。
通常の共通鍵暗号化方式では、同じ暗号化ファイルを複数人で共有するためには、暗号化に使用した共通鍵を関係者全員が管理する必要がある。
例えば、組織内で同じ共通鍵を使用しており、その組織からデータ保有者が脱退した場合を想定すると、その者がデータを見ることができないよう新しい共通鍵を再発行して組織内に配布する必要があり、管理が煩雑になりやすい。
一方、検索可能暗号化方式では、ユーザ毎に異なるユーザ秘密鍵460を使用しても同一ファイルの暗号化及び復号が可能である。
本実施例では、ユーザ秘密鍵460と紐づけて、個人毎のアクセス権を付与することも可能である。脱退者のユーザ秘密鍵460を無効化することで、アクセス権を削除することが可能となり、煩雑な管理無しに、高いセキュリティ性能を確保することが可能となる。
図13は、本発明の実施例4を示し、データファイル暗号化送受信システムの構成の一例を示すブロック図である。本実施例は、前記実施例1の変形例に加えて、ユーザ秘密鍵460を持たない新たなユーザ(ユーザ端末5-1)が暗号化したデータファイル410を既登録(登録者)のユーザがユーザ端末5-2でデータ管理サーバ1に登録する例を示す。
本実施例では、前記実施例1の変形例の構成に、一時データベースサーバ500を加えたものである。その他の構成は、前記実施例1と同様である。なお、ユーザ端末5-1は予め配布された公開鍵470を保持し、ユーザ端末5-2は公開鍵470に対応する秘密鍵を保持する点が前記実施例1と相違する。
検索可能暗号化方式に使用するユーザ秘密鍵460は、既登録(登録者)のユーザ毎に割り当てられる。
個人情報を閲覧せず、データファイル410の登録を一方通行で行うユーザが多数いる状況を想定すると、これらのユーザに対して、ユーザ秘密鍵460をメール添付やUSBメモリなどの記憶媒体に格納して手渡しで配布することは現実的ではない。
例えば、個人が、マイナンバーカードの画像を用いて、Webによるマイナンバー登録を行い口座開設するシステムなどが想定される。
ユーザ秘密鍵460を持たないユーザが、データファイル410をデータ管理サーバ1に登録する仕組みが必要である。その際、データファイル410は安全性のため、通信経路上とデータ管理サーバ1内では暗号化されていることが望ましい。
本実施例のデータファイル暗号化送受信システムは、ユーザ秘密鍵460を所持しないユーザ(申請者)が利用するユーザ端末5-1、ユーザ秘密鍵460を所持しているユーザ(登録者)が利用するユーザ端末5-2と、データ管理サーバ1と、一時データベースサーバ500及びネットワーク4から構成される。
図13では一つのデータ管理サーバ1内に、検索可能暗号化データ200と共通鍵暗号化データ100を格納しているが、前記実施例2のようにデータ管理サーバ1を分割してもよい。
一時データベースサーバ500は、通常の暗号化技術が適用された(すなわち、暗号化されたデータが記憶装置に格納されるが、データセンタ内では復号化されたデータが出力される)データベースである。
一時データベースサーバ500は、共通鍵暗号化方式で暗号化された共通鍵暗号化データ100と、公開鍵暗号化方式で暗号化された公開鍵暗号化データ510を格納し、また、ユーザ端末5-2からのリクエストに対応して共通鍵暗号化データ100と公開鍵暗号化データ510を検索する。
<登録処理>
ユーザ秘密鍵460を持たないユーザを申請者とし、当該申請者はユーザ端末5-1を使用する。
申請者のユーザ端末5-1は、平文のデータファイル410から前記実施例1と同様にして生成した共通鍵440と初期ベクトル450を用いて共通鍵暗号化方式に従って共通鍵暗号化データ100を生成する。
次に、ユーザ端末5-1は、配布された公開鍵470を用いて公開鍵暗号化方式に従って、平文で生成された共通鍵440と、初期ベクトル450及び連結ID120から、公開鍵暗号化データ510を生成する。公開鍵は、安全性のため、システムごとに異なる公開鍵及び秘密鍵の使用や、毎回異なる公開鍵を使用することが好ましい。
ユーザ端末5-1は、共通鍵暗号化データ100と公開鍵暗号化データ510を組みにして一時データベースサーバ500に登録する。
ユーザ秘密鍵460を所持し、申請者のデータファイル410をデータ管理サーバ1に登録するユーザを登録者とし、登録者はユーザ端末5-2を使用する。
登録者のユーザ端末5-2は、一時データベースサーバ500から公開鍵暗号化データ510と共通鍵暗号化データ100の組を取得する。
ユーザ端末5-2は、取得した公開鍵暗号化データ510を、登録者が持つ秘密鍵480を用いて復号する。復号したデータには、共通鍵440と、初期ベクトル450と、連結ID120と、設定されていた場合はファイル名などその他属性情報が含まれる。
ユーザ端末5-2は、検索可能暗号化方式に従って、復号した各データから前記実施例1と同様に、検索可能暗号化データ200を生成する。
ユーザ端末5-2は、共通鍵暗号化データ100と検索可能暗号化データ200を組みにしてデータ管理サーバ1に登録する。
以上の処理によって、申請者のユーザ端末5-1で公開鍵470を用いて共通鍵440と、初期ベクトル450及び連結ID120を暗号化し、登録者のユーザ端末5-2内で秘密鍵120を用いて復号することによって、通信経路上やデータ管理サーバ1内では暗号化データしか存在せず、登録者のユーザ端末5-2内でのみ暗号化と復号が可能となっているため、情報の漏洩リスクを軽減しながら機密を有するデータファイル410の送受信が可能となった。
実施例5は、前記実施例1の構成に操作履歴データベース530(図14参照)を加えて、データファイル410の申請と承認を行うワークフローシステムを提供する例を示す。操作履歴データベース530の他の構成については、前記実施例1と同様である。なお、本実施例では、前記実施例1のデータファイル暗号化送受信システムをワークフローシステムとして利用する例を示す。
図14は、本実施例の、データファイル410の申請と承認を行うワークフローシステムの構成の一例を示すブロック図である。
データファイル410を用いて業務を行う場合、ユーザ(登録者)はワークフローでデータファイル410を申請し、承認者による確認及び承認もしくは差し戻しをする業務が想定される。
一般的に、データファイル410送受信に使用されるハイブリッド暗号は、公開鍵暗号化方式を用いており、暗号化の鍵と復号の鍵が異なるため、データファイル410を暗号化した人が、自身で復号することはできない。そのため、承認者から差し戻しがあった際に、登録者自身で、データファイル410を確認し、修正することはできないことが課題となる。
登録者と承認者の間で、同一のデータファイル410の申請、確認、承認、修正を行う仕組みが必要である。その際、データファイル410は安全性のため、通信経路上とデータ管理サーバ1内では暗号化されていることが望ましい。
本実施例のワークフローシステムは、ユーザ(登録者)が利用するユーザ端末5-1と、ユーザ(承認者)が利用するユーザ端末5-2と、データ管理サーバ1と、操作履歴データベース530と、各計算機を接続するネットワーク4から構成される。
図14では一つのデータ管理サーバ1内に、検索可能暗号化データ200と共通鍵暗号化データ100を格納している例を示すが、前記実施例2のようにデータ管理サーバ1を分割してもよい。
操作履歴データベース530は、検索可能暗号技術を用いて、データ管理サーバ1内で復号できない形式で暗号化された操作履歴データ540を格納する。また、本実施例では承認依頼を送信するユーザを登録者とし、承認依頼を確認し承認もしくは差し戻しするユーザを承認者とする。
本実施例では、ユーザ端末5-1、5-2を使用するユーザ毎に、登録者又は承認者のどちらかの権限が設定される。登録者のユーザ端末5-1は、前記実施例1の手順で、データファイル410を暗号化して共通鍵暗号化データ100と検索可能暗号化データ200を生成してデータ管理サーバ1に送信し、登録の申請を行う。その際、暗号化されたデータ(共通鍵暗号化データ100と検索可能暗号化データ200)は承認待ちのステータスとなる。
承認者のユーザ端末5-2は、データ管理サーバ1から承認待ちのステータスのデータを検索する。ユーザ端末5-2は、検索したデータを取得し、承認もしくは差し戻しを行う。ユーザ端末5-2が、承認すると暗号化データ(共通鍵暗号化データ100及び検索可能暗号化データ200)は承認ステータスとなり、差し戻しをすると、暗号化データのステータスは差し戻しとなる。この場合、一つの登録申請に対して承認者は複数存在してもよいし、一人でもよい。
登録者のユーザ端末5-1は、差し戻しとなった暗号化データ(共通鍵暗号化データ100及び検索可能暗号化データ200)を、自身のユーザ秘密鍵460で復号し、確認及び修正を行い、再度承認依頼を送信する。
登録者による登録申請と、承認者による承認、差し戻しなど全ての操作は、各ユーザ端末5が操作履歴データ540として、検索可能暗号化技術を適用して、検索可能暗号化してから操作履歴データベース530に登録される。
以上のように、本実施例ではワークフローシステムに、検索可能暗号化技術を適用することよって、登録者及び承認者は、一人ひとり異なるユーザ秘密鍵460を所持していても、同一のデータファイル410を暗号化及び復号することが可能である。
更に、検索可能暗号化技術は、同じデータやクエリでも、毎回異なる暗号文になる(一定の法則に基づかない)という性質があり、同じデータを複数回送受信したとしても、毎回異なる乱数となるため、安全性が高くなる。
実施例6は、前記実施例1、3、4を組み合わせて、個人(ユーザ)がデータファイル410を登録し、企業や団体がデータファイル410を活用するデータファイル暗号化送受信システムである。
図15は、本実施例の個人が、データファイル410を登録し、企業や団体が活用するシステムの概要構成の一例を示す模式図である。
個人データの利活用の可能性の拡大が進んでいる中、2020年に個人情報保護法の改正が行われた。改正法では、不正行為などをした法人への罰金の上限が引き上げられるなど、これまで以上に個人データを扱う企業の責任は重くなっている。多くの企業はこれまでの個人情報管理体制を見直し、現状に適した情報システムの活用を望んでいるといえる。
本実施例は、個人の同意の取得を前提に、個人が自身の個人データを、インターネット等のネットワーク4を介して一時データベースサーバ500に登録し、その登録された個人データを安全な形で企業や団体が活用可能なデータファイル暗号化送受信システムである。
本データファイル暗号化送受信システムの活用例として、日本全国に点在する患者の情報をクラウド上に収集するシステムが想定される。好ましくは、個人は患者であり、団体は医療機関であり、データファイル410は診療録(又は診療情報、医療情報)である。
本データファイル暗号化送受信システムの活用例として、従業員の健診結果をクラウド上に収集し、面談登録などで従業員の健康を管理するシステムが想定される。この場合、好ましくは、個人は従業員であり、団体は産業医や保険医であり、データファイル410は健診結果である。
本実施例は、患者情報を収集するデータファイル暗号化送受信システムを例とする。本実施例のデータファイル暗号化送受信システムは、ユーザ端末5-1~5-4と、データ管理サーバ1と、一時データベースサーバ500と、ネットワーク4から構成される。
図15では一つのデータ管理サーバ1内に、検索可能暗号化データ200と共通鍵暗号化データ100を格納しているが、前記実施例2のようにデータ管理サーバ1を分割してもよい。
診療録は、患者自身がユーザ端末5-1~5-2から登録し、申請者(患者)は公開鍵470を所持しているが、ユーザ秘密鍵460を所持しておらず、データ管理サーバ1の個人データを閲覧も行わないと想定する。
前記実施例4と同様に、患者(申請者)が利用するユーザ端末5-1~5-22は、平文のデータファイル410(診療録)を暗号化処理の速い共通鍵暗号化方式で暗号化して共通鍵暗号化データ100を生成し、共通鍵440と初期ベクトル450と連結ID120を公開鍵暗号化方式で暗号化して公開鍵暗号化データ510を生成して、共通鍵暗号化データ100と公開鍵暗号化データ510を組にして一時データベースサーバ500に格納する。
ユーザ端末5-3~5-4を使用するユーザは、データ管理サーバ1の登録者(医師)でありユーザ秘密鍵460を所持している。医師のユーザ端末5-3~5-4は、一時データベースサーバ500から公開鍵暗号化データ510と共通鍵暗号化データ100の組を取得し、公開鍵暗号化データ510を、登録者(医師)が所有する秘密鍵480を用いて復号し、共通鍵440と初期ベクトル450と連結ID120を生成する。
ユーザ端末5-3~5-4は、検索可能暗号化方式に従ってユーザ秘密鍵460を用いて、復号した公開鍵暗号化データ510の共通鍵440と初期ベクトル450と連結ID120から、検索可能暗号化データを生成し、共通鍵暗号化データ100を合わせてデータ管理サーバ1に格納する。
また、前記実施例5のように、患者が登録したデータ管理サーバ1の診療録(共通鍵暗号化データ100)を、複数の医師が閲覧・承認を行ってもよい。この場合、診療録は、医師が登録すると想定する。この場合は、前記実施例1と同様に、医師のユーザ端末5-3~5-4は、平文の診療録を共通鍵暗号化方式で暗号化し、共通鍵を検索可能暗号化方式で暗号化し、検索可能暗号技術を用いて、暗号化したデータをデータ管理サーバ1内で復号できない形式でデータ管理サーバ1に格納する。
以上のように、本実施例では患者(ユーザ)がデータファイル410を登録し、企業や団体がデータファイル410を活用する際に、処理の高速性とセキュリティ性能の双方を維持してデータファイル410の暗号化と復号を実現することができる。
<結び>
以上のように、上記実施例のデータファイル暗号化送受信システムは、以下のような構成とすることができる。
(1)プロセッサ(21)とメモリ(22)を有する計算機(登録クライアント端末2)が、入力されたデータファイル(410)を暗号化してネットワーク(4)を介して接続されたデータ管理サーバ(1)に登録するデータファイル暗号化システムであって、前記計算機(2)は、前記データファイル(410)を暗号化して前記データ管理サーバ(1)に登録する登録部(20)を有し、前記登録部(20)は、暗号化対象のデータファイル(410)を文字列データ(420)に変換する文字列変換部(210)と、共通鍵(440)を生成して、当該共通鍵(440)と前記文字列データ(420)を第1の入力情報と第2の入力情報に分割する鍵生成部(220)と、前記第1の入力情報を前記共通鍵(440)によって暗号化して共通鍵暗号化データ(100)を生成する共通鍵暗号化部(220)と、前記第2の入力情報を予め設定されたユーザ秘密鍵(460)を用いて検索可能暗号化によって暗号化して検索可能暗号化データ(200)を生成する検索可能暗号化部(240)と、前記共通鍵暗号化データ(100)と前記検索可能暗号化データ(200)の組を前記データ管理サーバ(1)に登録する通信部(260)と、を有することを特徴とするデータファイル暗号化システム。
上記構成により、データ管理サーバ1に登録するデータの性質に応じて暗号化するデータを2つに分割し、一方のデータを暗号化処理の速い共通鍵暗号化方式で暗号化し、他方のデータを更にセキュリティ性能が高い検索可能暗号化方式で暗号化することで、処理の高速性とセキュリティ性能の双方を維持したデータファイルの暗復号化と送受信が、専用のハードウェアを用いることなく、ソフトウェア処理のみよって実現できる。
(2)上記(1)に記載のデータファイル暗号化システムであって、前記計算機(2)は、前記データ管理サーバ(1)から前記共通鍵暗号化データ(100)と前記検索可能暗号化データ(200)を取得してデータファイル(410)に復号する検索部(30)をさらに有し、前記登録部(20)は、前記共通鍵暗号化データ(100)と検索可能暗号化データ(200)の組を対応付ける連結ID(120)を生成する連結ID生成部(250)をさらに有し、前記検索部(30)は、前記連結ID(120)を取得して前記データ管理サーバ(1)に格納された前記共通鍵暗号化データ(100)と前記検索可能暗号化データ(200)の組を特定し、当該特定した前記共通鍵暗号化データ(100)と前記検索可能暗号化データ(200)を取得することを特徴とするデータファイル暗号化システム。
上記構成により、2つに分割された共通鍵暗号化データ100と検索可能暗号化データ200は、連結ID120を用いることで復号するデータを特定することができる。これにより、共通鍵暗号化データ100と検索可能暗号化データ200を異なる計算機に格納することも可能となる。
(3)上記(2)に記載のデータファイル暗号化システムであって、前記鍵生成部(220)は、前記生成された連結ID(120)と前記共通鍵(440)を前記第2の入力情報に含め、前記生成された文字列データ(420)を前記第1の入力情報に含め、前記検索部(30)は、前記データ管理サーバ(1)から取得した前記検索可能暗号化データ(200)を、前記ユーザ秘密鍵(460)で復号して前記第2の入力情報から前記連結ID(120)と前記共通鍵(440)を取得する検索可能暗号復号部(310)と、前記検索可能暗号化データ(200)に対応する前記共通鍵暗号化データ(100)を前記連結ID(120)で前記データ管理サーバ(1)を検索し、前記連結ID(120)に該当する前記共通鍵暗号化データ(100)を取得し、前記復号された共通鍵(440)で前記共通鍵暗号化データ(100)を復号して文字列データ(420)を生成する共通鍵暗号復号部(320)と、前記文字列データ(420)からデータファイル(410)を生成する文字列変換部(320)と、を有することを特徴とするデータファイル暗号化システム。
上記構成により、検索可能暗号化方式に使用するユーザ秘密鍵460は、登録クライアント端末2及び検索クライアント端末3を使用するユーザ毎に割り当てられ、一旦ユーザ秘密鍵460の受け渡しが完了した以降は、ユーザ秘密鍵の送受信が発生しないため、データ暗号化の度に乱数(擬似乱数)や乱数生成のための数値の送受信を行う従来技術と比較して、ユーザ秘密鍵460が漏洩する危険性を低下させることが可能となる。
検索可能暗号化方式は、共通鍵暗号化方式を利用しており、登録クライアント端末2及び検索クライアント端末3は、自身が持つユーザ秘密鍵460で暗号化と復号が可能であるため、暗号化と復号の鍵が異なる公開鍵暗号方式では実現できなかったデータファイルの登録・検索・取得を同一のユーザで行うことが実現できる。
(4)上記(3)に記載のデータファイル暗号化システムであって、前記計算機は、前記データ管理サーバ(1)に接続された第1の計算機(登録クライアント端末2)と第2の計算機(検索クライアント端末3)で構成され、前記第1の計算機(2)は、前記登録部(20)を有し、前記第2の計算機(3)は、前記検索部(30)を有することを特徴とするデータファイル暗号化システム。
上記構成により、データファイル410を登録する登録クライアント端末2と、暗号化されたデータファイル410を利用する検索クライアント端末3は、検索可能暗号化方式に共通鍵暗号化方式を利用しているため、登録クライアント端末2及び検索クライアント端末3は、自身が保持する異なるユーザ秘密鍵460で暗号化と復号が可能となり、暗号化と復号の鍵が異なる公開鍵暗号方式では実現できなかったデータファイルの登録・検索・取得を同一のユーザで行うことが実現できる。
(5)上記(3)に記載のデータファイル暗号化システムであって、前記鍵生成部(220)は、予め設定された鍵生成ライブラリ(430)を用いて、毎回異なる共通鍵(440)と、前記第1の入力情報を暗号化する際に添加する一意な擬似乱数である初期ベクトルを生成し、前記連結ID(120)と前記共通鍵(440)と前記初期ベクトル(450)を前記第2の入力情報に含め、前記共通鍵暗号化部(220)は、前記共通鍵(440)と前記初期ベクトル(450)を用いて前記第1の入力情報を暗号化し、前記検索可能暗号復号部(310)は、前記ユーザ秘密鍵(460)と擬似乱数及び準同型関数を用いたマスクによる確率的暗号化によって前記第2の入力情報を暗号化することを特徴とするデータファイル暗号化システム。
上記構成により、登録クライアント端末2は、毎回異なる共通鍵440と初期ベクトル450を生成することで、一定の法則に基づかない方式で暗号化・乱数化することを実現する。検索可能暗号化方式は、ユーザ秘密鍵460と疑似乱数及び準同型関数を用いたマスクによる確率的暗号化方式であり、同じデータやクエリでも、毎回異なる暗号文になる(一定の法則に基づかない)という性質がある。これにより、暗号化したデータは全て乱数となり、通常のハイブリッド暗号よりも安全性が高い。
(6)上記(4)に記載のデータファイル暗号化システムであって、前記第1の計算機(2)の前記検索可能暗号化部(240)は、共通鍵暗号化を利用して前記検索可能暗号化データ(200)を生成し、前記第2の計算機(3)の前記検索可能暗号復号部(310)は、前記第1の計算機(2)とは異なる前記ユーザ秘密鍵(460)で前記データ管理サーバ(1)から取得した前記検索可能暗号化データ(200)を復号することを特徴とするデータファイル暗号化システム。
上記構成により、登録クライアント端末2及び検索クライアント端末3は、自身が保持するユーザ秘密鍵460で暗号化と復号が可能となる。これにより、登録クライアント及び検索クライアントは同一の計算機でもよいし、異なる計算機であってもよい。
(7)上記(1)に記載のデータファイル暗号化システムであって、前記鍵生成部(220)は、前記データファイル(410)の名称又は属性情報を前記第2の入力情報に含めることを特徴とするデータファイル暗号化システム。
上記構成により、登録クライアント端末2は、予め属性情報(取得したいデータファイル410のファイル名や、ユーザに任意で設定が可能な検索用のキーワードなど)を検索可能暗号化してデータ管理サーバ1に登録しておくことによって、データ管理サーバ1ではファイル名やキーワードによる検索が可能となる。
(8)上記(3)に記載のデータファイル暗号化システムであって、前記データ管理サーバ(1)は、前記共通鍵暗号化データ(100)を格納する第1のデータ管理サーバ(1)と、前記検索可能暗号化データ(200)を格納する第2のデータ管理サーバ(1)で構成され、前記検索部(30)は、前記検索可能暗号復号部(310)で復号された連結ID(120)で前記第1のデータ管理サーバ(1)を検索して前記共通鍵暗号化データ(100)を取得することを特徴とするデータファイル暗号化システム。
上記構成により、2つのサーバに分割して格納された共通鍵暗号化データ100と検索可能暗号化データ200は、連結ID120を用いることで復号するデータを特定することができる。
(9)上記(3)に記載のデータファイル暗号化システムであって、前記ネットワークを介して前記計算機に接続されてデータを格納する一時データベースサーバ(500)をさらに有し、前記計算機は、予め配布された公開鍵(470)と前記登録部(20)を有する申請者端末(5-1)と、前記公開鍵(470)に対応する秘密鍵(480)が予め配布され、前記登録部(20)と前記検索部(30)を有する登録者端末(5-2)と、を含み、前記申請者端末(5-1)は、前記登録部(20)で前記データファイル(410)を共通鍵(440)によって暗号化して共通鍵暗号化データ(100)を生成し、前記共通鍵(440)と前記連結ID(120)を前記公開鍵(470)で暗号化して公開鍵暗号化データ(510)を生成し、前記一時データベースサーバ(500)に前記共通鍵暗号化データ(100)と前記公開鍵暗号化データ(510)を登録し、
前記登録者端末(5-2)は、前記一時データベースサーバ(500)から前記共通鍵暗号化データ(100)と前記公開鍵暗号化データ(510)を取得して、前記秘密鍵(480)で前記公開鍵暗号化データ(510)を復号し、復号された前記共通鍵(440)と前記連結ID(120)を前記ユーザ秘密鍵(460)を用いて検索可能暗号化によって暗号化して検索可能暗号化データ(200)を生成し、前記データ管理サーバ(1)に前記共通鍵暗号化データ(100)と前記検索可能暗号化データ(200)を登録することを特徴とするデータファイル暗号化システム。
上記構成により、申請者のユーザ端末5-1で公開鍵470を用いて共通鍵440と、初期ベクトル450及び連結ID120を暗号化し、登録者のユーザ端末5-2内で秘密鍵480を用いて復号することによって、通信経路上やデータ管理サーバ1内では暗号化データしか存在せず、登録者のユーザ端末5-2内でのみ暗号化と復号が可能となっているため、情報の漏洩リスクを軽減しながら機密を有するデータファイル410の送受信が可能となる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1 データ管理サーバ
2 登録クライアント端末
3 検索クライアント端末
4 ネットワーク
5 ユーザ端末
11 プロセッサ
12 メモリ
13 ストレージ装置
14 ネットワークI/F
21 プロセッサ
22 メモリ
23 ストレージ装置
24 ネットワークI/F
31 プロセッサ
32 メモリ
33 ストレージ装置
34 ネットワークI/F
100 共通鍵暗号化データ
110 暗号化文字列データ
120 連結ID
130 暗号化共通鍵
140 暗号化初期ベクトル
150 暗号化連結ID
200 検索可能暗号化データ
210 文字列変換部
220 鍵生成部
230 共通鍵暗号化部
240 検索可能暗号化部
250 連結ID生成部
260 通信部
310 検索可能暗号復号部
320 共通鍵暗号復号部
330 文字列変換部
410 データファイル
420 文字列データ
430 共通鍵生成ライブラリ
440 共通鍵
450 初期ベクトル
460 ユーザ秘密鍵
470 公開鍵
480 秘密鍵
500 一時データベースサーバ
510 公開鍵暗号化データ
530 操作履歴サーバ
540 操作履歴データ

Claims (6)

  1. プロセッサとメモリを有する計算機が、入力されたデータファイルを暗号化してネットワークを介して接続されたデータ管理サーバに登録するデータファイル暗号化送受信システムであって、
    前記計算機は、
    前記データファイルを暗号化して前記データ管理サーバに登録する登録部を有し、
    前記登録部は、
    暗号化対象のデータファイルを文字列データに変換する文字列変換部と、
    共通鍵を生成して、当該共通鍵と前記文字列データを第1の入力情報と第2の入力情報に分割する鍵生成部と、
    前記第1の入力情報を前記共通鍵によって暗号化して共通鍵暗号化データを生成する共通鍵暗号化部と、
    前記第2の入力情報を予め設定されたユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成する検索可能暗号化部と、
    前記共通鍵暗号化データと前記検索可能暗号化データの組を前記データ管理サーバに登録する通信部と、を有し、
    前記計算機は、
    前記データ管理サーバから前記共通鍵暗号化データと前記検索可能暗号化データを取得してデータファイルに復号する検索部と、をさらに有し、
    前記登録部は、
    前記共通鍵暗号化データと検索可能暗号化データの組を対応付ける連結IDを生成する連結ID生成部をさらに有し、
    前記検索部は、
    前記連結IDを取得して前記データ管理サーバに格納された前記共通鍵暗号化データと前記検索可能暗号化データの組を特定し、当該特定した前記共通鍵暗号化データと前記検索可能暗号化データを取得し、
    前記鍵生成部は、
    前記生成された連結IDと前記共通鍵を前記第2の入力情報に含め、前記生成された文字列データを前記第1の入力情報に含め、
    前記検索部は、
    前記データ管理サーバから取得した前記検索可能暗号化データを、前記ユーザ秘密鍵で復号して前記第2の入力情報から前記連結IDと前記共通鍵を取得する検索可能暗号復号部と、
    前記検索可能暗号化データに対応する前記共通鍵暗号化データを前記連結IDで前記データ管理サーバを検索し、前記連結IDに該当する前記共通鍵暗号化データを取得し、前記復号された共通鍵で前記共通鍵暗号化データを復号して文字列データを生成する共通鍵暗号復号部と、
    前記文字列データからデータファイルを生成する文字列変換部と、を有し、
    前記データファイル暗号化送受信システムは、
    前記ネットワークを介して前記計算機に接続されてデータを格納する一時データベースサーバをさらに有し、
    前記計算機は、
    予め配布された公開鍵と前記登録部を有する申請者端末と、
    前記公開鍵に対応する秘密鍵が予め配布され、前記登録部と前記検索部を有する登録者端末と、を含み、
    前記申請者端末は、
    前記登録部で前記データファイルを共通鍵によって暗号化して共通鍵暗号化データを生成し、前記共通鍵と前記連結IDを前記公開鍵で暗号化して公開鍵暗号化データを生成し、前記一時データベースサーバに前記共通鍵暗号化データと前記公開鍵暗号化データを登録し、
    前記登録者端末は、
    前記一時データベースサーバから前記共通鍵暗号化データと前記公開鍵暗号化データを取得して、前記秘密鍵で前記公開鍵暗号化データを復号し、復号された前記共通鍵と前記連結IDを前記ユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成し、前記データ管理サーバに前記共通鍵暗号化データと前記検索可能暗号化データを登録することを特徴とするデータファイル暗号化送受信システム。
  2. 請求項1に記載のデータファイル暗号化送受信システムであって、
    前記鍵生成部は、
    予め設定された鍵生成ライブラリを用いて、毎回異なる共通鍵と、前記第1の入力情報を暗号化する際に添加する一意な擬似乱数である初期ベクトルを生成し、前記連結IDと前記共通鍵と前記初期ベクトルを前記第2の入力情報に含め、
    前記共通鍵暗号化部は、
    前記共通鍵と前記初期ベクトルを用いて前記第1の入力情報を暗号化し、
    前記検索可能暗号復号部は、
    前記ユーザ秘密鍵と擬似乱数及び準同型関数を用いたマスクによる確率的暗号化によって前記第2の入力情報を暗号化することを特徴とするデータファイル暗号化送受信システム。
  3. 請求項1に記載のデータファイル暗号化送受信システムであって、
    前記鍵生成部は、
    前記データファイルの名称又は属性情報を前記第2の入力情報に含めることを特徴とするデータファイル暗号化送受信システム。
  4. 請求項1に記載のデータファイル暗号化送受信システムであって、
    前記データ管理サーバは、
    前記共通鍵暗号化データを格納する第1のデータ管理サーバと、
    前記検索可能暗号化データを格納する第2のデータ管理サーバで構成され、
    前記検索部は、
    前記検索可能暗号復号部で復号された連結IDで前記第1のデータ管理サーバを検索して前記共通鍵暗号化データを取得することを特徴とするデータファイル暗号化送受信システム。
  5. プロセッサとメモリを有する計算機が、入力されたデータファイルを暗号化してネットワークを介して接続されたデータ管理サーバに登録するデータファイル暗号化送受信方法であって、
    前記計算機が、前記データファイルを暗号化して前記データ管理サーバに登録する登録ステップを含み、
    前記登録ステップは、
    暗号化対象のデータファイルを文字列データに変換する文字列変換ステップと、
    共通鍵を生成して、当該共通鍵と前記文字列データを第1の入力情報と第2の入力情報に分割する鍵生成ステップと、
    前記第1の入力情報を前記共通鍵によって暗号化して共通鍵暗号化データを生成する共通鍵暗号化ステップと、
    前記第2の入力情報を予め設定されたユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成する検索可能暗号化ステップと、
    前記共通鍵暗号化データと前記検索可能暗号化データの組を前記データ管理サーバに登録する通信ステップと、を含み、
    前記計算機が、前記データ管理サーバから前記共通鍵暗号化データと前記検索可能暗号化データを取得してデータファイルに復号する検索ステップをさらに含み、
    前記登録ステップは、
    前記共通鍵暗号化データと検索可能暗号化データの組を対応付ける連結IDを生成する連結ID生成ステップをさらに含み、
    前記検索ステップは、
    前記連結IDを取得して前記データ管理サーバに格納された前記共通鍵暗号化データと前記検索可能暗号化データの組を特定し、当該特定した前記共通鍵暗号化データと前記検索可能暗号化データを取得し、
    前記鍵生成ステップでは、
    前記生成された連結IDと前記共通鍵を前記第2の入力情報に含め、前記生成された文字列データを前記第1の入力情報に含め、
    前記検索ステップは、
    前記データ管理サーバから取得した前記検索可能暗号化データを、前記ユーザ秘密鍵で復号して前記第2の入力情報から前記連結IDと前記共通鍵を取得する検索可能暗号復号ステップと、
    前記検索可能暗号化データに対応する前記共通鍵暗号化データを前記連結IDで前記データ管理サーバを検索し、前記連結IDに該当する前記共通鍵暗号化データを取得し、前記復号された共通鍵で前記共通鍵暗号化データを復号して文字列データを生成する共通鍵暗号復号ステップと、
    前記文字列データからデータファイルを生成する文字列変換ステップと、を含み、
    前記計算機は、
    予め配布された公開鍵を有し前記登録ステップを実行する申請者端末と、前記公開鍵に対応する秘密鍵を予め配布され、前記登録ステップと前記検索ステップを実行する登録者端末と、を含み、
    前記申請者端末は、
    前記データファイルを共通鍵によって暗号化して共通鍵暗号化データを生成し、前記共通鍵と前記連結IDを前記公開鍵で暗号化して公開鍵暗号化データを生成し、ネットワークを介して接続された一時データベースサーバに前記共通鍵暗号化データと前記公開鍵暗号化データを登録し、
    前記登録者端末は、
    ネットワークを介して接続された前記一時データベースサーバから前記共通鍵暗号化データと前記公開鍵暗号化データを取得して、前記秘密鍵で前記公開鍵暗号化データを復号し、復号された前記共通鍵と前記連結IDを前記ユーザ秘密鍵を用いて検索可能暗号化によって暗号化して検索可能暗号化データを生成し、前記データ管理サーバに前記共通鍵暗号化データと前記検索可能暗号化データを登録することを特徴とするデータファイル暗号化送受信方法。
  6. 請求項5に記載のデータファイル暗号化送受信方法であって、
    前記鍵生成ステップでは、
    予め設定された鍵生成ライブラリを用いて、毎回異なる共通鍵と、前記第1の入力情報を暗号化する際に添加する一意な擬似乱数である初期ベクトルを生成し、前記連結IDと前記共通鍵と前記初期ベクトルを前記第2の入力情報に含め、
    前記共通鍵暗号化ステップでは、
    前記共通鍵と前記初期ベクトルを用いて前記第1の入力情報を暗号化し、
    前記検索可能暗号復号ステップでは、
    前記ユーザ秘密鍵と擬似乱数及び準同型関数を用いたマスクによる確率的暗号化によって前記第2の入力情報を暗号化することを特徴とするデータファイル暗号化送受信方法。
JP2020216616A 2020-12-25 2020-12-25 データファイル暗号化送受信システム及びデータファイル暗号化送受信方法 Active JP7325396B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020216616A JP7325396B2 (ja) 2020-12-25 2020-12-25 データファイル暗号化送受信システム及びデータファイル暗号化送受信方法
EP21909826.6A EP4270365A1 (en) 2020-12-25 2021-09-13 Data file encoding transmision/reception system, and data file encoding transmission/reception method
US18/036,023 US20240022397A1 (en) 2020-12-25 2021-09-13 Data file encryption and transmission/reception system and data file encryption and transmission/reception method
PCT/JP2021/033576 WO2022137668A1 (ja) 2020-12-25 2021-09-13 データファイル暗号化送受信システム及びデータファイル暗号化送受信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020216616A JP7325396B2 (ja) 2020-12-25 2020-12-25 データファイル暗号化送受信システム及びデータファイル暗号化送受信方法

Publications (2)

Publication Number Publication Date
JP2022102086A JP2022102086A (ja) 2022-07-07
JP7325396B2 true JP7325396B2 (ja) 2023-08-14

Family

ID=82157496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020216616A Active JP7325396B2 (ja) 2020-12-25 2020-12-25 データファイル暗号化送受信システム及びデータファイル暗号化送受信方法

Country Status (4)

Country Link
US (1) US20240022397A1 (ja)
EP (1) EP4270365A1 (ja)
JP (1) JP7325396B2 (ja)
WO (1) WO2022137668A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10700856B2 (en) * 2013-11-19 2020-06-30 Network-1 Technologies, Inc. Key derivation for a module using an embedded universal integrated circuit card
CN115865530B (zh) * 2023-02-22 2023-07-07 美云智数科技有限公司 文件管理方法、文件管理系统及计算机存储介质
CN118520483A (zh) * 2024-07-17 2024-08-20 湖北芯擎科技有限公司 文件加解密方法、装置、设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011373A (ja) 1995-12-14 2005-01-13 Cybercash Inc 電子転送システム及び方法
JP2010061103A (ja) 2008-05-30 2010-03-18 Nec (China) Co Ltd 高速検索可能な暗号化のための方法、装置およびシステム
WO2010047286A1 (ja) 2008-10-20 2010-04-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索システム、検索方法およびプログラム
JP2012123614A (ja) 2010-12-08 2012-06-28 Hitachi Ltd 検索可能暗号処理システム
JP2013513834A (ja) 2009-12-15 2013-04-22 マイクロソフト コーポレーション 信頼できるコンピューティングおよびデータサービスのための信頼できる拡張マークアップ言語
WO2020003821A1 (ja) 2018-06-29 2020-01-02 ソニー株式会社 情報処理システム、情報処理方法、および情報処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4098838B2 (ja) * 1994-06-13 2008-06-11 株式会社リコー 文書フォーマット変換方法
JP2006067412A (ja) 2004-08-30 2006-03-09 Chaosware Inc 暗号伝送システム、送信装置、受信装置、送信方法、受信方法、ならびに、プログラム
JP4767980B2 (ja) 2008-01-22 2011-09-07 ジェイティエンジニアリング株式会社 データファイル暗号化システム
JP6250497B2 (ja) 2014-03-13 2017-12-20 株式会社日立製作所 情報管理システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011373A (ja) 1995-12-14 2005-01-13 Cybercash Inc 電子転送システム及び方法
JP2010061103A (ja) 2008-05-30 2010-03-18 Nec (China) Co Ltd 高速検索可能な暗号化のための方法、装置およびシステム
WO2010047286A1 (ja) 2008-10-20 2010-04-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索システム、検索方法およびプログラム
JP2013513834A (ja) 2009-12-15 2013-04-22 マイクロソフト コーポレーション 信頼できるコンピューティングおよびデータサービスのための信頼できる拡張マークアップ言語
JP2012123614A (ja) 2010-12-08 2012-06-28 Hitachi Ltd 検索可能暗号処理システム
WO2020003821A1 (ja) 2018-06-29 2020-01-02 ソニー株式会社 情報処理システム、情報処理方法、および情報処理装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BOSCH, C., HARTEL, P., JONKER, W. and PETER, A.,A Survey of Provably Secure Searchable Encryption,ACM Computing Surveys,Vol.47 No.2, Article No.18,pp.1-51
PHAM, H., WOODWORTH, J. and SALEHI, A.,Survey on Secure Search Over Encrypted Data on the Cloud,arXiv,[online],2018年11月24日,pp.1-19,<URL:https://arxiv.org/abs/1811.09767>
太田和夫,金融研究,2018年01月,第37巻 第1号,pp.43-88

Also Published As

Publication number Publication date
JP2022102086A (ja) 2022-07-07
US20240022397A1 (en) 2024-01-18
WO2022137668A1 (ja) 2022-06-30
EP4270365A1 (en) 2023-11-01

Similar Documents

Publication Publication Date Title
Zhang et al. Searchable encryption for healthcare clouds: A survey
Benaloh et al. Patient controlled encryption: ensuring privacy of electronic medical records
JP7325396B2 (ja) データファイル暗号化送受信システム及びデータファイル暗号化送受信方法
Chaudhari et al. Privacy preserving searchable encryption with fine-grained access control
Ying et al. A lightweight policy preserving EHR sharing scheme in the cloud
Sharma et al. RSA based encryption approach for preserving confidentiality of big data
CN106850656B (zh) 一种云环境下多用户文件共享控制方法
CN106452737A (zh) 用于安全多租户数据存储的系统和方法
Wu et al. A password-based user authentication scheme for the integrated EPR information system
CN114338038B (zh) 区块链数据保密查询的存储系统及不经意传输方法
Hacigümüş et al. Ensuring the integrity of encrypted databases in the database-as-a-service model
CN113676453B (zh) 用于数据资源安全访问的数据加密系统及方法
Sujithra et al. ID based adaptive-key signcryption for data security in cloud environment
Bisht et al. Efficient Personal-Health-Records Sharing in Internet of Medical Things Using Searchable Symmetric Encryption, Blockchain and IPFS
Niu et al. A data-sharing scheme that supports multi-keyword search for electronic medical records
JP5396890B2 (ja) 情報提供システム
Yeh et al. Integrity coded databases-protecting data integrity for outsourced databases
Sammeta et al. Medical data analytics for secure multi-party-primarily based cloud computing utilizing homomorphic encryption
Abouakil et al. Data models for the pseudonymization of DICOM data
WO2021144848A1 (ja) 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム
Maragathavalli et al. Cloud data security model using modified decoy technique in fog computing for E-healthcare
CN113761569A (zh) 一种基于量子随机数的数据库加密方法
Devassy Research Project Questions
Narula et al. A novel review on healthcare data encryption techniques
Trombetta et al. Private updates to anonymous databases

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230801

R150 Certificate of patent or registration of utility model

Ref document number: 7325396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150