JP6054790B2 - 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム - Google Patents

遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム Download PDF

Info

Publication number
JP6054790B2
JP6054790B2 JP2013067770A JP2013067770A JP6054790B2 JP 6054790 B2 JP6054790 B2 JP 6054790B2 JP 2013067770 A JP2013067770 A JP 2013067770A JP 2013067770 A JP2013067770 A JP 2013067770A JP 6054790 B2 JP6054790 B2 JP 6054790B2
Authority
JP
Japan
Prior art keywords
information
gene
encryption
search
difference
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.)
Expired - Fee Related
Application number
JP2013067770A
Other languages
English (en)
Other versions
JP2014191670A (ja
JP2014191670A5 (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.)
Mitsubishi Electric Corp
Mitsubishi Space Software Co Ltd
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Space Software Co 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
Priority to JP2013067770A priority Critical patent/JP6054790B2/ja
Application filed by Mitsubishi Electric Corp, Mitsubishi Space Software Co Ltd filed Critical Mitsubishi Electric Corp
Priority to CN201480018404.1A priority patent/CN105190636A/zh
Priority to PCT/JP2014/054145 priority patent/WO2014156400A1/ja
Priority to EP14775361.0A priority patent/EP2980718A4/en
Priority to US14/779,527 priority patent/US10311239B2/en
Priority to TW103106205A priority patent/TWI510939B/zh
Publication of JP2014191670A publication Critical patent/JP2014191670A/ja
Publication of JP2014191670A5 publication Critical patent/JP2014191670A5/ja
Priority to HK16107331.5A priority patent/HK1219324A1/zh
Application granted granted Critical
Publication of JP6054790B2 publication Critical patent/JP6054790B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/40Encryption of genetic data
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • 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
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Genetics & Genomics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Description

この発明は、DNA配列を解析した結果として得られるゲノムや遺伝子の解析情報である遺伝子情報を暗号化して記憶装置に記憶する記憶技術に関する。また、この発明は、前記記憶技術により記憶された遺伝子情報を、暗号化された状態で検索する技術に関する。
近年生命工学は著しい発達をしており、ゲノム配列の読み取り能力も発達している。そのため、人間一人分の全ゲノム配列を解読するコストは低下し、多くの人のゲノム配列が解読されるようになってきている。
個人のゲノム配列やその発現情報などの関連情報を含む遺伝子情報は究極の個人情報と言われており、本人以外への情報開示は安全に行われなければならない。ゲノムDNA及びRNA配列の読み取り装置から出力され、解析されて意味のある情報になった遺伝子情報は、すみやかに暗号化されて、所有者の同意なしには解読されないようにしなければならない。
データベースに蓄積されたデータと検索キーワードとを暗号化した状態で、データベースに蓄積されたデータから検索キーワードを含むデータを検索可能とする秘匿検索方式がある(非特許文献1参照)。
この秘匿検索方式では、データベースにデータを蓄積する際、そのデータを検索する場合に用いられると想定される検索キーワードをタグとして抽出しておく。そして、データとタグとをそれぞれ暗号化し、暗号化したデータに暗号化したタグを添付してデータベースに蓄積する。
データベースに蓄積されたデータから検索キーワードを含むデータを検索する場合、暗号化された検索キーワードが入力される。そして、暗号化された検索キーワードに対応する暗号化されたタグが検索される。検索キーワードに対応するタグが見つかった場合、そのタグが添付されたデータが検索キーワードを含むデータであると特定される。
Boneh、Di Crescenzo、Ostrovski、and Persiano"Public key encryption with keyword search" EUROCRYPT 2004、pp506−522 Allison Lewko、Tatsuaki Okamoto、Amit Sahai、Katsuyuki Takashima、Brent Waters、"Fully Secure Functional Encryption:Attribute−Based Encryption and(Hierarchical)Inner Product Encryption"、EUROCRYPT2010、Lecture Notes In Computer Science、2010、Volume 6110/2010.
これまでは、暗号化された遺伝子情報を検索する場合、検索が実行される時に、一時的に遺伝子情報が復号化され、検索されていた。
秘匿検索方式を用いた場合であっても、暗号化された遺伝子情報に平文で生成された検索インデックスが付与され、この検索インデックスを用いて検索されていた。また、1つの遺伝子情報に対して膨大な数の検索インデックスが付与されており、検索に膨大な時間がかかっていた。
したがって、遺伝子情報を蓄積しているコンピュータの特権ユーザであれば、復号化されている時間または検索インデックスに自由にアクセスすることができる。そのため、遺伝子情報が完全に第三者に対して隠蔽された状態とは言えない。
この発明は、遺伝子情報を第三者に対して隠蔽した状態で遺伝子情報の検索を可能とすることを目的とする。
この発明に係る遺伝子情報記憶装置は、
遺伝子情報を記憶装置に記憶させる遺伝子情報記憶装置であり、
所定の遺伝子情報である基準遺伝子を取得する基準遺伝子取得部と、
前記記憶装置に記憶させる遺伝子情報である対象遺伝子を入力する遺伝子入力部と、
前記基準遺伝子取得部が取得した基準遺伝子と、前記遺伝子入力部が入力した対象遺伝子とを比較して差分情報を生成する差分生成部と、
前記対象遺伝子を暗号化して暗号化遺伝子を生成するデータ暗号化部と、
前記差分生成部が生成した差分情報を埋め込んだ暗号化タグを生成する暗号化タグ生成部と、
前記データ暗号化部が生成した暗号化遺伝子と、前記暗号化タグ生成部が生成した暗号化タグとを関連付けて、前記記憶装置に記憶させるデータ記憶部と
を備えることを特徴とする。
前記差分情報には、複数の種別の情報が含まれており、
前記遺伝子情報記憶装置は、さらに、
前記差分情報に含まれる所定の種別については、その種別が取り得る値を複数のブロックに分け、前記差分生成部が生成した差分情報におけるその種別の値を、その値が属するブロックを識別する識別情報に置き換える差分情報置換部
を備え、
前記暗号化タグ生成部は、前記差分情報置換部が置き換えた差分情報を暗号化して暗号化タグを生成する
ことを特徴とする。
前記差分情報置換部は、各ブロックに属する値の一部が他のブロックにも属するように、前記種別が取り得る値を複数のブロックに分け、前記差分生成部が生成した差分情報におけるその種別の値を、その値が属する各ブロックを識別する識別情報に置き換える
ことを特徴とする。
前記暗号化タグ生成部は、暗号化データに設定された暗号属性と、秘密鍵に設定された鍵属性とが対応していない場合に、前記暗号化データを前記秘密鍵で復号できない暗号化方式に基づき、前記暗号化遺伝子を検索可能なユーザの属性情報と差分情報とを前記暗号属性として設定して、乱数値を暗号化して前記暗号化タグを生成する
ことを特徴とする。
前記暗号化方式に基づき、前記暗号化遺伝子を復号可能なユーザの属性情報を前記暗号属性として設定して、前記対象遺伝子を暗号化して前記暗号化遺伝子を生成する
ことを特徴とする。
この発明に係る遺伝子情報検索装置は、
データ管理装置が管理する記憶装置に記憶された遺伝子情報を検索する遺伝子情報検索装置であり、
検索したい遺伝子情報と所定の遺伝子情報である基準遺伝子との差分情報を入力する差分情報入力部と、
前記差分情報入力部が入力した差分情報を埋め込んだ検索クエリを生成する検索クエリ生成部と、
前記検索クエリ生成部が生成した検索クエリを前記データ管理装置へ送信して、前記差分情報を含む遺伝子情報を取得する遺伝子情報取得部と
を備えることを特徴とする。
前記差分情報には、複数の種別の情報が含まれており、
前記遺伝子情報検索装置は、さらに、
前記差分情報に含まれる所定の種別については、その種別が取り得る値を複数のブロックに分け、差分情報におけるその種別の値を、その値が属するブロックを識別する識別情報に置き換える差分情報置換部
を備え、
前記検索クエリ生成部は、前記差分情報置換部が置き換えた差分情報を埋め込んだ検索クエリを生成する
ことを特徴とする。
前記差分情報置換部は、各ブロックに属する値の一部が他のブロックにも属するように、前記種別が取り得る値を複数のブロックに分け、差分情報におけるその種別の値を、その値が属する各ブロックを識別する識別情報に置き換える
ことを特徴とする。
前記遺伝子情報検索装置は、さらに、
暗号化データに設定された暗号属性と、秘密鍵に設定された鍵属性とが対応していない場合に、前記暗号化データを前記秘密鍵で復号できない暗号化方式における前記秘密鍵であって、ユーザの属性情報が前記鍵属性として設定された秘密鍵を管理するユーザ秘密鍵管理部
を備え、
前記検索クエリ生成部は、前記ユーザ秘密鍵管理部が管理する秘密鍵の鍵属性として、前記差分情報を追加して前記検索クエリを生成する
ことを特徴とする。
前記遺伝子情報取得部は、前記暗号化方式により、復号可能なユーザの属性情報を前記暗号属性として設定して、前記遺伝子情報を暗号化した暗号化遺伝子を、前記差分情報を含む遺伝子情報として取得し、
前記遺伝子情報検索装置は、さらに、
前記ユーザ秘密鍵管理部が管理する秘密鍵により、前記暗号化遺伝子を復号する復号部を備えることを特徴とする。
この発明に係る遺伝子情報記憶プログラムは、
遺伝子情報を記憶装置に記憶させる遺伝子情報記憶プログラムであり、
所定の遺伝子情報である基準遺伝子を取得する基準遺伝子取得処理と、
前記記憶装置に記憶させる遺伝子情報である対象遺伝子を入力する遺伝子入力処理と、
前記基準遺伝子取得処理で取得した基準遺伝子と、前記遺伝子入力処理で入力した対象遺伝子とを比較して差分情報を生成する差分生成処理と、
前記対象遺伝子を暗号化して暗号化遺伝子を生成するデータ暗号化処理と、
前記差分生成処理で生成した差分情報を埋め込んだ暗号化タグを生成する暗号化タグ生成処理と、
前記データ暗号化処理で生成した暗号化遺伝子と、前記暗号化タグ生成処理で生成した暗号化タグとを関連付けて、前記記憶装置に記憶させるデータ記憶処理と
をコンピュータに実行させることを特徴とする。
前記差分情報には、複数の種別の情報が含まれており、
前記遺伝子情報記憶プログラムは、さらに、
前記差分情報に含まれる所定の種別については、その種別が取り得る値を複数のブロックに分け、前記差分生成処理で生成した差分情報におけるその種別の値を、その値が属するブロックを識別する識別情報に置き換える差分情報置換処理
をコンピュータに実行させ、
前記暗号化タグ生成処理では、前記差分情報置換処理で置き換えた差分情報を暗号化して暗号化タグを生成する
ことを特徴とする。
前記差分情報置換処理では、各ブロックに属する値の一部が他のブロックにも属するように、前記種別が取り得る値を複数のブロックに分け、前記差分生成処理で生成した差分情報におけるその種別の値を、その値が属する各ブロックを識別する識別情報に置き換える
ことを特徴とする。
前記暗号化タグ生成処理では、暗号化データに設定された暗号属性と、秘密鍵に設定された鍵属性とが対応していない場合に、前記暗号化データを前記秘密鍵で復号できない暗号化方式に基づき、前記暗号化遺伝子を検索可能なユーザの属性情報と差分情報とを前記暗号属性として設定して、乱数値を暗号化して前記暗号化タグを生成する
ことを特徴とする。
前記暗号化方式に基づき、前記暗号化遺伝子を復号可能なユーザの属性情報を前記暗号属性として設定して、前記対象遺伝子を暗号化して前記暗号化遺伝子を生成する
ことを特徴とする。
この発明に係る遺伝子情報検索プログラムは、
データ管理装置が管理する記憶装置に記憶された遺伝子情報を検索する遺伝子情報検索プログラムであり、
検索したい遺伝子情報と所定の遺伝子情報である基準遺伝子との差分情報を入力する差分情報入力処理と、
前記差分情報入力処理で入力した差分情報を埋め込んだ検索クエリを生成する検索クエリ生成処理と、
前記検索クエリ生成処理で生成した検索クエリを前記データ管理装置へ送信して、前記差分情報を含む遺伝子情報を取得する遺伝子情報取得処理と
をコンピュータに実行させることを特徴とする。
前記差分情報には、複数の種別の情報が含まれており、
前記遺伝子情報検索プログラムは、さらに、
前記差分情報に含まれる所定の種別については、その種別が取り得る値を複数のブロックに分け、差分情報におけるその種別の値を、その値が属するブロックを識別する識別情報に置き換える差分情報置換処理
をコンピュータに実行させ、
前記検索クエリ生成処理では、前記差分情報置換処理で置き換えた差分情報を埋め込んだ検索クエリを生成する
ことを特徴とする。
前記差分情報置換処理では、各ブロックに属する値の一部が他のブロックにも属するように、前記種別が取り得る値を複数のブロックに分け、差分情報におけるその種別の値を、その値が属する各ブロックを識別する識別情報に置き換える
ことを特徴とする。
前記遺伝子情報検索プログラムは、さらに、
暗号化データに設定された暗号属性と、秘密鍵に設定された鍵属性とが対応していない場合に、前記暗号化データを前記秘密鍵で復号できない暗号化方式における前記秘密鍵であって、ユーザの属性情報が前記鍵属性として設定された秘密鍵を管理するユーザ秘密鍵管理処理
をコンピュータに実行させ、
前記検索クエリ生成処理では、前記ユーザ秘密鍵管理処理で管理する秘密鍵の鍵属性として、前記差分情報を追加して前記検索クエリを生成する
ことを特徴とする。
前記遺伝子情報取得処理では、前記暗号化方式により、復号可能なユーザの属性情報を前記暗号属性として設定して、前記遺伝子情報を暗号化した暗号化遺伝子を、前記差分情報を含む遺伝子情報として取得し、
前記遺伝子情報検索プログラムは、さらに、
前記ユーザ秘密鍵管理処理で管理する秘密鍵により、前記暗号化遺伝子を復号する復号処理
をコンピュータに実行させることを特徴とする。
この発明に係る遺伝子情報記憶方法は、
遺伝子情報を記憶装置に記憶させる遺伝子情報記憶方法であり、
処理装置が、所定の遺伝子情報である基準遺伝子を取得する基準遺伝子取得工程と、
入力装置が、前記記憶装置に記憶させる遺伝子情報である対象遺伝子を入力する遺伝子入力工程と、
処理装置が、前記基準遺伝子取得工程で取得した基準遺伝子と、前記遺伝子入力工程で入力した対象遺伝子とを比較して差分情報を生成する差分生成工程と、
処理装置が、前記対象遺伝子を暗号化して暗号化遺伝子を生成するデータ暗号化工程と、
処理装置が、前記差分生成工程で生成した差分情報を埋め込んだ暗号化タグを生成する暗号化タグ生成工程と、
処理装置が、前記データ暗号化工程で生成した暗号化遺伝子と、前記暗号化タグ生成工程で生成した暗号化タグとを関連付けて、前記記憶装置に記憶させるデータ記憶工程と
を備えることを特徴とする。
この発明に係る遺伝子情報検索方法は、
データ管理装置が管理する記憶装置に記憶された遺伝子情報を検索する遺伝子情報検索方法であり、
入力装置が、検索したい遺伝子情報と所定の遺伝子情報である基準遺伝子との差分情報を入力する差分情報入力工程と、
処理装置が、前記差分情報入力工程で入力した差分情報を埋め込んだ検索クエリを生成する検索クエリ生成工程と、
処理装置が、前記検索クエリ生成工程で生成した検索クエリを前記データ管理装置へ送信して、前記差分情報を含む遺伝子情報を取得する遺伝子情報取得工程と
を備えることを特徴とする。
この発明に係る遺伝子情報検索システムは、
データ管理装置が管理する記憶装置に遺伝子情報を記憶させる遺伝子情報記憶装置と、前記遺伝子情報記憶装置が記憶させた遺伝子情報から検索キーワードを含む遺伝子情報を検索する遺伝子情報検索装置とを備える遺伝子情報検索システムであり、
前記遺伝子情報記憶装置は、
所定の遺伝子情報である基準遺伝子を取得する基準遺伝子取得部と、
前記記憶装置に記憶させる遺伝子情報である対象遺伝子を入力する遺伝子入力部と、
前記基準遺伝子取得部が取得した基準遺伝子と、前記遺伝子入力部が入力した対象遺伝子とを比較して差分情報を生成する差分生成部と、
前記対象遺伝子を暗号化して暗号化遺伝子を生成するデータ暗号化部と、
前記差分生成部が生成した差分情報を埋め込んだ暗号化タグを生成する暗号化タグ生成部と、
前記データ暗号化部が生成した暗号化遺伝子と、前記暗号化タグ生成部が生成した暗号化タグとを関連付けて、前記記憶装置に記憶させるデータ記憶部と
を備え、
前記遺伝子情報検索装置は、
検索したい遺伝子情報と前記基準遺伝子との差分情報を前記検索キーワードとして入力する差分情報入力部と、
前記差分情報入力部が入力した差分情報を埋め込んだ検索クエリを生成する検索クエリ生成部と、
前記検索クエリ生成部が生成した検索クエリを前記データ管理装置へ送信して、前記差分情報を含む遺伝子情報を取得する遺伝子情報取得部と
備えることを特徴とする。
この発明によれば、データベースに蓄積された遺伝子情報及び検索インデックスであるタグと、検索キーワードとして用いられる遺伝子情報とのどちらも暗号化した状態で、検索キーワードを含む遺伝子情報をデータベースから抽出することができる。したがって、遺伝子情報が完全に第三者に対して隠蔽された状態となる。
特に、この発明によれば、基準遺伝子との差分情報を検索インデックス及び検索キーワードとする。そのため、検索インデックスの数が少なくて済み、検索を高速に行うことができる。
遺伝子検索システム10の構成図。 鍵管理サーバ100の構成図。 暗号化装置200の構成図。 検索装置300の構成図。 データセンタ400の構成図。 階層的内積述語暗号を用いた暗号方式の説明図。 階層的内積述語暗号を用いた秘匿検索方式の説明図。 初期設定処理の流れを示すフローチャート。 エンコードしたSNV情報の構成図。 SNV情報における位置情報のブロック化の説明図。 SNV情報における信頼度のブロック化の説明図。 エンコードしたSV情報の構成図。 SV情報におけるCNVゲインのブロック化の説明図。 エンコードしたNC情報の構成図。 タグIDの階層構造の説明図。 復号者IDの階層構造の説明図。 ユーザID情報データベースの説明図。 ユーザ秘密鍵発行処理の流れを示すフローチャート。 患者ゲノム配列の暗号化処理の流れを示すフローチャート。 タグ付き暗号化データの説明図。 暗号化データの記憶例を示す図。 患者の電子カルテの暗号化処理の流れを示すフローチャート。 検索処理の流れを示すフローチャート。 アクセス権限管理テーブルの説明図。 鍵管理サーバ100、暗号化装置200、検索装置300、データセンタ400のハードウェア構成の一例を示す図。
実施の形態1.
図1は、遺伝子検索システム10の構成図である。
遺伝子検索システム10は、鍵管理サーバ100、複数の暗号化装置200、複数の検索装置300、データセンタ400(データ管理装置)を備える。鍵管理サーバ100、暗号化装置200、検索装置300、データセンタ400は、ネットワーク500を介して接続される。
鍵管理サーバ100は、暗号化用ユーザ秘密鍵や秘匿検索用ユーザ秘密鍵などのユーザ秘密鍵を生成し、暗号化装置200や検索装置300へ配布するサーバである。なお、暗号化用ユーザ秘密鍵は暗号化データの復号に用いる鍵であり、秘匿検索用ユーザ秘密鍵は秘匿検索に用いる鍵である。
暗号化装置200は、データセンタ400に保管する情報を暗号化するための端末である。暗号化装置200は、主に、病院の医師や、ゲノム解読センタの社員や患者などのユーザによって利用される端末である。
検索装置300は、データセンタ400に保管された情報を検索して取得するために用いられる端末である。検索装置300は、主に、製薬会社などの研究者や、病院の医師などのユーザによって利用される。
データセンタ400は、患者から集めたゲノム情報や、患者の病歴が記載された電子カルテなどを保管するサーバである。データセンタ400は、患者や医師や研究者などのユーザからの要求によってゲノム情報や電子カルテなどを検索・閲覧するサービスを提供する。
ネットワーク500は、例えばインターネットのような公衆回線網である。
図2は、鍵管理サーバ100の構成図である。
鍵管理サーバ100は、マスター鍵生成部110、鍵記憶部120、ユーザ秘密鍵生成部130、データ送受信部140、ユーザID記憶部150を備える。
マスター鍵生成部110は、処理装置により、秘匿検索を利用するユーザ全員が共通で利用する公開パラメータを生成するとともに、ユーザ秘密鍵を生成する元になるマスター鍵を生成する。
鍵記憶部120は、マスター鍵生成部110が生成したマスター鍵や公開パラメータを記憶装置に記憶する。
ユーザ秘密鍵生成部130は、処理装置により、ユーザにユニークに割り当てられたユーザIDを用いて、マスター鍵からユーザ秘密鍵を生成する。
データ送受信部140は、公開パラメータを暗号化装置200、検索装置300、データセンタ400へネットワーク500を介して送信する。また、データ送受信部140は、ユーザ秘密鍵を検索装置300へネットワーク500を介して送信する。また、データ送受信部140は、ユーザの要求に応じて、ユーザIDを暗号化装置200、検索装置300、データセンタ400のユーザに対して送信する。
ユーザID記憶部150は、各ユーザのユーザIDを記憶装置に記憶する。ユーザIDは、ユーザの氏名、所属、ログインID、メールアドレスなどの属性情報である。ユーザID記憶部150は、現時点での属性情報だけでなく、過去の属性情報も履歴として記憶しておいてもよい。
図3は、暗号化装置200の構成図である。
暗号化装置200は、基準遺伝子取得部210、対象遺伝子入力部220、公開パラメータ記憶部230、差分情報生成部240、差分情報エンコード部250、データ暗号化部260、暗号化タグ生成部270、タグ付き暗号化データ生成部280を備える。
基準遺伝子取得部210は、一般に公開されている所定のゲノム配列を基準ゲノム配列(基準遺伝子)として取得する。
対象遺伝子入力部220は、データセンタ400に保管する患者ゲノム配列(対象遺伝子)を取得する。また、対象遺伝子入力部220は、患者ゲノム配列とともに、その患者ゲノム配列の患者を示す患者IDを取得する。
公開パラメータ記憶部230は、鍵管理サーバ100が生成した公開パラメータを受信し、記憶装置に記憶する。
差分情報生成部240は、処理装置により、患者ゲノム配列と基準ゲノム配列とを比較して、複数の差分情報を生成する。
差分情報エンコード部250は、処理装置により、差分情報生成部240が生成した各差分情報を、暗号化したまま検索を行うのに適した形に符号化してエンコード差分情報を生成する。暗号化したまま検索を行うのに適した形については、後述する。
データ暗号化部260は、処理装置により、対象遺伝子入力部220が入力した患者ゲノム配列を暗号化して、暗号化データ(暗号化遺伝子)を生成する。
暗号化タグ生成部270は、処理装置により、差分情報エンコード部250が生成したエンコード差分情報を暗号化して、暗号化タグを生成する。
タグ付き暗号化データ生成部280は、処理装置により、データ暗号化部260が生成した暗号化データと、暗号化タグ生成部270が生成した複数の暗号化タグと、患者IDとを結合してタグ付き暗号化データを生成する。タグ付き暗号化データ生成部280は、生成したタグ付き暗号化データの保管をデータセンタ400に依頼する。
図4は、検索装置300の構成図である。
検索装置300は、差分情報入力部310、ユーザ秘密鍵記憶部320、差分情報エンコード部330、検索クエリ生成部340、遺伝子情報取得部350、データ復号部360を備える。
差分情報入力部310は、入力装置により、基準ゲノム配列との差分情報を検索キーワードとして含む検索要求を入力する。
ユーザ秘密鍵記憶部320は、鍵管理サーバ100がユーザに個別に発行したユーザ秘密鍵と、公開パラメータとを記憶装置に記憶する。
差分情報エンコード部330は、差分情報エンコード部250と同じ機能である。差分情報エンコード部330は、処理装置により、差分情報入力部310が入力した検索要求に含まれる差分情報を暗号化したまま検索を行うのに適した形に符号化してエンコード差分情報を生成する。
検索クエリ生成部340は、処理装置により、ユーザ秘密鍵記憶部320が記憶したユーザ秘密鍵及び公開パラメータと、差分情報エンコード部330が生成したエンコード差分情報から、検索クエリを生成する。
遺伝子情報取得部350は、検索クエリ生成部340が生成した検索クエリをデータセンタ400へネットワーク500を介して送信する。そして、遺伝子情報取得部350は、検索要求に含まれる差分情報を含む(あるいは、類似する差分情報を含む)患者ゲノム配列が暗号化された暗号化データをデータセンタ400からネットワーク500を介して受信する。また、遺伝子情報取得部350は、暗号化データとともに、患者IDを受信する。
データ復号部360は、処理装置により、データセンタ400から受信した暗号化データを、ユーザ秘密鍵記憶部320が記憶したユーザ秘密鍵を用いて復号し、患者ゲノム配列を取得する。
図5は、データセンタ400の構成図である。
データセンタ400は、保管要求処理部410、暗号化データ記憶部420、暗号化タグ記憶部430、検索要求処理部440、公開パラメータ記憶部450、アクセス権限記憶部460を備える。
保管要求処理部410は、暗号化装置200からタグ付き暗号化データを受信する。保管要求処理部410は、受信したタグ付き暗号化データを解析し、暗号化データと複数の暗号化タグと患者IDとに分解する。保管要求処理部410は、分解した暗号化データと各暗号化タグとに共通の管理番号を割り振り、暗号化データを患者ID及び管理番号とともに暗号化データ記憶部420へ送信し、各暗号化タグを患者ID及び管理番号とともに暗号化タグ記憶部430へ送信する。
暗号化データ記憶部420は、保管要求処理部410から受信した暗号化データを、患者ID及び管理番号と関連付けて記憶装置に記憶する。
暗号化タグ記憶部430は、保管要求処理部410から受信した暗号化タグを、患者ID及び管理番号と関連付けて記憶装置に記憶する。
検索要求処理部440は、検索装置300から検索クエリを受信する。検索要求処理部440は、処理装置により、受信した検索クエリと、暗号化タグ記憶部430が記憶した暗号化タグとについて比較処理を行う。この比較処理によって、暗号化タグに含まれる患者ゲノム配列の差分情報が、検索クエリに含まれる患者ゲノム配列の差分情報(検索要求)で指定された条件に合致するかどうかが判定される。その後、検索要求処理部440は、検索にヒットした暗号化タグと関連付けられた暗号化データを暗号化データ記憶部420から取得し、検索装置300へ返送する。なお、暗号化タグと関連付けられた暗号化データとは、暗号化タグと同一の管理番号が付された暗号化データである。
公開パラメータ記憶部450は、鍵管理サーバ100が生成した公開パラメータを受信し、記憶装置に記憶する。
アクセス権限記憶部460は、患者が誰に対して患者ゲノム配列の開示を許可しているかを管理する。
遺伝子検索システム10で利用する暗号方式について説明する。
遺伝子検索システム10では、非特許文献2等に記載された階層的内積述語暗号と呼ばれる暗号方式と、同じく階層的内積述語暗号を用いた暗号化したままキーワード検索が可能な秘匿検索方式とを用いる。
図6は、階層的内積述語暗号を用いた暗号方式の説明図である。
この暗号方式は、マスター鍵生成アルゴリズム、秘密鍵生成アルゴリズム、委譲鍵生成アルゴリズム、暗号化アルゴリズム、復号アルゴリズムによって構成される。
最初に、マスター鍵生成アルゴリズムを用いて、暗号化用マスター鍵と暗号化用公開パラメータとが生成される。暗号化用マスター鍵は、復号ユーザの暗号化用ユーザ秘密鍵を生成するために使われる秘密鍵である。暗号化用公開パラメータは、暗号化する際に用いられる公開情報であり、暗号化するユーザに対して広く配布される。
なお、この処理の際には、条件式の構成を事前に決定しておき、その条件式をパラメータとして与える必要がある。非特許文献2等の既存の階層的内積述語暗号の文献では、条件式の構成を与えるのではなく、条件式をベクトルとして表記した場合の次元数を与えるように記載しているが、分かりやすさの観点から、ここでは条件式を与える、としておく。以下同様である。
次に、秘密鍵生成アルゴリズムを用いて、暗号化用条件式から復号ユーザに対して配布する暗号化用ユーザ秘密鍵が発行される。暗号化用条件式は、復号ユーザがどの様な属性を持つ文書を復号できるかが決定され、その条件がAND/ORの論理演算を用いた条件式として記述されたものである。
次に、暗号化アルゴリズムを用いて、データが暗号化される。その際、暗号化データに付加する暗号化用属性を指定して、これを暗号化データに埋め込む。
最後に、復号アルゴリズムを用いて、暗号化データが復号される。復号時には、暗号化用ユーザ秘密鍵を指定するが、暗号化用ユーザ秘密鍵に埋め込まれた条件式を満たすような暗号化用属性が付与された暗号化データのみ復号ができる。条件式を満たさないような暗号化データに関しては一切復号できない。
なお、階層的内積述語暗号には、鍵委譲という特徴も存在する。これは、暗号化用ユーザ秘密鍵を生成する際に条件式を一部だけ設定し、条件式の一部を未指定の状態にする。この未指定の条件式に、追加で条件式を設定する仕組みが鍵委譲である。
具体的には、委譲鍵生成アルゴリズムを用いて、暗号化用ユーザ秘密鍵に対して追加で設定する暗号化用追加条件式を指定し、暗号化用委譲秘密鍵を生成する。この暗号化用委譲秘密鍵は、暗号化用ユーザ秘密鍵と同様に暗号化データの復号に利用することができる。
少し言い方を変えると、秘密鍵生成アルゴリズムでは、復号ユーザの属性情報が鍵属性として設定された暗号化用ユーザ秘密鍵が発行される。また、暗号化アルゴリズムでは、復号可能なユーザの属性情報が暗号属性として設定された暗号化データが生成される。そして、復号アルゴリズムでは、暗号化用ユーザ秘密鍵に設定された鍵属性と、暗号化データに設定された暗号属性とが対応している場合にのみ、暗号化データを暗号化用ユーザ秘密鍵で復号できる。
また、委譲鍵生成アルゴリズムでは、暗号化用ユーザ秘密鍵にさらに属性情報を追加設定して、その暗号化用ユーザ秘密鍵で復号可能な暗号化データの一部のみを復号可能な下位の暗号化用ユーザ秘密鍵を生成する。
図7は、階層的内積述語暗号を用いた秘匿検索方式の説明図である。
この秘匿検索方式は、マスター鍵生成アルゴリズム、秘密鍵生成アルゴリズム、委譲鍵生成アルゴリズム、暗号化タグ生成アルゴリズム、一致判定アルゴリズムで構成される。
最初に、マスター鍵生成アルゴリズムを用いて、秘匿検索用マスター鍵と秘匿検索用公開パラメータとが生成される。秘匿検索用マスター鍵は、検索ユーザの秘匿検索用ユーザ秘密鍵を生成するために使われる秘密鍵である。秘匿検索用公開パラメータは、検索する際に用いられる公開情報であり、検索するユーザに対して広く配布される。
なお、条件式の記述に関しては、暗号化方式と同様である。
次に、秘密鍵生成アルゴリズムを用いて、秘匿検索用条件式から検索ユーザに対して配布する秘匿検索用ユーザ秘密鍵が発行される。秘匿検索用条件式は、検索ユーザがどの様な属性を持つ文書を検索できるかが指定され、さらに、どの様な条件式で検索キーワードを指定できるかと言う枠組みだけが決定され、その条件がAND/ORの論理演算を用いた条件式として記述されたものである。検索キーワード自体は、後に委譲鍵生成アルゴリズムで設定できるようにしておく。
次に、暗号化タグ生成アルゴリズムを用いて、検索処理に用いられる暗号化タグが生成される。始めに任意の乱数値が生成され、検索を許可するユーザを制限するために属性が決定され、キーワードが決定される。乱数値と属性とキーワードとを入力として暗号化タグ生成アルゴリズムを用いて暗号化タグが生成される。具体的には、乱数値を暗号化アルゴリズムで暗号化し、暗号化乱数と乱数値の組みを暗号化タグとする。
次に、委譲鍵生成アルゴリズムを用いて、検索クエリが生成される。具体的には、秘匿検索用ユーザ秘密鍵のうち、後でキーワードが指定できるように値が未指定となっている部分に対して検索キーワードを埋め込むことにより、検索クエリが生成される。この検索クエリは、暗号化方式の暗号化委譲秘密鍵に対応するものである。
最後に、一致判定アルゴリズムを用いて、受領した検索クエリと暗号化タグの両者に含まれるキーワードが同一であるかどうかの一致判定が行われる。具体的には、暗号化タグの中から暗号化乱数を取り出し、暗号化用委譲秘密鍵に相当する検索クエリを用いて復号する。そして、復号結果が暗号化タグに含まれる乱数値と同一であった場合、すなわち検索クエリで正しく復号できた場合、キーワードが同一であったと判断する。なぜなら、検索クエリ(暗号化用委譲秘密鍵に相当)に含まれるキーワードと、暗号化乱数を生成する時に指定したキーワードが同一でなければ、正しく乱数値を復号できないからである。
上述した暗号方式と同様に少し言い方を変えると、秘密鍵生成アルゴリズムでは、検索ユーザの属性情報が鍵属性として設定された秘匿検索用ユーザ秘密鍵が発行される。また、暗号化アルゴリズムでは、検索可能なユーザの属性情報と、キーワードとが暗号属性として設定された暗号化データが生成される。委譲鍵生成アルゴリズムでは、秘匿検索用ユーザ秘密鍵にさらに検索キーワードを鍵属性として追加設定して、検索クエリを生成する。
そして、復号アルゴリズムでは、検索クエリに設定された鍵属性情報と、暗号化タグに設定された属性情報とが対応している場合にのみ、暗号化タグから乱数値を復号できる。つまり、検索クエリに設定されたユーザの属性情報と、暗号化タグに設定されたユーザの属性情報とが対応しており、検索クエリに設定された検索キーワードと、暗号化タグに設定されたキーワードとが対応している場合にのみ、暗号化タグから乱数値を復号できる。
遺伝子検索システム10の処理について説明する。
遺伝子検索システム10は、初期設定処理、ユーザ秘密鍵発行処理、暗号化処理、検索処理を実行する。なお、暗号化処理には、患者ゲノム配列の暗号化処理と、患者の電子カルテの暗号化処理とが含まれる。
図8は、初期設定処理の流れを示すフローチャートである。
初期設定処理は、鍵管理サーバ100で実行される処理であり、遺伝子検索システム10を利用する前に1回実行される処理である。
(S101:エンコード方法決定処理)
マスター鍵生成部110は、処理装置により、患者ゲノム配列の差分情報をエンコードする方法を決定する。このエンコードする方法を決定する際に、どの様に検索されるかという検索式についても考慮する。
主要な差分情報として、SNV(Single Nucleotide Variant)や、SV(Structural Variants)や、NC(Novel Contig)がある。そこで、この3つを例として、そのエンコード方法と検索方法について説明する。
図9は、エンコードしたSNV情報の構成図である。
SNV情報は、ゲノム配列の中で塩基1個が変化していることを示す。SNV情報は、患者ID、染色体番号、位置情報、置換情報1、置換情報2、信頼度で構成される。
患者IDは、別途管理される電子カルテと対応付けるために割り振られた識別番号である。患者IDは、カルテと対応付けられる番号であればよいため、病院で患者に付与した識別番号だけでなく、カルテ保管時にランダムに番号を振って、その値が設定されてもよい。
染色体番号は、SNVが検出された染色体の番号である。ヒトゲノムの場合、例えば1,2,・・・,22,X,Y,M等の値が設定される。
位置情報は、SNVが検出された位置に関する情報である。位置は、塩基配列の何番目かという数値で表され、ヒトゲノムの場合は1から30億ぐらいの値となる。一般に、位置などの数値情報の検索は範囲を指定して検索される。しかし、上述した秘匿検索方式では範囲検索が実施困難なため、ブロック化を行うことで高速化を図る。例えば、図10は、検索時に指定される範囲が一般的に5000以下に抑えられる場合のエンコード方法を示したものである。位置7777にSNVが検出された場合、ブロック1とブロック2とが該当する位置と考え、位置情報には「1」と「2」と言う2つの値が設定される。
置換情報1と置換情報2は、ゲノム情報の変化を示す情報である。これは、例えばSNVとしてGで表される塩基が挿入されていた場合は「G追加」、Aで表される塩基が消えていた場合は「A削除」など表記するように定められ、その値が設定される。置換情報が2つあるのは、例えば、Gで表される塩基がAで表される塩基に変化していた場合、置換情報1にはG削除、置換情報2にはA追加等として表されるためである。
信頼度は、そのSNV情報の信頼性を表す情報であり、0から100までの実数で表される。これも位置情報と同様に、ブロック化して検索の高速化を図る。例えば図11の様に、信頼度を10%単位で区切り、その対応する値を設定する。例えば、信頼度が7.44%の場合、対応するブロックの値0が設定される。
検索の場合、上記の患者IDから信頼度までの値のうち、条件として指定したいものを幾つか指定し、さらに未指定の場所はどの値とでも一致とみなす“*”(ワイルドカード)を指定することで差分情報(検索要求)を生成する。そして、SNV情報の各要素について、暗号化タグと検索クエリとの間で全てが一致した場合に検索にヒットする、と言う様なルールを決定する。
また、各要素がどの様な条件で一致するかも決定する。
例えば、患者IDが指定された場合、患者IDが同一のものを一致とみなす。染色体番号も同様に、検索したい染色体番号を指定し、同一のものを一致とみなす。位置情報の場合、例えば7000〜12000の範囲を検索したいとしたら、その範囲を含むブロックとしてブロック2を特定し、検索式には「2」を指定する。そして、SNV情報の位置情報として設定されている2つの値のいずれか一方と同一である場合、一致とみなす。置換情報の場合、SNV情報に指定した値と同様のルールで検索したい値を設定し、両者が同一であった場合に一致とみなす。信頼度も同様に、同じ値が指定されている場合に一致とみなす。
以上のように、SNV情報のエンコード方法と、どの様に検索を実施できるかという方式を決定する。
図12は、エンコードしたSV情報の構成図である。
SNV情報は塩基1つが変化していることを示したが、SV情報は連続する複数の塩基配列が変化していることを示す。SV情報は、患者ID、染色体番号、開始位置情報、終了位置情報、変異種別、CNVゲイン、組換染色体番号、組換染色体開始位置情報、組換染色体終了位置情報、分類ID(挿入配列)、バージョン(挿入配列)、染色体番号(挿入配列)、開始位置情報(挿入配列)、終了位置情報(挿入配列)で構成される。
患者ID、染色体番号は、図9に示したSNVと同一であるので、説明は省略する。
開始位置情報は、変化が開始している位置を示す情報である。SNV情報の位置情報と同様の手順で位置情報がブロック化されて、ブロックを示す値設定される。
終了位置情報は、変化が終了している位置を示す情報である。SNV情報の位置情報と同様の手順で位置情報がブロック化されて、ブロックを示す値が設定される。
変異種別は、SVの種別を示す情報である。例えば、遺伝子配列の繰り返し回数の追加/削減を示す「CNVゲイン」や「CNVロス」、塩基配列の反転を示す「Inversion」、塩基配列の大規模挿入を示す「Insertion」、塩基配列の大規模欠損を示す「Deletion」、他染色体との組換を示す「組換え」などの値が設定される。
CNVゲインは、変位種別として、「CNVゲイン」と「CNVロス」とが設定された場合に利用される。CNVゲインは、変異種別として「CNVゲイン」が設定された場合は、繰り返し回数が何回増えているか、「CNVロス」が設定された場合は、繰り返し回数が何回減ったかを示す情報が設定される。この値も整数値が含まれるため、ブロック化して値を設定する。例えば、図13に示すようにブロック化するというルールが定められ、CNVゲインが15であった場合、対応するブロックの番号「3」が設定される。
組換染色体番号は、変異種別として「組換え」が指定された場合に利用される。組換染色体番号は、組み換えられた他染色体の番号が設定される。設定可能な値は、染色体番号と同一である。
組換染色体開始位置情報と組換染色体終了位置情報とは、変異種別として「組換え」が指定された場合に利用される。組換染色体開始位置情報と組換染色体終了位置情報とは、他染色体のどの塩基配列と組み換えが発生したかを示すため、他染色体における組み換えの開始位置と終了位置とを示す情報である。設定可能な値は、開始位置情報と終了位置情報と同一である。
分類ID(挿入配列)は、変異種別として「Insertion」が指定された場合に利用される。分類ID(挿入配列)は、挿入された塩基配列が、他のどの生物のものかを示す番号が設定される。
バージョン(挿入配列)は、上記の分類IDを決定するのに用いたゲノム・データベースのバージョンを示すための数値である。
染色体番号(挿入配列)、開始位置情報(挿入配列)、終了位置情報(挿入配列)は、他生物のどの部分の塩基配列が挿入されたかを示す情報で、設定される値は染色体番号や開始位置情報や終了位置情報と同一の手法でエンコードされる。但し、ゲノム配列の長さは生物種によって異なるため、分類ID毎に異なるブロックの区切り方を用意することが好ましい。
また、検索の場合、上記の患者IDから終了位置情報(挿入配列)までの値のうち、条件として指定したいものを幾つか指定し、さらに未指定の場所はどの値とでも一致とみなす“*”(ワイルドカード)を指定することで差分情報(検索要求)を生成し、これをもとに検索クエリを生成する。そして、SV情報の各要素について、暗号化タグと検索クエリとの間で全てが一致した場合に検索にヒットする、と言う様なルールを決定する。
また、各要素がどの様な条件で一致するかも決定する。
患者ID、染色体番号は、SNV情報の場合と同一である。開始位置情報、終了位置情報、組換染色体開始位置情報、組換染色体終了位置情報、開始位置情報(挿入配列)、終了位置情報(挿入配列)は、SNV情報の位置情報と同一扱えばよい。変異種別は、どの種類の変異種別を検索したいかを検索クエリに指定し、同一の値が設定されたSV情報を一致とみなす。CNVゲインは、例えば10から30までの間にあるものを検索したい場合、その対応するブロックの番号「3」を指定する。そして、SV情報に含まれるCNVゲインと同一であった場合、一致とみなす。組換染色体番号、染色体番号(挿入配列)は、染色体番号と同一で扱えばよい。分類ID、バージョンは、検索クエリに検索したい分類IDとバージョンを入れ、SV情報と同一の場合に一致とみなす。
以上のように、SV情報のエンコード方法と、どの様に検索を実施できるかという方式を決定する。
図14は、エンコードしたNC情報の構成図である。
NC情報は、基準ゲノムにマッピングできなかった塩基を示す。塩基が基準ゲノムにマッピングできなかったのは、多くの場合は、ウイルスに感染しているなどで特殊なゲノムが検知された場合と考えられる。そのため、NC情報は、患者IDに加え、分類ID(挿入配列)、バージョン(挿入配列)、染色体番号(挿入配列)、開始位置情報(挿入配列)、終了位置情報(挿入配列)で構成される。
値の設定の方法や、検索の方法はSV情報と同一であるため、説明は省略する。
(S102:方式決定処理)
マスター鍵生成部110は、処理装置により、利用する秘匿検索方式や、データ本体を暗号化する暗号方式を決定する。ここでは、複数の検索キーワードを指定できる秘匿検索方式を必要としているため、上述した階層的内積述語暗号を用いた秘匿検索方式を用いる。同様に、暗号方式も上述した階層的内積述語暗号を用いた暗号方式を用いる。
そして、マスター鍵生成部110は、秘匿検索方式の利用方法を決定する。ここでは、タグIDの階層構造を決定する。例えば、図15に示す様に、タグIDは3要素で構成され、検索可能なユーザが所属するグループのグループ名を格納するグループ名欄、氏名などを格納するユーザ名欄、患者ゲノム配列の差分情報を格納する差分情報欄で構成する。検索の際は、グループ名、ユーザ名、差分情報の全てが合致と判断された場合にのみ、検索にヒットしたとみなすルールとする。
同様に、マスター鍵生成部110は、データ本体を暗号化するための暗号化方式の利用方法を決定する。ここでは、復号者IDの階層構造を決定する。例えば、図16に示す様に、復号者IDは2要素で構成され、復号可能なユーザが所属するグループのグループ名を格納するグループ名欄、氏名等を格納するユーザ名欄で構成する。復号の際は、グループ名、ユーザ名の全てが合致したものだけが復号できるルールとする。
(S103:ユーザID記憶処理)
ユーザID記憶部150は、ユーザIDを保管するユーザID情報データベースを構築する。ユーザID情報データベースは、ユーザ秘密鍵を生成するために必要な情報と、暗号化装置200がデータを暗号化する際に、相手のグループ名/ユーザ名を特定するために必要な情報とが記憶されるものである。
例えば、図17に示すように、ユーザID情報データベースには、グループ名である会社名、ユーザ名である氏名、所属情報、有効期間等が格納される。また、ユーザID情報データベースには、最新の状況だけでなく、過去の履歴を全て格納するようにしてもよい。
(S104:マスター鍵生成処理)
マスター鍵生成部110は、処理装置により、秘匿検索方式のマスター鍵生成アルゴリズムを実行して、秘匿検索用マスター鍵と秘匿検索用公開パラメータとを生成する。同様に、マスター鍵生成部110は、処理装置により、暗号化方式のマスター鍵生成アルゴリズムを実行して暗号化用マスター鍵と暗号化用公開パラメータとを生成する。
以降、秘匿検索用マスター鍵と暗号化用マスター鍵をまとめてマスター鍵、秘匿検索用公開パラメータと暗号化用公開パラメータをまとめて公開パラメータと呼ぶ。
(S105:マスター鍵記憶処理)
鍵記憶部120は、マスター鍵生成部110が生成したマスター鍵と公開パラメータとを記憶装置に記憶する。
(S106:公開パラメータ公開処理)
データ送受信部140は、鍵記憶部120が記憶した公開パラメータを暗号化装置200、検索装置300、データセンタ400に対してネットワーク500を介して公開する。
なお、公開された公開パラメータは、暗号化装置200では、公開パラメータ記憶部230に記憶され、検索装置300では、ユーザ秘密鍵記憶部320に記憶され、データセンタ400では、公開パラメータ記憶部450に記憶される。
以上の手順によって、遺伝子検索システム10のセットアップが完了する。
なお、S103で生成したユーザID情報データベースは、システムの運用において、ユーザの人事異動や入社や退社があるたびに内容がメンテナンスされる。
図18は、ユーザ秘密鍵発行処理の流れを示すフローチャートである。
ユーザ秘密鍵発行処理は、主に、鍵管理サーバ100と検索装置300とで実行される処理であり、新規ユーザを追加した場合や、ユーザの所属するグループ名が変わった時などに実行される。
(S201:ユーザID取得処理)
ユーザ秘密鍵生成部130は、ユーザID記憶部150が保持しているユーザID情報データベースから、ユーザ秘密鍵を発行するユーザのグループ名とユーザ名とを取得する。
(S202:ユーザ秘密鍵生成処理)
ユーザ秘密鍵生成部130は、処理装置により、検索クエリを生成するために用いる秘匿検索用ユーザ秘密鍵と、暗号化データを復号するために用いる暗号化用ユーザ秘密鍵とを生成する。
秘匿検索方式では、秘匿検索用ユーザ秘密鍵を生成する際にタグID階層構造を指定する必要がある。ここでは、S201で取得したグループ名をグループ名欄に、同じくユーザ名をユーザ名に設定し、差分情報は後で検索するユーザが設定できるように委譲可能な要素として指定する事で、秘匿検索用ユーザ秘密鍵を生成できる。
同様に、暗号化方式で暗号化用ユーザ秘密鍵を生成する際に復号者ID階層構造を指定する必要がある。ここでは、S201で取得したグループ名をグループ名欄に、同じくユーザ名をユーザ名に指定する事で、暗号化用ユーザ秘密鍵を生成できる。
上記で生成した秘匿検索用ユーザ秘密鍵、暗号化用ユーザ秘密鍵をまとめてユーザ秘密鍵と呼ぶ。
(S203:ユーザ秘密鍵送信処理)
データ送受信部140は、S202で生成したユーザ秘密鍵を、検索装置300へ送信する。
(S204:ユーザ秘密鍵受信処理)
ユーザ秘密鍵記憶部320は、S203にて送信されたユーザ秘密鍵を受信し、記憶装置に記憶する。
図19は、患者ゲノム配列の暗号化処理の流れを示すフローチャートである。
患者ゲノム配列の暗号化処理は、主に、暗号化装置200とデータセンタ400とで実行される処理であり、患者ゲノム配列を暗号化してデータセンタ400に保管する時に実行される。
(S301:差分情報抽出処理)
基準遺伝子取得部210は、例えばインターネットで公開されている基準ゲノム配列を取得する。また、対象遺伝子入力部220は、入力装置により、患者ゲノム配列を入力する。
差分情報生成部240は、処理装置により、患者ゲノム配列と基準ゲノム配列とを比較することで、SNVやSVやNC等の差分情報を生成する。この差分情報を生成する方法としては、ChIP−seq法またはRNA−seq法またはMeDIP−seq法または変異解析法またはバイサルファイト法などが知られており、それらの一般的な手法を用いる。
(S302:ユーザ決定処理)
データ暗号化部260は、暗号化装置200を操作するユーザに、暗号化データを復号可能なユーザのグループ名及びユーザ名を入力させる。同様に、暗号化タグ生成部270は、暗号化データを検索可能なユーザのグループ名及びユーザ名を入力させる。
ここで入力されるグループ名やユーザ名は一つである必要はなく、復号又は検索可能なユーザが複数名いる場合は複数入力することもできる。なお、ここで利用する秘匿検索方式や暗号化方式は、グループ名やユーザ名として誰でもよい事を意味するワイルドカードを受け取ることも可能である。
(S303:データ暗号化処理)
データ暗号化部260は、処理装置により、S302で入力された復号可能なグループ名及びユーザ名を用いて、S301で入力された患者ゲノム配列を暗号化する。
具体的には、データ暗号化部260は、ランダムにセッション鍵を生成し、そのセッション鍵でAESやCamellia(登録商標)等の共通鍵暗号を用いて患者ゲノム配列を暗号化し、暗号化データ本体を生成する。次に、データ暗号化部260は、復号者ID階層構造のグループ名とユーザ名に、S302で入力された復号可能なグループ名及びユーザ名をそれぞれ指定して、これを暗号化用公開鍵として、S102で決定した暗号化方式を用いてセッション鍵を暗号化し、暗号化セッション鍵を生成する。そして、データ暗号化部260は、前述の2個の暗号化結果(暗号化データ本体と暗号化セッション鍵)を組み合わせることで、暗号化データを生成する。
生成した暗号化データのデータ構造を図20の符号603部分に示す。なお、S302にて複数のグループ名とユーザ名を受領している場合、グループ名とユーザ名の各組に対して暗号化セッション鍵を生成する必要がある。
(S304:差分情報エンコード処理)
差分情報エンコード部250は、処理装置により、S301で生成された各差分情報を、S101で決定されたエンコード方法に従ってエンコードして、エンコード差分情報を生成する。また、差分情報エンコード部250は、ユーザから患者IDを入力させ、エンコード差分情報に含める。
(S305:暗号化タグ生成処理)
暗号化タグ生成部270は、エンコード差分情報を暗号化して暗号化タグを生成する。
具体的には、暗号化タグ生成部270は、処理装置により、タグID階層構造のグループ名とユーザ名にS302で入力させた検索可能なグループ名及びユーザ名を指定し、差分情報欄にS304にてエンコードしたエンコード差分情報を指定して、秘匿検索方式で乱数値を暗号化して暗号化タグを生成する。また、暗号化タグ生成部270は、乱数値を平文のまま暗号化タグに含める。
なお、上記処理は差分情報1個に対する処理であるため、この処理は各エンコード差分情報に対して実施される。例えば、SNV、SV、NCの各エンコード差分情報に対して実施される。また、S302にてグループ名及びユーザ名の組が複数の入力された場合、グループ名とユーザ名の各組に対して暗号化タグが生成される。
(S306:保管依頼処理)
タグ付き暗号化データ生成部280は、処理装置により、S303で生成された暗号化データと、S305で生成された暗号化タグと、S304で入力された患者IDとを結合してタグ付き暗号化データを生成する(図20の符号601)。そして、タグ付き暗号化データ生成部280は、生成したタグ付き暗号化データをデータセンタ400へ送信して、保管を依頼する。
この時、データセンタ400でタグ付き暗号化データの保管を容易にするため、タグ付き暗号化データ生成部280は、S302で入力された復号可能なグループ名及びユーザ名と、検索可能なグループ名及びユーザ名とを共に送信する。図20で示したタグ付き暗号化データの構成では、復号可能なグループ名及びユーザ名と、検索可能なグループ名及びユーザ名とをタグ付き暗号化データに含めている。
(S307:暗号化データ保管処理)
保管要求処理部410は、処理装置により、暗号化装置200から受信したタグ付き暗号化データを分解し、暗号化データと複数の暗号化タグと患者IDとを取り出す。そして、保管要求処理部410は、暗号化データ記憶部420に暗号化データを患者IDとともに保管させる。
なお、暗号化データ記憶部420は、タグ付き暗号化データに含まれるグループ名とユーザ名毎に暗号化データを分けて保管し、さらに保管した暗号化データに管理番号を付与して、後で管理番号から暗号化データを一意に特定できる様にする。暗号化データが複数のグループ名やユーザ名と関連付けられている場合、各グループ名とユーザ名に対して暗号化データを関連付けて保管する。複数のグループ名とユーザ名に関連付けられている場合、暗号化データは1個だけ格納し、他は参照情報のみを保管する様にすることでディスク容量の節約が可能である。
図21は、暗号化データの保管例を示す図である。図21に示す様に、保管要求処理部410は、グループ名が“A製薬会社”でユーザ名が“*”(ワイルドカード)である暗号化データと患者IDと管理番号とをまとめて管理し、さらにグループ名が“B病院”でユーザ名が“*”である暗号化データと患者IDと管理番号とをまとめて管理する。また、A製薬会社とB病院の両方に開示されるデータがあった場合、例えば管理番号000001に患者IDと暗号化データ本体を関連付けて保管し、管理番号100002には患者IDに加え、暗号化データとして管理番号00000を参照する様なポインタを保管する。
(S308:暗号化タグ保管処理)
保管要求処理部410は、S307で取り出した複数の暗号化タグを、対応する暗号化データの管理番号及び患者IDと共に暗号化タグ記憶部430に保管させる。暗号化タグ記憶部430は、タグ付き暗号化データに含まれるグループ名とユーザ名毎に分けて、暗号化タグと管理番号と患者IDとを保管する。
図22は、患者の電子カルテの暗号化処理の流れを示すフローチャートである。
患者の電子カルテの暗号化処理は、主に、暗号化装置200とデータセンタ400とで実行される処理であり、電子カルテを暗号化してデータセンタ400に保管する時に実行される。
(S401:ユーザ決定処理)
データ暗号化部260は、暗号化装置200を操作するユーザに、電子カルテを復号可能なユーザのグループ名及びユーザ名を入力させる。
ここで入力されるグループ名やユーザ名は一つである必要はなく、復号可能なユーザが複数名いる場合は複数入力することもできる。
(S402:データ暗号化処理)
データ暗号化部260は、ユーザに患者IDと電子カルテとを入力させる。そして、データ暗号化部260は、処理装置により、S401で入力されたグループ名及びユーザ名を用いて、電子カルテを暗号化する。具体的な暗号化方法は、S303で患者ゲノム配列を暗号化した流れと同一のため、詳細は省略する。
(S403:保管依頼処理)
データ暗号化部260は、S402にて生成した暗号化データを、誰の電子カルテかを示す患者IDと、復号可能なユーザのグループ名及びユーザ名と共にデータセンタ400へ送信して、保管を依頼する。
(S404:暗号化データ保管処理)
保管要求処理部410は、暗号化装置200から受領した暗号化データを、患者IDと関連付けて暗号化データ記憶部420に保管させる。
図23は、検索処理の流れを示すフローチャートである。
検索処理は、主に、検索装置300とデータセンタ400とで実行される処理であり、データセンタ400に保管された暗号化患者ゲノム配列を取得する時に実行される。
(S501:差分情報入力処理)
差分情報入力部310は、検索装置300を操作するユーザに、基準ゲノム配列との差分情報を検索キーワードとして含む検索要求を入力させる。
ここで入力される差分情報は、患者ゲノムから抽出した差分情報の様にすべての要素が指定されている必要はなく、例えば染色体番号だけを指定したものや、位置情報だけを指定したものなどでよい。
(S502:差分情報エンコード処理)
差分情報エンコード部330は、処理装置により、S501で入力された差分情報をエンコードして、エンコード差分情報を生成する。この処理は、ステップS304の処理と同一であるため詳細は省略する。但し、指定されていない要素は“*”としておく点だけ注意が必要である。
(S503:検索クエリ生成処理)
検索クエリ生成部340は、処理装置により、S502で生成されたエンコード差分情報と、ユーザ秘密鍵記憶部320で記憶されているユーザ秘密鍵を用いて、検索クエリを生成する。そして、検索クエリ生成部340は、生成した検索クエリをデータセンタ400へ送信する。
この時、ユーザ自身のグループ名及びユーザ名も送信する。なお、グループ名やユーザ名の信頼性を検証するため、検索端末を操作するユーザのユーザ認証も行う。
(S504:暗号化タグ抽出処理)
検索要求処理部440は、処理装置により、暗号化タグ記憶部430に記憶された全ての暗号化タグの中から、S503で検索クエリとともに送信されたグループ名及びユーザ名で検索が可能な暗号化タグを全て取得する。また、検索要求処理部440は、アクセス権限記憶部460から該当するグループ名及びユーザ名のユーザがアクセス可能な患者IDのリストを取り出し、その患者IDに対応する暗号化タグのみに取得した暗号化タグを絞込む。
なお、アクセス権限記憶部460は、図24に示すようなアクセス権限管理テーブルを持っており、グループ名及びユーザ名をアクセス者情報として、検索できる患者ゲノム配列に対応する患者IDを特定して、その患者IDに対応する暗号化タグを出力すればよい。
(S505:一致判定処理)
検索要求処理部440は、処理装置により、S504で絞り込んだ暗号化タグに対して秘匿検索方式の一致判定処理を行い、暗号化タグに含まれる差分情報が、S503で送信された検索クエリに含まれる差分情報で指定された条件に合致するか否かを判定する。
秘匿検索方式の一致判定処理は、1個の暗号化タグと、1個の検索クエリとの比較しか実施できない。そのため、一致判定処理をS504にて取得した全ての暗号化タグに対して実施する。そして、判定処理の結果、一致と判定された暗号化タグに関連付けられた管理番号を特定する。
(S506:暗号化データ取得処理)
検索要求処理部440は、S505で特定された管理番号に対応する暗号化データを、暗号化データ記憶部420から全て取得し、対応する患者IDと共に検索装置300へ送信する。
(S507:暗号化データ復号処理)
データ復号部360は、処理装置により、S506でデータセンタ400から受信した暗号化データを、ユーザ秘密鍵記憶部320に記憶された暗号化用ユーザ秘密鍵を用いて、暗号化方式の復号処理を実行することにより復号する。データ復号部360は、この処理を、受信した全ての暗号化データに対して実施する。
以上の手順により、検索装置300はユーザから検索したい差分情報を受け取り、その差分情報に合致する暗号化データをデータセンタ400から取得し、それを復号して患者ゲノム配列を閲覧することができる。また、必要に応じて、暗号化データに対応する患者IDをデータセンタ400へ送信し、対応する電子カルテなどを入手することもできる。
以上のように、実施の形態1に係る遺伝子検索システム10では、患者ゲノムを秘匿検索方式を用いて暗号化してデータセンタ400に保管し、また検索要求も秘匿検索技術で暗号化してデータセンタ400に検索を依頼している。そのため、データセンタ400では患者ゲノムの中身を一切知ることができないにもかかわらず、検索というサービスを提供することができる。
また、ヒトゲノム情報は30億塩基からなる非常に膨大なデータである。そのため、ヒトゲノム情報を全てタグとしてしまうと、暗号化によってさらにデータサイズが増加することもあり、ディスク容量やネットワーク容量を圧迫する原因となってしまう。
しかし、実施の形態1に係る遺伝子検索システム10では、一般公開されている基準ゲノム配列との差分情報に絞ってタグとしたので、ディスク使用量やネットワーク容量を大きく削減することができる。
また、実施の形態1に係る遺伝子検索システム10では、SNVの位置情報や信頼度などの数値情報をブロック化することで、秘匿検索にて実現困難であった範囲検索を、一致検索を用いて実現した。そのため、ゲノム検索で利用する範囲検索にも対応することができる。
特に、図10に示したSNVの位置情報では、各ブロックが重複するようにした。つまり、ブロック1とブロック2とは、位置5000から10000が重複しており、ブロック2とブロック3とでは、位置10000から15000が重複している。これにより、検索時に指定される範囲が5000以下の場合には、全てのブロックを用いて検索を行い、検索時に指定される範囲が10000以下の場合には、奇数のブロックだけで検索を行えばより高速に処理をすることが可能となる。
また、実施の形態1に係る遺伝子検索システム10では、染色体番号や位置情報などの複数の検索条件が指定された場合でも、個別に条件の一致判定を行うのではなく、内積述語暗号を用いて全ての検索条件が成立するかどうかを一括で判定する。そのため、部分的に検索にヒットしたことがサーバには分からず、セキュリティが高い。
また、実施の形態1に係る遺伝子検索システム10では、暗号化データと共に患者IDを含めるようにした。そのため、検索結果として入手した患者IDから、関連する電子カルテなどの情報を引き出すことができる。したがって、該当する塩基変異が発生している場合、どの様な病気に関連しているかも研究することが可能となる。
また、実施の形態1に係る遺伝子検索システム10では、患者ゲノム配列の差分情報を暗号化する際に、タグID階層構造や復号者ID階層構造に対して、グループ名やユーザ名を含めるようにした。そのため、検索や復号ができる研究者や医者を制限することができる。例えば、グループ名に「A製薬会社」、ユーザ名にワイルドカード「*」を指定すれば、その患者の情報はA製薬会社の社員に制限することができる。また、グループ名もユーザ名もワイルドカード「*」にして暗号化することで、そのシステムに登録された医者や研究者であれば、その患者の情報を利用することができるようになる。
また、実施の形態1に係る遺伝子検索システム10では、暗号によるアクセス制御とは別に、データセンタ400がアクセス権限管理テーブルを保管し、この情報に基づくアクセス制御も可能とした。そのため、患者からの要望によって、「ゲノム配列のみ閲覧可能」とか「カルテの閲覧が可能」などを細かく管理することができる。つまり、この情報を元にして、患者ゲノム配列からの検索要求を許可するかどうかを判定するようにしたため、きめ細かなアクセス制御が可能となる。
また、実施の形態1に係る遺伝子検索システム10では、検索者のユーザ秘密鍵に対してグループ名やユーザ名を含めるようにした。そのため、そのユーザ秘密鍵から生成された検索クエリに含まれるグループ名やユーザ名を確認することで、認証を行うことも可能である。
なお、上記説明では、会社単位でアクセス制限を行う場合の例を示した。しかし、このアクセス制御の単位は一例である。例えば、医者や看護婦などの国家資格の条件を入れてもよいし、国家プロジェクトへの参加者かどうかのフラグを立ててもよい。これらのID階層構造は一例であるため、色々な要素を追加したり、削除したりすることもできる。
また、上記説明では、国が唯一の鍵管理サーバ100を管理し、医者の代理でゲノム分析を行ったシーケンサ操作者が暗号化装置200を利用する場合を想定していた。しかし、利用システムに応じて、システム構成は柔軟に変更することができる。例えば、シーケンサ操作者から検知結果を受け取った医者が暗号化装置200を操作して患者ゲノム配列を暗号化してもよい。
また、上記説明では、検索装置300にユーザ秘密鍵を保管して、検索クエリ生成や暗号化データの復号も実施させるようにした。しかし、より安全性を高めるために、ユーザ秘密鍵の管理を検索装置300ではなくICカードなどのデバイスを用いて実施してもよい。この場合、ICカード内で安全にユーザ秘密鍵が管理されるため、セキュリティの向上が図れる。
また、上記説明では、検索端末で利用する秘匿検索用ユーザ秘密鍵は、SNV情報やSV情報やNC情報などの検索で共通に使えるような鍵として生成した。しかし、各差分情報は長さが異なるため、共通の秘匿検索用ユーザ秘密鍵を用いるのではなく、SNV情報秘匿検索用ユーザ秘密鍵やSV情報秘匿検索用ユーザ秘密鍵やNC情報秘匿検索用ユーザ秘密鍵など、用途に応じて秘匿検索用ユーザ秘密鍵を個別に生成してもよい。この場合、秘匿検索用ユーザ秘密鍵の長さが各情報の長さに最適化したものとなるため、演算時間が高速化される。
また、上記説明では、グループ名やユーザ名を示す際に「A製薬会社」や「田中」などの文字列を使って表現した。これは、実施例としての分かりやすさを優先したためで、実際には文字列だけでなく番号などのIDを利用してもよい。染色体番号などの他の要素も同様である。
また、上記説明では、秘匿検索方式や暗号方式として階層的内積述語暗号を用いた場合の例を示した。しかし、同様の機能を持った暗号であれば、階層的内積述語暗号に限る必要はない。また、秘匿検索方式と暗号方式で、異なる方式を利用してもよい。
また、上記説明では、ユーザID記憶部150において、ユーザの過去の属性情報も管理できるようにした。これは管理上必要な場合にのみ実施すればよく、現時点の属性情報のみ管理するようにしてもよい。
また、上記説明では、全員が共通で1つの基準ゲノム配列を使用することを仮定して実施するケースを示した。しかし、異なる基準ゲノムを用いて実施することも可能である。この場合、暗号化する際は全ての基準ゲノム配列に対して差分情報を生成し、検索する場合はいずれかひとつの基準ゲノム配列との差分情報を検索クエリとすることも可能であるし、暗号化する際に一つの基準ゲノム配列との差分情報を生成し、検索する場合にすべての基準ゲノム配列との差分情報を検索クエリにすることも可能である。
また、上記説明では、位置情報や信頼度やCNVゲインなど範囲検索を必要とするものに関しては、ブロック化を行うことで、キーワードの完全一致で判定ができるようにした。しかし、検索したい範囲は用途によって異なることが想定されるため、必ずしも完全一致で検索できるようにする必要はない。例えば、暗号化時はブロック10に属することを指定しつつも、検索時はブロック10またはブロック11の様に複数ブロックを検索範囲として指定するようにしてもよい。
また、上記説明では、鍵管理サーバ100が1台しか無いケースを想定した。しかし、秘匿検索方式や暗号化方式として用いた階層的内積述語暗号は、鍵管理サーバ100を階層化して複数に分散して運用することも可能である。そのため、ここでも、鍵管理サーバ100を複数に階層化して運用することも可能である。
また、上記説明では、差分情報としてSNV情報や、SV情報や、NC情報を暗号化する例を示した。しかし、同様の仕組みによって、前記以外の差分情報を暗号化することも可能である。
図25は、鍵管理サーバ100、暗号化装置200、検索装置300、データセンタ400のハードウェア構成の一例を示す図である。
図25に示すように、鍵管理サーバ100、暗号化装置200、検索装置300、データセンタ400は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920(固定ディスク装置)の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。
ROM913、磁気ディスク装置920は、不揮発性メモリの一例である。RAM914は、揮発性メモリの一例である。ROM913とRAM914と磁気ディスク装置920とは、記憶装置(メモリ)の一例である。また、キーボード902、通信ボード915は、入力装置の一例である。また、通信ボード915は、通信装置の一例である。さらに、LCD901は、表示装置の一例である。
磁気ディスク装置920又はROM913などには、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
プログラム群923には、上記の説明において「マスター鍵生成部110」、「ユーザ秘密鍵生成部130」、「データ送受信部140」、「基準遺伝子取得部210」、「対象遺伝子入力部220」、「差分情報生成部240」、「差分情報エンコード部250」、「データ暗号化部260」、「暗号化タグ生成部270」、「タグ付き暗号化データ生成部280」、「差分情報入力部310」、「差分情報エンコード部330」、「検索クエリ生成部340」、「遺伝子情報取得部350」、「データ復号部360」、「保管要求処理部410」、「検索要求処理部440」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、上記の説明において「鍵記憶部120」、「ユーザID記憶部150」、「公開パラメータ記憶部230」、「ユーザ秘密鍵記憶部320」、「暗号化データ記憶部420」、「暗号化タグ記憶部430」、「公開パラメータ記憶部450」、「アクセス権限記憶部460」等に記憶される情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記媒体やICチップに記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
10 遺伝子検索システム、100 鍵管理サーバ、110 マスター鍵生成部、120 鍵記憶部、130 ユーザ秘密鍵生成部、140 データ送受信部、150 ユーザID記憶部、200 暗号化装置、210 基準遺伝子取得部、220 対象遺伝子入力部、230 公開パラメータ記憶部、240 差分情報生成部、250 差分情報エンコード部、260 データ暗号化部、270 暗号化タグ生成部、280 タグ付き暗号化データ生成部、300 検索装置、310 差分情報入力部、320 ユーザ秘密鍵記憶部、330 差分情報エンコード部、340 検索クエリ生成部、350 遺伝子情報取得部、360 データ復号部、400 データセンタ、410 保管要求処理部、420
暗号化データ記憶部、430 暗号化タグ記憶部、440 検索要求処理部、450 公開パラメータ記憶部、460 アクセス権限記憶部、500 ネットワーク。

Claims (21)

  1. 遺伝子情報を記憶装置に記憶させる遺伝子情報記憶装置であり、
    所定の遺伝子情報である基準遺伝子を取得する基準遺伝子取得部と、
    前記記憶装置に記憶させる遺伝子情報である対象遺伝子を入力する遺伝子入力部と、
    前記基準遺伝子取得部が取得した基準遺伝子と、前記遺伝子入力部が入力した対象遺伝子とを比較して差分情報を生成する差分生成部と、
    前記対象遺伝子を暗号化して暗号化遺伝子を生成するデータ暗号化部と、
    前記差分生成部が生成した差分情報を埋め込んだ暗号化タグを生成する暗号化タグ生成部と、
    前記データ暗号化部が生成した暗号化遺伝子と、前記暗号化タグ生成部が生成した暗号化タグとを関連付けて、前記記憶装置に記憶させるデータ記憶部と
    を備えることを特徴とする遺伝子情報記憶装置。
  2. 前記差分情報には、複数の種別の情報が含まれており、
    前記遺伝子情報記憶装置は、さらに、
    前記差分情報に含まれる所定の種別については、その種別が取り得る値を複数のブロックに分け、前記差分生成部が生成した差分情報におけるその種別の値を、その値が属するブロックを識別する識別情報に置き換える差分情報置換部
    を備え、
    前記暗号化タグ生成部は、前記差分情報置換部が置き換えた差分情報を暗号化して暗号化タグを生成する
    ことを特徴とする請求項1に記載の遺伝子情報記憶装置。
  3. 前記差分情報置換部は、各ブロックに属する値の一部が他のブロックにも属するように、前記種別が取り得る値を複数のブロックに分け、前記差分生成部が生成した差分情報におけるその種別の値を、その値が属する各ブロックを識別する識別情報に置き換える
    ことを特徴とする請求項2に記載の遺伝子情報記憶装置。
  4. 前記暗号化タグ生成部は、暗号化データに設定された暗号属性と、秘密鍵に設定された鍵属性とが対応していない場合に、前記暗号化データを前記秘密鍵で復号できない暗号化方式に基づき、前記暗号化遺伝子を検索可能なユーザの属性情報と差分情報とを前記暗号属性として設定して、乱数値を暗号化して前記暗号化タグを生成する
    ことを特徴とする請求項1から3までのいずれかに記載の遺伝子情報記憶装置。
  5. 前記暗号化方式に基づき、前記暗号化遺伝子を復号可能なユーザの属性情報を前記暗号属性として設定して、前記対象遺伝子を暗号化して前記暗号化遺伝子を生成する
    ことを特徴とする請求項4に記載の遺伝子情報記憶装置。
  6. データ管理装置が管理する記憶装置に記憶された遺伝子情報を検索する遺伝子情報検索装置であり、
    暗号化データに設定された暗号属性と、秘密鍵に設定された鍵属性とが対応していない場合に、前記暗号化データを前記秘密鍵で復号できない暗号化方式における前記秘密鍵であって、ユーザの属性情報が前記鍵属性として設定された秘密鍵を管理するユーザ秘密鍵管理部と、
    検索したい遺伝子情報と所定の遺伝子情報である基準遺伝子との差分情報を入力する差分情報入力部と、
    前記ユーザ秘密鍵管理部が管理する秘密鍵の鍵属性として、前記差分情報入力部が入力した差分情報を追加して検索クエリを生成する検索クエリ生成部と、
    前記検索クエリ生成部が生成した検索クエリを前記データ管理装置へ送信して、前記差分情報を含む遺伝子情報を取得する遺伝子情報取得部と
    を備えることを特徴とする遺伝子情報検索装置。
  7. 前記差分情報には、複数の種別の情報が含まれており、
    前記遺伝子情報検索装置は、さらに、
    前記差分情報に含まれる所定の種別については、その種別が取り得る値を複数のブロックに分け、差分情報におけるその種別の値を、その値が属するブロックを識別する識別情報に置き換える差分情報置換部
    を備え、
    前記検索クエリ生成部は、前記差分情報置換部が置き換えた差分情報を埋め込んだ検索クエリを生成する
    ことを特徴とする請求項6に記載の遺伝子情報検索装置。
  8. 前記差分情報置換部は、各ブロックに属する値の一部が他のブロックにも属するように、前記種別が取り得る値を複数のブロックに分け、差分情報におけるその種別の値を、その値が属する各ブロックを識別する識別情報に置き換える
    ことを特徴とする請求項7に記載の遺伝子情報検索装置。
  9. 前記遺伝子情報取得部は、前記暗号化方式により、復号可能なユーザの属性情報を前記暗号属性として設定して、前記遺伝子情報を暗号化した暗号化遺伝子を、前記差分情報を含む遺伝子情報として取得し、
    前記遺伝子情報検索装置は、さらに、
    前記ユーザ秘密鍵管理部が管理する秘密鍵により、前記暗号化遺伝子を復号する復号部を備えることを特徴とする請求項に記載の遺伝子情報検索装置。
  10. 遺伝子情報を記憶装置に記憶させる遺伝子情報記憶プログラムであり、
    所定の遺伝子情報である基準遺伝子を取得する基準遺伝子取得処理と、
    前記記憶装置に記憶させる遺伝子情報である対象遺伝子を入力する遺伝子入力処理と、
    前記基準遺伝子取得処理で取得した基準遺伝子と、前記遺伝子入力処理で入力した対象遺伝子とを比較して差分情報を生成する差分生成処理と、
    前記対象遺伝子を暗号化して暗号化遺伝子を生成するデータ暗号化処理と、
    前記差分生成処理で生成した差分情報を埋め込んだ暗号化タグを生成する暗号化タグ生成処理と、
    前記データ暗号化処理で生成した暗号化遺伝子と、前記暗号化タグ生成処理で生成した暗号化タグとを関連付けて、前記記憶装置に記憶させるデータ記憶処理と
    をコンピュータに実行させることを特徴とする遺伝子情報記憶プログラム。
  11. 前記差分情報には、複数の種別の情報が含まれており、
    前記遺伝子情報記憶プログラムは、さらに、
    前記差分情報に含まれる所定の種別については、その種別が取り得る値を複数のブロックに分け、前記差分生成処理で生成した差分情報におけるその種別の値を、その値が属するブロックを識別する識別情報に置き換える差分情報置換処理
    をコンピュータに実行させ、
    前記暗号化タグ生成処理では、前記差分情報置換処理で置き換えた差分情報を暗号化して暗号化タグを生成する
    ことを特徴とする請求項10に記載の遺伝子情報記憶プログラム。
  12. 前記差分情報置換処理では、各ブロックに属する値の一部が他のブロックにも属するように、前記種別が取り得る値を複数のブロックに分け、前記差分生成処理で生成した差分情報におけるその種別の値を、その値が属する各ブロックを識別する識別情報に置き換える
    ことを特徴とする請求項11に記載の遺伝子情報記憶プログラム。
  13. 前記暗号化タグ生成処理では、暗号化データに設定された暗号属性と、秘密鍵に設定された鍵属性とが対応していない場合に、前記暗号化データを前記秘密鍵で復号できない暗号化方式に基づき、前記暗号化遺伝子を検索可能なユーザの属性情報と差分情報とを前記暗号属性として設定して、乱数値を暗号化して前記暗号化タグを生成する
    ことを特徴とする請求項10から12までのいずれかに記載の遺伝子情報記憶プログラム。
  14. 前記暗号化方式に基づき、前記暗号化遺伝子を復号可能なユーザの属性情報を前記暗号属性として設定して、前記対象遺伝子を暗号化して前記暗号化遺伝子を生成する
    ことを特徴とする請求項13に記載の遺伝子情報記憶プログラム。
  15. 暗号化データに設定された暗号属性と、秘密鍵に設定された鍵属性とが対応していない場合に、前記暗号化データを前記秘密鍵で復号できない暗号化方式における前記秘密鍵であって、ユーザの属性情報が前記鍵属性として設定された秘密鍵を管理するユーザ秘密鍵管理部を用いて、データ管理装置が管理する記憶装置に記憶された遺伝子情報を検索する遺伝子情報検索プログラムであり、
    検索したい遺伝子情報と所定の遺伝子情報である基準遺伝子との差分情報を入力する差分情報入力処理と、
    前記ユーザ秘密鍵管理部が管理する秘密鍵の鍵属性として、前記差分情報入力処理で入力した差分情報を追加して検索クエリを生成する検索クエリ生成処理と、
    前記検索クエリ生成処理で生成した検索クエリを前記データ管理装置へ送信して、前記差分情報を含む遺伝子情報を取得する遺伝子情報取得処理と
    をコンピュータに実行させることを特徴とする遺伝子情報検索プログラム。
  16. 前記差分情報には、複数の種別の情報が含まれており、
    前記遺伝子情報検索プログラムは、さらに、
    前記差分情報に含まれる所定の種別については、その種別が取り得る値を複数のブロックに分け、差分情報におけるその種別の値を、その値が属するブロックを識別する識別情報に置き換える差分情報置換処理
    をコンピュータに実行させ、
    前記検索クエリ生成処理では、前記差分情報置換処理で置き換えた差分情報を埋め込んだ検索クエリを生成する
    ことを特徴とする請求項15に記載の遺伝子情報検索プログラム。
  17. 前記差分情報置換処理では、各ブロックに属する値の一部が他のブロックにも属するように、前記種別が取り得る値を複数のブロックに分け、差分情報におけるその種別の値を、その値が属する各ブロックを識別する識別情報に置き換える
    ことを特徴とする請求項16に記載の遺伝子情報検索プログラム。
  18. 前記遺伝子情報取得処理では、前記暗号化方式により、復号可能なユーザの属性情報を前記暗号属性として設定して、前記遺伝子情報を暗号化した暗号化遺伝子を、前記差分情報を含む遺伝子情報として取得し、
    前記遺伝子情報検索プログラムは、さらに、
    前記ユーザ秘密鍵管理部が管理する秘密鍵により、前記暗号化遺伝子を復号する復号処理
    をコンピュータに実行させることを特徴とする請求項15に記載の遺伝子情報検索プログラム。
  19. 遺伝子情報を記憶装置に記憶させる遺伝子情報記憶方法であり、
    処理装置が、所定の遺伝子情報である基準遺伝子を取得する基準遺伝子取得工程と、
    入力装置が、前記記憶装置に記憶させる遺伝子情報である対象遺伝子を入力する遺伝子入力工程と、
    処理装置が、前記基準遺伝子取得工程で取得した基準遺伝子と、前記遺伝子入力工程で入力した対象遺伝子とを比較して差分情報を生成する差分生成工程と、
    処理装置が、前記対象遺伝子を暗号化して暗号化遺伝子を生成するデータ暗号化工程と、
    処理装置が、前記差分生成工程で生成した差分情報を埋め込んだ暗号化タグを生成する暗号化タグ生成工程と、
    処理装置が、前記データ暗号化工程で生成した暗号化遺伝子と、前記暗号化タグ生成工程で生成した暗号化タグとを関連付けて、前記記憶装置に記憶させるデータ記憶工程と
    を備えることを特徴とする遺伝子情報記憶方法。
  20. 暗号化データに設定された暗号属性と、秘密鍵に設定された鍵属性とが対応していない場合に、前記暗号化データを前記秘密鍵で復号できない暗号化方式における前記秘密鍵であって、ユーザの属性情報が前記鍵属性として設定された秘密鍵を管理するユーザ秘密鍵管理部を用いて、データ管理装置が管理する記憶装置に記憶された遺伝子情報を検索する遺伝子情報検索方法であり、
    入力装置が、検索したい遺伝子情報と所定の遺伝子情報である基準遺伝子との差分情報を入力する差分情報入力工程と、
    処理装置が、前記ユーザ秘密鍵管理部が管理する秘密鍵の鍵属性として、前記差分情報入力工程で入力した差分情報を追加した検索クエリを生成する検索クエリ生成工程と、
    処理装置が、前記検索クエリ生成工程で生成した検索クエリを前記データ管理装置へ送信して、前記差分情報を含む遺伝子情報を取得する遺伝子情報取得工程と
    を備えることを特徴とする遺伝子情報検索方法。
  21. データ管理装置が管理する記憶装置に遺伝子情報を記憶させる遺伝子情報記憶装置と、前記遺伝子情報記憶装置が記憶させた遺伝子情報から検索キーワードを含む遺伝子情報を検索する遺伝子情報検索装置とを備える遺伝子情報検索システムであり、
    前記遺伝子情報記憶装置は、
    所定の遺伝子情報である基準遺伝子を取得する基準遺伝子取得部と、
    前記記憶装置に記憶させる遺伝子情報である対象遺伝子を入力する遺伝子入力部と、
    前記基準遺伝子取得部が取得した基準遺伝子と、前記遺伝子入力部が入力した対象遺伝子とを比較して差分情報を生成する差分生成部と、
    前記対象遺伝子を暗号化して暗号化遺伝子を生成するデータ暗号化部と、
    前記差分生成部が生成した差分情報を埋め込んだ暗号化タグを生成する暗号化タグ生成部と、
    前記データ暗号化部が生成した暗号化遺伝子と、前記暗号化タグ生成部が生成した暗号化タグとを関連付けて、前記記憶装置に記憶させるデータ記憶部と
    を備え、
    前記遺伝子情報検索装置は、
    検索したい遺伝子情報と前記基準遺伝子との差分情報を前記検索キーワードとして入力する差分情報入力部と、
    前記差分情報入力部が入力した差分情報を埋め込んだ検索クエリを生成する検索クエリ生成部と、
    前記検索クエリ生成部が生成した検索クエリを前記データ管理装置へ送信して、前記差分情報を含む遺伝子情報を取得する遺伝子情報取得部と
    備えることを特徴とする遺伝子情報検索システム。
JP2013067770A 2013-03-28 2013-03-28 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム Expired - Fee Related JP6054790B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2013067770A JP6054790B2 (ja) 2013-03-28 2013-03-28 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
PCT/JP2014/054145 WO2014156400A1 (ja) 2013-03-28 2014-02-21 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
EP14775361.0A EP2980718A4 (en) 2013-03-28 2014-02-21 GENETIC INFORMATION STORAGE DEVICE, GENETIC INFORMATION SEARCHING DEVICE, GENETIC INFORMATION STORAGE PROGRAM, GENETIC INFORMATION SEARCHING PROGRAM, GENETIC INFORMATION STORAGE METHOD, METHOD FOR SEARCHING FOR GENETIC INFORMATION, AND SEARCH FOR GENETIC INFORMATION
US14/779,527 US10311239B2 (en) 2013-03-28 2014-02-21 Genetic information storage apparatus, genetic information search apparatus, genetic information storage program, genetic information search program, genetic information storage method, genetic information search method, and genetic information search system
CN201480018404.1A CN105190636A (zh) 2013-03-28 2014-02-21 基因信息存储装置、基因信息检索装置、基因信息存储程序、基因信息检索程序、基因信息存储方法、基因信息检索方法以及基因信息检索系统
TW103106205A TWI510939B (zh) 2013-03-28 2014-02-25 Gene information memory device, gene information retrieval device, gene information memory program product, gene information retrieval program product, gene information memory method, gene information retrieval method and gene information retrieval system
HK16107331.5A HK1219324A1 (zh) 2013-03-28 2016-06-23 基因信息存儲裝置、基因信息檢索裝置、基因信息存儲程序、基因信息檢索程序、基因信息存儲方法、基因信息檢索方法以及基因信息檢索系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013067770A JP6054790B2 (ja) 2013-03-28 2013-03-28 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム

Publications (3)

Publication Number Publication Date
JP2014191670A JP2014191670A (ja) 2014-10-06
JP2014191670A5 JP2014191670A5 (ja) 2015-12-17
JP6054790B2 true JP6054790B2 (ja) 2016-12-27

Family

ID=51623401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013067770A Expired - Fee Related JP6054790B2 (ja) 2013-03-28 2013-03-28 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム

Country Status (7)

Country Link
US (1) US10311239B2 (ja)
EP (1) EP2980718A4 (ja)
JP (1) JP6054790B2 (ja)
CN (1) CN105190636A (ja)
HK (1) HK1219324A1 (ja)
TW (1) TWI510939B (ja)
WO (1) WO2014156400A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011108540A1 (ja) 2010-03-03 2011-09-09 国立大学法人大阪大学 ヌクレオチドを識別する方法および装置、ならびにポリヌクレオチドのヌクレオチド配列を決定する方法および装置
EP3578987A1 (en) 2013-09-18 2019-12-11 Quantum Biosystems Inc. Biomolecule sequencing devices, systems and methods
JP2015077652A (ja) 2013-10-16 2015-04-23 クオンタムバイオシステムズ株式会社 ナノギャップ電極およびその製造方法
US10438811B1 (en) 2014-04-15 2019-10-08 Quantum Biosystems Inc. Methods for forming nano-gap electrodes for use in nanosensors
WO2015170782A1 (en) 2014-05-08 2015-11-12 Osaka University Devices, systems and methods for linearization of polymers
US9875375B2 (en) * 2015-05-29 2018-01-23 Panasonic Intellectual Property Corporation Of America Method for performing similar-information search while keeping content confidential by encryption
JP6582930B2 (ja) * 2015-11-30 2019-10-02 コニカミノルタ株式会社 データ送受信システム、情報処理装置、データ送受信方法およびデータ送受信プログラム
WO2017122326A1 (ja) 2016-01-14 2017-07-20 三菱電機株式会社 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム
WO2017122352A1 (ja) * 2016-01-15 2017-07-20 三菱電機株式会社 暗号化装置、暗号化方法及び暗号化プログラム
US10339325B2 (en) * 2016-03-03 2019-07-02 JJD Software LLC Multi-level security model for securing access to encrypted private data
WO2017179581A1 (en) * 2016-04-11 2017-10-19 Quantum Biosystems Inc. Systems and methods for biological data management
RU2765241C2 (ru) * 2016-06-29 2022-01-27 Конинклейке Филипс Н.В. Ориентированная на заболевание геномная анонимизация
MX2019004131A (es) * 2016-10-11 2020-01-30 Genomsys Sa Metodo y aparato para el acceso a datos bioinformaticos estructurados en unidades de acceso.
CN110168651A (zh) * 2016-10-11 2019-08-23 基因组系统公司 用于选择性访问存储的或传输的生物信息数据的方法和系统
WO2018131129A1 (ja) * 2017-01-12 2018-07-19 三菱電機株式会社 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム
US11106740B2 (en) * 2017-04-25 2021-08-31 Mitsubishi Electric Corporation Search device, search system, search method, and computer readable medium
CN107506615A (zh) * 2017-08-21 2017-12-22 为朔医学数据科技(北京)有限公司 一种基因组学数据管理方法、服务器和系统
US11038691B2 (en) * 2018-01-03 2021-06-15 JJD Software LLC Database platform for maintaining secure data
US11899812B2 (en) 2018-01-03 2024-02-13 JJD Software LLC Compound platform for maintaining secure data
CN108810570A (zh) * 2018-06-08 2018-11-13 安磊 人工智能视频基因加密方法、装置及设备
US11611539B2 (en) * 2018-12-16 2023-03-21 Auth9, Inc. Method, computer program product and apparatus for encrypting and decrypting data using multiple authority keys
WO2020240816A1 (ja) * 2019-05-31 2020-12-03 三菱電機株式会社 暗号システム、暗号方法および暗号プログラム
WO2020259847A1 (en) 2019-06-28 2020-12-30 Geneton S.R.O. A computer implemented method for privacy preserving storage of raw genome data
DE112020005557B4 (de) * 2020-01-14 2023-09-28 Mitsubishi Electric Corporation Registrierungseinrichtung, suchoperationseinrichtung, datenverwaltungseinrichtung, registrierungsprogramm, suchoperationsprogramm und datenverwaltungsprogramm
CN111540409B (zh) * 2020-04-20 2023-06-27 中南大学 基于隐私保护的基因相似度计算方法及基因信息获取方法
CN117711501A (zh) * 2023-10-26 2024-03-15 安徽溯远分析仪器有限公司 一种基因测序数据管理系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1024895B1 (en) * 1997-06-30 2005-11-30 Dow Global Technologies Inc. Process for the direct oxidation of olefins to olefin oxides
JP2003177992A (ja) * 2001-12-10 2003-06-27 Seiko Epson Corp 差分通信システム、差分通信装置及び差分通信プログラム、並びに差分通信方法
US20080125978A1 (en) * 2002-10-11 2008-05-29 International Business Machines Corporation Method and apparatus for deriving the genome of an individual
US20040153255A1 (en) * 2003-02-03 2004-08-05 Ahn Tae-Jin Apparatus and method for encoding DNA sequence, and computer readable medium
JP5154832B2 (ja) * 2007-04-27 2013-02-27 株式会社日立製作所 文書検索システム及び文書検索方法
JP2011203943A (ja) * 2010-03-25 2011-10-13 Nippon Telegr & Teleph Corp <Ntt> メタデータ生成装置およびメタデータ生成方法
JP2012073693A (ja) * 2010-09-28 2012-04-12 Mitsubishi Space Software Kk 遺伝子情報検索システム、遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法及び遺伝子情報検索方法
US9111106B2 (en) * 2011-01-13 2015-08-18 Mitsubishi Electric Corporation Data processing apparatus and data storage apparatus
JP2012216114A (ja) * 2011-04-01 2012-11-08 Life:Kk 情報処理装置および方法、並びにプログラム

Also Published As

Publication number Publication date
TWI510939B (zh) 2015-12-01
US10311239B2 (en) 2019-06-04
US20160048690A1 (en) 2016-02-18
TW201506653A (zh) 2015-02-16
EP2980718A1 (en) 2016-02-03
JP2014191670A (ja) 2014-10-06
EP2980718A4 (en) 2016-11-23
HK1219324A1 (zh) 2017-03-31
WO2014156400A1 (ja) 2014-10-02
CN105190636A (zh) 2015-12-23

Similar Documents

Publication Publication Date Title
JP6054790B2 (ja) 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
Ayday et al. Protecting and evaluating genomic privacy in medical tests and personalized medicine
JP4958246B2 (ja) 高速検索可能な暗号化のための方法、装置およびシステム
WO2011086687A1 (ja) 秘匿検索システム及び暗号処理システム
CN107077469B (zh) 服务器装置、检索系统、终端装置以及检索方法
WO2012095973A1 (ja) データ処理装置及びデータ保管装置
CN107209787A (zh) 提高专用加密数据的搜索能力
KR20140029984A (ko) 의료정보 데이터베이스 운영 시스템의 의료정보 관리 방법
JP6250497B2 (ja) 情報管理システム
JP6619401B2 (ja) データ検索システム、データ検索方法およびデータ検索プログラム
JP2014109826A (ja) 広域分散医療情報ネットワークの緊急時のためのデータ管理機構
Alshamrani et al. IoT data security with DNA-genetic algorithm using blockchain technology
JP2019146088A (ja) 計算機システム、接続装置、及びデータ処理方法
WO2014141802A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
JP2022547697A (ja) トランザクション内の遺伝データ
Ayday Cryptographic solutions for genomic privacy
Funde et al. Big Data Privacy and Security Using Abundant Data Recovery Techniques and Data Obliviousness Methodologies
JP7288194B2 (ja) 秘密情報管理プログラム、秘密情報管理方法、および秘密情報管理システム
JP2020109447A (ja) 秘密情報検索システム、秘密情報検索プログラム、および秘密情報検索方法
Ragavan et al. Evaluation of cryptographic key generation performance using evolutionary algorithm
US20240126915A1 (en) Search execution device, search execution method, computer readable medium and searchable encryption system
JP7469669B2 (ja) 秘密情報管理プログラム、秘密情報管理方法、および秘密情報管理システム
Saif et al. Secure Electronic Health Record Storage and Retrieval Using Blockchain and Encryption for Healthcare Application
US20230318824A1 (en) Data sharing system, data sharing method and data sharing program
US7814323B2 (en) Program, classification method and system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151030

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160927

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161201

R150 Certificate of patent or registration of utility model

Ref document number: 6054790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees