JPWO2017149686A1 - 鍵生成装置、計算機システム、および暗号統計処理方法 - Google Patents

鍵生成装置、計算機システム、および暗号統計処理方法 Download PDF

Info

Publication number
JPWO2017149686A1
JPWO2017149686A1 JP2017530766A JP2017530766A JPWO2017149686A1 JP WO2017149686 A1 JPWO2017149686 A1 JP WO2017149686A1 JP 2017530766 A JP2017530766 A JP 2017530766A JP 2017530766 A JP2017530766 A JP 2017530766A JP WO2017149686 A1 JPWO2017149686 A1 JP WO2017149686A1
Authority
JP
Japan
Prior art keywords
data
value
sum
management server
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.)
Pending
Application number
JP2017530766A
Other languages
English (en)
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
Publication of JPWO2017149686A1 publication Critical patent/JPWO2017149686A1/ja
Pending legal-status Critical Current

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/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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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
    • 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/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

特許文献1に記載された技術により、データ委託先のサーバ内でデータ分析を行う場合、サーバ内で個々の暗号文を復号する必要が生じる。すなわち、サーバ内で基本統計量を算出する場合には、サーバ側に個々のデータの平文が開示されてしまうという課題がある。本発明の鍵生成装置は、個々の平文データを暗号化する際に用いた鍵である乱数の総和を、暗号文データの総和を復号するための鍵としてサーバに送信し、その鍵を用いて暗号文データの総和を復号する。

Description

