JP2024022488A - 匿名メッセージ・ボード・サーバーの検証 - Google Patents
匿名メッセージ・ボード・サーバーの検証 Download PDFInfo
- Publication number
- JP2024022488A JP2024022488A JP2023105629A JP2023105629A JP2024022488A JP 2024022488 A JP2024022488 A JP 2024022488A JP 2023105629 A JP2023105629 A JP 2023105629A JP 2023105629 A JP2023105629 A JP 2023105629A JP 2024022488 A JP2024022488 A JP 2024022488A
- Authority
- JP
- Japan
- Prior art keywords
- server
- vector
- servers
- unmasking
- share
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 111
- 239000013598 vector Substances 0.000 claims abstract description 182
- 238000000034 method Methods 0.000 claims abstract description 66
- 230000000873 masking effect Effects 0.000 claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims abstract description 15
- 238000010200 validation analysis Methods 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 16
- 230000002411 adverse Effects 0.000 claims description 7
- 238000003491 array Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 25
- 238000007781 pre-processing Methods 0.000 description 12
- 238000013500 data storage Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/48—Message addressing, e.g. address format or anonymous messages, aliases
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】匿名メッセージ・ボード・サーバ支援する方法を提供する。【解決手段】匿名メッセージ・ボード・サーバの1つのサーバを検証する方法であって、メッセージ・シェアを受信し、メッセージ・シェアの集約ハッシュ・シェアを生成し、別のサーバから検証ベクトル・イテレーションを受信し、受信した検証ベクトル・イテレーション、サーバに対応する順列及びサーバーに対応するマスキング・ベクトルに基づいて別の検証ベクトル・イテレーションを生成する。匿名メッセージ・ボード・サーバの1つのサーバはまた、検証ベクトルに基づく検証ハッシュを取得し、集約ハッシュを決定するためのマルチパーティー計算に参加して、マルチパーティー計算の一部として、検証ハッシュが集約ハッシュと等しいかどうかに基づいて、サーバーのうちの1つ又は複数が不都合な仕方で動作しているかどうかを判断する。【選択図】図3
Description
匿名メッセージ・ボードは、本願で一般的に「メッセージ」と呼ばれることのあるメッセージ、ハッシュ、暗号化、決済証明書、取引などの情報の投稿を容易にすることができる。匿名メッセージ・ボードは、観察者がメッセージを投稿者までさかのぼって追跡することができないような仕方で、メッセージをメッセージ・ボードに投稿することを許容しうる。
ここで主張される主題は、何らかの欠点を解決するか、または上記のような環境でのみ動作する実施形態に限定されない。むしろ、この背景は、ここで説明されるいくつかの実施形態が実行されうる1つの例示的な技術領域を示すためにのみ提供される。
ある実施形態のある側面によれば、動作は、サーバーによって、メッセージ・シェアを受信することを含み、それぞれのメッセージ・シェアは、複数のクライアント・デバイスのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応する。動作はまた、サーバーによって、メッセージ・シェアの集約ハッシュ・シェアを生成することを含むこともできる。さらに、動作は、サーバーによって、別のサーバーから検証ベクトル・イテレーション(iteration)を受信し、以下、すなわち:受信された検証ベクトル・イテレーション、サーバーに対応し、ある集合の要素の特定の配列順序を示す順列、およびサーバーに対応するマスキング・ベクトルに基づいて別の検証ベクトル・イテレーションを生成することを含むことができる。動作はまた、検証ベクトルに基づく検証ハッシュを取得し、他のサーバーのうちの一つまたは複数とともに、集約ハッシュを決定するためのマルチパーティー計算に参加することを含み、該集約ハッシュは集約ハッシュ・シェアに基づいて決定される。動作は、マルチパーティー計算の一部として、検証ハッシュが集約ハッシュと等しいかどうかに基づいて、サーバーのうちの一つまたは複数が不都合な仕方で動作しているかどうかを判断することも含みうる。
実施形態の目的および利点は、少なくとも、請求項で具体的に指摘されている要素、特徴、および組み合わせによって、実現され、達成される。
上記の一般的な説明および以下の詳細な説明はいずれも例示的かつ説明的であり、請求項を制限するものではないことを理解すべきである。
例示的実施形態が、添付の図面を用いて、さらに具体的かつ詳細に説明される。
関連するメッセージング・システムで通信される秘匿性の高い情報は、トラフィック解析攻撃に弱いことがある。たとえば、金融取引に関連する金融取引システムを通過し、そこに投稿される情報(たとえば、行われている具体的な取引、取引のタイプなど)を監視することで、観察者は、対応する市場の変化を予測し、それに適応できる可能性がある。別の例として、内部告発者は、特定された場合に深刻な報復を受けるリスクがありうるため、内部告発者まで追跡できない仕方でエンティティの何らかの活動を暴露することを望むことがある。ただし、内部告発者がそのような情報を暴露するために使用するシステム上のトラフィックを解析することで、内部告発者を特定できる場合がある。
本開示では、情報を投稿〔ポスト〕するために使用できる任意の適切な電子システムを「メッセージ・ボード」と呼ぶことができる。さらに、投稿のためにメッセージ・ボードに提供される任意の適切な情報を一般的に「メッセージ」と呼ぶことができる。メッセージの例は、取引、取引の決済、決済の証明、ハッシュ、暗号化などを含みうる。
場合によっては、匿名メッセージ・ボードは、メッセージ投稿の健全性(integrity)を保持し、トラフィック解析攻撃などのメッセージの無法な解析を抑制するのを助けるために使用されうる。たとえば、匿名メッセージ・ボードは、プライバシーが望ましい、または法律によって要求される可能性がある多くの用途のために採用されうる。たとえば、個人的な金融取引と決済、内部告発による開示、医療記録の更新、匿名オークション、匿名投票などは、匿名メッセージ・ボードの恩恵を受けることがある。
いくつかの実施形態では、匿名メッセージ・ボードは、匿名メッセージ・ボードの健全性を確保するのに役立つように、一組のサーバーによって、分散された仕方で管理されてもよい。ただし、匿名メッセージ・ボードの健全性を維持するのに役立つように、不都合な仕方で(たとえば悪質な仕方で)動作しているサーバーを特定できることが役立つ場合がある。サーバーが不都合なまたは悪質な仕方で動作することは、投稿されるおよび/または投稿された情報を修正することを含みうる。さらに、サーバーが悪質な仕方で動作することは、そのサーバーがアクセスすることを許諾されていない可能性のある情報にアクセスしたり、アクセスを試みたりすることを含みうる。さらに、匿名メッセージ・ボードは、匿名メッセージ・ボードに関連付けられたメッセージにいずれか1つのサーバーが完全なアクセスをもつことを回避するように設定されることがある。
本開示の一つまたは複数の実施形態によると、匿名メッセージ・ボードは、匿名メッセージ・ボードのメッセージの秘匿性を維持しながら、疑わしいサーバーを識別できる仕方で、マルチパーティー計算技法を使用して実装されうる。さらに、ここで開示される手順は、閾値準同型暗号化手順および関連するゼロ知識証明の使用が削減されうるようなものであってもよい。そのような手順および証明を削減することで、匿名メッセージ・ボードの健全性を維持する速度と効率が改善されうる。
図1は、匿名メッセージ・ボードを管理するサーバーのサーバー検証を実行するように構成された例示的なシステム100を示している。システム100は、本開示の一つまたは複数の実施形態に従って構成されてもよい。
システム100は、n個のサーバー102(102-1、102-2、102-3、…102-n)を含んでいてもよい。一般に、各サーバー102は、ここで説明する対応する動作を実行するように構成された、任意の適切なシステム、装置、またはデバイスであってもよい。追加的または代替的に、サーバー102は、一つまたは複数のプロセッサ・ベースのコンピューティング・システムを含んでいてもよい。たとえば、サーバー102は、一つまたは複数のハードウェア・サーバーまたはサーバーとして機能するように構成された他のプロセッサ・ベースのコンピューティング・デバイスを含みうる。サーバー102は、メモリおよびネットワーク通信機能を含んでいてもよい。いくつかの実施形態では、サーバー102はそれぞれ、図4に関して以下に説明するようなコンピューティング・システムを含んでいてもよい。追加的または代替的に、いくつかの実施形態では、サーバー102は、サーバー102に関して説明する動作を実行および/または指揮するように構成された一つまたは複数のモジュールを含んでいてもよい。いくつかの実施形態のモジュールは、対応するサーバー102が一つまたは複数の動作を実行できるようにするように構成されたコードおよびルーチンを含んでいてもよい。追加的または代替的に、モジュールは、プロセッサ、マイクロプロセッサ(たとえば、一つまたは複数の動作を実行するまたはその実行を制御する)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)を含むハードウェアを使用して実装されてもよい。他のいくつかの事例では、モジュールはハードウェアとソフトウェアの組み合わせを使用して実装されてもよい。
これらまたは他の実施形態では、システム100は複数のクライアント106を含んでいてもよい。クライアント106は、匿名メッセージ・ボード(anonymous message board、AMB)104に投稿するために、サーバー102にメッセージを提供するように構成された任意の適切なシステム、装置、またはデバイスを含んでいてもよい。クライアント106のいくつかの例は、携帯電話、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セットトップボックス、仮想現実デバイス、または接続されたデバイスなどを含みうる。クライアント106とサーバー102は、任意の適切なネットワークを介して通信的に結合されうる。
サーバー102は、クライアント106によって投稿されうるメッセージのAMB 104を管理するように構成されてもよい。一般に、各サーバー102-i(iは1ないしn)は、クライアント106のうちのクライアント106-j(jは1ないしm)からそれぞれのメッセージ・シェアbi,jを受信してもよい。各メッセージ・シェアbi,jは、クライアントiがAMB 104に投稿している対応するメッセージの一部であってもよい。メッセージ・シェアbi,jは、対応するメッセージbjが閾値数のメッセージ・シェアbi,jを使用してのみ再構築されうる、任意の適用可能なマルチパーティー秘密共有スキームに従って分散および構成されうる。したがって、対応するメッセージbjがAMB 104への投稿用に再構築されるためには、閾値数のサーバー102が、それぞれ受信されたメッセージ・シェアbi,jを使用してマルチパーティー計算を実行する必要がある場合がある。
これらおよび他の実施形態では、どのクライアントがどのメッセージを送信したかなどの決定を阻害することによって解析攻撃を防止するのに役立つように、システム100は、m個のメッセージbjが同時に再構築され、投稿されうるように構成されてもよい。たとえば、m個のクライアント106(たとえば、クライアント106-1、106-2、106-3、106-4、106-5、…106-m)からの(対応するメッセージ・シェアbi,jの形での)m個のメッセージbjをまとめて受信することに応答して、サーバー102はメッセージbjを再構築してAMB 104に投稿することができる。いくつかの実施形態では、投稿されたメッセージは暗号化または復号されてもよい。メッセージを再構築して投稿する前に収集されうるメッセージの数mは変わりうる。一般に、この数は、どのクライアント106-jがどのメッセージbjを提供したかに関する何らかの情報をつなぎ合わせることを困難にするのに十分なメッセージをもつことに基づいていてもよい。一般に、数mが大きくなるにつれて、投稿されたメッセージから情報を引き出すことが難しくなる。ただし、数mが大きくなるにつれて、メッセージの投稿の遅延量や、以下でさらに詳しく説明するようなサーバー検証プロセスを実行するために必要とされる処理量も増加する可能性がある。そのため、mの実際の値は、AMB 104に関連するセキュリティおよび/または処理要件に依存して変わりうる。
これらおよび他の実施形態において、m個のメッセージbjを受信する各区間〔インターバル〕について、サーバー102はサーバー検証プロセスを実行しうる。サーバー検証プロセスは、AMB 104に投稿されるメッセージに関して、一つまたは複数のサーバーが悪質な仕方で動作していないことを確認するのに役立ちうる。たとえば、サーバー検証プロセスは、一つまたは複数のサーバーが、個々にまたは集合的に、どのクライアント106がどのメッセージbiを送信したかを識別する、メッセージbiのうちの一つまたは複数のものの内容を変更する、メッセージbiのうちの一つまたは複数のものの内容を閲覧するなど、悪質な仕方で動作できないことを確認するのに役立ちうる。いくつかの実施形態では、サーバー検証プロセスは、図2に関して説明されるプロセス200に関して詳細に概説されているように実行されうる。
本開示の範囲を逸脱することなく、図1に対して修正、追加、または省略を行うことができる。たとえば、サーバー102および/またはクライアント106の数は異なる場合がある。
図2は、AMB(たとえば、図1のAMB 104)を管理するサーバー(たとえば、図1のサーバー102)を検証するために実行されうる例示的な動作を含むプロセス200を示している。プロセス200は、前処理フェーズ202、ラウンドロビン検証フェーズ204、および完全検証フェーズ206を含んでいてもよい。プロセス200の動作は、いくつかの実施形態では、図1のサーバー102のうちの一つまたは複数によって実行されてもよい。
一般に、前処理フェーズ202は、予備的検証フェーズ204および/または完全検証フェーズ206で使用されうるパラメータを確立してもよい。たとえば、以下に詳述するように、予備的検証フェーズ204は、順列ベースのマルチパーティー計算スキームを使用して検証を実行してもよい。前処理フェーズ202は、そのようなスキームで使用されうるパラメータを確立するために使用される。プロセス200は、説明を容易にするために、図1のシステム100の要素に関連して説明される。
たとえば、予備的検証フェーズ204の一部として、各サーバー102-i(iは1ないしn)は、以下でさらに詳細に説明するように、対応するマスキング鍵uiを使用してもよい。以下でさらに詳細に説明するように、マスキング鍵uiは、m個の異なるクライアント106から受信された各メッセージbj(jは1ないしm)に関連するコンテンツをマスキングするために使用されうる。そのため、いくつかの実施形態では、各マスキング鍵uiは、m個の異なるマスキング値のm要素長のベクトルであってもよく、各マスキング値はランダムなl長のビット列でありうる。
よって、いくつかの実施形態では、前処理フェーズ202は、マスキング鍵生成208を含んでいてもよい。マスキング鍵生成208の間、各サーバー102-iは対応するマスキング鍵uiを生成することができる。いくつかの実施形態では、マスキング鍵uiの生成は、L={0,1}lであるとして、ベクトルの集合Lmからランダム・ベクトルを選択して、それぞれのマスキング鍵uiとして使用するm個の異なるl長のビット列マスキング値のベクトルを得ることを含みうる。
これらまたは他の実施形態において、前処理フェーズ202は、マスキング鍵共有212を含んでいてもよい。マスキング鍵共有212の間、各サーバー102-iは、その対応するマスキング鍵uiを他のサーバー102と秘密共有することができる。たとえば、他の各サーバー102は、それぞれのマスキング鍵uiの異なるマスキング鍵シェアが提供されてもよい。いくつかの実施形態では、秘密共有は、適用可能な任意の秘密共有スキームに基づくことができる。
これらまたは他の実施形態において、マスキング鍵共有212は、各サーバー102-nがそれぞれのマスキング鍵uiについてのコミットメントを公に投稿することを含んでいてもよい。「コミットメント」の投稿は、エンティティが選択された値(または選択された陳述)を他者には隠したままそれにコミットすることができるとともに、後で、コミットされた値を明かすことができる、任意の適切なコミットメント・スキームを使用することを含みうる。コミットメント・スキームは一般に、値がコミットされた後ではそのような値の変更を防止または抑制するように設計されている。そのため、マスキング鍵コミットメントの投稿は、サーバー102-iのうちの一つが、そのそれぞれのマスキング鍵uiを変更することによって悪質な仕方で動作することを防止すると同時に、そのそれぞれのマスキング鍵uiの秘匿性を維持するのに役立つ可能性がある。いくつかの実施形態では、マスキング値のコミットメントは、公開メッセージ・ボードを使用して投稿されうる。
さらに、予備的検証フェーズ204の一部として、各サーバー102-iは、以下でさらに詳細に説明するように、対応する順列piを使用することができる。以下でさらに詳細に説明するように、順列piは、m個の異なるクライアント106から受信されたメッセージbjの順序をシャッフルするために使用されうる。そのため、いくつかの実施形態では、各順列piは、m要素の集合の要素のそれぞれの配列順序(たとえば、メッセージbjのそれぞれの配列順序)を示しうる。
よって、いくつかの実施形態では、前処理フェーズ202は、順列選択210を含んでいてもよい。順列選択210の間、各サーバー102-iは、対応する順列piを選択することができる。いくつかの実施形態では、順列piの選択は、すべての可能な異なるm要素の順列からランダムな順列を選択することを含みうる。ここで、選択された順列が、m要素の集合のそれぞれの配列順序を示す。
これらまたは他の実施形態において、前処理フェーズ202は順列共有214を含みうる。順列共有214の間、各サーバー102-iはその対応する順列piを他のサーバー102と秘密共有することができる。たとえば、他の各サーバー102には、それぞれの順列piの異なる順列シェアが提供されてもよい。いくつかの実施形態では、秘密共有は、適用可能な任意の秘密共有スキームに基づくことができる。
これらまたは他の実施形態において、順列共有214は、各サーバー102-nがそのそれぞれの順列piについてのコミットメントを公に投稿することを含んでいてもよい。このように、順列コミットメントの投稿は、サーバー102-iのうちの一つが、そのそれぞれの順列piを変更することによって悪質な仕方で動作するのを防ぐことができる一方、そのそれぞれの順列piの秘匿性を維持するのにも役立つ。いくつかの実施形態では、順列コミットメントは、公開メッセージ・ボードを使用して投稿されうる。
さらに、予備的検証フェーズ204の一部として、マスキング鍵uiを用いて生成されたマスキングを反転させるために、マスキング解除鍵rが使用されてもよい。マスキング解除鍵rは、マスキング鍵uiおよび順列piに基づいていてもよいm要素長のベクトルであってもよい。
いくつかの実施形態では、前処理フェーズ202は、マスキング解除鍵生成216を含んでいてもよい。マスキング解除鍵生成216の間、閾値数xのサーバー102(たとえば、マスキング鍵および順列を共有するために使用される秘密共有スキームに従った閾値数)は、マルチパーティー計算を実行して、マスキング解除鍵rを生成することができる。
たとえば、x個のサーバー102は、自分たちのそれぞれのマスキング鍵および順列シェアを使用して、該当する秘密共有スキームに従って、各マスキング鍵uiおよび各順列piを取得することができる。さらに、x個のサーバー102は、得られたマスキング鍵および順列に基づいて、マスキング解除鍵rを生成するマルチパーティー計算を実行することができる。マルチパーティー計算は、計算に参加しているどのサーバー102も完全なマスキング解除鍵rを取得できない、任意の適切なマルチパーティー計算スキームを含みうる。マスキング鍵の生成は、マスキング鍵および順列を生成するために使用されるスキームの逆に基づいていてもよい。
これらまたは他の実施形態において、前処理フェーズ202は、マスキング解除鍵共有218を含んでいてもよい。マスキング解除鍵共有218の間、マスキング解除鍵rを生成したx個のサーバーは、マスキング解除鍵rをすべてのサーバー102と秘密共有することができる。たとえば、各サーバー102に、マスキング解除鍵rの異なるマスキング解除鍵シェアriが提供されてもよい。いくつかの実施形態では、秘密共有は、適用可能な任意の秘密共有スキームに基づきうる。
これらまたは他の実施形態において、マスキング解除鍵共有218は、x個のサーバー102がマスキング解除鍵rについてのコミットメントを投稿することを含んでいてもよい。いくつかの実施形態では、マスキング解除鍵のコミットメントは、公開メッセージ・ボードを使用して投稿されてもよい。
前述のように、前処理フェーズ202の間に設定されうるパラメータは、予備的検証フェーズ204において使用されうる。一般に、予備的検証フェーズ204は、AMB 104の管理に関して悪質な仕方で動作しているサーバーがあるかどうかを判断するために使用されうる。さらに、予備的検証フェーズ204に関して記述されている動作は、ある時間期間にわたって合計m個のメッセージが受信された時点で実行されうる。つまり、ひとたびm個のメッセージが受信されたら、予備的検証フェーズ204の動作が実行されうる。その後、別のm個のメッセージが受信された後などに、予備的検証フェーズ204の動作が再度実行されてもよい。
予備的検証フェーズ204は、メッセージ受信220を含んでいてもよい。メッセージ受信220の間、サーバー102はクライアント106からm個のメッセージbjを受信することができる。いくつかの実施形態では、上記のように、各サーバー102-iがそれぞれのクライアント106-jからメッセージ・シェアbi,jを受信できるように、メッセージbjは秘密共有プロトコルを使用して送信されてもよい。メッセージ受信220は、各サーバー102-iがm個の異なるメッセージ・シェアbi,jを受信できるように、m個のメッセージがサーバー102に提供されるまで継続しうる。
予備的検証フェーズ204は、メッセージ・ハッシュ生成222も含んでいてもよい。メッセージ・ハッシュ生成222の間、各サーバー102-iは、それぞれのサーバー102-iによって受信されたそれぞれのメッセージ・シェアbi,jに基づいて、それぞれの集約ハッシュ・シェアsigniを生成することができる。たとえば、いくつかの実施形態では、それぞれのサーバー102-iは、それぞれのサーバー102-iによって受信された各メッセージ・シェアbi,jのシェア・ハッシュを(たとえば、適当なハッシュ方式を使って)生成することができる。追加的または代替的に、それぞれのサーバー102-iは、それぞれのサーバー102-iによって生成されたシェア・ハッシュを組み合わせて、その対応する集約ハッシュ・シェアsigniを生成してもよい。たとえば、いくつかの実施形態では、シェア・ハッシュを合計して、対応する集約ハッシュ・シェアsigniを得てもよい。上記は、単に集約ハッシュ・シェアsigniを得る例であるが、それぞれのサーバー102-iによって受信されたそれぞれのメッセージ・シェアbi,jの組み合わせに基づいてハッシュを生成することにおいて、任意の適切な方法が、集約ハッシュ・シェアsigniを得るために使用されうる。例として、いくつかの実施形態では、それぞれのサーバー102が以下の動作を実行することによって、それぞれの集約ハッシュ・シェアsigniを得ることができる。
これらまたは他の実施形態では、各サーバー102-iは、それぞれの集約ハッシュ・シェアsigniのコミットメントを公に投稿することができる。これらまたは他の実施形態において、サーバー102は、公開メッセージ・ボードを使用してコミットメントを投稿することができる。
これらまたは他の実施形態において、予備的検証フェーズ204は、マスキング解除ベクトル生成224を含んでいてもよい。マスキング解除ベクトル生成224の間、それぞれのサーバー102-iは、そのそれぞれの受信されたマスキング解除鍵シェアriと、その受信されたメッセージ・シェアbi,jに基づいて、マスキング解除ベクトル・シェアrbiを生成することができる。たとえば、それぞれのマスキング解除鍵シェアriはm要素長のベクトルであってもよく、それぞれのサーバー102-iはm個の異なるメッセージ・シェアbi,jを受信することができる。それぞれのマスキング解除ベクトル・シェアrbiを生成するために、それぞれのサーバー102-iは、そのそれぞれのマスキング解除鍵シェアriの要素jを、対応する受信されたメッセージ・シェアbi,jと組み合わせる(たとえば、加算する)ことができる。たとえば、サーバー102-1は、メッセージ・シェアb1,1、b1,2、…、b1,mを受信してもよく、また、要素[r1,1, r1,2, …, r1,m]を含みうるマスキング解除鍵シェアr1を受信することもできる。サーバー102-1は、次のベクトル[(r1,1+b1,1), (r1,2+b1,2), … (r1,m+b1,m)]を生成することによって、マスキング解除ベクトル・シェアrb1を生成してもよい。ここで、結果として得られる要素は[r1b1, r1b2, …r1bm]のように示されてもよい。
予備的検証フェーズ204は、ベクトル共有226をマスキング解除することを含んでいてもよい。さらに詳述されるように、予備的検証フェーズ204は、あるサーバー102が検証ベクトルのそれぞれのイテレーションを生成し、別のサーバーが前のイテレーションに基づいて新しいイテレーションを生成するというように一つ一つ逐次的な仕方で行われる、順次ベースの手順での検証ベクトルの異なるイテレーションの生成を含みうる。どのサーバーがどのイテレーションを生成するかの順序は、事前に決定されてもよい(たとえば、前処理フェーズ202において)。これらまたは他の実施形態において、最初の検証ベクトル・イテレーションは、マスキング解除ベクトル・シェアrbiに基づいて生成されてもよい。
そのため、いくつかの実施形態では、マスキング解除ベクトル共有226の間に、最初の検証ベクトル・イテレーションを生成するように指定されていないサーバー102は、それぞれのマスキング解除ベクトル・シェアrbiを、最初の検証ベクトル・イテレーションを生成するように指定されたサーバー102と共有することができる。説明のために、最初の検証ベクトル・イテレーションを生成するように指定されたサーバー102の例として、サーバー102-1が使用されてもよい。
予備的検証フェーズ204は、検証ベクトル生成228をも含みうる。検証ベクトル生成228の間、サーバー102-1は、検証ベクトルの最初の検証ベクトル・イテレーションv1(「イテレーションv1」)を生成してもよい。これらまたは他の実施形態において、サーバー102-1は、マスキング解除ベクトル・シェアrbiに基づいてイテレーションv1を生成してもよい。たとえば、サーバー102-1は、m要素長のマスキング解除ベクトルrbを得るために、マスキング解除ベクトル・シェアrbiの値を使用してもよい。たとえば、マスキング解除ベクトル・シェアrb1の要素r1b1、マスキング解除ベクトル・シェアrb2の要素r2b1、というように、すべてのマスキング解除ベクトル・シェアrbiからのすべての要素rib1を得るまで(iは1ないしn)、サーバー102-1は、マスキング解除ベクトルrbの最初の要素を得てもよい。サーバー102-1は、マスキング解除ベクトルrbの他のすべてのm-1個の要素のすべてを得ることに関して、同様の動作してもよい。
これらまたは他の実施形態において、サーバー102-1は、次いで、マスキング解除ベクトルrb、サーバー102-1に対応する順列p1、およびやはりサーバー102-1に対応するマスキング・ベクトルu1に基づいて、v1を生成してもよい。たとえば、サーバー102-1は、次の式(1)に従ってv1を生成してもよい。
(1) v1=p1(rb+u1)
(1) v1=p1(rb+u1)
追加的または代替的に、サーバー102-1はv1のコミットメントを公に投稿してもよい。これらまたは他の実施形態において、サーバー102-1は公開メッセージ・ボードを使用してコミットメントを投稿してもよい。
検証ベクトル生成228は、事前決定された順序および前に決定された検証ベクトル・イテレーションvi-1に従って、残りのサーバー102-1のそれぞれがそれぞれの検証ベクトル・イテレーションviを順次生成することを含んでいてもよい。たとえば、サーバー102-2は、最初の検証ベクトル・イテレーションv1を受け取ってもよく、v1、サーバー102-2に対応する順列p2、およびやはりサーバー102-2に対応するマスキング・ベクトルu2に基づいて2番目の検証ベクトル・イテレーションv2を生成してもよい。次いで、サーバー102-3は、2番目の検証ベクトル・イテレーションv2を受け取ってもよく、v2、サーバー102-3に対応する順列p3、およびやはりサーバー102-3に対応するマスキング・ベクトルu3に基づいて3番目の検証ベクトル・イテレーションv3を生成してもよく、このようにして、サーバー102-がn-1番目の検証ベクトル・イテレーションvn-1を受け取り、vn-1、サーバー102-nに対応する順列pn、およびやはりサーバー102-nに対応するマスキング・ベクトルunに基づいてn番目の検証ベクトル・イテレーションvnを生成するまで続く。例として、他の各サーバー102-iは、次の式(2)に従って、それぞれのi番目の検証ベクトルviを生成することができる。
(2) vi=pi(vi-1+ui)
(2) vi=pi(vi-1+ui)
式(1)と(2)は、式(1)のマスキング解除ベクトルrbが式(2)では前の検証ベクトル・イテレーションvi-1で置き換えられていることを除いて、事実上同一であることに注意されたい。そのため、場合によっては、マスキング解除ベクトルrbが初期化検証ベクトル・イテレーションv0であると見なされて、式(1)と式(2)は同じであると見なされてもよい。
代替的または追加的に、各サーバー102-iは、そのそれぞれ決定された検証ベクトル・イテレーションviのコミットメントを公に投稿してもよい。これらまたは他の実施形態において、サーバー102は、公開メッセージ・ボードを使用してコミットメントを投稿することができる。
予備的検証204は、いくつかの実施形態において、検証ハッシュ生成230をも含んでいてもよい。たとえば、サーバー102-nがn番目の検証ベクトル・イテレーションvnを生成した後、サーバー102-nは検証ベクトル・イテレーションvnの検証ハッシュsign'を生成してもよい。これらまたは他の実施形態において、検証ハッシュsign'は、それぞれの集約ハッシュ・シェアsigniを生成するためにそれぞれのサーバー102-iによって使用するのと同じハッシュ関数を使用して生成されうる。
これらまたは他の実施形態において、予備的検証フェーズ204は予備的サーバー検証232を含んでいてもよい。予備的サーバー検証232は、検証ハッシュsign'とそれぞれの集約ハッシュ・シェアsigniに基づいていてもよい。たとえば、検証ハッシュsign'は、各検証ベクトル・イテレーションvnについてのハッシュ値を含むベクトルであってもよい。これらまたは他の実施形態において、検証ハッシュsign'が集約ハッシュ・シェアsigniのコレクションと等しいかどうかを決定するために、各集約ハッシュ・シェアsigniが検証ハッシュsign'の対応するハッシュと比較されてもよい。
検証ハッシュsign'が集約ハッシュ・シェアsigniと等しいという判定に応答して、予備的サーバー検証232において、すべてのサーバー102が信用できる仕方で動作していると判断されてもよい。追加的または代替的に、検証ハッシュsign'が集約ハッシュ・シェアsigniと等しくないという判定に応答して、予備的サーバー検証232において、サーバー102の少なくとも一つが信用できる仕方で動作していないと判断されてもよい。
すべてのサーバー102が信用できる仕方で動作していると判断された場合、プロセス200は、次の時間区間についてメッセージ受信220の別の反復工程など、次の時間区間についてメッセージ・シェアの別の集合が受信されるまで、それ以上の動作を含まなくてもよい。追加的または代替的に、サーバー102の少なくとも一つが信用できる仕方で動作していないという判断に応答して、プロセス200は完全検証フェーズ206に進んでもよい。
一般に、完全検証フェーズ206は、どのサーバー102が悪質な仕方で動作している可能性があるかを判断するために実行されうる。いくつかの実施形態では、完全検証フェーズ206は、検証ベクトル計算検証234(「ベクトル検証234」)を含む場合がある。一般に、どのサーバー102が悪質な仕方で動作している可能性があるかの判断の一部として、検証ベクトル生成228中に各サーバー102-iによって、そのそれぞれのベクトル・イテレーションviを生成するために行われたそれぞれの計算が正しく適正であったことを検証するための証明が実行されてもよい。特に、それぞれのコミットメントui、vi、pi、viが与えられたとき、それぞれのサーバー102-iが、上で議論され、下記に再掲される式(2)に従ってそれぞれのベクトル・イテレーションviを適正に計算したかどうかが検証される。
(2) vi=pi(vi-1+ui)
(2) vi=pi(vi-1+ui)
これらおよび他の実施形態において、ベクトル検証234の間、他の各サーバー102は、任意の特定のサーバー102に関して検証動作を実行しうる。いくつかの実施形態では、検証は有限アーベル群からランダム性を選択することによって、および/または検証されるサーバー102によって提供されるコミットメントの一貫性を検証することによって、実行されうる。さらに、そのようなコミットメント・スキームは加法的準同型である可能性があることに留意されたい。これは、入力ベクトル(たとえばvi-1とui)、出力ベクトル(たとえばvi)、および与えられた順列(たとえばpi)について、諸コミットメントが一貫性をもつかどうかをチェックするために、ゼロ知識証明プロトコルのみを使用することを許容する。
完全検証フェーズ206は、いくつかの実施形態において、悪質に振る舞うサーバー識別236(「悪質なサーバー識別236」)を含んでいてもよい。悪質なサーバー識別236は、ベクトル検証234に基づいていてもよい。たとえば、いずれかの特定のサーバー102-iについてベクトル検証が失敗したことに応答して、その特定のサーバー102-iが悪質な仕方で動作していると判断されてもよい。追加的または代替的に、すべてのベクトル検証のパス(passing)に応答して、サーバー102-nが悪質な仕方で動作しているとして判断されてもよい。これらまたは他の実施形態において、悪質な仕方で動作していると識別されたサーバーは、除去および/または交換されてもよい。
本開示の範囲を逸脱することなく、プロセス200に対して修正、追加、または省略を行うことができる。たとえば、実行される動作の一つまたは複数が、説明された順序とは異なる順序で実装されてもよい。さらに、概説された動作は例として与えられているだけであり、実施形態の本質を損なうことなく、一部の動作は任意的であったり、より少ない動作に組み合わされたり、追加的な動作に展開されたりすることがある。
図3は、匿名メッセージ・ボードを管理するサーバーの検証方法300を示すフローチャートである。方法300の各動作は、図1のサーバー102のように、n個のサーバーのうちの一つまたは複数によって個別におよび/または集団的に実行されうる。さらに、方法300の動作の一つまたは複数が、プロセス200に関して実行されうる。
方法300は、ブロック302を含むことができる。ブロック302では、n個のサーバーのうちのサーバーsiがm個のメッセージ・シェアを受け取ることができる。それぞれのメッセージ・シェアbi,jは、複数のクライアント・デバイスのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応しうる。たとえば、ブロック302の動作は、プロセス200の予備的検証204のメッセージ受信220に含まれてもよい。
ブロック304で、サーバーsiはメッセージ・シェアの集約ハッシュ・シェアsigniを生成することができる。これらまたは他の実施形態において、サーバーsiは、プロセス200の予備的検証204のメッセージ・ハッシュ生成224に関して上記したような集約ハッシュ・シェアsigniを生成することができる。
ブロック306では、サーバーsiは、前記サーバーのうちのサーバーsi-1から検証ベクトル・イテレーションvi-1を受け取ることができる。これらまたは他の実施形態において、サーバーsiは、プロセス200の予備的検証204の検証ベクトル生成228に関して上記したような検証ベクトル・イテレーションvi-1を受け取ることができる。
たとえば、これらまたは他の実施形態において、サーバーsi-1から受け取った検証ベクトル・イテレーションvi-1は、前記サーバーのうちのサーバーs1によって集められた/コンパイルされたマスキング解除ベクトルrbに基づくことができ、そのマスキング解除ベクトルrbは、ブロック302で受け取ったメッセージ・シェアに基づいてサーバーsiによって生成されたマスキング解除ベクトル・シェアrbiに基づく。さらに、サーバーsi-1から受け取った検証ベクトル・イテレーションvi-1は、前記サーバーのうちのサーバーs1ないしsi-1の、それぞれの順列p1ないしpi-1に基づいていてもよく、順列p1ないしpi-1は、それぞれm要素の集合の要素のそれぞれの配列順序を示している。追加的または代替的に、サーバーsi-1から受け取った検証ベクトル・イテレーションvi-1は、前記サーバーのうちのサーバーs1ないしsi-1の、それぞれのマスキング・ベクトルu1ないしui-1に基づいていてもよい。
ブロック308では、サーバーsiは検証ベクトル・イテレーションviを生成することができる。これらまたは他の実施形態において、サーバーsiは、プロセス200の予備的検証204の検証ベクトル生成228に関して上記したような検証ベクトル・イテレーションviを生成することができる。
たとえば、いくつかの実施形態では、サーバーsiは、上記のように、検証ベクトル・イテレーションvi-1と、サーバーsiに対応し、前記m要素の集合の要素の特定の配列順序を示す順列piと、およびサーバーsiに対応するマスキング・ベクトルuiとに基づいて、検証ベクトル・イテレーションviを生成することができる。
ブロック310では、検証ベクトルviに基づく検証ハッシュsign'が得られてもよい。いくつかの実施形態では、プロセス200の予備的検証204の検証ハッシュ生成230に関して上記したように、検証ハッシュsign'が得られてもよい。
ブロック312では、検証ハッシュsign'と集約ハッシュ・シェアsigniに基づいて、前記サーバーのうちの一つまたは複数が悪質な仕方で動作しているかどうかが判定されてもよい。いくつかの実施形態では、該判定は、プロセス200の予備的検証204の予備的サーバー検証232に関して上記したように行われてもよい。
本開示の範囲を逸脱することなく、方法300に対して修正、追加、または省略を行うことができる。たとえば、当業者は、方法300に関して記述された機能および/または動作が異なる順序で実装されうることを理解するであろう。さらに、概説された機能および動作は例として与えられているだけであり、開示されている実施形態の本質を損なうことなく、機能および動作の一部は任意的であったり、より少ない機能および動作に組み合わされたり、追加的な機能および動作に展開されたりしてもよい。いくつかの実施形態では、方法300は追加のブロックまたはより少ないブロックを含むことができる。
たとえば、いくつかの実施形態では、方法300は、上記のプロセス200の前処理202の動作の一つまたは複数を含むことができる。これらまたは他の実施形態において、方法300は、プロセス200の完全検証206の動作の一つまたは複数を含むことができる。
図4は、本開示の少なくとも一つの実施形態に従って、匿名メッセージ・ボードを管理するサーバーを検証するために使用されうる例示的なコンピューティング・システム402のブロック図を示す。コンピューティング・システム402は、図1のシステム100、図2のプロセス200、および/または図3の方法300に関連する一つまたは複数の動作を実装または指揮するように構成されうる。たとえば、本開示に記載された一つまたは複数のサーバーのそれぞれがコンピューティング・システム402を含んでいてもよく、これにより、それぞれのサーバーが本開示に記載された動作を実行することができる。
コンピューティング・システム402は、プロセッサ450、メモリ452、およびデータストレージ454を含むことができる。プロセッサ450、メモリ452、およびデータストレージ454は、通信的に結合されてもよい。
一般に、プロセッサ450は、さまざまなコンピュータハードウェアまたはソフトウェアモジュールを含む任意の適切なコンピュータ、コンピューティングエンティティ、または処理デバイスを含んでいてもよく、任意の適用可能なコンピュータ可読記憶媒体に記憶された命令を実行するように構成されてもよい。たとえば、プロセッサ450は、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラム命令を解釈および/または実行する、および/またはデータを処理するように構成された他の任意のデジタルまたはアナログ回路を含みうる。図4では単一のプロセッサとして示されているが、プロセッサ450は、個別にまたは集合的に、本開示に記載されている任意の数の動作を実行する、またはその実行を指揮するように構成された任意の数のプロセッサを含むことができる。さらに、一つまたは複数のプロセッサが、異なるサーバーなどの一つまたは複数の異なる電子デバイス上に存在してもよい。
いくつかの実施形態では、プロセッサ450は、メモリ452、データストレージ454、またはメモリ452とデータストレージ454に格納されたプログラム命令を解釈および/または実行し、および/またはデータを処理するように構成されてもよい。いくつかの実施形態では、プロセッサ450は、データストレージ454からプログラム命令をフェッチし、該プログラム命令をメモリ452にロードしてもよい。プログラム命令がメモリ452にロードされた後、プロセッサ450はプログラム命令を実行してもよい。
メモリ452とデータストレージ454は、コンピュータで実行可能な命令またはデータ構造をその上に担持または格納するための、コンピュータで読み取り可能な記憶媒体を含むことができる。このようなコンピュータで読み取り可能な記憶媒体は、プロセッサ250のような、コンピュータがアクセスできる任意の利用可能な媒体を含みうる。限定ではなく例として、そのようなコンピュータで読み取り可能な記憶媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD-ROM)またはその他の光ディスク記憶、磁気ディスク記憶または他の磁気記憶装置、フラッシュメモリ装置(たとえばソリッドステートメモリデバイス)、またはコンピュータが実行可能な命令またはデータ構造の形で特定のプログラムコードを格納するために使用することができ、コンピュータがアクセスできるその他の記憶媒体を含む、有形な、または非一時的なコンピュータで読み取り可能な記憶媒体を含みうる。上記の組み合わせも、コンピュータで読み取り可能な記憶媒体の範囲内に含まれうる。コンピュータで実行可能な命令は、たとえば、プロセッサ450にある種の動作または動作のグループを実行させるように構成された命令およびデータを含みうる。
本開示の範囲から逸脱することなく、コンピューティング・システム402に対して修正、追加、または省略を行うことができる。たとえば、いくつかの実施形態では、コンピューティング・システム402は、明示的に例解または記載されていない可能性のある任意の数の他のコンポーネントを含んでいてもよい。
上述のように、ここで説明されている実施形態は、以下により詳細に議論されるように、さまざまなコンピュータハードウェアまたはソフトウェアモジュールを含むコンピューティング・システムの使用を含むことができる。さらに、上述のように、ここで説明されている実施形態は、コンピュータで実行可能な命令またはデータ構造を担持または記憶するためのコンピュータ読み取り可能な媒体を使用して実装されてもよい。
いくつかの実施形態では、ここで説明されている異なるコンポーネント、モジュール、エンジン、およびサービスは、コンピューティング・システム上で(たとえば別個のスレッドとして)実行されるオブジェクトまたはプロセスとして実装されてもよい。ここに記載されているシステムおよび方法のいくつかは、一般にソフトウェアで実装されている(汎用ハードウェアに記憶されている、または実行される)ものとして説明されているが、特定のハードウェア実装、またはソフトウェアと特定のハードウェア実装の組み合わせも可能であり、考えられている。
一般的な慣行に従って、図面に示されているさまざまな特徴が同縮尺ではないことがある。本開示において提示される図は、いかなる特定の装置(たとえば、デバイス、システムなど)または方法の実際の図であることも意図されておらず、単に、開示のさまざまな実施形態を記述するために採用される理想化された表現である。よって、さまざまな特徴の寸法は、明確のために任意に拡大または縮小されていることがありうる。さらに、一部の図面は、明確のために簡略化されることがある。よって、図面は、所与の装置(たとえばデバイス)のすべての構成要素または特定の方法のすべての動作が示していない場合がある。
本稿および特に添付の請求項(たとえば、添付された請求項の本文)で使用される用語は、一般に「オープン」な用語として意図される(たとえば、「含んでいる」という用語は「…を含んでいるが、これに限定されない」と解釈されるべきであり、「有する」という用語は「少なくとも…を有する」と解釈されるべきであり、「含む」という用語は「…を含むが、これに限定されない」と解釈されるべきである)。
さらに、導入された請求項の記載の特定の数が意図されている場合、そのような意図は請求項において明示的に記載され、そのような記載がない場合はそのような意図は存在しない。たとえば、理解の助けとして、次の添付された請求項は、請求項の記載を導入するための導入句「少なくとも1つの」および「一つまたは複数の」の使用を含むことがある。しかし、そのような語句の使用は、たとえ同じ請求項が「一つまたは複数の」または「少なくとも1つの」の導入句と「a」または「an」のような不定冠詞(たとえば、「a」および/または「an」は、「少なくとも1つ」または「一つまたは複数」を意味すると解釈されるべきである)を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのような導入された請求項の記載を含む何らかの特定の請求項を、そのような記載を1つだけ含む実施形態に限定することを含意すると解釈されるべきではない。請求項記述を導入するために使用される定冠詞の使用についても同じことが成り立つ。
また、導入された請求項記載の特定の数が明示的に記載されている場合でも、そのような記載は少なくともその記載された数を意味すると解釈されるべきであことが理解される(たとえば、他の修飾語なしで「2つの記載」とういだけの記載は、少なくとも2回の記載、または2つ以上の記載を意味する)。さらに、「A、B、Cなどのうち少なくとも1つ」や「A、B、C等の一つまたは複数」に類似した慣用表現が用いられている場合には、一般に、そのような構成は、Aのみ、Bのみ、Cのみ、AとB、AとC、BとCまたはAとBとC、などを含むことが意図されている。たとえば、「および/または」という用語の使用は、このように解釈されることが意図されている。
さらに、2つ以上の代替的な用語を提示する選言的な単語または句は、明細書、請求項、または図面のいずれにあるかを問わず、それらの用語の一つ、それらの用語のいずれか、または両方の用語を含む可能性を考えていると理解されるべきである。たとえば、「AまたはB」という句は、「A」または「B」または「AとB」の可能性を含むと理解されるべきである。
また、「第一」、「第二」、「第三」などの用語の使用は、本稿では、必ずしも特定の順序または要素の数を意味するために使用されるわけではない。一般に、「第一」、「第二」、「第三」などの用語は、一般的な識別子として異なる要素を区別するために使用される。「第一」、「第二」、「第三」などの用語が特定の順序を意味することを示すものがない場合、これらの用語は特定の順序を意味するものとして理解されるべきではない。さらに、「第一」、「第二」、「第三」などの用語が特定の数の要素を意味することを示すものがない場合、これらの用語は特定の数の要素を意味するものとして理解されるべきではない。たとえば、第一のウィジェットが第一の側をもつと記述されることがあり、第二のウィジェットが第二の側をもつと記述されることがある。第二のウィジェットに関して「第二の側」という用語を使用するのは、第二のウィジェットのそのような側を第一のウィジェットの「第一の側」から区別するためであり、第二のウィジェットが2つの側をもつことを意味するためではない場合がある。
本稿に記載されているすべての例および条件付きの言辞は、本発明および発明者によって当該技術の発展に寄与された概念を理解する上で読者を支援するための教育的目的のために意図されており、そのように特定的に記載されている例および条件への限定なしに解釈されるべきである。本開示の実施形態について詳細に説明してきたが、本開示の範囲から逸脱することなく、さまざまな変更、置換および変化をそれに加えることができることを理解すべきである。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
匿名メッセージ・ボードを支援する方法であって、当該方法は:
n個のサーバーのうちのサーバーsiによって、m個のメッセージ・シェアを受信する段階であって、それぞれのメッセージ・シェアbi,jは、複数のクライアント・デバイスのうちのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応する、段階と;
前記サーバーsiによって、前記メッセージ・シェアの集約ハッシュ・シェアsigniを生成する段階と;
前記サーバーsiによって、前記サーバーのうちのサーバーsi-1から検証ベクトル・イテレーションvi-1を受信する段階と;
前記サーバーsiによって、
前記検証ベクトル・イテレーションvi-1、
前記サーバーsiに対応し、m要素の集合の要素の特定の配列順序を示す順列pi、および
前記サーバーsiに対応するマスキング・ベクトルuiに基づいて、
検証ベクトル・イテレーションviを生成する段階と;
前記検証ベクトルviに基づく検証ハッシュsign'を取得する段階と;
他のサーバーのうちの一つまたは複数とともに、集約ハッシュsignを決定するためのマルチパーティー計算に参加する段階であって、前記集約ハッシュsignは前記集約ハッシュ・シェアsigniに基づいて決定される、段階と;
前記マルチパーティー計算の一部として、前記検証ハッシュsign'が前記集約ハッシュsignと等しいかどうかに基づいて、前記サーバーのうちの一つまたは複数が不都合な仕方で動作しているかどうかを判定する段階とを含む、
方法。
(付記2)
前記サーバーsiにより、前記マスキング・ベクトルuiを生成する段階と;
前記順列piを選択する段階と;
前記マスキング解除シェアriを得る段階とをさらに含む、
付記1に記載の方法。
(付記3)
前記第1の集約ハッシュsign'が前記第2の集約ハッシュsignと等しくないことに基づいて、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することをさらに含む、付記1に記載の方法。
(付記4)
前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することに応答して、前記サーバーのうちのどのサーバーが悪質な仕方で動作しているかを識別するための追加的な検証プロトコルに参加することをさらに含む、付記3に記載の方法。
(付記5)
前記追加的な検証プロトコルに参加することは:
他の各サーバーによって実行されたそれぞれの検証ベクトル計算が正確であることを検証することを含み、前記検証は、前記それぞれの検証ベクトル計算の前記他のサーバーのうちのそれぞれの他の各サーバーのそれぞれのコミットメントに基づく、
付記4に記載の方法。
(付記6)
前記マスキング解除ベクトル・シェアrbiの生成は、m個のマスキング解除要素を含むマスキング解除鍵rのマスキング解除鍵シェアriの、前記メッセージ・シェアへの適用に基づく、付記1に記載の方法。
(付記7)
前記サーバーsiによって、前記メッセージ・シェアに基づくマスキング解除ベクトル・シェアrbiを生成する段階と;
前記サーバーsiによって、前記マスキング解除ベクトル・シェアrbiを前記サーバーのうちのサーバーs1に提供する段階とをさらに含み、前記サーバーsi-1から受け取った前記検証ベクトル・イテレーションvi-1は、
前記サーバーs1によって集められたマスキング解除ベクトルrbであって、該マスキング解除ベクトルrbは前記マスキング解除ベクトル・シェアrbiに基づく、マスキング解除ベクトルrb、
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれの順列p1ないしpi-1であって、該順列p1ないしpi-1はそれぞれ前記m要素の集合の要素のそれぞれの配列順序を示す、順列p1ないしpi-1;および
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれのマスキング・ベクトルu1ないしui-1に基づく、
付記1に記載の方法。
(付記8)
一つまたは複数のプロセッサによって実行されることに応答してシステムに動作を実行させる命令が記憶されている一つまたは複数の非一時的なコンピュータ可読媒体であって、前記動作は:
n個のサーバーのうちのサーバーsiによって、m個のメッセージ・シェアを受信する段階であって、それぞれのメッセージ・シェアbi,jは、複数のクライアント・デバイスのうちのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応する、段階と;
前記サーバーsiによって、前記メッセージ・シェアの集約ハッシュ・シェアsigniを生成する段階と;
前記サーバーsiによって、前記サーバーのうちのサーバーsi-1から検証ベクトル・イテレーションvi-1を受信する段階と;
前記サーバーsiによって、
前記検証ベクトル・イテレーションvi-1、
前記サーバーsiに対応し、m要素の集合の要素の特定の配列順序を示す順列pi、および
前記サーバーsiに対応するマスキング・ベクトルuiに基づいて、
検証ベクトル・イテレーションviを生成する段階と;
前記検証ベクトルviに基づく検証ハッシュsign'を取得する段階と;
他のサーバーのうちの一つまたは複数とともに、集約ハッシュsignを決定するためのマルチパーティー計算に参加する段階であって、前記集約ハッシュsignは前記集約ハッシュ・シェアsigniに基づいて決定される、段階と;
前記マルチパーティー計算の一部として、前記検証ハッシュsign'が前記集約ハッシュsignと等しいかどうかに基づいて、前記サーバーのうちの一つまたは複数が不都合な仕方で動作しているかどうかを判定する段階とを含む、
一つまたは複数の非一時的なコンピュータ可読媒体。
(付記9)
前記動作がさらに:
前記サーバーsiにより、前記マスキング・ベクトルuiを生成する段階と;
前記順列piを選択する段階と;
前記マスキング解除シェアriを得る段階とを含む、
付記8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記10)
前記動作がさらに、前記第1の集約ハッシュsign'が前記第2の集約ハッシュsignと等しくないことに基づいて、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することを含む、付記8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記11)
前記動作がさらに、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することに応答して、前記サーバーのうちのどのサーバーが悪質な仕方で動作しているかを識別するための追加的な検証プロトコルに参加することを含む、付記10に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記12)
前記追加的な検証プロトコルに参加することは:
他の各サーバーによって実行されたそれぞれの検証ベクトル計算が正確であることを検証することを含み、前記検証は、前記それぞれの検証ベクトル計算の前記他のサーバーのうちのそれぞれの他の各サーバーのそれぞれのコミットメントに基づく、
付記11に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記13)
前記マスキング解除ベクトル・シェアrbiの生成は、m個のマスキング解除要素を含むマスキング解除鍵rのマスキング解除鍵シェアriの、前記メッセージ・シェアへの適用に基づく、付記8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記14)
前記動作がさらに:
前記サーバーsiによって、前記メッセージ・シェアに基づくマスキング解除ベクトル・シェアrbiを生成する段階と;
前記サーバーsiによって、前記マスキング解除ベクトル・シェアrbiを前記サーバーのうちのサーバーs1に提供する段階とを含み、前記サーバーsi-1から受け取った前記検証ベクトル・イテレーションvi-1は、
前記サーバーs1によって集められたマスキング解除ベクトルrbであって、該マスキング解除ベクトルrbは前記マスキング解除ベクトル・シェアrbiに基づく、マスキング解除ベクトルrb、
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれの順列p1ないしpi-1であって、該順列p1ないしpi-1はそれぞれ前記m要素の集合の要素のそれぞれの配列順序を示す、順列p1ないしpi-1;および
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれのマスキング・ベクトルu1ないしui-1に基づく、
付記8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記15)
一つまたは複数のプロセッサ;および
前記一つまたは複数のプロセッサによって実行されることに応答してシステムに動作を実行させる命令が記憶されている一つまたは複数の非一時的なコンピュータ可読媒体とを有するシステムであって、前記動作は:
n個のサーバーのうちのサーバーsiによって、m個のメッセージ・シェアを受信する段階であって、それぞれのメッセージ・シェアbi,jは、複数のクライアント・デバイスのうちのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応する、段階と;
前記サーバーsiによって、前記メッセージ・シェアの集約ハッシュ・シェアsigniを生成する段階と;
前記サーバーsiによって、前記サーバーのうちのサーバーsi-1から検証ベクトル・イテレーションvi-1を受信する段階と;
前記サーバーsiによって、
前記検証ベクトル・イテレーションvi-1、
前記サーバーsiに対応し、m要素の集合の要素の特定の配列順序を示す順列pi、および
前記サーバーsiに対応するマスキング・ベクトルuiに基づいて、
検証ベクトル・イテレーションviを生成する段階と;
前記検証ベクトルviに基づく検証ハッシュsign'を取得する段階と;
他のサーバーのうちの一つまたは複数とともに、集約ハッシュsignを決定するためのマルチパーティー計算に参加する段階であって、前記集約ハッシュsignは前記集約ハッシュ・シェアsigniに基づいて決定される、段階と;
前記マルチパーティー計算の一部として、前記検証ハッシュsign'が前記集約ハッシュsignと等しいかどうかに基づいて、前記サーバーのうちの一つまたは複数が不都合な仕方で動作しているかどうかを判定する段階とを含む、
システム。
(付記16)
前記動作がさらに:
前記サーバーsiによって、前記マスキング・ベクトルuiを生成する段階と;
前記順列piを選択する段階と;
前記マスキング解除シェアriを得る段階とを含む、
付記15に記載のシステム。
(付記17)
前記第1の集約ハッシュsign'が前記第2の集約ハッシュsignと等しくないことに基づいて、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することをさらに含む、付記15に記載のシステム。
(付記18)
前記動作がさらに、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することに応答して、前記サーバーのうちのどのサーバーが悪質な仕方で動作しているかを識別するための追加的な検証プロトコルに参加することを含む、付記17に記載のシステム。
(付記19)
前記マスキング解除ベクトル・シェアrbiの生成は、m個のマスキング解除要素を含むマスキング解除鍵rのマスキング解除鍵シェアriの、前記メッセージ・シェアへの適用に基づく、付記15に記載のシステム。
(付記20)
前記動作がさらに:
前記サーバーsiによって、前記メッセージ・シェアに基づくマスキング解除ベクトル・シェアrbiを生成する段階と;
前記サーバーsiによって、前記マスキング解除ベクトル・シェアrbiを前記サーバーのうちのサーバーs1に提供する段階とを含み、前記サーバーsi-1から受け取った前記検証ベクトル・イテレーションvi-1は、
前記サーバーs1によって集められたマスキング解除ベクトルrbであって、該マスキング解除ベクトルrbは前記マスキング解除ベクトル・シェアrbiに基づく、マスキング解除ベクトルrb、
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれの順列p1ないしpi-1であって、該順列p1ないしpi-1はそれぞれ前記m要素の集合の要素のそれぞれの配列順序を示す、順列p1ないしpi-1;および
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれのマスキング・ベクトルu1ないしui-1に基づく、
付記15に記載のシステム。
(付記1)
匿名メッセージ・ボードを支援する方法であって、当該方法は:
n個のサーバーのうちのサーバーsiによって、m個のメッセージ・シェアを受信する段階であって、それぞれのメッセージ・シェアbi,jは、複数のクライアント・デバイスのうちのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応する、段階と;
前記サーバーsiによって、前記メッセージ・シェアの集約ハッシュ・シェアsigniを生成する段階と;
前記サーバーsiによって、前記サーバーのうちのサーバーsi-1から検証ベクトル・イテレーションvi-1を受信する段階と;
前記サーバーsiによって、
前記検証ベクトル・イテレーションvi-1、
前記サーバーsiに対応し、m要素の集合の要素の特定の配列順序を示す順列pi、および
前記サーバーsiに対応するマスキング・ベクトルuiに基づいて、
検証ベクトル・イテレーションviを生成する段階と;
前記検証ベクトルviに基づく検証ハッシュsign'を取得する段階と;
他のサーバーのうちの一つまたは複数とともに、集約ハッシュsignを決定するためのマルチパーティー計算に参加する段階であって、前記集約ハッシュsignは前記集約ハッシュ・シェアsigniに基づいて決定される、段階と;
前記マルチパーティー計算の一部として、前記検証ハッシュsign'が前記集約ハッシュsignと等しいかどうかに基づいて、前記サーバーのうちの一つまたは複数が不都合な仕方で動作しているかどうかを判定する段階とを含む、
方法。
(付記2)
前記サーバーsiにより、前記マスキング・ベクトルuiを生成する段階と;
前記順列piを選択する段階と;
前記マスキング解除シェアriを得る段階とをさらに含む、
付記1に記載の方法。
(付記3)
前記第1の集約ハッシュsign'が前記第2の集約ハッシュsignと等しくないことに基づいて、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することをさらに含む、付記1に記載の方法。
(付記4)
前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することに応答して、前記サーバーのうちのどのサーバーが悪質な仕方で動作しているかを識別するための追加的な検証プロトコルに参加することをさらに含む、付記3に記載の方法。
(付記5)
前記追加的な検証プロトコルに参加することは:
他の各サーバーによって実行されたそれぞれの検証ベクトル計算が正確であることを検証することを含み、前記検証は、前記それぞれの検証ベクトル計算の前記他のサーバーのうちのそれぞれの他の各サーバーのそれぞれのコミットメントに基づく、
付記4に記載の方法。
(付記6)
前記マスキング解除ベクトル・シェアrbiの生成は、m個のマスキング解除要素を含むマスキング解除鍵rのマスキング解除鍵シェアriの、前記メッセージ・シェアへの適用に基づく、付記1に記載の方法。
(付記7)
前記サーバーsiによって、前記メッセージ・シェアに基づくマスキング解除ベクトル・シェアrbiを生成する段階と;
前記サーバーsiによって、前記マスキング解除ベクトル・シェアrbiを前記サーバーのうちのサーバーs1に提供する段階とをさらに含み、前記サーバーsi-1から受け取った前記検証ベクトル・イテレーションvi-1は、
前記サーバーs1によって集められたマスキング解除ベクトルrbであって、該マスキング解除ベクトルrbは前記マスキング解除ベクトル・シェアrbiに基づく、マスキング解除ベクトルrb、
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれの順列p1ないしpi-1であって、該順列p1ないしpi-1はそれぞれ前記m要素の集合の要素のそれぞれの配列順序を示す、順列p1ないしpi-1;および
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれのマスキング・ベクトルu1ないしui-1に基づく、
付記1に記載の方法。
(付記8)
一つまたは複数のプロセッサによって実行されることに応答してシステムに動作を実行させる命令が記憶されている一つまたは複数の非一時的なコンピュータ可読媒体であって、前記動作は:
n個のサーバーのうちのサーバーsiによって、m個のメッセージ・シェアを受信する段階であって、それぞれのメッセージ・シェアbi,jは、複数のクライアント・デバイスのうちのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応する、段階と;
前記サーバーsiによって、前記メッセージ・シェアの集約ハッシュ・シェアsigniを生成する段階と;
前記サーバーsiによって、前記サーバーのうちのサーバーsi-1から検証ベクトル・イテレーションvi-1を受信する段階と;
前記サーバーsiによって、
前記検証ベクトル・イテレーションvi-1、
前記サーバーsiに対応し、m要素の集合の要素の特定の配列順序を示す順列pi、および
前記サーバーsiに対応するマスキング・ベクトルuiに基づいて、
検証ベクトル・イテレーションviを生成する段階と;
前記検証ベクトルviに基づく検証ハッシュsign'を取得する段階と;
他のサーバーのうちの一つまたは複数とともに、集約ハッシュsignを決定するためのマルチパーティー計算に参加する段階であって、前記集約ハッシュsignは前記集約ハッシュ・シェアsigniに基づいて決定される、段階と;
前記マルチパーティー計算の一部として、前記検証ハッシュsign'が前記集約ハッシュsignと等しいかどうかに基づいて、前記サーバーのうちの一つまたは複数が不都合な仕方で動作しているかどうかを判定する段階とを含む、
一つまたは複数の非一時的なコンピュータ可読媒体。
(付記9)
前記動作がさらに:
前記サーバーsiにより、前記マスキング・ベクトルuiを生成する段階と;
前記順列piを選択する段階と;
前記マスキング解除シェアriを得る段階とを含む、
付記8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記10)
前記動作がさらに、前記第1の集約ハッシュsign'が前記第2の集約ハッシュsignと等しくないことに基づいて、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することを含む、付記8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記11)
前記動作がさらに、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することに応答して、前記サーバーのうちのどのサーバーが悪質な仕方で動作しているかを識別するための追加的な検証プロトコルに参加することを含む、付記10に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記12)
前記追加的な検証プロトコルに参加することは:
他の各サーバーによって実行されたそれぞれの検証ベクトル計算が正確であることを検証することを含み、前記検証は、前記それぞれの検証ベクトル計算の前記他のサーバーのうちのそれぞれの他の各サーバーのそれぞれのコミットメントに基づく、
付記11に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記13)
前記マスキング解除ベクトル・シェアrbiの生成は、m個のマスキング解除要素を含むマスキング解除鍵rのマスキング解除鍵シェアriの、前記メッセージ・シェアへの適用に基づく、付記8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記14)
前記動作がさらに:
前記サーバーsiによって、前記メッセージ・シェアに基づくマスキング解除ベクトル・シェアrbiを生成する段階と;
前記サーバーsiによって、前記マスキング解除ベクトル・シェアrbiを前記サーバーのうちのサーバーs1に提供する段階とを含み、前記サーバーsi-1から受け取った前記検証ベクトル・イテレーションvi-1は、
前記サーバーs1によって集められたマスキング解除ベクトルrbであって、該マスキング解除ベクトルrbは前記マスキング解除ベクトル・シェアrbiに基づく、マスキング解除ベクトルrb、
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれの順列p1ないしpi-1であって、該順列p1ないしpi-1はそれぞれ前記m要素の集合の要素のそれぞれの配列順序を示す、順列p1ないしpi-1;および
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれのマスキング・ベクトルu1ないしui-1に基づく、
付記8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
(付記15)
一つまたは複数のプロセッサ;および
前記一つまたは複数のプロセッサによって実行されることに応答してシステムに動作を実行させる命令が記憶されている一つまたは複数の非一時的なコンピュータ可読媒体とを有するシステムであって、前記動作は:
n個のサーバーのうちのサーバーsiによって、m個のメッセージ・シェアを受信する段階であって、それぞれのメッセージ・シェアbi,jは、複数のクライアント・デバイスのうちのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応する、段階と;
前記サーバーsiによって、前記メッセージ・シェアの集約ハッシュ・シェアsigniを生成する段階と;
前記サーバーsiによって、前記サーバーのうちのサーバーsi-1から検証ベクトル・イテレーションvi-1を受信する段階と;
前記サーバーsiによって、
前記検証ベクトル・イテレーションvi-1、
前記サーバーsiに対応し、m要素の集合の要素の特定の配列順序を示す順列pi、および
前記サーバーsiに対応するマスキング・ベクトルuiに基づいて、
検証ベクトル・イテレーションviを生成する段階と;
前記検証ベクトルviに基づく検証ハッシュsign'を取得する段階と;
他のサーバーのうちの一つまたは複数とともに、集約ハッシュsignを決定するためのマルチパーティー計算に参加する段階であって、前記集約ハッシュsignは前記集約ハッシュ・シェアsigniに基づいて決定される、段階と;
前記マルチパーティー計算の一部として、前記検証ハッシュsign'が前記集約ハッシュsignと等しいかどうかに基づいて、前記サーバーのうちの一つまたは複数が不都合な仕方で動作しているかどうかを判定する段階とを含む、
システム。
(付記16)
前記動作がさらに:
前記サーバーsiによって、前記マスキング・ベクトルuiを生成する段階と;
前記順列piを選択する段階と;
前記マスキング解除シェアriを得る段階とを含む、
付記15に記載のシステム。
(付記17)
前記第1の集約ハッシュsign'が前記第2の集約ハッシュsignと等しくないことに基づいて、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することをさらに含む、付記15に記載のシステム。
(付記18)
前記動作がさらに、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することに応答して、前記サーバーのうちのどのサーバーが悪質な仕方で動作しているかを識別するための追加的な検証プロトコルに参加することを含む、付記17に記載のシステム。
(付記19)
前記マスキング解除ベクトル・シェアrbiの生成は、m個のマスキング解除要素を含むマスキング解除鍵rのマスキング解除鍵シェアriの、前記メッセージ・シェアへの適用に基づく、付記15に記載のシステム。
(付記20)
前記動作がさらに:
前記サーバーsiによって、前記メッセージ・シェアに基づくマスキング解除ベクトル・シェアrbiを生成する段階と;
前記サーバーsiによって、前記マスキング解除ベクトル・シェアrbiを前記サーバーのうちのサーバーs1に提供する段階とを含み、前記サーバーsi-1から受け取った前記検証ベクトル・イテレーションvi-1は、
前記サーバーs1によって集められたマスキング解除ベクトルrbであって、該マスキング解除ベクトルrbは前記マスキング解除ベクトル・シェアrbiに基づく、マスキング解除ベクトルrb、
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれの順列p1ないしpi-1であって、該順列p1ないしpi-1はそれぞれ前記m要素の集合の要素のそれぞれの配列順序を示す、順列p1ないしpi-1;および
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれのマスキング・ベクトルu1ないしui-1に基づく、
付記15に記載のシステム。
Claims (20)
- 匿名メッセージ・ボードを支援する方法であって、当該方法は:
n個のサーバーのうちのサーバーsiによって、m個のメッセージ・シェアを受信する段階であって、それぞれのメッセージ・シェアbi,jは、複数のクライアント・デバイスのうちのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応する、段階と;
前記サーバーsiによって、前記メッセージ・シェアの集約ハッシュ・シェアsigniを生成する段階と;
前記サーバーsiによって、前記サーバーのうちのサーバーsi-1から検証ベクトル・イテレーションvi-1を受信する段階と;
前記サーバーsiによって、
前記検証ベクトル・イテレーションvi-1、
前記サーバーsiに対応し、m要素の集合の要素の特定の配列順序を示す順列pi、および
前記サーバーsiに対応するマスキング・ベクトルuiに基づいて、
検証ベクトル・イテレーションviを生成する段階と;
前記検証ベクトルviに基づく検証ハッシュsign'を取得する段階と;
他のサーバーのうちの一つまたは複数とともに、集約ハッシュsignを決定するためのマルチパーティー計算に参加する段階であって、前記集約ハッシュsignは前記集約ハッシュ・シェアsigniに基づいて決定される、段階と;
前記マルチパーティー計算の一部として、前記検証ハッシュsign'が前記集約ハッシュsignと等しいかどうかに基づいて、前記サーバーのうちの一つまたは複数が不都合な仕方で動作しているかどうかを判定する段階とを含む、
方法。 - 前記サーバーsiにより、前記マスキング・ベクトルuiを生成する段階と;
前記順列piを選択する段階と;
前記マスキング解除シェアriを得る段階とをさらに含む、
請求項1に記載の方法。 - 前記第1の集約ハッシュsign'が前記第2の集約ハッシュsignと等しくないことに基づいて、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することをさらに含む、請求項1に記載の方法。
- 前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することに応答して、前記サーバーのうちのどのサーバーが悪質な仕方で動作しているかを識別するための追加的な検証プロトコルに参加することをさらに含む、請求項3に記載の方法。
- 前記追加的な検証プロトコルに参加することは:
他の各サーバーによって実行されたそれぞれの検証ベクトル計算が正確であることを検証することを含み、前記検証は、前記それぞれの検証ベクトル計算の前記他のサーバーのうちのそれぞれの他の各サーバーのそれぞれのコミットメントに基づく、
請求項4に記載の方法。 - 前記マスキング解除ベクトル・シェアrbiの生成は、m個のマスキング解除要素を含むマスキング解除鍵rのマスキング解除鍵シェアriの、前記メッセージ・シェアへの適用に基づく、請求項1に記載の方法。
- 前記サーバーsiによって、前記メッセージ・シェアに基づくマスキング解除ベクトル・シェアrbiを生成する段階と;
前記サーバーsiによって、前記マスキング解除ベクトル・シェアrbiを前記サーバーのうちのサーバーs1に提供する段階とをさらに含み、前記サーバーsi-1から受け取った前記検証ベクトル・イテレーションvi-1は、
前記サーバーs1によって集められたマスキング解除ベクトルrbであって、該マスキング解除ベクトルrbは前記マスキング解除ベクトル・シェアrbiに基づく、マスキング解除ベクトルrb、
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれの順列p1ないしpi-1であって、該順列p1ないしpi-1はそれぞれ前記m要素の集合の要素のそれぞれの配列順序を示す、順列p1ないしpi-1;および
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれのマスキング・ベクトルu1ないしui-1に基づく、
請求項1に記載の方法。 - 一つまたは複数のプロセッサによって実行されることに応答してシステムに動作を実行させる命令が記憶されている一つまたは複数の非一時的なコンピュータ可読媒体であって、前記動作は:
n個のサーバーのうちのサーバーsiによって、m個のメッセージ・シェアを受信する段階であって、それぞれのメッセージ・シェアbi,jは、複数のクライアント・デバイスのうちのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応する、段階と;
前記サーバーsiによって、前記メッセージ・シェアの集約ハッシュ・シェアsigniを生成する段階と;
前記サーバーsiによって、前記サーバーのうちのサーバーsi-1から検証ベクトル・イテレーションvi-1を受信する段階と;
前記サーバーsiによって、
前記検証ベクトル・イテレーションvi-1、
前記サーバーsiに対応し、m要素の集合の要素の特定の配列順序を示す順列pi、および
前記サーバーsiに対応するマスキング・ベクトルuiに基づいて、
検証ベクトル・イテレーションviを生成する段階と;
前記検証ベクトルviに基づく検証ハッシュsign'を取得する段階と;
他のサーバーのうちの一つまたは複数とともに、集約ハッシュsignを決定するためのマルチパーティー計算に参加する段階であって、前記集約ハッシュsignは前記集約ハッシュ・シェアsigniに基づいて決定される、段階と;
前記マルチパーティー計算の一部として、前記検証ハッシュsign'が前記集約ハッシュsignと等しいかどうかに基づいて、前記サーバーのうちの一つまたは複数が不都合な仕方で動作しているかどうかを判定する段階とを含む、
一つまたは複数の非一時的なコンピュータ可読媒体。 - 前記動作がさらに:
前記サーバーsiにより、前記マスキング・ベクトルuiを生成する段階と;
前記順列piを選択する段階と;
前記マスキング解除シェアriを得る段階とを含む、
請求項8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。 - 前記動作がさらに、前記第1の集約ハッシュsign'が前記第2の集約ハッシュsignと等しくないことに基づいて、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することを含む、請求項8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
- 前記動作がさらに、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することに応答して、前記サーバーのうちのどのサーバーが悪質な仕方で動作しているかを識別するための追加的な検証プロトコルに参加することを含む、請求項10に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
- 前記追加的な検証プロトコルに参加することは:
他の各サーバーによって実行されたそれぞれの検証ベクトル計算が正確であることを検証することを含み、前記検証は、前記それぞれの検証ベクトル計算の前記他のサーバーのうちのそれぞれの他の各サーバーのそれぞれのコミットメントに基づく、
請求項11に記載の一つまたは複数の非一時的なコンピュータ可読媒体。 - 前記マスキング解除ベクトル・シェアrbiの生成は、m個のマスキング解除要素を含むマスキング解除鍵rのマスキング解除鍵シェアriの、前記メッセージ・シェアへの適用に基づく、請求項8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。
- 前記動作がさらに:
前記サーバーsiによって、前記メッセージ・シェアに基づくマスキング解除ベクトル・シェアrbiを生成する段階と;
前記サーバーsiによって、前記マスキング解除ベクトル・シェアrbiを前記サーバーのうちのサーバーs1に提供する段階とを含み、前記サーバーsi-1から受け取った前記検証ベクトル・イテレーションvi-1は、
前記サーバーs1によって集められたマスキング解除ベクトルrbであって、該マスキング解除ベクトルrbは前記マスキング解除ベクトル・シェアrbiに基づく、マスキング解除ベクトルrb、
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれの順列p1ないしpi-1であって、該順列p1ないしpi-1はそれぞれ前記m要素の集合の要素のそれぞれの配列順序を示す、順列p1ないしpi-1;および
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれのマスキング・ベクトルu1ないしui-1に基づく、
請求項8に記載の一つまたは複数の非一時的なコンピュータ可読媒体。 - 一つまたは複数のプロセッサ;および
前記一つまたは複数のプロセッサによって実行されることに応答してシステムに動作を実行させる命令が記憶されている一つまたは複数の非一時的なコンピュータ可読媒体とを有するシステムであって、前記動作は:
n個のサーバーのうちのサーバーsiによって、m個のメッセージ・シェアを受信する段階であって、それぞれのメッセージ・シェアbi,jは、複数のクライアント・デバイスのうちのそれぞれのクライアント・デバイスによって提供されるメッセージの一部に対応する、段階と;
前記サーバーsiによって、前記メッセージ・シェアの集約ハッシュ・シェアsigniを生成する段階と;
前記サーバーsiによって、前記サーバーのうちのサーバーsi-1から検証ベクトル・イテレーションvi-1を受信する段階と;
前記サーバーsiによって、
前記検証ベクトル・イテレーションvi-1、
前記サーバーsiに対応し、m要素の集合の要素の特定の配列順序を示す順列pi、および
前記サーバーsiに対応するマスキング・ベクトルuiに基づいて、
検証ベクトル・イテレーションviを生成する段階と;
前記検証ベクトルviに基づく検証ハッシュsign'を取得する段階と;
他のサーバーのうちの一つまたは複数とともに、集約ハッシュsignを決定するためのマルチパーティー計算に参加する段階であって、前記集約ハッシュsignは前記集約ハッシュ・シェアsigniに基づいて決定される、段階と;
前記マルチパーティー計算の一部として、前記検証ハッシュsign'が前記集約ハッシュsignと等しいかどうかに基づいて、前記サーバーのうちの一つまたは複数が不都合な仕方で動作しているかどうかを判定する段階とを含む、
システム。 - 前記動作がさらに:
前記サーバーsiによって、前記マスキング・ベクトルuiを生成する段階と;
前記順列piを選択する段階と;
前記マスキング解除シェアriを得る段階とを含む、
請求項15に記載のシステム。 - 前記第1の集約ハッシュsign'が前記第2の集約ハッシュsignと等しくないことに基づいて、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することをさらに含む、請求項15に記載のシステム。
- 前記動作がさらに、前記サーバーのうちの一つまたは複数が悪質な仕方で動作していると判断することに応答して、前記サーバーのうちのどのサーバーが悪質な仕方で動作しているかを識別するための追加的な検証プロトコルに参加することを含む、請求項17に記載のシステム。
- 前記マスキング解除ベクトル・シェアrbiの生成は、m個のマスキング解除要素を含むマスキング解除鍵rのマスキング解除鍵シェアriの、前記メッセージ・シェアへの適用に基づく、請求項15に記載のシステム。
- 前記動作がさらに:
前記サーバーsiによって、前記メッセージ・シェアに基づくマスキング解除ベクトル・シェアrbiを生成する段階と;
前記サーバーsiによって、前記マスキング解除ベクトル・シェアrbiを前記サーバーのうちのサーバーs1に提供する段階とを含み、前記サーバーsi-1から受け取った前記検証ベクトル・イテレーションvi-1は、
前記サーバーs1によって集められたマスキング解除ベクトルrbであって、該マスキング解除ベクトルrbは前記マスキング解除ベクトル・シェアrbiに基づく、マスキング解除ベクトルrb、
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれの順列p1ないしpi-1であって、該順列p1ないしpi-1はそれぞれ前記m要素の集合の要素のそれぞれの配列順序を示す、順列p1ないしpi-1;および
前記サーバーのうちのサーバーs1ないしsi-1のそれぞれのマスキング・ベクトルu1ないしui-1に基づく、
請求項15に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/880,059 US11962562B2 (en) | 2022-08-03 | 2022-08-03 | Anonymous message board server verification |
US17/880,059 | 2022-08-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024022488A true JP2024022488A (ja) | 2024-02-16 |
Family
ID=89768793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023105629A Pending JP2024022488A (ja) | 2022-08-03 | 2023-06-28 | 匿名メッセージ・ボード・サーバーの検証 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11962562B2 (ja) |
JP (1) | JP2024022488A (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9462070B2 (en) * | 2006-11-17 | 2016-10-04 | Synchronica Plc | Protecting privacy in group communications |
-
2022
- 2022-08-03 US US17/880,059 patent/US11962562B2/en active Active
-
2023
- 2023-06-28 JP JP2023105629A patent/JP2024022488A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240048519A1 (en) | 2024-02-08 |
US11962562B2 (en) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7552970B2 (ja) | ブロックチェーンを用いてデータ記録を分配するシステム及び方法 | |
CA3041160C (en) | Blockchain data protection based on account note model with zero-knowledge proof | |
CA3052997C (en) | Blockchain data protection based on generic account model and homomorphic encryption | |
CN111989893B (zh) | 用于生成和链接零知识证明的方法、系统和计算机可读装置 | |
US10831903B2 (en) | Method and apparatus for obtaining input of secure multiparty computation protocol | |
CN110166442B (zh) | 一种基于区块链的数据处理方法和装置 | |
US11354657B2 (en) | Managing transactions in multiple blockchain networks | |
WO2019072302A2 (en) | BLOCK CHAIN DATA PROTECTION BASED ON A GENERIC ACCOUNT MODEL AND A HOMOMORPHIC ENCRYPTION | |
JP2020525875A (ja) | 信頼できる実行環境において実行されるスマートコントラクト動作に基づくブロックチェーンデータの処理 | |
TW202008271A (zh) | 區塊鏈交易方法及裝置、電子設備 | |
WO2019072313A2 (en) | SYSTEM AND METHOD FOR PROTECTING INFORMATION | |
WO2020086219A1 (en) | Method, apparatus and electronic device for blockchain transactions | |
US11372848B2 (en) | Managing transactions in multiple blockchain networks | |
US11588617B2 (en) | Validating confidential data using homomorphic computations | |
US11403632B2 (en) | Managing transactions in multiple blockchain networks | |
Liang et al. | Decentralized crowdsourcing for human intelligence tasks with efficient on-chain cost | |
JP2024022488A (ja) | 匿名メッセージ・ボード・サーバーの検証 | |
CN113486368A (zh) | 一种基于区块链技术的输入数据可信性验证方法及装置 | |
US12126716B2 (en) | Anonymous private shared partitions in a global total order broadcast domain networks using random symmetric encryption keys | |
JP7572467B2 (ja) | 制御された暗号化秘密鍵の開放 | |
US20230081416A1 (en) | Anonymous private shared partitions in blockchain networks | |
Ogdol et al. | Enhancing cybersecurity through blockchain technology | |
Qiu et al. | 2EPV‐ApproCom: Enhanced Effective, Private, and Verifiable Approximate Similarity Computation with Server Aided over Scalable Datasets for IoT | |
WO2020258126A1 (zh) | 协同地址的生成、交易签名方法及装置、存储介质 | |
Emeç et al. | Consensus Approaches of High-Value Crypto Currencies and Application in SHA-3 |