わふうの人が書いてます。

iOSアプリケーション開発、BLEのファームウェアとハードウェア試作のフリーランスエンジニア。

COVID-19感染拡大防止とiOSの曝露通知の仕組み

Apple/Googleが提供する曝露通知について、その仕組みとその働きの考察をプレゼンしました。

仕組みの概要

SARS-CoV-2の感染の目安は、ウイルスを外部に排出している方との、1~2メートル程度の距離で15分以上という、濃厚接触を持ったかどうかです。

感染拡大防止には、実効再生産数、対策を行なっている状態で平均して1人あたりが感染させる人数、を1以下にすることが必要です。日本での感染拡大防止の活動は、陽性判定が出た方にインタビューをして、人の記憶を頼りにいつ誰と接触したかを調べて、潜伏期にあるかもしれない方々に人との濃厚接触を低減するようお願いをすることです。この濃厚接触を通知する仕組みが、曝露通知です。

曝露通知は、Apple/Googleが提供するフレームワークと、各国それぞれの行政が開発運営するアプリと通知サーバの、2つで構成されます。

フレームワークの機能は、識別子の生成と送信、識別子の受信と記録、識別子の照合の3つです。それぞれの端末が識別子をBLEでブロードキャストします。また同時に、周囲のブロードキャストをスキャンして、その識別子を記録します。陽性判定された方は、アプリを通じて、ウイルスを排出していた期間の識別子を、サーバーにアップロードします。陽性判定された方々の識別子は、それぞれのアプリに通知されて、デバイスの内部で識別子の照合が実行されて、濃厚接触があった場合はアプリにその旨が表示されます。

識別子の送出と記録そして照合という基本部分は、Apple/Googleが開発する部分で、アプリケーションが識別子などの具体的な情報を直接扱うことはできません。アプリケーションの機能は、曝露通知の利用を開始する、濃厚接触があった場合にそれを知らせる、陽性判定が出た時にそれを入力する、の3つです。これらの部分は、利用者の合意と運営が必要で、それぞれの国ごとの行政活動ですから、アプリケーションとして切り出しになります。

通知サーバーも、それぞれの国の運営になります。仕組み自体は、Apple Notification Serviceなど、スマホの通知の実装と同じようなものです。Apple/Googleが提供する通知サービスに、運営者が提供するサーバーから通知したい情報を渡せば、それが対象デバイスに配布されていきます。

質問と回答

Q: 感染していないのに陽性だと入力して、いたずらされるのでは?
A: 陽性の場合にアプリにそれを入力するには、日本では保健所が発行する認証コードが必要です。パスワードがない他人のアカウントにログインしようとするようなものですから、いたずらはできないのでしょう。

Q: アプリの配布6割とか無理では?
A: 人口が小さく教育水準も高そうなシンガポールで、政府が独自に提供した濃厚接触検出アプリがインストール率2割らしい(根拠未調査)です。シンガポールの人口は563万人、東京都の人口927万人の半分くらいの規模でもそれですから、国の単位で6割は、自然に達成できる値ではないと思います。

法的な根拠に基づきインストールを強制するのも困難でしょう。例えばですが、飲酒運転で検挙された場合に問答無用で解雇となるルールがある会社は少なくないでしょう。濃厚接触通知のアプリをインストールしていないことが、社会の利益に貢献しないこととして、なんとく空気感として、インストールせざるを得ない雰囲気にでもするのかもしれません。

Q: 標準アプリとして配布、あるいはヘルスアプリに機能統合してしまえないのか。
A: 濃厚通知の仕組みを初めて聞いた時に、通知サーバーまで含めてApple/Googleが提供するのかと思っていました。でも、それでは陽性だと入力するのが本当に陽性なのか、誰かがそれを保証しないと、いたずらする人がいれば、使い物にならなくなります。標準アプリにした場合、この陽性だと確認して保証する仕組み部分が、処理として入れられないでしょう。キャリアの端末は、自社サービスのアプリをプリインストールしていますが、そのようなプリインストールはありなのかも?

Q: 国を超えた移動をする方は、これを使えるのか。
A: アプリの運営が国単位になるため、訪問国のアプリをインストールして帰国後も2週間程度はアンインストールせずにおけば使えるはずです。

濃厚接触した誰かが陽性であった場合は、iOS/Androidのデバイス通知は国を超えて機能するでしょうから、曝露通知が得られると思われます。ですが、自分に陽性判定に出た時には、アプリに陽性だと入力するための認証コードは、日本の保健行政機関から認証コードを払い出してもらわなければなりません。国の間での行政連携でもないと、できそうにない気がしますが、それがどうなるかはわかりません。あとは、通知サーバーは国ごとの運営になるため、もしもファイヤーウォールなどのために、他国の通知サーバーにアクセスできない場合は、陽性判定が出た場合でもそれを知らせることはできなさそうです。