JP2023524829A - 匿名近接追跡の改善されたコンピュータ実施方法 - Google Patents
匿名近接追跡の改善されたコンピュータ実施方法 Download PDFInfo
- Publication number
- JP2023524829A JP2023524829A JP2022567689A JP2022567689A JP2023524829A JP 2023524829 A JP2023524829 A JP 2023524829A JP 2022567689 A JP2022567689 A JP 2022567689A JP 2022567689 A JP2022567689 A JP 2022567689A JP 2023524829 A JP2023524829 A JP 2023524829A
- Authority
- JP
- Japan
- Prior art keywords
- token
- encounter
- participating
- participating device
- list
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000002452 interceptive effect Effects 0.000 claims abstract description 18
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 26
- 238000007726 management method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 2
- 238000000313 electron-beam-induced deposition Methods 0.000 description 39
- 208000025721 COVID-19 Diseases 0.000 description 21
- 230000004044 response Effects 0.000 description 12
- 101150015738 Fev gene Proteins 0.000 description 11
- 102100037681 Protein FEV Human genes 0.000 description 11
- 230000036541 health Effects 0.000 description 11
- 238000013459 approach Methods 0.000 description 9
- 239000000243 solution Substances 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- UPPMZCXMQRVMME-UHFFFAOYSA-N valethamate Chemical compound CC[N+](C)(CC)CCOC(=O)C(C(C)CC)C1=CC=CC=C1 UPPMZCXMQRVMME-UHFFFAOYSA-N 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012502 risk assessment Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005180 public health Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 208000019901 Anxiety disease Diseases 0.000 description 1
- 241000544061 Cuculus canorus Species 0.000 description 1
- 206010011971 Decreased interest Diseases 0.000 description 1
- 206010033670 Panic reaction Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 208000034973 right temporal atrophy variant frontotemporal dementia Diseases 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/047—Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
- H04W12/0471—Key exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
匿名近接追跡のコンピュータ実施方法であって、a)それぞれが、秘密鍵生成器と非対話型鍵交換プロトコルパラメータとを含む非対話型鍵交換プロトコルインタフェースを有する、無線通信が可能な複数の参加デバイス2を提供するステップと、b)参加デバイスのそれぞれにおいて秘密鍵生成器を周期的に用いてそれぞれの現在の秘密鍵を取得し、それぞれの現在の秘密鍵及び非対話型鍵交換プロトコルパラメータに基づいて、参加デバイスのそれぞれにおいてそれぞれの現在の公開鍵を計算するとともに、参加デバイスのそれぞれが、周期的に無線でそれぞれの現在の公開鍵をブロードキャストするステップと、c)第2の参加デバイスによってブロードキャストされたそれぞれの現在の公開鍵を第1の参加デバイスが検出すると、第1の参加デバイス及び第2の参加デバイスのそれぞれにおいて、i.非対話型鍵交換プロトコルパラメータと、第1の参加デバイス及び第2の参加デバイスのそれぞれの現在の秘密鍵とによって定義される現在の共有秘密を計算するステップと、ii.現在の共有秘密を用いてパラメータ化され、バケット値に適用された擬似ランダム関数を用いて少なくとも1つのトークンを計算するステップと、iii.第1の参加デバイス及び第2の参加デバイスの双方に既知である2つの入力を用いて、全順序関数を適用することによって求められるソート値を計算するとともに、ソート値に基づいて、第1の参加デバイスの第1の遭遇トークンリスト及び第2の参加デバイスの第2の遭遇トークンリストに第1のトークンを記憶し、第1の参加デバイスの第2の遭遇トークンリスト及び第2の参加デバイスの第1の遭遇トークンリストに第2のトークンを記憶するステップ、又は、第1の参加デバイスの第2の遭遇トークンリスト及び第2の参加デバイスの第1の遭遇トークンリストに第1のトークンを記憶し、第1の参加デバイスの第1の遭遇トークンリスト及び第2の参加デバイスの第2の遭遇トークンリストに第2のトークンを記憶するステップと、d)所与の参加デバイスが、所与の参加デバイスによるアップロード条件の検出時に、第1の遭遇トークンリスト又は第2の遭遇トークンリストのうちの一方の少なくとも一部を近接管理サーバに選択的にアップロードするステップとを含んでなる、匿名近接追跡のコンピュータ実施方法を提供する。【選択図】図1
Description
本発明は、近接追跡の分野に関し、より詳細には、匿名近接追跡(anonymous proximity tracing)のコンピュータ実施方法に関する。
モバイルデバイスの急増及び低エネルギープロトコルの発展に伴い、近接追跡は、顕著な発展分野の1つになっている。ビーコン(beacon)の出現とともに、多くの技術的事例が小売業界及び物流業界等から生じた。COVID19パンデミックの発生は、この傾向を強化したにすぎない。
全ての近接追跡アプリケーションに伴う最も大きな課題は、情報の品質と、不正使用を防ぐためにプライバシを保証することの絶対的な必要性とのバランスを取ることである。これは、2つの主要な手法の発展につながった。
一方は、通常、「集中型」(centralized)と呼ばれるのに対し、他方は、通常、「分散型」(decentralized)と呼ばれる。この区別は、サーバが存在するか否かに基づく。最初の反応(reflex)では、「サーバレス(又は、ほぼサーバレス)」がプライバシ面でより安全とみなされる場合があるものの、極めて直観に反することに、これらの解決策は、ユーザ群全体にわたる全てのユーザの全てのデータを複製するため、実際にはより危険であり、ほとんどのユーザに大量の無関係なデータを送信することを必要とするため、データを大量にどころか実際に膨大に消費する。
このため、本出願人は、サーバがユーザから最終的に或る種の情報を収集する「集中型」手法を検討した。第1の手法として、本出願人は、https://github.com/ROBERT-proximity-tracing/documentsからアクセス可能な2020年4月18日に公開された論文である非特許文献1において、「ROBERT」(ROBust and privacypresERving proximity Tracing)という名称の匿名近接追跡方法を提案した。
ROBERT1.0は、集中化サーバによるユーザへの一時識別情報の割当て、他のユーザのデバイスがこの一時識別情報を保有するユーザのデバイスに近接したときの、この他のユーザによるこの一時識別情報の記憶、及びCOVID19と診断されたときの、ユーザによる「近接接触した一時識別情報」(met in proximity temporary identifications)のリストのアップロードに頼った。このようにして、集中化サーバは、ユーザに関する個人データを一切記憶せず、ユーザは、自身の一時識別情報のうちの1つが集中化サーバ上にリストされているか否かをチェックすることによって、COVID19陽性者と近接したことを認識することができる。
この方法は、興味深いが、特に、プロトコルにおけるサーバの役割を低減し、これを可能な限り「サーバレス(又は、ほぼサーバレス)」にするために、改善の余地がある。
"ROBERT: ROBust and privacypresERving proximity Tracing", published on April 18, 2020
本発明は状況の改善を目的とする。このために、本出願人は、匿名近接追跡のコンピュータ実施方法であって、
a)それぞれが、秘密鍵生成器と非対話型鍵交換プロトコルパラメータとを含む非対話型鍵交換プロトコルインタフェースを有する、無線通信が可能な複数の参加デバイスを提供するステップと、
b)前記参加デバイスのそれぞれにおいて前記秘密鍵生成器を周期的に用いてそれぞれの現在の秘密鍵を取得し、前記それぞれの現在の秘密鍵及び前記非対話型鍵交換プロトコルパラメータに基づいて、前記参加デバイスのそれぞれにおいてそれぞれの現在の公開鍵を計算するとともに、前記参加デバイスのそれぞれが、周期的に無線で前記それぞれの現在の公開鍵をブロードキャストするステップと、
c)第2の参加デバイスによってブロードキャストされたそれぞれの現在の公開鍵を第1の参加デバイスによって検出すると、前記第1の参加デバイス及び前記第2の参加デバイスのそれぞれにおいて、
i.前記非対話型鍵交換プロトコルパラメータと、前記第1の参加デバイス及び前記第2の参加デバイスの前記それぞれの現在の秘密鍵とによって定義される現在の共有秘密(current shared secret)を計算するステップと、
ii.前記現在の共有秘密を用いてパラメータ化され、前記第1の参加デバイスに関係する第1の値に適用された擬似ランダム関数(pseudo-random function)を用いて第1のトークンを計算するとともに、前記現在の共有秘密を用いてパラメータ化され、前記第2の参加デバイスに関係する第2の値に適用された前記擬似ランダム関数を用いて第2のトークンを計算するステップと、
iii.前記第1の参加デバイス及び前記第2の参加デバイスの双方に既知である2つの入力を用いて、全順序関数(total ordering function)を適用することによって求められるソート値を計算するとともに、前記ソート値に基づいて、前記第1の参加デバイスの第1の遭遇トークンリスト及び前記第2の参加デバイスの第2の遭遇トークンリストに前記第1のトークンを記憶し、前記第1の参加デバイスの前記第2の遭遇トークンリスト及び前記第2の参加デバイスの前記第1の遭遇トークンリストに前記第2のトークンを記憶するステップ、又は、前記第1の参加デバイスの前記第2の遭遇トークンリスト及び前記第2の参加デバイスの前記第1の遭遇トークンリストに前記第1のトークンを記憶し、前記第1の参加デバイスの前記第1の遭遇トークンリスト及び前記第2の参加デバイスの前記第2の遭遇トークンリストに前記第2のトークンを記憶するステップと、
d)所与の参加デバイスが、該所与の参加デバイスによるアップロード条件の検出時に、前記第1の遭遇トークンリスト又は前記第2の遭遇トークンリストのうちの一方の少なくとも一部を近接管理サーバ(proximity management server)に選択的にアップロードするステップと
を含んでなる方法を提案する。
a)それぞれが、秘密鍵生成器と非対話型鍵交換プロトコルパラメータとを含む非対話型鍵交換プロトコルインタフェースを有する、無線通信が可能な複数の参加デバイスを提供するステップと、
b)前記参加デバイスのそれぞれにおいて前記秘密鍵生成器を周期的に用いてそれぞれの現在の秘密鍵を取得し、前記それぞれの現在の秘密鍵及び前記非対話型鍵交換プロトコルパラメータに基づいて、前記参加デバイスのそれぞれにおいてそれぞれの現在の公開鍵を計算するとともに、前記参加デバイスのそれぞれが、周期的に無線で前記それぞれの現在の公開鍵をブロードキャストするステップと、
c)第2の参加デバイスによってブロードキャストされたそれぞれの現在の公開鍵を第1の参加デバイスによって検出すると、前記第1の参加デバイス及び前記第2の参加デバイスのそれぞれにおいて、
i.前記非対話型鍵交換プロトコルパラメータと、前記第1の参加デバイス及び前記第2の参加デバイスの前記それぞれの現在の秘密鍵とによって定義される現在の共有秘密(current shared secret)を計算するステップと、
ii.前記現在の共有秘密を用いてパラメータ化され、前記第1の参加デバイスに関係する第1の値に適用された擬似ランダム関数(pseudo-random function)を用いて第1のトークンを計算するとともに、前記現在の共有秘密を用いてパラメータ化され、前記第2の参加デバイスに関係する第2の値に適用された前記擬似ランダム関数を用いて第2のトークンを計算するステップと、
iii.前記第1の参加デバイス及び前記第2の参加デバイスの双方に既知である2つの入力を用いて、全順序関数(total ordering function)を適用することによって求められるソート値を計算するとともに、前記ソート値に基づいて、前記第1の参加デバイスの第1の遭遇トークンリスト及び前記第2の参加デバイスの第2の遭遇トークンリストに前記第1のトークンを記憶し、前記第1の参加デバイスの前記第2の遭遇トークンリスト及び前記第2の参加デバイスの前記第1の遭遇トークンリストに前記第2のトークンを記憶するステップ、又は、前記第1の参加デバイスの前記第2の遭遇トークンリスト及び前記第2の参加デバイスの前記第1の遭遇トークンリストに前記第1のトークンを記憶し、前記第1の参加デバイスの前記第1の遭遇トークンリスト及び前記第2の参加デバイスの前記第2の遭遇トークンリストに前記第2のトークンを記憶するステップと、
d)所与の参加デバイスが、該所与の参加デバイスによるアップロード条件の検出時に、前記第1の遭遇トークンリスト又は前記第2の遭遇トークンリストのうちの一方の少なくとも一部を近接管理サーバ(proximity management server)に選択的にアップロードするステップと
を含んでなる方法を提案する。
前記方法は、近接サーバが近接対話の結果の最終リポジトリとしてのみ用いられるため有利である。さらに、トークンの性質に起因して、近接サーバは、ユーザ及びユーザのデバイスにとって完全に匿名(ブラインド:blind)であり、トークンの生成に関与する2つのデバイスのみが、互いを認識しない状態のまま、これに関係することができる。無関係なデータはユーザに拡散されず、ユーザは、自身の近接遭遇のみを反映する匿名化データのみを記憶する。最後に、公開鍵は、各デバイス内においてローカルで生成されるため、結果として得られるプロトコル(「ROBERT v2」)は、「サーバレス(又はほぼサーバレス)」とみなすことができ、分散型とみなすことさえできる。
様々な実施の形態において、前記方法は、以下の特徴のうち1つ以上を提供することができる。
前記全順序関数は、前記第1の参加デバイス及び前記第2の参加デバイスの前記それぞれの現在の公開鍵から導出された値を比較することによって前記ソート値を計算し、
ステップd)は、前記第1の遭遇トークンリストからトークンをアップロードすることを含み、
前記方法は、
e)前記参加デバイスごとに、前記第2の遭遇トークンリストからの少なくとも1つのトークンを報告サーバに周期的に送信し、前記報告サーバは、別の参加デバイスが当該別の参加デバイスの第1のトークン遭遇リストから、前記第2の遭遇トークンリストからの前記少なくとも1つのトークンと同一のトークンをアップロードしたことを検出すると、前記第2の遭遇トークンリストを前記報告サーバに発した前記参加デバイスに、前記同一のトークンをアップロードしたことの検出を示すメッセージを送信するステップを更に含み、
前記方法は、
f)前記参加デバイスごとに、前記第2の遭遇トークンリストからの少なくとも1つのトークンを前記報告サーバに周期的に送信し、前記第2の遭遇トークンリストからの前記少なくとも1つのトークンと、他の参加デバイスによって前記第1の遭遇トークンリストからアップロードされた前記トークンとの比較に基づいて、リスクスコアを計算するステップを更に含み、
前記非対話型鍵交換プロトコルは、Curve25519、別の楕円曲線、楕円曲線ディフィ-ヘルマンプロトコル(Elliptic-curve Diffie-Hellman protocol)又はディフィ-ヘルマン鍵交換(Diffie-Hellman key exchange)に基づき、
前記第1の参加デバイス及び前記第2の参加デバイスのコロケーション(colocation)に関するメタデータが、前記第1の遭遇トークンリスト及び前記第2の遭遇トークンリストのうちの一方において、前記第1のトークン及び前記第2のトークンとともに記憶される。
前記全順序関数は、前記第1の参加デバイス及び前記第2の参加デバイスの前記それぞれの現在の公開鍵から導出された値を比較することによって前記ソート値を計算し、
ステップd)は、前記第1の遭遇トークンリストからトークンをアップロードすることを含み、
前記方法は、
e)前記参加デバイスごとに、前記第2の遭遇トークンリストからの少なくとも1つのトークンを報告サーバに周期的に送信し、前記報告サーバは、別の参加デバイスが当該別の参加デバイスの第1のトークン遭遇リストから、前記第2の遭遇トークンリストからの前記少なくとも1つのトークンと同一のトークンをアップロードしたことを検出すると、前記第2の遭遇トークンリストを前記報告サーバに発した前記参加デバイスに、前記同一のトークンをアップロードしたことの検出を示すメッセージを送信するステップを更に含み、
前記方法は、
f)前記参加デバイスごとに、前記第2の遭遇トークンリストからの少なくとも1つのトークンを前記報告サーバに周期的に送信し、前記第2の遭遇トークンリストからの前記少なくとも1つのトークンと、他の参加デバイスによって前記第1の遭遇トークンリストからアップロードされた前記トークンとの比較に基づいて、リスクスコアを計算するステップを更に含み、
前記非対話型鍵交換プロトコルは、Curve25519、別の楕円曲線、楕円曲線ディフィ-ヘルマンプロトコル(Elliptic-curve Diffie-Hellman protocol)又はディフィ-ヘルマン鍵交換(Diffie-Hellman key exchange)に基づき、
前記第1の参加デバイス及び前記第2の参加デバイスのコロケーション(colocation)に関するメタデータが、前記第1の遭遇トークンリスト及び前記第2の遭遇トークンリストのうちの一方において、前記第1のトークン及び前記第2のトークンとともに記憶される。
本発明はまた、本発明による方法を実行する命令を含むコンピュータプログラムと、前記コンピュータプログラムを記録したデータストレージ媒体と、請求項に記載の前記コンピュータプログラムを記録したメモリに結合されたプロセッサを備えるコンピュータシステムとに関する。
本発明の他の特徴及び利点は、以下の図面の説明において容易に明らかとなる。図面は、本発明の例示的な実施形態を示す。
図面及び以下の説明は、ほとんどの部分が、有益で明確に定義された特徴から構成される。結果として、これらは本発明を理解するのに有用であるのみでなく、需要が生じたときに用いて本発明の定義に寄与することもできる。
本明細書は、著作権によって保護された又は保護可能な要素を参照又は使用する場合がある。本出願人は、必要な法的公開物に制限される限り、これらの要素の複製に対して異議を有しないが、これは、権利又はいかなる形態のライセンスの放棄ともみなされるべきでない。
新たなバージョンは同じアーキテクチャを用いるが、主要な改善をもたらす。特に、これは、秘密の暗号で生成されたプライベート遭遇トークン(PET:Private Encounter Token)の概念を提示する。さらに、Bluetoothインタフェース上でブロードキャストされる一時的な識別子は、ここではモバイルデバイスによって生成され、ユーザに更なる制御をもたらす。最後に、サーバによって記憶される全てのデータは、ここではモバイルデバイスに記憶される鍵を用いて暗号化され、サーバにおけるデータ漏えいに対し保護される。これらの全ての変更により、悪意のあるユーザ及び機関に対するスキームプライバシが劇的に改善する。ROBERTの最初のバージョンにおけるように、リスクスコア及び通知は、依然としてサーバによって、したがって、保健機関によって管理及び制御され、これにより高いロバスト性、柔軟性及び効率性が提供される。
1 序論
1.1 プライベート遭遇トークン(PET)
既存の近接追跡スキームとは異なり、本発明者らは、「短期Bluetooth識別子」(EBID:Ephemeral Bluetooth Identifiers)から生成されたプライベート遭遇トークン(PET)に基づく曝露通知システム(exposure notification system)を提案する。EBID及びPETは、モバイルデバイスによってローカルで生成及び計算され、リンク付け不可能である。PETは、2つのノード間の遭遇を識別し、これらのノードだけの秘密である(他の誰もこれを計算することはできない)。PETの作成は、ディフィ-ヘルマン(Diffie-Hellman:以後、「DH」)鍵交換プロトコルに基づく。
1.1 プライベート遭遇トークン(PET)
既存の近接追跡スキームとは異なり、本発明者らは、「短期Bluetooth識別子」(EBID:Ephemeral Bluetooth Identifiers)から生成されたプライベート遭遇トークン(PET)に基づく曝露通知システム(exposure notification system)を提案する。EBID及びPETは、モバイルデバイスによってローカルで生成及び計算され、リンク付け不可能である。PETは、2つのノード間の遭遇を識別し、これらのノードだけの秘密である(他の誰もこれを計算することはできない)。PETの作成は、ディフィ-ヘルマン(Diffie-Hellman:以後、「DH」)鍵交換プロトコルに基づく。
単純にし、読むのを容易にするために、以下では乗法DH表記(multiplicative DH notation)に言及する。しかしながら、効率性の理由から、これをCurve25519(Curve25519の詳細は、https://en.wikipedia.org/wiki/Curve25519において得ることができる)を用いた(楕円曲線ディフィ-ヘルマン(Elliptic-curve Diffie-Hellman)又はECDHとしても知られている)楕円曲線における離散対数のインスタンスを用いて実施することを提案する。本発明者らは、デバイスが、アプリケーションにおいて予め構成することができる同じグループ構造(順序p及び生成器g)を共有することを仮定する。
各エポックiにおいて、
・デバイスXは、gXiとして定義された新たなEBIDを生成及びブロードキャストする。ここで、Xiは、Xによって生成される秘密である。楕円曲線暗号法及び楕円曲線Curve25519を用いると、gXiは32バイトを必要とする。これは2つの連続Bluetoothパケットにおいて送信される(以下のセクション5.3を参照されたい)。
・デバイスYiからEBID、gYiを受信すると、デバイスXは、K=gXi*Yiを計算し、これをローカルリストに記憶し、PET H(K)を得る。ここで、H()は、SHA-256等の暗号化ハッシュ関数である。このPETは、XとYとの遭遇のための一意の秘密識別子である。
・PET H(K)は、X及びYによってのみ計算することができ、したがって、盗聴者(eavesdroppers)から保護される。これは、決定的ディフィ-ヘルマン(DDH)仮定によって保証される。PETは、異なる個人から到来するコロケーション情報をリンクするサーバの能力を低減するという、EBIDを上回る利点を有する。さらに、この方法は、悪意のある個人が感染した(又は感染した可能性がある)個人によって受信されたEBIDを収集し、これを多くのロケーションにおいてリプレイし、これにより大量の偽陽性を生成する「リプレイ攻撃」(replay attack)を軽減する。
・デバイスXは、gXiとして定義された新たなEBIDを生成及びブロードキャストする。ここで、Xiは、Xによって生成される秘密である。楕円曲線暗号法及び楕円曲線Curve25519を用いると、gXiは32バイトを必要とする。これは2つの連続Bluetoothパケットにおいて送信される(以下のセクション5.3を参照されたい)。
・デバイスYiからEBID、gYiを受信すると、デバイスXは、K=gXi*Yiを計算し、これをローカルリストに記憶し、PET H(K)を得る。ここで、H()は、SHA-256等の暗号化ハッシュ関数である。このPETは、XとYとの遭遇のための一意の秘密識別子である。
・PET H(K)は、X及びYによってのみ計算することができ、したがって、盗聴者(eavesdroppers)から保護される。これは、決定的ディフィ-ヘルマン(DDH)仮定によって保証される。PETは、異なる個人から到来するコロケーション情報をリンクするサーバの能力を低減するという、EBIDを上回る利点を有する。さらに、この方法は、悪意のある個人が感染した(又は感染した可能性がある)個人によって受信されたEBIDを収集し、これを多くのロケーションにおいてリプレイし、これにより大量の偽陽性を生成する「リプレイ攻撃」(replay attack)を軽減する。
PETトークンがパンデミック用途に特有のものではなく、全ての他の既存の近接追跡提案に利益をもたらし得ることは注目に値する。
1.2 プロトコル概観
本明細書において用いられる全ての表記は以下の表1に要約される。提案されるシステムは、図1に示され、ROBERT v2を用いる曝露通知アプリケーション(「App」と称される)をインストールするユーザ2と、保健機関の制御下にあるバックエンドサーバ4(以下で報告サーバと呼ばれる)とを含む。サーバは既知のドメイン名、証明書を用いて構成され、高度にセキュア化されていることが仮定される。
本明細書において用いられる全ての表記は以下の表1に要約される。提案されるシステムは、図1に示され、ROBERT v2を用いる曝露通知アプリケーション(「App」と称される)をインストールするユーザ2と、保健機関の制御下にあるバックエンドサーバ4(以下で報告サーバと呼ばれる)とを含む。サーバは既知のドメイン名、証明書を用いて構成され、高度にセキュア化されていることが仮定される。
サーバとの全ての通信は、(ユーザを再識別するためにサーバによって利用され得るユーザのネットワークメタデータを隠すために)プロキシを通じて行われる。Appは、少なくとも以下の4つの手順を通じてシステムと対話する。
・初期化:ユーザは、サービスの使用を望むとき、公式の信頼されたAppストアからアプリケーションAppをインストールする。そして、Appは、永久識別子(ID)を生成するサーバ4に登録する。IDTable(表1を参照)は、登録されたIDごとにエントリを保持する。記憶された情報は、「識別解除」(de-identified)され、特定のユーザに決して関連付けられない。換言すれば、個人情報はIDTableに記憶されない。
・近接発見:サービスに登録した後、各デバイスAは、
・各エポックにおいて新たなリンク付け不可能なEBIDAを生成し、
・このEBIDAを定期的にブロードキャストし、
・遭遇したデバイスのEBIDを収集し、
・或る特定の条件、例えば、接触長、受信信号強度等が満たされる場合、収集したEBIDからPETトークンを生成し、
・1つ以上のローカルリストに、必要な場合追加のメタデータ(接触長、速度、...)とともに、生成されたPETトークンを記憶する。
・感染ユーザ宣言:個人が検査され、COVID19陽性であると診断されるとき、並びに明示的なユーザ同意及び(例えば医療サービスからの)認証の後、ユーザのスマートフォンのAppが自身のローカルリストを機関のサーバ(以後、報告サーバ)にアップロードし、報告サーバがこれらを曝露PETトークンのグローバルリストEListに加える。
・曝露ステータス要求:Appは、PETトークンの自身のリストを用いて報告サーバを定期的にプローブすることによって、自身の関連ユーザの「曝露ステータス」(exposure status)を問い合わせる(プルメカニズム)。そして、報告サーバは、EListにAppのトークンのうちのいくつが現れるかをチェックし、この情報(並びに場合によっては曝露持続時間及び信号強度等の他のパラメータ)からリスクスコアを計算する。このスコアが所与の閾値よりも大きい場合、ビット「1」(「曝露のリスクがある」と同義)がAppに返送され、そうでない場合、ビット「0」が返送される。メッセージ「1」の受信時、従うべき指示(例えば、検査のために病院へ行く、特定の電話番号にかける、隔離施設に滞在する等)を示す通知をAppのユーザに送信することができる。
・初期化:ユーザは、サービスの使用を望むとき、公式の信頼されたAppストアからアプリケーションAppをインストールする。そして、Appは、永久識別子(ID)を生成するサーバ4に登録する。IDTable(表1を参照)は、登録されたIDごとにエントリを保持する。記憶された情報は、「識別解除」(de-identified)され、特定のユーザに決して関連付けられない。換言すれば、個人情報はIDTableに記憶されない。
・近接発見:サービスに登録した後、各デバイスAは、
・各エポックにおいて新たなリンク付け不可能なEBIDAを生成し、
・このEBIDAを定期的にブロードキャストし、
・遭遇したデバイスのEBIDを収集し、
・或る特定の条件、例えば、接触長、受信信号強度等が満たされる場合、収集したEBIDからPETトークンを生成し、
・1つ以上のローカルリストに、必要な場合追加のメタデータ(接触長、速度、...)とともに、生成されたPETトークンを記憶する。
・感染ユーザ宣言:個人が検査され、COVID19陽性であると診断されるとき、並びに明示的なユーザ同意及び(例えば医療サービスからの)認証の後、ユーザのスマートフォンのAppが自身のローカルリストを機関のサーバ(以後、報告サーバ)にアップロードし、報告サーバがこれらを曝露PETトークンのグローバルリストEListに加える。
・曝露ステータス要求:Appは、PETトークンの自身のリストを用いて報告サーバを定期的にプローブすることによって、自身の関連ユーザの「曝露ステータス」(exposure status)を問い合わせる(プルメカニズム)。そして、報告サーバは、EListにAppのトークンのうちのいくつが現れるかをチェックし、この情報(並びに場合によっては曝露持続時間及び信号強度等の他のパラメータ)からリスクスコアを計算する。このスコアが所与の閾値よりも大きい場合、ビット「1」(「曝露のリスクがある」と同義)がAppに返送され、そうでない場合、ビット「0」が返送される。メッセージ「1」の受信時、従うべき指示(例えば、検査のために病院へ行く、特定の電話番号にかける、隔離施設に滞在する等)を示す通知をAppのユーザに送信することができる。
図2は、上記で説明した近接発見の手順中に行われる交換の概略図を示し、以下のセクション2.2においてより詳細に説明される。
まず、デバイスAはEBID=gAをブロードキャストし、デバイスBはEBID gBをブロードキャストする。そして、EBID gBを検出すると、デバイスAは、PET1=H(「1」|gB*A)及びPET2=H(「2」|gB*A)を検出し、PET1をRTLAに記憶し、PET2をETLAに記憶する。デバイスBは、PET1=H(「1」|gA*B)及びPET2=H(「2」|gA*B)を計算し、PET2をETLBに記憶し、PET1をRTLBに記憶する。様々な実施形態によれば、PET1をETLA又はRTLA(それぞれETLB又はRTLB)に記憶することは、以下で更に説明されることになる、ソート値の決定に依拠することができる。
ROBERT v2プロトコルは、全てのスマートフォン及びサーバが(ネットワーク時間プロトコルを表すNTP、又はセルラモバイルフォンネットワーク情報又はGPS時間情報等のような他の時間同期メカニズムにより)緩く時間同期していると仮定する。時間は、NTP「秒」値として表され、これは、時代0(era 0)について、UTC1900年1月1日0時からの秒数を表す。時間は、(例えば、15分であるが、近接発見プロトコル及び追求される用途、すなわち、検出された遭遇に付加される意味に依拠して他の値が考えられ得る)エポックに離散化される。以下において、変数「epoch_duration_sec」は、秒単位のエポックの持続時間を指定する。本明細書に記載の例において、エポックは、MACアドレスランダム化期間と同期される。
1.3 リスクスコアリング及び通知検討
特定の有効なリスクスコアリングは本明細書の範囲外である。ここで説明される例において、(1)サーバが、ユーザにリスクがあるか否かをユーザに通知するバイナリ返答を返すこと、及び(2)返答が計算されたリスクスコア値のみに基づくことが仮定される。これらの2つの仮定が論考される必要がある。いくつかの理由から、バイナリ情報の代わりに確率値を返すことが有用であり得る。さらに、クエリ返答メカニズムにおいていくらかのランダム性を加えることにより、プライバシを改善することができる(以下のセクション5.2を参照されたい)。
特定の有効なリスクスコアリングは本明細書の範囲外である。ここで説明される例において、(1)サーバが、ユーザにリスクがあるか否かをユーザに通知するバイナリ返答を返すこと、及び(2)返答が計算されたリスクスコア値のみに基づくことが仮定される。これらの2つの仮定が論考される必要がある。いくつかの理由から、バイナリ情報の代わりに確率値を返すことが有用であり得る。さらに、クエリ返答メカニズムにおいていくらかのランダム性を加えることにより、プライバシを改善することができる(以下のセクション5.2を参照されたい)。
リスク評価アルゴリズム及びそのパラメータは、保健機関によって、疫学者と協力して定義及び監視されるべきであることが更に仮定される。パンデミック用途の場合、機関がアルゴリズム及びそのパラメータを経時的に適応させることができることも最も重要である。これらの調節は、状況の発展、特に、曝露された人物の数と、感染した人物の数と、利用可能なリソースと、ウィルス及びその拡散を理解するために疫学研究によってなされた進展とを考慮に入れる必要がある。実際に、近接追跡アプリケーションの主要な成功要因は、既存のヘルスケアインフラストラクチャ内のスムーズな統合であり、特に、応答を局所的な疫学的状況及び利用可能なリソースに適応させることが可能であることである。これは、曝露リスクスコア及び通知が報告サーバによって管理されるシステムを必要とする。同じことは、小売業界又は物流業界に関する他の技術的事例にも当てはまる。
本明細書に提示される手法の主な推進力(driver)は、この手法が、保健サービスにデータの分析を行わせ、感染を受けたリスクが最も高い人物にのみ警告を送信させることである。
主要な課題は、既存の近接追跡フレームワーク内でのアラートの後続の管理(手動の接触追跡、検査、隔離等も含む)である。インフラストラクチャが全ての警告に対処するのに十分な規模及び装備を有していない場合、近接追跡アプリケーションは、(個人へのケアの欠如に起因して)役に立たず、不安を煽るもの、及び(エッセンシャルワーカの迅速であるが不要な撤退を通じて)経済的に壊滅させるものとなり得る。リスク評価及び通知に対する「集中型」手法により、ユーザからのパニック反応又は関心若しくは信頼の喪失のいずれかにつながり得る過剰な警告を回避することが可能になる。
サーバの中心的役割の別の利点は、感染したユーザを特定しようとする攻撃者に対するシステムの耐性を増大させることである。要約すると、デジタル近接追跡ツールは、公共保健政策の1つの要素として展開されるべきであり、公共保健機関の制御下で他の既存の手段との相乗効果で機能するべきである。これは、真に非集中的な手法と不適合であるように見える、任意の実際のパンデミック又はヘルスケア関連曝露通知解決策の本質的な機能要件である。より正確には、例として、リスク計算アルゴリズムがユーザのデバイスにおいて計算される非集中的手法において、保健機関は、曝露した人物の数を認識していない。この情報は単独で、統計目的、及びリスク計算アルゴリズムを実際的な方式において調整することを可能にすることの双方にとって重要である。
2 ROBERT v2プロトコル説明
2.1 アプリケーション初期化
自身のデバイスにアプリケーションをインストールすることを望むユーザ2は、これを公式Apple又はGoogle Play Storesからダウンロードしなくてはならない。アプリケーションAppAをインストールした後、ユーザ2はバックエンドサーバに登録する必要がある。
2.1 アプリケーション初期化
自身のデバイスにアプリケーションをインストールすることを望むユーザ2は、これを公式Apple又はGoogle Play Storesからダウンロードしなくてはならない。アプリケーションAppAをインストールした後、ユーザ2はバックエンドサーバに登録する必要がある。
登録段階は、2つの段階、すなわち、ユーザが匿名認証トークンを得る認証トークン生成と、ユーザが匿名でサーバに登録するユーザ登録とから構成される。
後述するように、これらの段階は、リンク付け不可能であり、ユーザに完全な匿名性を提供する。
1.認証トークン生成:ステップは、ユーザによって、ユーザ登録及び曝露ステータス要求段階において用いられる匿名認証トークンを得るために用いられる。これは、以下のセクション5.1において説明するように、ブラインド署名を用いることによって行うことができる。ユーザは、(Sybil攻撃を制限するために、スマートフォンあたり1つのアプリケーションAppしか存在しないことを検証するように)自身の電話番号を明らかにするが、サーバは、ユーザの電話番号を生成された認証トークンとリンク付けすることができないことに留意されたい。
2.ユーザ登録:ユーザ2は、認証トークンATAを得ると、これをサーバに登録することができる。これは以下のように行うことができる。
a)ユーザ2は、自身の認証トークンATAを含む登録メッセージを送信する。
b)サーバは、認証トークンを検証し、一意の識別子IDA及びそのIDTableにおけるエントリを作成する。本明細書に記載の例において、エントリテーブルは、登録されたユーザごとに、以下の情報を含む。
-IDA(「Aの永久識別子」(Permanent IDentifier for A)):各登録されたAppに一意であり、ランダムに生成される識別子(衝突を避けるために交換なしのランダム抽出プロセス)。
-UNA(「通知されたユーザA」(User A Notified)):このフラグは、関連ユーザが既に曝露のリスクにあることを通知された(「真」の関連値)か否か(「偽」の関連値)を示す。UNAは値「偽」を用いて初期化される。
-SREA(「ステータス要求エポック」(SRE:Status Request Epoch)):ユーザ2が「ステータス要求」を送信した最後のエポックを示す整数。
-LEPMA(曝露PETメタデータのリスト(LEPM:List of Exposed PET Metadata)):このリストは、ユーザの曝露(時間及び周波数情報)を反映し、リスクスコアを計算するのに必要なメタデータ(例えば、COVID19陽性と診断された人物への接触の持続時間及び近接性)を記憶するのに用いられる。プロトコルのこのバージョンにおいて、各要素は、ユーザがCOVID19陽性と診断されたユーザと接触した日付、及びその遭遇の持続時間を符号化する。このリストに含まれる情報は、環境(屋内又は屋外)、信号強度、...に関する情報等のリスクスコアを計算するのに有用な他のタイプのデータを含めるように拡張することができる。
-ERSA(「曝露リスクスコア」(ERS:Exposure Risk Score)):現在のユーザの曝露リスクスコア。
c)サーバ:
i.暗号化鍵EKAを生成する
ii.IDA、EKAをユーザ2に送信する
iii.EKAを用いてIDAを除くIDTable[IDA]の全ての要素を暗号化する。ここで、認証された暗号化スキームを用いることが有利である。
iv.EKAを削除する
1.認証トークン生成:ステップは、ユーザによって、ユーザ登録及び曝露ステータス要求段階において用いられる匿名認証トークンを得るために用いられる。これは、以下のセクション5.1において説明するように、ブラインド署名を用いることによって行うことができる。ユーザは、(Sybil攻撃を制限するために、スマートフォンあたり1つのアプリケーションAppしか存在しないことを検証するように)自身の電話番号を明らかにするが、サーバは、ユーザの電話番号を生成された認証トークンとリンク付けすることができないことに留意されたい。
2.ユーザ登録:ユーザ2は、認証トークンATAを得ると、これをサーバに登録することができる。これは以下のように行うことができる。
a)ユーザ2は、自身の認証トークンATAを含む登録メッセージを送信する。
b)サーバは、認証トークンを検証し、一意の識別子IDA及びそのIDTableにおけるエントリを作成する。本明細書に記載の例において、エントリテーブルは、登録されたユーザごとに、以下の情報を含む。
-IDA(「Aの永久識別子」(Permanent IDentifier for A)):各登録されたAppに一意であり、ランダムに生成される識別子(衝突を避けるために交換なしのランダム抽出プロセス)。
-UNA(「通知されたユーザA」(User A Notified)):このフラグは、関連ユーザが既に曝露のリスクにあることを通知された(「真」の関連値)か否か(「偽」の関連値)を示す。UNAは値「偽」を用いて初期化される。
-SREA(「ステータス要求エポック」(SRE:Status Request Epoch)):ユーザ2が「ステータス要求」を送信した最後のエポックを示す整数。
-LEPMA(曝露PETメタデータのリスト(LEPM:List of Exposed PET Metadata)):このリストは、ユーザの曝露(時間及び周波数情報)を反映し、リスクスコアを計算するのに必要なメタデータ(例えば、COVID19陽性と診断された人物への接触の持続時間及び近接性)を記憶するのに用いられる。プロトコルのこのバージョンにおいて、各要素は、ユーザがCOVID19陽性と診断されたユーザと接触した日付、及びその遭遇の持続時間を符号化する。このリストに含まれる情報は、環境(屋内又は屋外)、信号強度、...に関する情報等のリスクスコアを計算するのに有用な他のタイプのデータを含めるように拡張することができる。
-ERSA(「曝露リスクスコア」(ERS:Exposure Risk Score)):現在のユーザの曝露リスクスコア。
c)サーバ:
i.暗号化鍵EKAを生成する
ii.IDA、EKAをユーザ2に送信する
iii.EKAを用いてIDAを除くIDTable[IDA]の全ての要素を暗号化する。ここで、認証された暗号化スキームを用いることが有利である。
iv.EKAを削除する
サーバはまた、受信した全てのATトークンが1回のみ用いられたことを検証するために、これらを記憶する。代替として、サーバは、(例えば、自身の公開鍵/秘密鍵対を周期的に変更することによって)或る特定の日数のみ有効である認証トークンATを生成することができ、これによりサーバに対する記憶負荷を低減することが可能になる。
2.2 遭遇発見(Encounter discovery)
各ノードAは、2つのテーブル、すなわち曝露トークンリストETLA及び要求トークンリストRTLAを維持する。
各ノードAは、2つのテーブル、すなわち曝露トークンリストETLA及び要求トークンリストRTLAを維持する。
所与の日付の各エポックiにおいて、ノードAは、
1.Ai-1及びEBIDA,i-1を削除し、
2.Aiをランダムに選択し、EBIDA,i=gAiを計算し、
3.Bluetoothを介してEBIDA,iを定期的にブロードキャストし、
4.期限切れの要素、すなわち、CT日よりも前に含まれていた要素を除去することによってRTLA及びETLAをクリーンにする。有利には、本明細書に記載の例において、CTは伝染期間の長さ(通常、14日)である。
1.Ai-1及びEBIDA,i-1を削除し、
2.Aiをランダムに選択し、EBIDA,i=gAiを計算し、
3.Bluetoothを介してEBIDA,iを定期的にブロードキャストし、
4.期限切れの要素、すなわち、CT日よりも前に含まれていた要素を除去することによってRTLA及びETLAをクリーンにする。有利には、本明細書に記載の例において、CTは伝染期間の長さ(通常、14日)である。
ノードBとの遭遇の度に、ノードAは、
1.遭遇BからEBIDB,i=gBiを収集する。
2.遭遇がいくつかの所定の条件を満たす場合、ノードAは、
a)遭遇の持続時間tA,Bを計算し、
b)2つの別個のPETを計算する。
PET1i=H(「1」|gAi*Bi)及びPET2i=H(「2」|gAi*Bi)
c)(ビット列gAiがビット列gBiよりも長い)場合、ノードAは、PET1iをRTLAに記憶し、そのタプル(tuple)(PET2i;tAB;day)をETLAに記憶する。
d)そうでない場合、ノードAはPET2iをRTLAに記憶し、そのタプル(PET1i;tAB;day)をETLAに記憶する。
3.gBiを削除する
1.遭遇BからEBIDB,i=gBiを収集する。
2.遭遇がいくつかの所定の条件を満たす場合、ノードAは、
a)遭遇の持続時間tA,Bを計算し、
b)2つの別個のPETを計算する。
PET1i=H(「1」|gAi*Bi)及びPET2i=H(「2」|gAi*Bi)
c)(ビット列gAiがビット列gBiよりも長い)場合、ノードAは、PET1iをRTLAに記憶し、そのタプル(tuple)(PET2i;tAB;day)をETLAに記憶する。
d)そうでない場合、ノードAはPET2iをRTLAに記憶し、そのタプル(PET1i;tAB;day)をETLAに記憶する。
3.gBiを削除する
上で示したように、デバイスAは、デバイスBとの各遭遇を2つのPET、すなわちPET1及びPET2に符号化し、これらは2つの異なるリストETLA及びRTLAに記憶される。PET1は、パラメータとしてデバイスAに関する値(ここでは、「1」)及び共有秘密gAi*Biを用いて関数H()を適用することによって生成される一方、PET2は、パラメータとしてデバイスBに関する値(ここでは、「2」)及び共有秘密gAi*Biを用いて関数H()を適用することによって生成される。他方で、デバイスBは、厳密に同じ遭遇トークンを生成することになる。ステップc)は、デバイスA及びデバイスBの双方が、生成されたトークン間をどのように区別するか、及びいずれのトークンリストにそれらをアップロードすべきかを知ることを確実にするために、gAi及びgBiの比較を用いる。この比較は、全順序関数を構成し、双方のデバイスが、同期を一切必要とすることなく同じタイプの順序付けを行うことを可能にする機能を意味する。
後述するように、リストのうちの一方(RTLA)を用いて、曝露について報告サーバに問い合わせる一方、他方(ETLA)は、デバイスAのユーザがCOVID19陽性と診断される場合に報告サーバにアップロードされる。
これらの2つのリストは、同じ遭遇に関し、デバイスAのリストETLAの各トークンが、デバイスBのリストRTLBに記憶されるようにデバイスA及びBにおいて生成される。このため、デバイスAのユーザがCOVID19陽性と診断される場合、ユーザBは、COVID19陽性と診断された人物との近接遭遇について通知されるように、リストRTLBからのトークンを用いて報告サーバにポーリングすることができる。同時に、同じ遭遇に関係するリストETLA及びRTLAのトークンは、(デバイスAによる場合を除いて)互いにリンクすることができないため、報告サーバは、ESR_REQ要求におけるリストRTLAからのポーリングトークンと、リストETLAのトークンとを比較することによって、ユーザAの匿名性が奪われることを防ぐ。この保護がなければ、報告サーバは、これらのリンクを用いてそのリストETLAのトークンをともに再接続し、デバイスAのユーザの近接グラフを導出し得る。
一般に、時点tbから、EBIDBをブロードキャストする別のデバイスBと接触しているEBIDAをブロードキャストするデバイスAは、デバイスAが時点teにおいて新たなEBID、EBIDA,i+1の使用を開始する場合、又はデバイスAが時点tfから選択された持続時間(この値はパラメータである)にわたってEBIDBの受信を停止する場合、新たなPETトークンを生成する。後者の事例は、デバイスBがそのEBIDBをEBIDB,iからEBIDB,i+1に変更するとき、又はデバイスBがデバイスAから離れたか又は一時的に障害物の後ろにあるときに生じ得る。
様々な状況によれば、デバイスは、単一の連続近接遭遇についていくつかのPETを生成するように導かれる場合がある。本発明は、この状況の制御を可能にする。
図3は、上記の規則と、デバイスA及びデバイスB間の緩い時間同期とを考慮に入れて2つのデバイスA及びデバイスBによって生成することができる様々なPETを示す。これは、本発明が、真に非集中的コンテキストでの匿名近接遭遇検出を可能にする程度を理解することを可能にする。
この図において、デバイスAは時点T0においてgAのブロードキャストを開始する。デバイスAは、時点T0+t0においてデバイスBに遭遇する。時点T0+t0+t1において、デバイスAは自身のEBIDを変更する。結果として、デバイスAは、PETA,1H(gB*A)を生成し、これをその持続時間t1と合わせて記憶する。同様に、時点T0+t0+t1において、デバイスBは、gAをもはや受信せず、したがって、PETB,1H(gA*B)を生成し、これをその持続時間t1と合わせて記憶する。そして、デバイスBが時点T0+t0+t1+t2においてそのEBIDを変更するとき、デバイスBは、PETB,2H(gA’*B)を生成し、これをその持続時間t2と合わせて記憶する。同様に、時点T0+t0+t1+t2において、デバイスAは、PETA,2H(gB*A’)を生成し、これをその持続時間t2と合わせて記憶し、デバイスAとデバイスBとの遭遇が時点T0+t0+t1+t2+t3+t4において完全に終了するまで以下同様である。
2.3 感染デバイス宣言
ユーザ2は、病院又は医療機関において検査され、COVID19陽性と診断される場合、自身のETLAリストの各要素をサーバにアップロードするように提案される。例えば、可能な解決策は、ユーザ2が、COVID19陽性と診断されると、病院又は医療機関から認証コードを得ることである。そして、ユーザ2は、このコードを用いて、N個の匿名認証トークンを得ることができる。ここで、Nはユーザ2のETLAリストにおける要素の数である(例えば、セクション5.1を参照されたい)。そして、ユーザ2は、これらのトークンを用いて、自身のAppのETLAの要素のそれぞれを報告サーバに1つずつアップロードすることができる。AppAと保健機関との特定の対話についてはここでは詳細に説明しない。なぜならば、これらは、医療システムごとに異なり、本発明の核心を構成しないためである。有利には、このアップロードは匿名で行われ、特に、ユーザ2のアイデンティティも、そのEBIDのうちのいずれも報告サーバに明らかにしない。
ユーザ2は、病院又は医療機関において検査され、COVID19陽性と診断される場合、自身のETLAリストの各要素をサーバにアップロードするように提案される。例えば、可能な解決策は、ユーザ2が、COVID19陽性と診断されると、病院又は医療機関から認証コードを得ることである。そして、ユーザ2は、このコードを用いて、N個の匿名認証トークンを得ることができる。ここで、Nはユーザ2のETLAリストにおける要素の数である(例えば、セクション5.1を参照されたい)。そして、ユーザ2は、これらのトークンを用いて、自身のAppのETLAの要素のそれぞれを報告サーバに1つずつアップロードすることができる。AppAと保健機関との特定の対話についてはここでは詳細に説明しない。なぜならば、これらは、医療システムごとに異なり、本発明の核心を構成しないためである。有利には、このアップロードは匿名で行われ、特に、ユーザ2のアイデンティティも、そのEBIDのうちのいずれも報告サーバに明らかにしない。
予防策が不十分である場合、ETLAのアップロードは、COVID19陽性と診断されたユーザ2の非特定化されたソーシャル/近接グラフを報告サーバが構築するのに潜在的に用いられる可能性がある。多くのそのようなソーシャル/近接グラフの統合は、いくつかの条件下で、そのノードの匿名性が奪われることにつながり、結果としてユーザのソーシャルグラフとなる可能性がある。ETLAの単一ステップアップロードを行う代わりに、ETLAの任意の2つの要素間のリンクを「破断する」(break)ために、本発明は、その要素のそれぞれを、独立してランダムな順序でアップロードすることを提案する。これを達成するために、様々な解決策を構想することができる。
・ETLAの各要素は、Mixnet又はプロキシを用いることによって1つずつサーバに送信される。結果として、アップロードが長期にわたって分散されるため、報告サーバはこれらを特定のETLと関連付けることができない。
・ETLAは、(例えば病院又は保健機構における)信頼されたサーバにアップロードされる。信頼されたサーバは、異なるETLからの要素を混合し、報告サーバへのアップロードに進む。そして、報告サーバは、信頼されたサーバによって提供される特定のAPIを介してのみ、曝露されたエントリにアクセスすることができる。
・報告サーバは、ETLのアップロードを処理するセキュアなハードウェアモジュールを備えている。そして、報告サーバは、セキュアなハードウェアモジュールによって提供される特定のAPIを介してのみ、曝露されたエントリにアクセスを有する。
・ETLAの各要素は、Mixnet又はプロキシを用いることによって1つずつサーバに送信される。結果として、アップロードが長期にわたって分散されるため、報告サーバはこれらを特定のETLと関連付けることができない。
・ETLAは、(例えば病院又は保健機構における)信頼されたサーバにアップロードされる。信頼されたサーバは、異なるETLからの要素を混合し、報告サーバへのアップロードに進む。そして、報告サーバは、信頼されたサーバによって提供される特定のAPIを介してのみ、曝露されたエントリにアクセスすることができる。
・報告サーバは、ETLのアップロードを処理するセキュアなハードウェアモジュールを備えている。そして、報告サーバは、セキュアなハードウェアモジュールによって提供される特定のAPIを介してのみ、曝露されたエントリにアクセスを有する。
このため、報告サーバは、COVID19陽性と診断された全てのユーザから到来した全ての曝露されたタプル(token;day;t)のグローバルリストEListを維持する。デバイスは無関係のデータを周期的にフラッシュするため、関連トークンのみを報告サーバにアップロードすることが保証される。代替的に、報告サーバは、トークンがもはや関連しなくなると、定期的にトークンをフラッシュすることもできる。
2.4 曝露ステータス要求
ユーザ2に「リスクがある」か否か、すなわち、ユーザ2が最近のCT日に感染した及び/又は伝染力があるユーザに遭遇したかどうかをチェックするために、アプリケーションAppAは、IDAの報告サーバに「曝露ステータス」要求(ESR_REQ)を定期的に送信する。例えば、これらのクエリ(query:問い合わせ)は定期的に、最大でESR_minエポックごとに送信される。例えば、ユーザが毎日N個のクエリを行うことを許可されている場合、ESR_minは、T=86400/(N*epoch_duration_sec)として定義される。そして、報告サーバは、「リスクスコア」(risk score)値を計算する。報告サーバは、「リスクスコア」が閾値よりも大きく、ユーザに「リスクがある」ことを示すとき、「1」に設定され、そうでない場合、「0」に設定されるESR_REPメッセージを用いて返答する。
ユーザ2に「リスクがある」か否か、すなわち、ユーザ2が最近のCT日に感染した及び/又は伝染力があるユーザに遭遇したかどうかをチェックするために、アプリケーションAppAは、IDAの報告サーバに「曝露ステータス」要求(ESR_REQ)を定期的に送信する。例えば、これらのクエリ(query:問い合わせ)は定期的に、最大でESR_minエポックごとに送信される。例えば、ユーザが毎日N個のクエリを行うことを許可されている場合、ESR_minは、T=86400/(N*epoch_duration_sec)として定義される。そして、報告サーバは、「リスクスコア」(risk score)値を計算する。報告サーバは、「リスクスコア」が閾値よりも大きく、ユーザに「リスクがある」ことを示すとき、「1」に設定され、そうでない場合、「0」に設定されるESR_REPメッセージを用いて返答する。
これは、例えば以下のように行うことができる。
1.デバイスAが、TLSプロキシを介して、IDA、EKA、及びRTLAのPETトークンのうちのいくつか又は全てを含むESR_REQA,iメッセージを報告サーバに周期的に送信する。
2.報告サーバは、IDTable[IDA]を取り出し、その要素のそれぞれを、EKAを用いて解読する。
3.報告サーバは、(各ユーザによって行われる日毎の要求の数を制限するために)(i-SREA)が閾値ESR_minよりも低いか否かを検証する。ここで、iは現在のエポック数である。低い場合、サーバはエラーコードを有するESR_REPA,iメッセージを返す。そして、サーバは、EKAを用いてIDTable[IDA]の各要素を暗号化し、EKAを消去する。そうでない場合、継続する。
4.報告サーバはUNAフラグを検証する。UNAが「真」に設定される場合、報告サーバは「1」に設定された同じESR_REPA,iメッセージ(ユーザに曝露のリスクがあることを示す)を返す。ユーザが既に「リスクがある」ことを通知されたアプリケーションAppが、このアプリケーションのトラフィックを、ネットワークトラフィックの観測時に他のユーザのアプリケーションのトラフィックと区別不可能にするために、ESR REQA,iメッセージの送信及び有効な回答の受信を継続することが優れた実践法である。そして、サーバは、EKAを用いてIDTable[IDA]の各要素を暗号化し、EKAを消去する。そうでない場合、継続する。
5.そして、報告サーバは、RTLAのPETトークンのうちのいずれかがEListの任意のタプル(token;day;t)に現れるか否かをチェックする。現れる場合、サーバは、EListからマッチするタプルを除去し、全ての(day;t)対をIDTable[IDA]のLEPMAリストに追加する。
6.報告サーバは、ユーザ2の曝露リスクスコアを計算し、これをIDTable[IDA](フィールドERSA内)に記憶する。代替的に、報告サーバは、IDTable内に最後のCTにおいて生成されたRTLトークンを記憶することもできる。これにより、所与のデバイスは、そのESR_REQクエリにおいて日毎に「新たな」トークンを送信するのみでよいため、いくらかの帯域幅が節減される。加えて、これにより、日毎のトークンをローカルでのみ記憶するデバイスにおけるセキュリティが改善する。
7.このとき、2つの状況が可能である。
a)計算されたリスクスコアが、ユーザに曝露のリスクがあることを示す場合、サーバはフラグUNAを「真」に設定する。そして、(ユーザに曝露のリスクがあることを示す)「1」に設定されたESR_REPA,iメッセージがユーザ2に返される。
b)計算されたリスクスコアが任意の大きなリスクを示さない場合、「0」に設定されたESR_REPA,iメッセージがユーザ2に返される。
8.返答メッセージを送信した後、報告サーバは、EKAを用いてIDTable[IDA]の各要素を暗号化し、EKAを消去する。
9.ESR_REPA,iが「1」に設定される場合、ユーザ2は、AppAからの通知を、(例えば、検査を受けるために病院に行く、特定の番号に電話をかける、又は隔離を継続する)所定の指示とともに受信する。
1.デバイスAが、TLSプロキシを介して、IDA、EKA、及びRTLAのPETトークンのうちのいくつか又は全てを含むESR_REQA,iメッセージを報告サーバに周期的に送信する。
2.報告サーバは、IDTable[IDA]を取り出し、その要素のそれぞれを、EKAを用いて解読する。
3.報告サーバは、(各ユーザによって行われる日毎の要求の数を制限するために)(i-SREA)が閾値ESR_minよりも低いか否かを検証する。ここで、iは現在のエポック数である。低い場合、サーバはエラーコードを有するESR_REPA,iメッセージを返す。そして、サーバは、EKAを用いてIDTable[IDA]の各要素を暗号化し、EKAを消去する。そうでない場合、継続する。
4.報告サーバはUNAフラグを検証する。UNAが「真」に設定される場合、報告サーバは「1」に設定された同じESR_REPA,iメッセージ(ユーザに曝露のリスクがあることを示す)を返す。ユーザが既に「リスクがある」ことを通知されたアプリケーションAppが、このアプリケーションのトラフィックを、ネットワークトラフィックの観測時に他のユーザのアプリケーションのトラフィックと区別不可能にするために、ESR REQA,iメッセージの送信及び有効な回答の受信を継続することが優れた実践法である。そして、サーバは、EKAを用いてIDTable[IDA]の各要素を暗号化し、EKAを消去する。そうでない場合、継続する。
5.そして、報告サーバは、RTLAのPETトークンのうちのいずれかがEListの任意のタプル(token;day;t)に現れるか否かをチェックする。現れる場合、サーバは、EListからマッチするタプルを除去し、全ての(day;t)対をIDTable[IDA]のLEPMAリストに追加する。
6.報告サーバは、ユーザ2の曝露リスクスコアを計算し、これをIDTable[IDA](フィールドERSA内)に記憶する。代替的に、報告サーバは、IDTable内に最後のCTにおいて生成されたRTLトークンを記憶することもできる。これにより、所与のデバイスは、そのESR_REQクエリにおいて日毎に「新たな」トークンを送信するのみでよいため、いくらかの帯域幅が節減される。加えて、これにより、日毎のトークンをローカルでのみ記憶するデバイスにおけるセキュリティが改善する。
7.このとき、2つの状況が可能である。
a)計算されたリスクスコアが、ユーザに曝露のリスクがあることを示す場合、サーバはフラグUNAを「真」に設定する。そして、(ユーザに曝露のリスクがあることを示す)「1」に設定されたESR_REPA,iメッセージがユーザ2に返される。
b)計算されたリスクスコアが任意の大きなリスクを示さない場合、「0」に設定されたESR_REPA,iメッセージがユーザ2に返される。
8.返答メッセージを送信した後、報告サーバは、EKAを用いてIDTable[IDA]の各要素を暗号化し、EKAを消去する。
9.ESR_REPA,iが「1」に設定される場合、ユーザ2は、AppAからの通知を、(例えば、検査を受けるために病院に行く、特定の番号に電話をかける、又は隔離を継続する)所定の指示とともに受信する。
デバイスAを用いる所与のユーザについて、アップロードされたリストETLA及び要求RTLAにおいて用いられるPETトークンは、同じ遭遇について異なるため、サーバはこれらの要素をリンクさせることができず、いかなる近接グラフも構築することができない。
さらに、要求から漏出する唯一の情報は、要素の数であり、これは、RTLAに含まれる遭遇数に関する何らかの情報を与え得る。1つの解決策は、要求内の要素数を固定値Tに設定することである。RTLAの要素数NAがTよりも小さい場合、AppAはその要求を(T-NA)個の偽トークンに埋め込む(pad)ことができる。要素の数NAがTよりも大きい場合、AppAは、その要求についてRTLAのT個の要素のみを用いる。他の変形は、RTLAの要素をBloom又はCuckooフィルタに符号化することを含むことができる。
2.5 通知されたデバイスの管理
デバイスが自身のユーザにリスクがあることを通知されるとき、そのUNAフラグは、IDTableにおいて真に設定される。これ以降、報告サーバは、通常通り自身のESR_REQクエリを処理するが、ESR_REQの結果に関わらず、「1」に設定されたESR_REPメッセージを用いて返答し続ける。
デバイスが自身のユーザにリスクがあることを通知されるとき、そのUNAフラグは、IDTableにおいて真に設定される。これ以降、報告サーバは、通常通り自身のESR_REQクエリを処理するが、ESR_REQの結果に関わらず、「1」に設定されたESR_REPメッセージを用いて返答し続ける。
「リスクがある」に設定されているとき、通知されたデバイスユーザはいくつかのオプションを有する。
-ユーザが検査を受け、COVID19陽性と診断される。
・その場合、ユーザは、セクション2.3に記載されたように自身のETLAリストをアップロードすることができる。
・これと独立して、ユーザは、サーバに、識別子IDAが検査を受けて陽性であったことを、(本明細書には指定しない)特定のプロトコルを介して通知することができる。この通知は、以前のETLAリストアップロードと独立して行われ、合わせてリンク付けすることができない(報告サーバは、IDAによってアップロードされたPETトークンを識別することができない)。この情報は、保健機関がリスクスコア関数を較正するのに必須である。
-ユーザが検査を受け、COVID19陰性と診断される。
・ユーザは、報告サーバに、識別子IDAが検査を受けて陰性であったことを、(本明細書には指定しない)特定のプロトコルを介して通知することができる。結果として、報告サーバにおいてUNAフラグが「偽」に再設定される。
-ユーザは、検査を受けないこと、又は報告サーバに自身の検査に関して知らせないことを決める。
・その場合、ユーザの「リスクがある」ステータスは、或る特定の固定の期間(3~4日、定義される値)の後に再設定することができる。
-ユーザが検査を受け、COVID19陽性と診断される。
・その場合、ユーザは、セクション2.3に記載されたように自身のETLAリストをアップロードすることができる。
・これと独立して、ユーザは、サーバに、識別子IDAが検査を受けて陽性であったことを、(本明細書には指定しない)特定のプロトコルを介して通知することができる。この通知は、以前のETLAリストアップロードと独立して行われ、合わせてリンク付けすることができない(報告サーバは、IDAによってアップロードされたPETトークンを識別することができない)。この情報は、保健機関がリスクスコア関数を較正するのに必須である。
-ユーザが検査を受け、COVID19陰性と診断される。
・ユーザは、報告サーバに、識別子IDAが検査を受けて陰性であったことを、(本明細書には指定しない)特定のプロトコルを介して通知することができる。結果として、報告サーバにおいてUNAフラグが「偽」に再設定される。
-ユーザは、検査を受けないこと、又は報告サーバに自身の検査に関して知らせないことを決める。
・その場合、ユーザの「リスクがある」ステータスは、或る特定の固定の期間(3~4日、定義される値)の後に再設定することができる。
いずれの場合も、「リスクがある」と通知されたアプリケーションは、EBIDの送受信及びPETの計算を継続する。これは、例えばユーザが検査結果を待っているときに必要とされる。ユーザが陰性であるとわかった場合、遭遇が記録され続け、ユーザが報告サーバにおける自身のステータスをロック解除するや否や、更新された曝露ステータスを、履歴におけるギャップなしで計算することができる。
陽性と診断されたユーザは、伝染力がある限り、アプリケーションを使用し続けるオプションを有するべきである。この期間中、ユーザは、自身のETLリストをサーバに定期的にアップロードしなくてはならない。
当然ながら、上記の手順は疫学者及び保健機関によって見直すことができ、したがって、変更を受ける。
3 プライバシ保護
3.1 サーバデータ侵害
サーバは、仮名のデータのみを記憶する。加えて、この情報は最小限にされ、曝露リスクスコアを計算するためにのみ用いられる。さらに、デバイスAのIDTableにおける各エントリは、鍵EKAを用いて暗号化され、鍵EKAは、デバイスAにのみ記憶され、ESR_REQクエリとともに報告サーバに提供される。
3.1 サーバデータ侵害
サーバは、仮名のデータのみを記憶する。加えて、この情報は最小限にされ、曝露リスクスコアを計算するためにのみ用いられる。さらに、デバイスAのIDTableにおける各エントリは、鍵EKAを用いて暗号化され、鍵EKAは、デバイスAにのみ記憶され、ESR_REQクエリとともに報告サーバに提供される。
結果として、サーバのデータ侵害の場合、全ての有用な情報が暗号化される。このとき、データ侵害に関連付けられるリスクは最小限となる。
3.2 (悪意のあるユーザ及び機関による)受動的な盗聴/トラッキング
PETトークンは、各遭遇に一意であり、ローカルで計算されるため、受動的な盗聴者は、EBIDのみを取得し、これらはエポックごとに変化する。さらに、機関は、いくつかのBluetooth受信機を展開する場合、決定的ディフィ-ヘルマン(DDH:decisional Diffie-Hellman)仮定の結果として、任意のEBID(すなわち、gAi)を任意のPETトークンに関係付けることができない。したがって、サーバ又はユーザによる受動的なトラッキングは可能でない。
PETトークンは、各遭遇に一意であり、ローカルで計算されるため、受動的な盗聴者は、EBIDのみを取得し、これらはエポックごとに変化する。さらに、機関は、いくつかのBluetooth受信機を展開する場合、決定的ディフィ-ヘルマン(DDH:decisional Diffie-Hellman)仮定の結果として、任意のEBID(すなわち、gAi)を任意のPETトークンに関係付けることができない。したがって、サーバ又はユーザによる受動的なトラッキングは可能でない。
3.3 (悪意のあるユーザによる)能動的な盗聴/トラッキング
ユーザによる能動的な盗聴/トラッキングは可能でない。
ユーザによる能動的な盗聴/トラッキングは可能でない。
3.4 (悪意のある機関による)能動的な盗聴/トラッキング
機関が能動的であり、例えばgZを含む自身の独自のEBIDもブロードキャストするBluetoothデバイスを展開する場合、ターゲットデバイスAは、PETトークンH(「1」|gA*Z)及びH(「2」|gA*Z)を生成及び記憶する。報告サーバのデバイスは、サーバがターゲットのESR REQメッセージを識別し、場合によってはそのロケーションのうちのいくつかをトラッキングするのに用いることができる同じトークンも生成することができる。デバイスのESR_REQクエリは(ユーザのIDAを含むので)リンク可能であるため、これらのトラッキングデバイスが十分あれば、サーバは場合によってはいくつかのユーザを再識別し得る。
機関が能動的であり、例えばgZを含む自身の独自のEBIDもブロードキャストするBluetoothデバイスを展開する場合、ターゲットデバイスAは、PETトークンH(「1」|gA*Z)及びH(「2」|gA*Z)を生成及び記憶する。報告サーバのデバイスは、サーバがターゲットのESR REQメッセージを識別し、場合によってはそのロケーションのうちのいくつかをトラッキングするのに用いることができる同じトークンも生成することができる。デバイスのESR_REQクエリは(ユーザのIDAを含むので)リンク可能であるため、これらのトラッキングデバイスが十分あれば、サーバは場合によってはいくつかのユーザを再識別し得る。
3.5 (悪意のある機関による)社会的対話グラフの再構築
デバイスAのユーザは、COVID19陽性と診断されるとき、上記で説明したように、自身のETLAの全ての要素を独立して匿名でアップロードする。結果として、報告サーバは、ユーザとアップロードされたPETトークンとの間にも、アップロードされたPETトークン自体の間にもリンクを作成することができない。
デバイスAのユーザは、COVID19陽性と診断されるとき、上記で説明したように、自身のETLAの全ての要素を独立して匿名でアップロードする。結果として、報告サーバは、ユーザとアップロードされたPETトークンとの間にも、アップロードされたPETトークン自体の間にもリンクを作成することができない。
デバイスAのユーザが自身の曝露ステータスについてサーバに問い合わせるとき、サーバは、ESR_REQクエリに含まれる全てのPETトークンにIDAをリンク付けすることができる。しかしながら、ESR_REQクエリにおいて用いられるPETトークンは、デバイスAのユーザが診断を受ける予定であった場合、報告サーバにアップロードされるトークンと異なる。結果として、報告サーバは、そのEListにおける被曝露トークン(exposed token)と、曝露要求におけるトークンとの間の任意のリンクを推測することができない。
さらに、EBIDを交換し、関連PETトークンを構築したそれぞれのデバイスA及びBの2つのユーザは、曝露要求を用いてサーバに要求するとき、異なるトークンを用いてこれを行う。このため、報告サーバは、これらの要求においてトークンをリンク付けすることができない。
3.6 (悪意のあるユーザによる)感染デバイス再識別
ユーザは、感染接触を識別することができない。なぜならば、この情報はサーバ上に保持され、ユーザは自身の曝露リスクスコアのみを得るためである。しかしながら、全てのスキームに固有の「1エントリ」攻撃が依然として可能である。
ユーザは、感染接触を識別することができない。なぜならば、この情報はサーバ上に保持され、ユーザは自身の曝露リスクスコアのみを得るためである。しかしながら、全てのスキームに固有の「1エントリ」攻撃が依然として可能である。
そのような攻撃において、敵対者(adversary)は、自身のローカルリストにおいて、UserTに対応する1つのみのエントリを有する(これは、Bluetoothインタフェースをオフにし、敵対者が自身の被害者の付近になったときにオンに切り替え、再びオフに切り替えることによって容易に達成することができる)。敵対者は、「リスクがある」ことを通知されると、UserTがCOVID19陽性と診断されたことを学習する。
この攻撃は、以下によって軽減することができる。
-ユーザに、Sybil攻撃を制限するために登録することを要求すること。
-各ノードが日毎に行うことができる要求数を制限するとともに、ユーザに「リスクがある」と通知されるときは更にこれを制限すること。この対抗手段は攻撃のスケールを制限する。
-セクション5.2に提示されるように確率通知スキームを用いること。
-要求側ユーザの被曝露トークン数が厳密に1よりも大きい場合にのみ「1」に設定されるESR_REPを送信すること。
-返答「1」を提供する前に、要求が少なくともN個のトークンを含むことをサーバに検証させること。しかしながら、この対抗手段は、敵対者がフェイクトークンをターゲットトークンとともに用いることを阻止しない。
-ユーザに、Sybil攻撃を制限するために登録することを要求すること。
-各ノードが日毎に行うことができる要求数を制限するとともに、ユーザに「リスクがある」と通知されるときは更にこれを制限すること。この対抗手段は攻撃のスケールを制限する。
-セクション5.2に提示されるように確率通知スキームを用いること。
-要求側ユーザの被曝露トークン数が厳密に1よりも大きい場合にのみ「1」に設定されるESR_REPを送信すること。
-返答「1」を提供する前に、要求が少なくともN個のトークンを含むことをサーバに検証させること。しかしながら、この対抗手段は、敵対者がフェイクトークンをターゲットトークンとともに用いることを阻止しない。
3.7 リプレイ攻撃
通信が対称であると仮定されるため、可能でない。例えば、悪意のあるデバイスEがEBIDCをデバイスAにリプレイする場合、デバイスAは対応するPET1及びPET2を計算して記憶する。しかしながら、デバイスCは、これらの値を自身のRTL及びETLテーブルに有しない。
通信が対称であると仮定されるため、可能でない。例えば、悪意のあるデバイスEがEBIDCをデバイスAにリプレイする場合、デバイスAは対応するPET1及びPET2を計算して記憶する。しかしながら、デバイスCは、これらの値を自身のRTL及びETLテーブルに有しない。
3.8 リレー攻撃
最大で1つのエポック内でのみ可能である。
最大で1つのエポック内でのみ可能である。
3.9 誤警報投入攻撃(False Alert Injection Attacks)
汚染は、悪意のあるノードが診断を受けたユーザと共謀して数人の被害者の識別子をユーザの接触リストに含める攻撃である。悪意のある敵対者の目標は、ターゲット被害者のAppに偽アラートを生じさせることである。
汚染は、悪意のあるノードが診断を受けたユーザと共謀して数人の被害者の識別子をユーザの接触リストに含める攻撃である。悪意のある敵対者の目標は、ターゲット被害者のAppに偽アラートを生じさせることである。
この攻撃は、共謀ユーザ及び被害者が自身のPETを計算するために対話することを必要とする。したがって、そのような攻撃は、リレー攻撃を介してのみ可能である。
4 ROBERT v2のステートレス・バージョン
上で示すように、ROBERT v2において、報告サーバは、登録されたユーザに関するいくらかの情報を記憶する。この情報は最小限であり、セキュアに記憶される。本出願人は、この特徴が、例えば登録ユーザ数を制御し、要求頻度を制限することによっていくつかの攻撃を軽減することを可能にするため、本発明のスキームの強みであることを発見した。
上で示すように、ROBERT v2において、報告サーバは、登録されたユーザに関するいくらかの情報を記憶する。この情報は最小限であり、セキュアに記憶される。本出願人は、この特徴が、例えば登録ユーザ数を制御し、要求頻度を制限することによっていくつかの攻撃を軽減することを可能にするため、本発明のスキームの強みであることを発見した。
この特徴は、保健機関が、状況の発展に従ってリスクスコアを計算及び更新することも可能にし、セクション1.3に論じたように、保健機関に、リスクスコア関数を最適化するために非常に価値が高い可能性があるユーザ曝露に関する情報を提供する。他の技術的事例において、この特徴は、進化するパラダイムにシステムをより容易に適応させることを可能にする。
とはいえ、ROBERT v2をステートレス・システム(a state-less system)へと変換することが可能である。ここで、報告サーバは、COVID19陽性と診断されたユーザによってアップロードされたELTリストPETトークンと、ESR_REQクエリに含まれるRTLリストトークンとの間の単なる「整合マシン」(matching machine)である。
このとき、プロトコルは以下のように動作することができる。
-アプリケーション初期化
ユーザはサーバに登録する必要がない。ユーザは、日毎にCT個の異なる匿名認証トークンを得るのみでよい。これらの認証トークンのそれぞれは、特定の日にのみ有効であるべきであり、登録中にバッチで得ることができる。例えば、ユーザは、CT個の異なる鍵の下、日毎にCT個のトークン(毎日異なり、di、di-1、di-2,...について今日使用可能なトークン、di+1、di、di-1について明日使用可能なトークン等)を得る。トークンの各役割について特定の署名鍵が用いられる。これは、ブラインド署名を用いたオンライン電子キャッシュスキーム「a la Chaum」において行われるのと同じ特質(vein)である。
-遭遇発見
上記で説明したROBERT v2プロトコルと同様。
-感染デバイス宣言
上記で説明したROBERT v2プロトコルと同様。
-曝露ステータス要求
ユーザはリンク付け不可能なESR_REQクエリを用いて報告サーバに問い合わせし、クエリはそれぞれ、異なるRTLAの要素のサブセットを含む。各ESR_REQクエリは、例えば、同じ日の間に生成されたPETトークンを含むことができる。この場合、各日diにおいて、ユーザは、CT個の異なるリンク付け不可能なESR_REQクエリ(1つはdi中に生成されたトークンを含み、1つはdi-1中に生成されたトークンを含み、...、1つはdi-CT中に生成されたトークンを含む)を送信する。
-アプリケーション初期化
ユーザはサーバに登録する必要がない。ユーザは、日毎にCT個の異なる匿名認証トークンを得るのみでよい。これらの認証トークンのそれぞれは、特定の日にのみ有効であるべきであり、登録中にバッチで得ることができる。例えば、ユーザは、CT個の異なる鍵の下、日毎にCT個のトークン(毎日異なり、di、di-1、di-2,...について今日使用可能なトークン、di+1、di、di-1について明日使用可能なトークン等)を得る。トークンの各役割について特定の署名鍵が用いられる。これは、ブラインド署名を用いたオンライン電子キャッシュスキーム「a la Chaum」において行われるのと同じ特質(vein)である。
-遭遇発見
上記で説明したROBERT v2プロトコルと同様。
-感染デバイス宣言
上記で説明したROBERT v2プロトコルと同様。
-曝露ステータス要求
ユーザはリンク付け不可能なESR_REQクエリを用いて報告サーバに問い合わせし、クエリはそれぞれ、異なるRTLAの要素のサブセットを含む。各ESR_REQクエリは、例えば、同じ日の間に生成されたPETトークンを含むことができる。この場合、各日diにおいて、ユーザは、CT個の異なるリンク付け不可能なESR_REQクエリ(1つはdi中に生成されたトークンを含み、1つはdi-1中に生成されたトークンを含み、...、1つはdi-CT中に生成されたトークンを含む)を送信する。
報告サーバは、要求に含まれる任意のトークンが被曝露トークンのリストEListに現れるか否かをチェックすることによって、これらのESR_REQクエリのそれぞれを独立して処理する。そして、報告サーバは、各要求の結果としての曝露リスクスコアを計算し、結果を要求デバイスに返送する。
この拡張により、報告サーバは、ユーザの「グローバル」曝露リスクスコアをもはや計算することができず、リンク付け不可能な「日毎の」リスクスコアのみを計算することができることに留意されたい。デバイスは、グローバルスコアに集約する必要がある(異なるCT日の前の日についての)CT個の異なるリスクスコアを得る。これは、全てのAppが、定期的に更新されることを必要とする場合がある集約関数(aggregation function)を含まなくてはならないことも暗に意味する。
最後に、全ての電話にサーバのEListに含まれる曝露PETトークンを公開することによって、リスク評価を完全に非集中化することも可能である。このとき、結果として得られるスキームは、DP3T等のいわゆる「非集中化」手法に非常に類似している。しかしながら、本出願人は、感染デバイスの再識別に対する耐性を減少させることについてこの手法が不満足であることを発見した。さらに、リスクスコア計算のこの完全な非集中化は、多くの制御不可能な通知の生成につながり得る。これは、集団に劇的な影響を有する可能性があり、システムの信頼を低下させ、結果として、その採用率を低下させる可能性がある(上記のセクション1.3を参照されたい)。
5 付録
5.1 認証トークン生成
サーバが公開鍵(e,n)及び秘密鍵(d,n).を有するRSA証明書を有すると仮定する。
5.1 認証トークン生成
サーバが公開鍵(e,n)及び秘密鍵(d,n).を有するRSA証明書を有すると仮定する。
TLSプロキシチャネルを用いて以下が実行される。
ユーザ------>phone_number------>サーバ
サーバは、ID=H(phone_number)を計算し、IDが存在しないことをチェックする。サーバは、SMSを介してコードPINをユーザに送信する。SMSを用いて、ユーザが電話番号、このためデバイスを所有することを検証する。PINコードは、ユーザがSIMカードを有しない場合、別のメカニズムを介して得ることができることに留意されたい。例えば、PINコードは、医師又は医療機関によって、例えば電子メールを介して配信することができる。
ユーザは2つのランダムなc及びRを生成し、ce.H(R)(mod n)を計算し、以下を送信する。
ユーザ------>PIN、ce.H(R)(mod n)------>サーバ
サーバはPINを検証し、REP=(ce.R)d=c:H(R)d(mod n)を計算する。
ユーザ<------REP=c.H(R)d(mod n)<------クライアント
ユーザは、シグマ=REP/c=H(R)d(mod n)を計算し、認証トークン(R,sigma)を得る。
サーバは電話番号及びREPを削除する。
ユーザ------>phone_number------>サーバ
サーバは、ID=H(phone_number)を計算し、IDが存在しないことをチェックする。サーバは、SMSを介してコードPINをユーザに送信する。SMSを用いて、ユーザが電話番号、このためデバイスを所有することを検証する。PINコードは、ユーザがSIMカードを有しない場合、別のメカニズムを介して得ることができることに留意されたい。例えば、PINコードは、医師又は医療機関によって、例えば電子メールを介して配信することができる。
ユーザは2つのランダムなc及びRを生成し、ce.H(R)(mod n)を計算し、以下を送信する。
ユーザ------>PIN、ce.H(R)(mod n)------>サーバ
サーバはPINを検証し、REP=(ce.R)d=c:H(R)d(mod n)を計算する。
ユーザ<------REP=c.H(R)d(mod n)<------クライアント
ユーザは、シグマ=REP/c=H(R)d(mod n)を計算し、認証トークン(R,sigma)を得る。
サーバは電話番号及びREPを削除する。
そして、ユーザは、ESR_REQを送信するとき、又は登録段階中、自身の認証トークンを用いて、自身が登録ユーザであることを証明することができる。
しかしながら、Sybil攻撃を制限するためにスマートフォンあたり1つのアプリケーションしか存在しないことをユーザが検証するために自身の電話番号を明らかにするものの、サーバは、トークン(R,sigma)を任意の電話番号にリンク付けすることができないため、ユーザの電話番号を生成された認証トークンとリンク付けすることができないことに留意されたい。
アプリケーションをアンインストールするユーザは、新たなアプリケーションを後に登録することができないことに留意するべきである。これが問題となる場合、解決策は、電話番号あたり限られた数(すなわち、2又は3)のユーザ登録を認証することである。
5.2 確率的通知
Serge Vaudenayによる論文「Analysis of DP3T」Cryptology ePrint Archive, Report 2020/399, 2020に記載されているように、全ての近接トラッキングスキームは「1エントリ」攻撃に対し脆弱である。
Serge Vaudenayによる論文「Analysis of DP3T」Cryptology ePrint Archive, Report 2020/399, 2020に記載されているように、全ての近接トラッキングスキームは「1エントリ」攻撃に対し脆弱である。
上記のセクション3.6に説明したように、この攻撃において、敵対者は自身のローカルリストにおいてUserTに対応する1つのエントリのみを有する。敵対者は、「リスクがある」ことを通知されると、UserTがCOVID19陽性と診断されたことを学習する。
セクション3.6において記載したように、ROBERT v2は、いくつかの緩和手段を提案する。
本出願人は、この攻撃を阻止する唯一の方式が、いくらかの「拒否可能性」(deniability)を導入するために確率的通知を用いることであると考える。そのようなスキームにおいて、ESR_REQメッセージを受信するサーバは以下を返答する。
ユーザのIDが曝露IDのリストにない場合、「0」(すなわち、リスクがない)、
ユーザのIDが曝露IDのリストにある場合、又はサーバによってランダムに選択される場合、「1」(サーバは、確率pで「1」返答を受信する、「0」返答を受信するはずの追加のユーザを選択するように構成される)。
ユーザのIDが曝露IDのリストにない場合、「0」(すなわち、リスクがない)、
ユーザのIDが曝露IDのリストにある場合、又はサーバによってランダムに選択される場合、「1」(サーバは、確率pで「1」返答を受信する、「0」返答を受信するはずの追加のユーザを選択するように構成される)。
結果として、ユーザは、「1」返答を受信する場合、自身が曝露されたことに起因するのか、又はサーバによってランダムに選択されたのかがわからない。ユーザはサーバにもはや問い合わせることができないため(既に「1」の返答を受信したことに起因する)、攻撃を精緻化するための追加の要求を送信することができない。この攻撃は、1人のユーザをターゲットにするn個の共謀ノードによって依然として可能なままであるが、この場合、n個の共謀ノードは全て「1」を返され、自身の被害者の曝露ステータスを突き止めることになる。しかしながら、ここで、1人の被害者をターゲットにするのにn人の敵対者が必要となるため、攻撃のスケーラビリティが低減する。
この提案の副次的効果は、いくらかの偽陽性を導入することであり、すなわち、数人の人物は、実際に(少なくともリスクスコアに従って)「リスクがある」状態にないにもかかわらず通知を受けることになる。このトレードオフの許容可能性はいくつかの要素にある。第1に、近接追跡は完全ではなく、いずれにしても偽陽性又は偽陰性が存在することを認識する必要がある。この文脈において、5%又は10%の更なる偽陽性を追加することは必ずしも問題ではない。第2に、システムが用いられる用途は、大きな役割も果たす。すなわち、Appが検査を受けるべきユーザをターゲットにするために用いられる場合、5%又は10%の更なるユーザをランダムに検査することは極めて許容可能であるが、Appがユーザに隔離所に入るように通知する場合、偽陽性はより問題となり得る。
5.3 Bluetooth通信
Bluetoothを介してブロードキャストされる識別子EBIDは、ここで、16バイトよりも大きく、したがって、アドバタイズパケットのみで搬送することができない。本発明は、このより大きなメッセージを、Bluetoothを介して送信するための2つの解決策を提案する。
Bluetoothを介してブロードキャストされる識別子EBIDは、ここで、16バイトよりも大きく、したがって、アドバタイズパケットのみで搬送することができない。本発明は、このより大きなメッセージを、Bluetoothを介して送信するための2つの解決策を提案する。
5.3.1 走査応答ベースの手法
256ビット識別子EBIDA,iを、BLE(Bluetooth低エネルギー)を介して送信するために、本発明は、BLE[8, Vol 3, Part B, sec. 4.4.2.3]の走査応答メカニズムを用いることを提案する。256ビット識別子は、16バイトの2つのブロックに分割され、第1のブロックはADV_INDパケットのアドバタイズデータに含まれるのに対し、第2のブロックは、SCAN_RSPパケットのアドバタイズデータに含まれる(以下の表2及び表3を参照されたい)。
256ビット識別子EBIDA,iを、BLE(Bluetooth低エネルギー)を介して送信するために、本発明は、BLE[8, Vol 3, Part B, sec. 4.4.2.3]の走査応答メカニズムを用いることを提案する。256ビット識別子は、16バイトの2つのブロックに分割され、第1のブロックはADV_INDパケットのアドバタイズデータに含まれるのに対し、第2のブロックは、SCAN_RSPパケットのアドバタイズデータに含まれる(以下の表2及び表3を参照されたい)。
識別子セグメンテーション
256ビット識別子EBIDA,iは、2つのブロック、IDL=LSB16(EBIDA,i)及びIDH=MSB16(EBIDA,i)に分割される。ここで、MSB16(x)及びLSB16(x)は、それぞれxの最上位16バイト及び最下位16バイトを返す関数である。
256ビット識別子EBIDA,iは、2つのブロック、IDL=LSB16(EBIDA,i)及びIDH=MSB16(EBIDA,i)に分割される。ここで、MSB16(x)及びLSB16(x)は、それぞれxの最上位16バイト及び最下位16バイトを返す関数である。
5.3.2 専用サービス
これらのブロックのそれぞれは、サービスのためのデータとして構成される。この目的のために、2つの専用サービスが定義される。16ビットUUID 0xFD01を有するリスク通知サービス1(RNS1)は、メタデータ(プロトコルバージョン及びTx電力)と併せてIDLを搬送し、リスク通知サービス2(RNS2)は16ビットUUID 0xFD02とともにIDHを搬送する。
これらのブロックのそれぞれは、サービスのためのデータとして構成される。この目的のために、2つの専用サービスが定義される。16ビットUUID 0xFD01を有するリスク通知サービス1(RNS1)は、メタデータ(プロトコルバージョン及びTx電力)と併せてIDLを搬送し、リスク通知サービス2(RNS2)は16ビットUUID 0xFD02とともにIDHを搬送する。
5.3.3 アドバタイズ及び走査応答ペイロード
アドバタイズパケットのペイロードは、以下から構成される。
・フラグ(3バイト)
・リスク通知サービス1(0xFD01)のUUIDを搬送する完全な16ビットUUID(4バイト)
・サービスデータ-リスク通知サービス1のためのデータ、すなわち、IDL(16バイト)、プロトコルバージョン(1バイト)及びTx電力(1バイト)を搬送する16ビットUUID(22バイト)。
アドバタイズパケットのペイロードは、以下から構成される。
・フラグ(3バイト)
・リスク通知サービス1(0xFD01)のUUIDを搬送する完全な16ビットUUID(4バイト)
・サービスデータ-リスク通知サービス1のためのデータ、すなわち、IDL(16バイト)、プロトコルバージョン(1バイト)及びTx電力(1バイト)を搬送する16ビットUUID(22バイト)。
走査応答のペイロードは、以下から構成される。
・リスク通知サービス2(0xFD02)のUUIDを搬送する完全な16ビットUUID(4バイト)
・サービスデータ-リスク通知サービス2、すなわちIDH(16バイト)のためのデータを搬送する16ビットUUID(20バイト)
・リスク通知サービス2(0xFD02)のUUIDを搬送する完全な16ビットUUID(4バイト)
・サービスデータ-リスク通知サービス2、すなわちIDH(16バイト)のためのデータを搬送する16ビットUUID(20バイト)
EBIDのローテーションはデバイスアドレスと同期されることが仮定された。したがって、2つのブロックIDL及びIDHは、デバイスアドレスを介してリンク付けすることができる。これに当てはまらない場合、EBIDの再構築を可能にするために、アドバタイズ及び走査応答パケットのペイロードに追加の識別子を含めなくてはならない。
5.3.4 アドバタイズ及び走査
Bluetooth仕様[8, Vol 3, Part B, sec. 4.4.2.3]に述べられているように、アドバタイズパケット(ADV_IND PDU)の受信後、スキャナは、走査要求(SCAN_REQ PDU)を送信するか、又はアドバタイザに関する追加の情報を要求することができる。アドバタイザは、自身のデバイスアドレスを含むSCAN RSP PDUを受信する場合、同じプライマリアドバタイズチャネルインデックスにおいてSCAN RSP PDUを用いて返答する。
Bluetooth仕様[8, Vol 3, Part B, sec. 4.4.2.3]に述べられているように、アドバタイズパケット(ADV_IND PDU)の受信後、スキャナは、走査要求(SCAN_REQ PDU)を送信するか、又はアドバタイザに関する追加の情報を要求することができる。アドバタイザは、自身のデバイスアドレスを含むSCAN RSP PDUを受信する場合、同じプライマリアドバタイズチャネルインデックスにおいてSCAN RSP PDUを用いて返答する。
デバイスは、この要求応答メカニズムに従うように構成される。より詳細には、デバイスは、常に新たなアドバタイズパケットに応答して走査要求を送信するべきであり、走査要求の受信時に、常にデバイスは走査応答を用いて応答するべきである。
5.4 フラグメンテーション手法
別の解決策は、EBIDA,iを2つのブロックに分割し、これらのブロックを、交互にアドバタイズパケットにおいて送信することに頼ることである。
別の解決策は、EBIDA,iを2つのブロックに分割し、これらのブロックを、交互にアドバタイズパケットにおいて送信することに頼ることである。
より詳細には、EBIDA,iは、セクション5.3.1に提示される手法に従って2つのブロックIDL及びIDHに分割される。これらのブロックは、専用サービス(例えば、セクション5.3.2に提示されるように、UUID 0xFD01を有するリスク通知サービス1)に関連付けられたサービスデータとしてアドバタイズパケット(ADV_IND PDU)のペイロードにおいて送信される。送信されたアドバタイズパケットにおけるサービスデータは、交互にIDL及びIDHの値をとる。
6 拡張
6.1 非COVID19関連の2つのPETベースの方法
本発明は、COVID19曝露管理の文脈において重点的に説明されているが、実際は多岐にわたる他の状況におかれる。
6.1 非COVID19関連の2つのPETベースの方法
本発明は、COVID19曝露管理の文脈において重点的に説明されているが、実際は多岐にわたる他の状況におかれる。
本発明は、2つのデバイスA及びBが、対話を行うことさえなく、プライベートにかつセキュアに自身のコロケーションを第3のエンティティに証明する必要がある任意の状況に適用することができる。
大まかに言えば、上記で説明した実施形態の特徴の多くを交換することができる。例えば、
-Curve25519の代わりに、別の楕円曲線、若しくはECDHを用いることができるか、又は基本ディフィ-ヘルマン鍵プロトコル等の任意のタイプの非対話型鍵交換(NIKE:Non-Interactive Key Exchange)プロトコル(Freire E.S.V., Hofheinz D., Kiltz E., Paterson K.G. (2013)による論文「Non-Interactive Key Exchange」In: Kurosawa K., Hanaoka G. (eds) Public-Key Cryptography - PKC 2013. PKC 2013. Lecture Notes in Computer Science, vol 7778. Springer, Berlin, Heidelbergに記載の「NIKE」)を用いることができる。
-Bluetooth及びBLEの代わりに、無線(WiFi等)であれ、又は空中(超音波による)であれ、又は光変調によるものであれ、任意の他の無線送信プロトコルを用いることができる。
-本明細書に記載の関数H()は、ハッシュ関数である。代替的な実施形態において、これは類似の結果を有する任意の擬似ランダム関数とすることができる。
-異なるメトリック及び/又はメタデータを用いて、監視されている遭遇のタイプ、求められている情報、例えば、持続時間、遭遇中の速度、遭遇が外で生じたか中で生じたか、瞬間密度(すなわち、いくつのEBIDが見えていたか)等に従ってPETに関連付けることができる。
-上記において、PETの値は、gA及びgBの値を比較することによって、ETL及びRTLのリストに割り当てられる。ここでの目的は、更なる通信の必要性が存在することなく、A及びBの双方によって既知の入力に基づいてAとBとの間の順序を定義することである。より包括的には、これは、A及びBによって既知の2つの入力を所与として、AとBとの間の順序を定義するソート値を出力する全順序関数を実施することによって行うことができる。
-Curve25519の代わりに、別の楕円曲線、若しくはECDHを用いることができるか、又は基本ディフィ-ヘルマン鍵プロトコル等の任意のタイプの非対話型鍵交換(NIKE:Non-Interactive Key Exchange)プロトコル(Freire E.S.V., Hofheinz D., Kiltz E., Paterson K.G. (2013)による論文「Non-Interactive Key Exchange」In: Kurosawa K., Hanaoka G. (eds) Public-Key Cryptography - PKC 2013. PKC 2013. Lecture Notes in Computer Science, vol 7778. Springer, Berlin, Heidelbergに記載の「NIKE」)を用いることができる。
-Bluetooth及びBLEの代わりに、無線(WiFi等)であれ、又は空中(超音波による)であれ、又は光変調によるものであれ、任意の他の無線送信プロトコルを用いることができる。
-本明細書に記載の関数H()は、ハッシュ関数である。代替的な実施形態において、これは類似の結果を有する任意の擬似ランダム関数とすることができる。
-異なるメトリック及び/又はメタデータを用いて、監視されている遭遇のタイプ、求められている情報、例えば、持続時間、遭遇中の速度、遭遇が外で生じたか中で生じたか、瞬間密度(すなわち、いくつのEBIDが見えていたか)等に従ってPETに関連付けることができる。
-上記において、PETの値は、gA及びgBの値を比較することによって、ETL及びRTLのリストに割り当てられる。ここでの目的は、更なる通信の必要性が存在することなく、A及びBの双方によって既知の入力に基づいてAとBとの間の順序を定義することである。より包括的には、これは、A及びBによって既知の2つの入力を所与として、AとBとの間の順序を定義するソート値を出力する全順序関数を実施することによって行うことができる。
さらに、上記は、パンデミック管理に適用するための特にロバストで匿名の方法に関する。しかしながら、他の事例の研究に役立つようにより簡単なバージョンが用いられてもよい。例えば、2つのPETを計算し、これらを2つのリストに記憶して、悪意のある報告サーバ活動を防ぐ代わりに、1つのPETのみを生成してもよい。そして、例えば、デバイスのうちの1つが固定デバイスである場合、このデバイスは、自身の対話遭遇トークンを用いて様々なポリシの効率を評価することができる。例えば、この固定デバイスは、通信媒体の近く又は通信媒体の対象である要素の近くに位置決めすることができ、この通信媒体の効率性を評価する手段として遭遇トークンを監視することができる。
上記において、全てのデータ項目が有形なメモリ媒体上に記憶されることを理解するべきである。そのような有形なメモリ媒体は、ハードディスクドライブ、ソリッドステートドライブ、フラッシュメモリ、プロセッサに埋め込まれたメモリ、クラウドにおいてアクセス可能な遠方の記憶装置等による、任意の適切な方式で実現することができる。
同様に、上記の機能及び動作のほとんどは、1つ以上のプロセッサにおいて実行されるコンピュータプログラムによって実行されることが意図される。そのようなプロセッサは、CPU、GPU、CPU及び/又はGPUグリッド、リモート計算グリッド、特殊構成のFPGA、特殊構成のASIC、SOC又はNOC等の特殊チップ、AI特殊チップ等の、自動計算を行う既知の任意の手段を含む。
上記の参加デバイスは、アプリケーションを実行するスマートフォンとして説明されるが、無線機能を有する任意の移動デバイスが、本発明による方法を実施することができる。
より一般的には、本発明は、匿名近接追跡のコンピュータ実施方法を提案する。この方法は、
a)それぞれが、秘密鍵生成器及び非対話型鍵交換プロトコルパラメータを含む非対話型鍵交換プロトコルインタフェースを有する、無線通信が可能な複数の参加デバイスを提供するステップと、
b)上記参加デバイスのそれぞれにおいて秘密鍵生成器を周期的に用いてそれぞれの現在の秘密鍵を取得し、上記それぞれの現在の秘密鍵及び上記非対話型鍵交換プロトコルパラメータに基づいて、上記参加デバイスのそれぞれにおいてそれぞれの現在の公開鍵を計算するとともに、上記参加デバイスのそれぞれが、周期的に無線で上記それぞれの現在の公開鍵をブロードキャストするステップと、
c)第2の参加デバイスによってブロードキャストされたそれぞれの現在の公開鍵を第1の参加デバイスによって検出すると、上記第1の参加デバイス及び第2の参加デバイスのそれぞれにおいて、
i.非対話型鍵交換プロトコルパラメータと、上記第1の参加デバイス及び上記第2の参加デバイスのそれぞれの現在の秘密鍵とによって定義される現在の共有秘密を計算するステップと、
ii.上記現在の共有秘密を用いてパラメータ化され、バケット値に適用された擬似ランダム関数を用いて少なくとも1つのトークンを計算するステップと、
d)所与の参加デバイスによるアップロード条件の検出時に、当該所与の参加デバイスによって計算された上記第1のトークンのうちの少なくともいくつかを報告サーバに選択的にアップロードするステップと
を含んでなる。
a)それぞれが、秘密鍵生成器及び非対話型鍵交換プロトコルパラメータを含む非対話型鍵交換プロトコルインタフェースを有する、無線通信が可能な複数の参加デバイスを提供するステップと、
b)上記参加デバイスのそれぞれにおいて秘密鍵生成器を周期的に用いてそれぞれの現在の秘密鍵を取得し、上記それぞれの現在の秘密鍵及び上記非対話型鍵交換プロトコルパラメータに基づいて、上記参加デバイスのそれぞれにおいてそれぞれの現在の公開鍵を計算するとともに、上記参加デバイスのそれぞれが、周期的に無線で上記それぞれの現在の公開鍵をブロードキャストするステップと、
c)第2の参加デバイスによってブロードキャストされたそれぞれの現在の公開鍵を第1の参加デバイスによって検出すると、上記第1の参加デバイス及び第2の参加デバイスのそれぞれにおいて、
i.非対話型鍵交換プロトコルパラメータと、上記第1の参加デバイス及び上記第2の参加デバイスのそれぞれの現在の秘密鍵とによって定義される現在の共有秘密を計算するステップと、
ii.上記現在の共有秘密を用いてパラメータ化され、バケット値に適用された擬似ランダム関数を用いて少なくとも1つのトークンを計算するステップと、
d)所与の参加デバイスによるアップロード条件の検出時に、当該所与の参加デバイスによって計算された上記第1のトークンのうちの少なくともいくつかを報告サーバに選択的にアップロードするステップと
を含んでなる。
この方法によれば、上記複数の参加デバイスは、第1の遭遇トークンリスト及び第2の遭遇トークンリストを更に記憶することができ、ステップc)iiは、上記現在の共有秘密を用いてパラメータ化され、第1のバケット値に適用された擬似ランダム関数を用いて第1のトークンを計算するとともに、上記現在の共有秘密を用いてパラメータ化され、第2のバケット値に適用された上記擬似ランダム関数を用いて第2のトークンを計算することを含み、ステップc)は、iii.上記第1の参加デバイス及び上記第2の参加デバイスの双方によって既知の2つの入力を用いて全順序関数を適用することによって求められるソート値を計算するとともに、上記ソート値に基づいて、上記第1の参加デバイスの上記第1の遭遇トークンリスト及び上記第2の参加デバイスの上記第2の遭遇トークンリストに上記第1のトークンを記憶し、上記第1の参加デバイスの上記第2の遭遇トークンリスト及び上記第2の参加デバイスの上記第1の遭遇トークンリストに上記第2のトークンを記憶するか、又は、上記第1の参加デバイスの上記第2の遭遇トークンリスト及び上記第2の参加デバイスの上記第1の遭遇トークンリストに上記第1のトークンを記憶し、上記第1の参加デバイスの上記第1の遭遇トークンリスト及び上記第2の参加デバイスの上記第2の遭遇トークンリストに上記第2のトークンを記憶することを更に含むことができ、ステップd)は、所与の参加デバイスによって、当該所与の参加デバイスによるアップロード条件の検出時に、上記第1の遭遇トークンリスト又は上記第2の遭遇トークンリストのうちの一方の少なくとも一部を近接管理サーバに選択的にアップロードすることを含むことができる。
Claims (10)
- 匿名近接追跡のコンピュータ実施方法であって、
a)それぞれが、秘密鍵生成器と非対話型鍵交換プロトコルパラメータとを含む非対話型鍵交換プロトコルインタフェースを有する、無線通信が可能な複数の参加デバイス(2)を提供するステップと、
b)前記参加デバイスのそれぞれにおいて前記秘密鍵生成器を周期的に用いてそれぞれの現在の秘密鍵を取得し、このそれぞれの現在の秘密鍵と前記非対話型鍵交換プロトコルパラメータとに基づいて、前記参加デバイスのそれぞれにおいてそれぞれの現在の公開鍵を計算するとともに、前記参加デバイスのそれぞれが、周期的に無線で前記それぞれの現在の公開鍵をブロードキャストするステップと、
c)第2の参加デバイスがブロードキャストしたそれぞれの現在の公開鍵を第1の参加デバイスが検出すると、前記第1の参加デバイス及び前記第2の参加デバイスのそれぞれにおいて、
i.前記非対話型鍵交換プロトコルパラメータと、前記第1の参加デバイス及び前記第2の参加デバイスの前記それぞれの現在の秘密鍵とによって定義される現在の共有秘密を計算するステップと、
ii.前記現在の共有秘密を用いてパラメータ化され、前記第1の参加デバイスに関係する第1の値に適用された擬似ランダム関数を用いて第1のトークンを計算するとともに、前記現在の共有秘密を用いてパラメータ化され、前記第2の参加デバイスに関係する第2の値に適用された前記擬似ランダム関数を用いて第2のトークンを計算するステップと、
iii.前記第1の参加デバイス及び前記第2の参加デバイスの双方に既知の2つの入力を用いて、全順序関数を適用することによって求められるソート値を計算するとともに、該ソート値に基づいて、前記第1の参加デバイスの第1の遭遇トークンリスト及び前記第2の参加デバイスの第2の遭遇トークンリストに前記第1のトークンを記憶し、前記第1の参加デバイスの前記第2の遭遇トークンリスト及び前記第2の参加デバイスの前記第1の遭遇トークンリストに前記第2のトークンを記憶するステップ、又は、前記第1の参加デバイスの前記第2の遭遇トークンリスト及び前記第2の参加デバイスの前記第1の遭遇トークンリストに前記第1のトークンを記憶し、前記第1の参加デバイスの前記第1の遭遇トークンリスト及び前記第2の参加デバイスの前記第2の遭遇トークンリストに前記第2のトークンを記憶するステップと、
d)所与の参加デバイスが、該所与の参加デバイスによるアップロード条件の検出時に、前記第1の遭遇トークンリスト又は前記第2の遭遇トークンリストのうちの一方の少なくとも一部を近接管理サーバに選択的にアップロードするステップと
を含んでなる、匿名近接追跡のコンピュータ実施方法。 - 前記全順序関数は、前記第1の参加デバイス及び前記第2の参加デバイスの前記それぞれの現在の公開鍵から導出された値を比較することによって前記ソート値を計算する、請求項1に記載の匿名近接追跡のコンピュータ実施方法。
- ステップd)は、前記第1の遭遇トークンリストからトークンをアップロードすることを含む、請求項1又は2に記載の匿名近接追跡のコンピュータ実施方法。
- e)前記参加デバイスごとに、前記第2の遭遇トークンリストからの少なくとも1つのトークンを報告サーバに周期的に送信し、前記報告サーバは、別の参加デバイスが当該別の参加デバイスの第1のトークン遭遇リストから、前記第2の遭遇トークンリストからの前記少なくとも1つのトークンと同一のトークンをアップロードしたことを検出すると、前記第2の遭遇トークンリストを前記報告サーバに発した前記参加デバイスに、前記同一のトークンをアップロードしたことの検出を示すメッセージを送信するステップを更に含む、請求項3に記載の匿名近接追跡のコンピュータ実施方法。
- f)前記参加デバイスごとに、前記第2の遭遇トークンリストからの少なくとも1つのトークンを報告サーバに周期的に送信し、前記第2の遭遇トークンリストからの前記少なくとも1つのトークンと、他の参加デバイスによって前記第1の遭遇トークンリストからアップロードされた前記トークンとの比較に基づいてリスクスコアを計算するステップを更に含む、請求項3又は4に記載の匿名近接追跡のコンピュータ実施方法。
- 前記非対話型鍵交換プロトコルは、Curve25519、別の楕円曲線、楕円曲線ディフィ-ヘルマンプロトコル又はディフィ-ヘルマン鍵交換に基づくものである、請求項1~5のいずれか1項に記載の匿名近接追跡のコンピュータ実施方法。
- 前記第1の参加デバイス及び前記第2の参加デバイスのコロケーションに関するメタデータが、前記第1の遭遇トークンリスト及び前記第2の遭遇トークンリストのうちの一方において前記第1のトークン及び前記第2のトークンとともに記憶される、請求項1~6のいずれか1項に記載の匿名近接追跡のコンピュータ実施方法。
- 請求項1~7のいずれか1項に記載の方法を実行する命令を含むコンピュータプログラム。
- 請求項8に記載のコンピュータプログラムを記録したデータストレージ媒体。
- 請求項8に記載のコンピュータプログラムを記録したメモリに結合されたプロセッサを備えるコンピュータシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20305453.1A EP3907928A1 (en) | 2020-05-06 | 2020-05-06 | Improved computer implemented method for anonymous proximity tracing |
EP20305453.1 | 2020-05-06 | ||
PCT/EP2021/061963 WO2021224376A1 (en) | 2020-05-06 | 2021-05-06 | Improved computer implemented method for anonymous proximity tracing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023524829A true JP2023524829A (ja) | 2023-06-13 |
Family
ID=71103304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022567689A Pending JP2023524829A (ja) | 2020-05-06 | 2021-05-06 | 匿名近接追跡の改善されたコンピュータ実施方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230198758A1 (ja) |
EP (1) | EP3907928A1 (ja) |
JP (1) | JP2023524829A (ja) |
CA (1) | CA3182161A1 (ja) |
WO (1) | WO2021224376A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021225867A1 (en) * | 2020-05-06 | 2021-11-11 | Noodle Technology Inc. | Contact tracing among workers and employees |
CN114676169B (zh) * | 2022-05-27 | 2022-08-26 | 富算科技(上海)有限公司 | 一种数据查询方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2315465A1 (en) * | 2009-10-20 | 2011-04-27 | ETH Zurich | Method for secure communication between devices |
JP2016518075A (ja) * | 2013-04-05 | 2016-06-20 | インターデイジタル パテント ホールディングス インコーポレイテッド | ピアツーピア通信およびグループ通信のセキュリティ保護 |
-
2020
- 2020-05-06 EP EP20305453.1A patent/EP3907928A1/en active Pending
-
2021
- 2021-05-06 WO PCT/EP2021/061963 patent/WO2021224376A1/en active Application Filing
- 2021-05-06 CA CA3182161A patent/CA3182161A1/en active Pending
- 2021-05-06 JP JP2022567689A patent/JP2023524829A/ja active Pending
- 2021-05-06 US US17/923,432 patent/US20230198758A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CA3182161A1 (en) | 2021-11-11 |
EP3907928A1 (en) | 2021-11-10 |
WO2021224376A1 (en) | 2021-11-11 |
US20230198758A1 (en) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kunal et al. | An overview of cloud‐fog computing: Architectures, applications with security challenges | |
Reichert et al. | A survey of automatic contact tracing approaches using Bluetooth Low Energy | |
Beskorovajnov et al. | Contra corona: Contact tracing against the coronavirus by bridging the centralized–decentralized divide for stronger privacy | |
Hekmati et al. | CONTAIN: Privacy-oriented contact tracing protocols for epidemics | |
Castelluccia et al. | DESIRE: A Third Way for a European Exposure Notification System Leveraging the best of centralized and decentralized systems | |
Bell et al. | Tracesecure: Towards privacy preserving contact tracing | |
Arifeen et al. | Blockchain-enable contact tracing for preserving user privacy during COVID-19 outbreak. | |
Hasan et al. | WORAL: A witness oriented secure location provenance framework for mobile devices | |
JP2023524829A (ja) | 匿名近接追跡の改善されたコンピュータ実施方法 | |
Li et al. | Secure data deduplication protocol for edge-assisted mobile crowdsensing services | |
Tseng et al. | Hierarchical and dynamic elliptic curve cryptosystem based self-certified public key scheme for medical data protection | |
Nath et al. | A privacy-preserving mutual authentication scheme for group communication in VANET | |
Prasad et al. | ENACT: encounter-based architecture for contact tracing | |
Ahmed et al. | DIMY: Enabling privacy-preserving contact tracing | |
Gupta et al. | Quest: Practical and oblivious mitigation strategies for COVID-19 using WiFi datasets | |
Pietro et al. | Self-healing in unattended wireless sensor networks | |
Benssalah et al. | A provably secure RFID authentication protocol based on elliptic curve signature with message recovery suitable for m‐health environments | |
Braeken et al. | Highly efficient key agreement for remote patient monitoring in MEC-enabled 5G networks | |
Hassan et al. | [Retracted] A Lightweight Proxy Re‐Encryption Approach with Certificate‐Based and Incremental Cryptography for Fog‐Enabled E‐Healthcare | |
Alansari et al. | Efficient and privacy-preserving contact tracing system for COVID-19 using blockchain | |
Tedeschi et al. | SpreadMeNot: A provably secure and privacy-preserving contact tracing protocol | |
Ghafghazi et al. | Location-aware authorization scheme for emergency response | |
Franco et al. | WeTrace: A privacy-preserving tracing approach | |
Boutet et al. | DESIRE: Leveraging the best of centralized and decentralized contact tracing systems | |
Tang | Another look at privacy-preserving automated contact tracing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240409 |