本発明は、計算機環境における暗号データの統計処理に関する。
情報システムの開発・運用管理費の効率化を目的として、自組織の情報システムを利用したデータ処理だけでなく、他組織が提供するクラウド上のサーバでデータ処理を行うことが一般化しつつある。クラウドを利用する場合、自組織のデータを他組織が管理するサーバに預けることとなる。そのため、情報漏洩の予防を目的とし、暗号技術の活用が注目されている。
データの管理を他組織のサーバに委託しながら情報漏洩を防ぐ技術として、演算を可能とする準同型暗号を活用した発明が知られている。例えば特許文献1には、暗号文の加算や乗算を計算可能とする準同型暗号を利用し、集計等の特定の処理をデータ預託先のサーバに委託する方式が記載されている。
特許番号 第5679018号公報
クラウド上のサーバにデータ分析を依頼したいという需要がある。データ分析は、データの類似性や傾向等を探る作業であり、その演算には、平均や分散等の基本統計量を必要とする。しかしながら、情報漏洩の予防を目的に、クラウドが復号できないよう、個々のデータを暗号化してしまうと、基本統計量の計算が困難になる、という課題がある。これは、暗号文の除算の困難性にある。そのため、従来は、除算を必要とする平均や分散等の基本統計量を求める際には、暗号文を復号して平文を得る必要があった。
例えば、特許文献1に記載された技術を用いてデータ預託先のサーバ内でデータ分析を行う場合、サーバからクライアントに暗号文を戻し、クライアントが暗号文を復号し、除算を処理した上で、再暗号化し、再びサーバに暗号文を渡す必要がある。すなわち、データ預託先のサーバ内で基本統計量を算出しようとすると、処理が煩雑になり、計算リソースの高負荷を招くという課題があった。
上述の課題を解決するために、本発明の鍵生成装置は、個々の平文データを暗号化する際に用いた鍵である乱数の総和を、暗号文データの総和を復号するための鍵としてサーバに送信し、その鍵を用いて暗号文データの総和を復号する。
データの総和の値のみがサーバ側で復号され平文となる。すなわち、個々のデータの平文がサーバ側に開示されることなく、サーバ内で基本統計量を算出することが可能となる。
実施形態の概略を例示する。 暗号化統計処理システムが取り扱うデータを例示する。 鍵配布PCの概略構成を例示する。 暗号化統計処理システムの全体処理をシーケンス図で示す。 鍵配布PCにおける暗号化統計計算用パラメータの生成処理フローを示す。 鍵配布PCにおける暗号化鍵生成処理フローを示す。 鍵配布PCにおける集約値復号鍵と暗号化鍵の管理用のデータベースを示す。 登録PCにおける暗号文の生成処理フローを示す。 管理サーバにおける暗号化統計計算処理フローを示す。 実施例2における管理サーバの暗号化統計計算処理フローを示す。 実施例2における登録PCの暗号文の生成処理フローを示す。 実施例2における管理サーバの暗号化統計計算処理フローを示す。 実施例2における管理サーバの暗号化統計計算処理フローを示す。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、これにより本発明が限定されるものではない。実施の形態において、同一の部材には原則として同一の符号を付け、繰り返しの説明は省略する。まず、本発明の実施例で使用する用語を定義する。
(1) 法
剰余算(除算の余りを求める計算)における割る値を指す。
(2) mod t
剰余算を指す。特に断りがない限り、本実施例では、法をtとする剰余算の結果は、
整数 [0, 1, 2, ・・・, t-1]で表し、0未満またはt以上の値を用いないものとする。
(3) 剰余加算
整数の加算結果に対し、剰余算を行う。例えば、4 + 5 mod 7 = 2が成立する。
(4) 剰余減算
整数の減算結果に対し、剰余算を行う。例えば、4 - 5 mod 7 = 6が成立する。
(5) 平方剰余
整数の自乗結果に対し、剰余算を行う。例えば、42 mod 7 = 2が成立する。
(6) 基本統計量
本発明では、代表的な統計量である合計、平均、分散、標準偏差のいずれかを指す。
(7) データベース
データの管理形態の一種であり、本発明ではDBと略す場合もある。また、データとして暗号文を保存する場合、暗号化DBと略す場合もある。
(8) 登録PC100
登録PC100a、登録PC100b、・・・、登録PC100nのいずれかまたは全てを指す。
(9) 集約値復号鍵
平均用特集約値復号鍵と分散用集約値復号鍵の総称である。
(10) 暗号化鍵
平均用暗号化鍵と分散用暗号化鍵の総称である。
(11) 平文
暗号化対象のデータを平文と呼ぶ。暗号化後は、暗号文と呼ばれる。
(12) 平文空間
平文がとりえる値の集合を指す。例えば、平文空間を0以上t未満とするとき、整数[0、1、2、・・・t-1]のいずれかをが平文が取りうる。
(13) 分散
データの分布のばらつき度合いを示す統計指標の一つ。平文Miの平均と平文Mi2の平均から、平文Miの分散Varが計算できる。Var(Mi) = Avg(Mi2) - Avg(Mi)2が一般に成り立つ。
(14) 標準偏差
分散と同様、データの分布のばらつき度合いを示す統計指標の一つ。分散の平方根が標準偏差Stdである。即ち、Std = √Varが一般に成り立つ。
(15) 整数丸め込み関数
入力された実数値に対して、もっとも近い整数の値を返す関数である。xを整数丸め込み関数の入力値、yを出力値(出力値は整数)とし、丸め込み関数を「・」(・は入力値)で表す。このとき、y=「x」であり、|y-x|<=1/2が成立する。
図1は、暗号化統計処理システムの実施形態の概略を示す図である。図示するように、統計処理システムは、第三者機関と、事業主体A(1〜n)と、事業主体Bと、事業主体Cと、により実施される。ハードウェアとしては、第三者機関が所有する鍵配布PC000と、事業主体A(1〜n)が所有する登録PC100a・・・100nと、事業主体Bが所有する管理サーバ300と、事業主体Cが所有する閲覧PC200と、のそれぞれがネットワーク400を介して接続される構成となっている。
本実施例をヘルスケア事業への適用例として説明する。以下、第三者機関を「認証局」、事業主体A(1〜n)を「健康診断事業者」、事業主体Bを「クラウドサービス提供者」、事業主体Cを「病院」と想定する。
健康診断事業者は、自社の情報システムをクラウドサービス提供者の管理サーバ300に預託する運用をしている。故に、健康診断受診者から取得する健診データを、管理サーバ300に預託している。健診データは受診者の個人情報であり、他者に漏洩しないよう慎重に取り扱う必要がある。健診データの詳細は、図2(a)で後述する。
そのため、健康診断事業者は、受診者から取得して登録PC100aに入力した健診データにおいて指定した項目を、認証局の鍵配布PC000が発行する暗号化鍵で暗号化した上で、クラウドサービス提供者の管理サーバ300に預託する。すなわち、クラウドサービス提供者には、個々の健診データ内の暗号化された項目の内容が開示されない。
病院側は健診データに基づく疾病の基本統計量データを必要としているので、健診データを格納するクラウドサービス提供者にその基本統計量データを要求する。統計統計量データの詳細は、図2(d)で後述する。
クラウドサービス提供者の管理サーバは、内部に格納された健診データの暗号文の総和を求め、認証局の鍵配布PC000が発行する集約値復号鍵で総和を復号し、総和の平文データを得る。総和の平文データの詳細は、図2(c)で後述する。
平文については除算が可能なので、健診データの数で総和の平文を除した値が、代表的な基本統計量データである平均値となる。この後、平均値は病院側に開示されるが、個々の健診データは開示されない。すなわち、健康診断事業者の所持する個々の健診データが、いずれの他者に開示されることなく、病院が基本統計量を取得できたことになる。なお、前述の通り、暗号文の総和を求める処理は、従来技術で可能である。
図2は、本実施例で取り扱うデータの具体例を示す図である。この図を用いて図1の説明を補足する。
図2(a)は健康診断事業者が受診者から取得して登録PC100に登録した健診データを、図2(b)は管理サーバ300内で保管されるデータ例として年齢(歳)と入院期間(日)が暗号化された健診データを、図2(c)は管理サーバ300内で復号された総和の平文データを、図2(d)は管理サーバ300内で算出された基本統計量データを、それぞれ示している。
図2(a)の各行のデータを「個々の健診データ」と呼んでいる。認証局の鍵配布PC000は、指定された範囲または項目毎に暗号化鍵を発行し、健康診断事業者の登録PC100は、発行された暗号化鍵を用いて健診データをそれぞれ暗号化する。
図2(b)は、個々の健診データのうち、「年齢(歳)」列および「入院期間(日)」列に格納される値が暗号化されていることを示している。
図2(c)の「年齢総和」列および「入院期間総和」列に格納される値は、それぞれ指定された範囲または項目における図2(a)の「年齢(歳)」列および「入院期間(日)」列の総和の値である。この例では、指定された項目が「肺炎」および「男」であったとする。この場合、図2(c)には、肺炎を患った経験のある男性受診者の年齢の総和と、当該受診者が肺炎を患った際の入院期間の総和が、認証局の鍵配布PC000が発行する集約値復号鍵により復号されて、平文となっている。
図2(d)の「平均年齢(歳)」列および「平均入院期間(日)」列に格納される値は、それぞれ図2(c)の「年齢総和」列の値および「入院期間(日)」列の値をデータ数で除した値である。この例では、各列のデータ数は3であるので、3で除した値となっている。これらの数値は病院側に提供され、医師等が閲覧PC200を用いて閲覧することができる。
なお、上記の健診データはあくまで一例である。必要に応じて複数の暗号文を組み合わせてよい。例えば、平文で管理されている他の項目を、ブロック暗号や、検索可能暗号、公開鍵暗号等で暗号化してもよい。
図3は、鍵配布PC000のハードウェア構成図である。図示するように、鍵配布PC000は、CPU001、メモリ002、記憶装置003、入力装置005、出力装置006、読書装置007、通信装置008、らが内部信号線004で連結し、構成される。また、記憶装置003には、所定のプログラムが格納されている。プログラムは、メモリ002にロードされCPU001によって実行される。なお、所定のプログラムは、外部記憶装置に記憶されていてもよい。
登録PC100、閲覧PC200、管理サーバ300も同様のハードウェア構成を具備する。それぞれの詳細は、繰り返しの記載となるので省略する。
図4は、暗号統計処理システムの全体処理を示すシーケンス図である。S010-S030は認証局の鍵配布PCの処理、S110 -S140は健康診断事業者の登録PC100の処理、S210は病院の閲覧PC200の処理、S310-S330はクラウドサービス事業者の管理サーバ300の処理である。以下、各ステップにつき説明する。
S110は、登録PCが統計処理対象のデータの範囲または項目を指定する処理である。図2(a)で説明した通り、例えば「病歴」「性別」等の項目が指定される。データの範囲を指定する場合の例としては、「東京都」「神奈川県」のように地域を指定したり、「2015年1月1日〜2015年12月31日」のように期間を指定することが考えられる。
S120は、S110で指定した範囲または項目につき、登録PCが鍵配布PCに対して暗号化鍵を要求する処理である。
S010は、S120で受信した要求に基づき、暗号化統計計算用パラメータを生成する処理である。詳細は図5で後述する。
S020は、S010で生成された暗号化統計計算用パラメータを用いて、暗号化鍵D010と集約値復号鍵D020を生成する処理である。詳細は図6で後述する。
S030は、S020で生成された暗号化鍵D010を登録PC100に、集約値復号鍵D020を管理サーバに、それぞれ送付する処理である。
S130は、S030で送付された暗号化鍵D010を用いて、暗号文D110を生成する処理である。詳細は図8で後述する。
S140は、S130で生成された暗号文D110を管理サーバに送付する処理である。
S310は、S140で送付された暗号文D110の状態を遷移させる処理である。詳細は図9で後述する。
S320は、S310で状態遷移した暗号文D110の基本統計量D210を計算する処理である。詳細は図9で後述する。
S210は、S320で算出された基本統計量D210を、閲覧PCから要求する処理である。
S330は、S110の要求を受け、閲覧PCに基本統計量D210を送信する処理である。
このようにして、管理サーバ300が個々のデータの平文を得ることなく、分析に有用な基本統計量の平文を得ることができる。
なお、上述の処理手順はあくまで一例であり、必要に応じて処理順序や処理内容を変更してもよい。例えば、登録PCと閲覧PCが同一の主体(本例では病院を想定する)に属している場合には、S210の要求処理を待つことなくS330の処理を実施してもよい。この場合、登録PC100と閲覧PC200が同じ端末であることも考えられ、S210も登録PC100に実施されることになる。
また、S320の処理は、S310の出力である対象データの総和の平文をデータ数で除する処理であるから、必ずしも管理サーバ内で実施する必要はない。例えば、S310の出力を閲覧PC200に送付し、閲覧PC200内でS320に相当する処理を実施してもよい。
更に、複数の健康診断事業者(登録PC100a-100n)から収集した健診データについての基本統計量を計算することも可能である。
図5に鍵配布PC000における暗号化統計計算用パラメータ生成の処理フローを示す。鍵配布PC000は正の整数Pと正の整数tを生成する(S011)。ただし、tはnの約数とする。例えば、n=6のとき、tはnの約数であるので、t=1,2,3,6のいずれかである。なお、鍵配布PC000は、作成した正の整数Pと正の整数tを公開、または送付することにより、登録PC100や管理サーバ300が利用可能な状態にしておく。
図6に鍵配布PC000における暗号化鍵生成の処理フローを示す。鍵配布PC000は0以上P未満のt個の乱数S1、S2、・・・Stとt個の乱数L1、L2、・・・Ltを生成する(S021)。次に、法をPとし、乱数S1、S2、・・・Stの剰余加算をS、乱数L1、L2、・・・Ltの剰余加算をLとする。即ち、
S = S1 + S2 +・・・+ St mod P、L = L1 + L2 + ・・・ + Lt mod Pである(S022)。最後に、乱数S1、S2、・・・Stを平均用暗号化鍵、乱数L1、L2、・・・Ltを分散用暗号化鍵、Sを平均用集約値復号鍵、Lを分散用集約値復号鍵として出力する(S023)。すなわち、
平均用集約値復号鍵Sは法をPとするt個の乱数S1、S2、・・・、Stの総和となり、
分散用集約値復号鍵Lは法をPとするt個の乱数L1、L2、・・・、Ltの総和となる。
図7は、鍵配布PC000が集約値復号鍵と暗号化鍵の送信時に用いるデータベースである。鍵管理DBと呼ばれるこのデータベースで、送信先と送信対象を管理する。例えば、図7aのデータベース2行目には、送信先として登録用PC100a、送信対象として平均用暗号化鍵S1と分散用暗号化鍵L1が指定されている。また図7bのデータベースには、送信先として管理サーバ300、送信対象として平均用集約値復号鍵Sと分散用集約値復号鍵Lが指定されている。鍵配布PC000は鍵管理DBで指定されている送信対象と送信先に従い、暗号化鍵と集約値復号鍵を送付する。すなわち、この例では集約値復号鍵のみがサーバに送信されることになるため、個々の暗号化鍵がサーバに開示されることはない。
図8中の図8aは、登録PC100における暗号文生成の処理フローを示す。本暗号文は管理サーバ300上で合計と平均の算出に用いられる。登録PC100は暗号化対象の平文Miに対し、法をPとする平均用暗号化鍵Siの剰余加算を行い、暗号文Ciを作成する。即ち、Ci= Mi + Si mod Pが成立する(S111a)。このとき、平文Miの平文空間は0以上P/t未満の整数である。次に、暗号文Ciを出力する(S112a)。
図8中の図8bは、登録PC100における暗号文生成の処理フローを示す。本暗号文は管理サーバ300上で分散と標準偏差の算出に用いられる。登録PC100は暗号化対象の平文Miに対し、法をPとするMiの平方剰余であるMi2 mod Pを算出し、分散用暗号化鍵Liとの剰余加算を行い、暗号文Diを作成する。即ち、Di= Mi2 + Li mod Pが成立する(S111b)。このとき、平文Mi2の平文空間は0以上P/t未満の整数である。次に、暗号文Diを出力する(S112b)。
図9中の図9aは、管理サーバ300が、t個の暗号文Ciの暗号化状態を0遷移させる際の処理フローである。
管理サーバ300は法をPとするt個の暗号文Ciの剰余加算と、Sの剰余減算を行い、暗号化状態が解除された中間データSUMを作成する。即ち、
Sum = (C1 + C2 + ・・・・+ Ct) - S mod Pが成立する(S211a)。ここで、平文Miの平文空間は0以上P/t未満の整数であるため、Sumはt個の平文 Miの合計と等しい。即ち、Sum = M1 + M2 + ・・・・+ Mtが成立する。つまり、平均用集約値復号鍵Sを用いて、対象データの総和の値のみを管理サーバ300内で復号できたことになる。
図9中の図9bは、管理サーバ300が、平均値を算出する際の処理フローである。中間データSUMがt個の平文Miの合計と等しいことは既に述べた通りである。この中間データSUMをtで除算することにより、平均Avgが作成できる。即ち、Avg= SUM/tが成立する(S221a)。次に、中間データSUMは合計として、Avgは平均として出力する(S222a)。なお、図3で述べた通り、この処理は平文SUMをデータ数tで除する一般的な統計処理であるから、必ずしも管理サーバ300内で実施する必要はない。
図10中の図10aは、管理サーバ300が、分散または標準偏差を算出する際に、暗号化状態を遷移させる処理フローである。
管理サーバ300は法をPとするt個の暗号文Diの剰余加算と、Lの剰余減算を行い、暗号化状態が解除された中間データtmpを作成する。即ち、
tmp = (D1 + D2 + ・・・・+ Dt) - L mod Pが成立する(S211b)。ここで、平文Mi2の平文空間は0以上P/t未満の整数であるため、tmpはt個の平文 Mi2の合計と等しい。即ち、tmp = M12 + M22 + ・・・・+ Mt2が成立する。つまり、分散用集約値復号鍵Lを用いて、対象データの総和の値のみを管理サーバ300内で復号できてこととなる。
図10中の図10bは、管理サーバ300が、分散および標準偏差を算出する際の処理フローである。中間データtmpがt個の平文Mi2の合計と等しいことは既に述べた通りである。この中間データSUMをtで除算し、さらにAvg2を減算することにより、分散Varが作成できる。即ち、
Var= tmp/t - Avg2が成立する(S221b)。次に、Varの平方根を算出し、これを標準偏差Stdとする(S222b)。最後に、Varは分散として、Stdは標準偏差として出力する(S223b)。なお、この処理は一般的な統計処理であるから、必ずしも管理サーバ300内で実施する必要はない。
上記の処理により、管理サーバ300は、登録サーバから受け取った暗号文Ciや暗号文Diから各々の平文Mi、Mi2の値を得ることなく、また個々のデータについての暗号鍵を得ることなく、更に集計PC200との複雑なやり取りをすることもなく、平文Miの基本統計量である計SUM、平均Avg、分散Var、標準偏差Stdを得ることが可能となる。
なお、本発明は上述の実施形態に限定されるものではなく、その趣旨の範囲内で様々な変形が可能である。例えば、統計計算は平均や分散に限定されるものではなく、それ以外の統計値を算出しても良い。また、データの値は整数に限定されるものではなく、実数としても良い。
実施の形態2では、実施の例1と同様、管理サーバ300が受け取った個々の暗号文から、その基本統計量のみが平文で得られる方式を説明する。本実施例では、暗号化の際にLWE(Learning with Errors)と呼ばれる計算量困難な問題をベースにしている。
実施例2のシステムの概略図は実施例1と同様である。また鍵配布PC000と、1台以上の登録PC100a・・・100nと、集計PC200と、管理サーバ300の構成も、実施例1と同様である。更に、鍵配布PC000,登録PC100a・・・登録PC100n、管理サーバ300、集計PC200におけるデータ送受信とプログラムの処理フローも、実施例1と同様である。
ここで、鍵配布PC000における暗号化統計計算用パラメータ生成の処理フロー(S010)につき、実施例1との差分を説明する。
鍵配布PC000は正の整数Pと正の整数Nと正の整数tと正の整数mを生成する。ただし、tはnの約数とする。また、0以上P未満の乱数を要素とするN次元ベクトルAを生成する(S011)。
次に、鍵配布PC000における暗号化鍵生成の処理フロー(S020)につき、実施例1との差分を説明する。
鍵配布PC000は0以上P未満乱数を要素とするのN次元ベクトルS1、S2、・・・StとL1、L2、・・・Ltを生成する(S021)。次に、法をPとし、乱数S1、S2、・・・Stの剰余加算をS、乱数L1、L2、・・・Ltの剰余加算をLとする。即ち、
S = S1 + S2 +・・・+ St mod P、
L = L1 + L2 + ・・・ + Lt mod Pである(S022)。最後に、乱数S1、S2、・・・Stを平均用暗号化鍵、乱数L1、L2、・・・Ltを分散用暗号化鍵、Sを平均用集約値復号鍵、Lを分散用集約値復号鍵として出力する(S023)。
鍵配布PC000が集約値復号鍵と暗号化鍵の送信時に用いるデータベースは、実施例1と同様である。
図11中の図11aは、実施例2における登録PC100が暗号文Ciを生成する際の処理フローである。本暗号文は管理サーバ300上で合計と平均の算出に用いられる。
登録PC100はN次元ベクトルAとn次元ベクトルSiに対し法をPとする内積<A, Si>を行う。さらに、登録PC100は
|Ei| < P/(2mt)を満たす乱数Eiを作成する。最後に、法をPとし、内積<A, Si>、乱数Eiと、P/m倍平文Miとの剰余加算を行い、暗号文Ciを作成する。即ち、Ci=(Mi)P/m+<A, Si>+Ei mod Pが成立する(S111a)。このとき、平文Miの平文空間は0以上m/t未満の整数である。次に、暗号文Ciを出力する(S112a)。
図11中の図11bは、実施例2における登録PC100が暗号文Diを生成の処理フローである。本暗号文は管理サーバ300上で分散と標準偏差の算出に用いられる。登録PC100はN次元ベクトルAとn次元ベクトルLiに対し、法をPとする内積<A, Li>を行う。さらに、登録PC100は|Fi| < P/(2mt)を満たす乱数Fiを作成する。最後に、法をPとし、内積<A, Li>、乱数Fiと、P/m倍したMiの平方剰余Mi2 との剰余加算を行い、暗号文Diを作成する。即ち、
Di=Mi2 m/t+<A, Li>+Fi mod Pが成立する(S111b)。このとき、平文Mi2の平文空間は0以上m/t未満の整数である。次に、暗号文Diを出力する(S112b)。
図12は、実施例2における、管理サーバ300が平文を算出する際に暗号文の暗号化状態を遷移させる処理フローである。管理サーバ300はN次元ベクトルAとn次元ベクトルSに対し、法をPとする内積<A, S>を行う。管理サーバ300は法をPとするt個の暗号文Ciの剰余加算と、内積<A, S>の剰余減算を行い、暗号化状態が解除された中間データTMPを作成する。即ち、
TMP = (C1 + C2 + ・・・・+ Ct) - <A, S> mod Pが成立する(S211a)。ここで、このTMPをm/P倍した実数値を整数丸め込み関数に入力し、出力値SUMを得る(S212a)。「m/P(TMP)」=「(M1+M2 + ・・・・+ Mt)+ m/P(E1+E2 + ・・・・+ Et)」=M1+M2 + ・・・・+ Mtである。
|Ei|<P/2mtより、|t/m(E1+E2 + ・・・・+ Et)| <1/2であり、乱数Eiの総和は整数丸め込み関数により破棄される。従って、SUMは平文Miの合計値である。
管理サーバ300が平均値を算出する際の処理フローは、実施例1と同様である。
図13は、実施例2における、管理サーバ300が平文を算出する際に暗号文の暗号化状態を遷移させる処理フローである。管理サーバ300はN次元ベクトルAとn次元ベクトルLに対し、法をPとする内積<A, L>を行う。管理サーバ300は法をPとするt個の暗号文Diの剰余加算と、内積<A, L>の剰余減算を行い、暗号化状態が解除された中間データTMPを作成する。即ち、
TMP = (D1 + D2 + ・・・・+ Dt) - <A, L> mod Pが成立する(S211a)。ここで、このTMPをm/P倍した実数値を整数丸め込み関数に入力し、出力値tmpを得る(S212a)。「m/P(TMP)」=「(M12+M22 + ・・・・+ Mt2)+ m/P(F1+F2 + ・・・・+ Ft)」=M12 + M22 + ・・・・+ Mt2である。|Fi|<P/2mtより、|t/m(F1+F2 + ・・・・+ Ft)| <1/2であり、乱数Fiの総和は整数丸め込み関数により破棄される。従って、tmpは平文Mi2の合計値である。
管理サーバ300において、分散または標準偏差を算出する際の処理フローは、実施例1と同様である。
上記の処理により、管理サーバ300は、登録サーバから受け取った暗号文Ciや暗号文Diから各々の平文Mi、Mi2の値を得ることなく、集計PC200との複雑なやり取りなしで、平文Miの基本統計量である計SUM、平均Avg、分散Var、標準偏差Stdを得ることが出来た。
なお、本発明は、実施例1と同様、その趣旨の範囲内で様々な変形が可能である。例えば、乱数生成に当たっては、乱数の分布をガウス分布や一様分布など、特定の分布を仮定としてもよい。
実施例2では、管理サーバ300は平文Miの基本統計量を平文として得たが、暗号化状態のまま基本統計量を算出し、管理サーバ300には基本統計量を秘匿するようにしても良い。例えば、鍵配布PC000は、集計PC200に復号鍵を事前に渡しておき、管理サーバ300から暗号化された基本統計量を受けとった集計PC200が復号しても良い。また、管理サーバ300は特定の処理を行うことにより、合計は集計PC200には開示しないが、平均は開示するなど、部分開示を行うように調整しても良い。
例えば、管理サーバ300は平均計算で用いる分母tを秘匿するため、1/t≒r/Rとなる数を求め、r倍した暗号文の総和とRを集計PC200に渡し、集計PC200でr倍された暗号文を復号後、得られたr倍された平文の総和をRで除算し、平均値を算出する。このとき、集計PC200はrが分からないため、r倍された平均の総和から、元の平文総和が得られない。一方、Rで除算することにより、分母をtとする平均は得ることができる。
例えば、管理サーバ300が対応する対応する法の値をPからP/tに変更し、新しい法の値P/t用に変換した暗号文を集約PCに送信してもよい。このとき、集約PCは法P/tを用いて暗号文を復号し、tで除算された平均を入手できる。
000:鍵配布PC 100、100a、100b、100n:登録PC 200:集計PC 300:管理サーバ 400:ネットワーク 001:CPU(Central Processing Unit) 002:メモリ 003:記憶装置 004:内部通信線 005:入力装置 006:出力装置 007:読書装置 008:通信装置

Claims (6)

  1. 疑似乱数である暗号化鍵を複数生成し、生成された複数の疑似乱数の総和である集約値復号鍵を生成し、前記複数の暗号化鍵と、前記集約値復号鍵と、を外部に送信する、鍵生成装置。
  2. 請求項1に記載の鍵生成装置と、管理サーバと、を備える計算機システムにおいて、
    前記鍵生成装置は、前記複数の暗号化鍵をクライアント端末に送信し、前記集約値復号鍵を前記管理サーバに送信し、
    前記管理サーバは、前記複数の暗号化鍵を用いて暗号化された複数のデータを前記クライアント端末から受信し、当該暗号化された複数のデータの総和を算出し、当該総和の値を、前記集約値復号鍵を用いて復号し、平文の値を得る、ことを特徴とする計算機システム。
  3. 請求項1に記載の鍵生成装置と、クライアント端末と、を備える計算機システムにおいて、
    前記鍵生成装置は、前記複数の暗号化鍵と、前記集約値復号鍵と、を前記クライアント端末に送信し、
    前記クライアント端末は、受信した複数の暗号化鍵を用いて複数のデータを暗号化し、当該暗号化された複数のデータを管理サーバに送信し、当該暗号化された複数のデータの総和の値を前記管理サーバから受信し、受信した総和の値を前記集約値復号鍵を用いて復号し、平文の値を得る、ことを特徴とする計算機システム。
  4. 請求項2に記載の計算機システムにおいて、
    前記管理サーバは、前記平文の値をデータ数で除し、前記複数のデータの平均値を得る、ことを特徴とする計算機システム。
  5. 請求項3に記載の計算機システムにおいて、
    前記クライアント端末は、前記平文の値をデータ数で除し、前記複数のデータの平均値を得る、ことを特徴とする計算機システム。
  6. 第1のCPUが、疑似乱数である暗号化鍵を複数生成し、生成された複数の疑似乱数の総和である集約値復号鍵を生成し、
    第2のCPUが、前記複数の暗号化鍵を用いて暗号化された複数のデータの総和を算出し、当該総和の値を、前記集約値復号鍵を用いて復号する、ことを特徴とする暗号化統計方法。
JP2017530766A 2016-03-02 2016-03-02 鍵生成装置、計算機システム、および暗号統計処理方法 Pending JPWO2017149686A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/056322 WO2017149686A1 (ja) 2016-03-02 2016-03-02 鍵生成装置、計算機システム、および暗号統計処理方法

Publications (1)

Publication Number Publication Date
JPWO2017149686A1 true JPWO2017149686A1 (ja) 2018-03-08

Family

ID=59743702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017530766A Pending JPWO2017149686A1 (ja) 2016-03-02 2016-03-02 鍵生成装置、計算機システム、および暗号統計処理方法

Country Status (4)

Country Link
US (1) US20180048467A1 (ja)
EP (1) EP3425613A4 (ja)
JP (1) JPWO2017149686A1 (ja)
WO (1) WO2017149686A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10680810B2 (en) * 2016-10-26 2020-06-09 Nxp B.V. Method of generating an elliptic curve cryptographic key pair
US20200367834A1 (en) * 2018-03-05 2020-11-26 Omron Corporation Device for predicting body weight of a person and device and method for health management
CN116108494B (zh) * 2023-04-12 2023-06-20 蓝象智联(杭州)科技有限公司 一种保护隐私的多方联合数据统计方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232727A (ja) * 2010-04-27 2011-11-17 Fuji Xerox Co Ltd 暗号化データ・セット保存および論理演算実行システム、暗号化データ保存および論理演算実行方法、暗号化データ保存および演算実行システム、暗号化データ・セット保存および論理演算実行プログラム
JP2012165374A (ja) * 2011-02-04 2012-08-30 Palo Alto Research Center Inc 時系列データのプライバシー保護アグリゲーション

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2355302T3 (es) * 2007-04-25 2011-03-24 Nec Europe Ltd. Procedimiento para agregar datos en una red.
WO2013069776A1 (ja) 2011-11-11 2013-05-16 日本電気株式会社 データベース暗号化システムと方法及びプログラム
US20140101053A1 (en) * 2012-10-04 2014-04-10 Microsoft Corporation Aggregation and Billing for Metering

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232727A (ja) * 2010-04-27 2011-11-17 Fuji Xerox Co Ltd 暗号化データ・セット保存および論理演算実行システム、暗号化データ保存および論理演算実行方法、暗号化データ保存および演算実行システム、暗号化データ・セット保存および論理演算実行プログラム
JP2012165374A (ja) * 2011-02-04 2012-08-30 Palo Alto Research Center Inc 時系列データのプライバシー保護アグリゲーション

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CASTELLUCCIA, CLAUDE ET AL.: ""Efficient Aggregation of encrypted data in Wireless Sensor Networks"", THE SECOND ANNUAL INTERNATIONAL CONFERENCE ON MOBILE AND UBIQUITOUS SYSTEMS: NETWORKING AND SERVICES, JPN7018002712, 2005, pages 109 - 117, ISSN: 0003930434 *

Also Published As

Publication number Publication date
US20180048467A1 (en) 2018-02-15
EP3425613A1 (en) 2019-01-09
EP3425613A4 (en) 2019-10-30
WO2017149686A1 (ja) 2017-09-08

Similar Documents

Publication Publication Date Title
Qin et al. A blockchain-based access control scheme with multiple attribute authorities for secure cloud data sharing
Tian et al. Medical data management on blockchain with privacy
US11341269B2 (en) Providing security against user collusion in data analytics using random group selection
JP6663809B2 (ja) 監査装置、監査機能付匿名送金方法及びプログラム
US20180373882A1 (en) Privacy preserving computation protocol for data analytics
Liu et al. Mona: Secure multi-owner data sharing for dynamic groups in the cloud
US9252942B2 (en) Method and system for secure multiparty cloud computation
US8516244B2 (en) System, apparatus and method for decentralizing attribute-based encryption information
Gao et al. Blockchain-based digital rights management scheme via multiauthority ciphertext-policy attribute-based encryption and proxy re-encryption
Fan et al. TraceChain: A blockchain‐based scheme to protect data confidentiality and traceability
Yang et al. An efficient identity-based provable data possession protocol with compressed cloud storage
Liang et al. A ciphertext‐policy attribute‐based proxy re‐encryption scheme for data sharing in public clouds
Fugkeaw et al. Secure and Lightweight Blockchain-Enabled Access Control for Fog-Assisted IoT Cloud Based Electronic Medical Records Sharing
WO2017149686A1 (ja) 鍵生成装置、計算機システム、および暗号統計処理方法
Chen et al. A restricted proxy re‐encryption with keyword search for fine‐grained data access control in cloud storage
JP6400743B2 (ja) 端末装置、データベースサーバおよび計算システム
Fugkeaw et al. An efficient medical records access control with auditable outsourced encryption and decryption
Mosteiro-Sanchez et al. End to end secure data exchange in value chains with dynamic policy updates
Peng et al. A Secure Signcryption Scheme for Electronic Health Records Sharing in Blockchain.
Kibiwott et al. Privacy Preservation for eHealth Big Data in Cloud Accessed Using Resource-Constrained Devices: Survey.
Pei et al. Smart contract based multi-party computation with privacy preserving and settlement addressed
Ma et al. SPMAC: Secure and privacy-preserving multi-authority access control for fog-enabled IoT cloud storage
Liu et al. Proofs of encrypted data retrievability with probabilistic and homomorphic message authenticators
Vo-Huu et al. EPiC: efficient privacy-preserving counting for MapReduce
JP6643756B2 (ja) サーバ、サービス方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181003

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181204