技術情報
新型コロナ感染拡大防止アプリ「COCOA」について
一般社団法人 無線LANビジネス推進連絡会 北條 博史
新型コロナウィルスの感染拡大を防ぐために、スマートフォンにアプリを入れることにより、感染情報や感染者との接触情報などを取得し、2次感染、3次感染を防ぐ取り組みが世界各国で行われています。
この取り組みは、集める個人の情報(位置情報の有無やメールアドレス・MACアドレス)や、感染が確認された時の対応の仕方によっては、個人のプライバシーを大きく侵害することになりかねません。その仕組みはソフトウェアに埋め込まれているため、どのような個人情報がどのように保存され、どのように利用されているのかがわからず、不安が先に立ってしまい、アプリをインストールする数が伸びないといった状況に陥りがちです。
日本でも、新型コロナウィルス接触確認アプリ「COCOA(COVID-19 Contact-Confirming Application)」がリリースされ、7月1日より正式に運用開始となりました。「個人情報は取得しないのでプライバシーの侵害の心配はありません」ということでしたが、どういった仕組みなのか、濃厚接触者と言われるとすぐに拘束されてしまうのではないか、など不安がぬぐえません。
COCOAの技術資料が厚生労働省のホームページにありましたので、わかりやすく仕組みをご説明したいと思います(詳細な手順は後半になりますので、他の情報に興味のない人は後半「ソフトウェアの動作と情報のやり取りについて」にジャンプしてください)。
世界各国の取り組みについて
まず、他国の取り組みについて調べました。ここでは、韓国、フランス、インドのアプリの説明を行います。
日本でも紹介されたのが韓国のアプリです。2次感染や3次感染を防ぐことができたとの成果が強調されていますが、実は韓国では民間ベースで各種アプリがリリースされており、例えば、匿名化を前提として、韓国疾病対策センターなど政府系機関から情報を得て、感染者の国籍や年齢、性別、移動履歴などを地図で示すものや、新型コロナの患者から100メートルの距離に来たら教えてくれるもの、さらには地図で感染者の移動履歴を示すようなものまで出ています。特徴はスマートフォンの位置情報を活用している点ですが、内容を見てわかる通り、プライバシー侵害(特に感染者の)のおそれがあり、どの国でも受け入れられるものではないと思われます(日本では厳しいですね)。
フランスでは、新型コロナウィルスの感染者との接触を知らせるメッセージが送信されるスマートフォンのアプリ「StopCovid」が6月2日から運用開始したそうです。匿名化は行うものの国民から収集したデータをサーバに集める方式であるため、プライバシーが問題となっていましたが、有事であることを考慮して、国民議会(賛成338 反対215)と上院(同186対127)で可決承認されました。フランス政府によると6日までに約百万人が登録。運用面では、個人が特定されないIDが使われ、GPSによる位置情報も収集されないため、個人監視ではないとしています。
インドでは、「健康の架け橋」と呼ばれるアプリを導入。2020年5月に始めた封鎖措置の緩和の際、仕事に復帰する官民労働者すべてにアプリの使用を義務付けました。Bluetoothを使って人の接触を記録し、感染者が近くにいる場合は警告を発する仕組みですが、情報は中央管理によりデータベース化されることが特徴になっているため、個人のプライバシーの領域に大きく踏み込むこととなっています。
このようなアプリは、インストールする端末数を伸ばさないと効果が出ないため、フランスやインドでは強制的にインストールする仕組みになっています。
日本のアプリ「COCOA」について
日本では、新型コロナウィルス接触確認アプリ「COCOA」 が6月にリリースされ、7月1日より正式に運用開始となっています。詳細な技術情報については、厚生労働省のホームページ(1)に掲載されているのですが、その内容が少し専門的であるため、詳しい解説があまりなく、「個人情報の問題はない」というコメントを出すにとどまっています。このCOCOAはこれまで紹介した他国の例とは異なり、個人情報の保護に配慮した形になっています(しかも、強制的なことは一切ありません)。
本稿では、少し専門的になりますが、わかりやすくその仕組みについて解説したいと思います。
グーグルとアップルの共通プラットフォームについて
5月20日にグーグルとアップルが共同で作成した Exposure Notification Frameworks(API)の提供が発表されました(2),(3)。これにより、iPhoneとAndroidスマートフォンが共通的に情報のやり取りを行い、情報漏洩や端末を特定されることのない、端末通しの近接情報を取得できるようになりました。
実はCOCOAはこの仕組みを利用しており、個人情報保護についても、この仕組みの安全性に基づいています。先に紹介した厚生労働省のホームページにはこのことが全く書かれていません。実はよく見るとほとんどの人が見ないであろう仕様書の中には、冒頭に
とあります。「以下の理由」については、
これを見て、私は少し安心しました。グーグルやアップルが共同で作成した仕組みだとすれば、世界中のセキュリティの専門家やハッカーの人たちがおのずとチェックしてくれているので、現状最もセキュアなものだといえるのではないでしょうか(なぜこのことを厚生労働省やマスコミが公に「積極的に」説明しないのかはわかりませんが)。
Wi-Fiのアドホックモードなどを使えば、同様のやりかたができるのかもしれませんが、GoogleとAppleがいち早く、Bluetoothを用いたセキュアな仕組みを作ったため、Bluetoothが使われたものと思います。
もちろんBluetooth Low Energy(BLE)のほうが省電力であるというのが、最も大きな理由ですが。
ソフトウェアの動作と情報のやり取りについて
このソフトウェアの特徴は、個人情報(氏名やメールアドレス、端末のID)や位置情報などを一切保存しない点にあります。さらに接触者情報などの保存する情報も、サーバに送信するのではなく、個人のスマートフォン内に保存されているという点です。クラウドにあるサーバは、アプリをインストールした端末の一切の履歴情報は持ちません。このことにより、接触履歴(COCOAでは1m以内に15分以上いたこと)の情報は、当の本人の端末内にしかない(本人以外に誰も知りようがない)ということです。以下仕組みを見てみましょう。
(類推している部分もありますので実際と異なる可能性があることをご容赦願います)
【導入時の動作】
- スマフォにアプリをPlayマーケットまたはApp Storeからダウンロードします。
- 規約同意とアプリに対してBluetoothの利用許可の承認を行います。
- 以上でインストールは終わりです(個人情報の登録など一切ありません)
【運用中の動作】
- 利用者が何かすることはありません。自動で処理が行われます。
- ここからの処理は、Appleと Google が共同提供するプラットフォームに基づきます
- まず、それぞれの端末は、毎日、日替わりで「日次キー」(端末情報とは無関係)を作成しておきます。
- Bluetoothの機能により、周辺をスキャンし、COCOAアプリを導入している他の端末を探します。
- 端末が見つかった場合は、Bluetoothで端末間を接続します。
- 1メートル以内で15分以上その状態が継続した場合は接触履歴ありということで、それぞれの端末の「日次キー」に基づき生成した「接触符号」(おそらくハッシュ)を端末間で交換し、それぞれの端末で該当時間とともに保存します。
→この「接触符号」は単体では意味のないキーですが、「日次キー」と照合することにより、この「接触符号」はこの「日次キー」をもとに生成されたことがわかるという仕組みです。 - この「日次キー」や「接触符号」の仕組みは、OSレベルの動作で行われるので、アプリで改造したりすることはできません。
- 保存された情報は、14日間保存し、それ以降は自動的に消去します。
【PCR検査で陽性になった場合】
- PCR検査を受けることになった場合は、初めて感染者システムに登録され、陽性になると、感染者システムから処理番号が発行され、Eメールまたはショートメールで陽性者の端末に送信されます。
(したがって非感染者が勝手に数字を入れても登録はされません)
- 陽性者はアプリから処理番号を入力し、感染者システムに送信して正当なものと確認されれば、陽性者端末のアプリは「日次キー」と時間情報を通知サーバ(感染者システムではありません)に送信します。
- 通知サーバは送られてきた陽性者からの情報(「日次キー」と時間情報)を全端末に送付します。
→実際の動作として、すべての端末は端末側から陽性者からの情報を通知サーバから定期的にダウンロードしているようです。 - 取得した陽性者の「日次キー」を保存してあるすべての「接触符号」と照合し、一つでも「日次キー」もとに生成された「接触符号」があった場合は、「陽性者との接触者」として端末に表示されます。
プライバシーの問題について
基本的に、接触者情報は自分の端末に保存するのみでサーバには保存されません。また、「日次キー」の作成、「接触符号」の生成や、その照合といったプロセスは、すべてOSレベルで行い、キーや符号そのものを取得することはできません。
仮に読み取れた場合でも、接触した相手側に保存された「接触符号」を見ても「日次キー」はわからず、「日次キー」そのものも1日ごとに変わっていきますので端末を特定することは極めて困難です。
また「陽性者との接触者」になった場合に、どの相手との接触なのか(職場の同僚か、バスに乗り合わせた人なのか)というのも、すべてOSレベルで処理されているのでダウンロードしたどの「日次キー」と、保存しておいたどの「接触符号」がマッチしたのかもわからないので、実際上に陽性者を見つけ出すことはできません。
さらに、「感染者システム」はPCR検査を受けた人の情報は持っていますが、接触者の情報は一切通知されないため、「(該当の)陽性者との接触者」が誰なのかもわからないし、そもそも接触者がいたことすらもわかりません(「陽性者との接触者」がわかるのは接触者本人の端末のみ)。
なお、陽性者が、送られてきた処理番号をアプリに投入するかどうかは、「任意(やってもやらなくてもいい)」と記載があります(指定感染症なので強制にしてもいいような気がしますが)。
さらに、「陽性者との接触者」との結果が出ても、PCR検査を受けるかどうかは、同様に「任意」となっています。
まとめ
AppleとGoogleが作成した共通APIを用いて作成されているので、プライバシーには配慮した形になっており、データをサーバに送らない方式であるため、仮に「陽性者の接触者」という表示が出たとしても、その情報は本人しか知りえないものとなっています。
通信の仕組みも、Bluetoothの検出自体は1m以内という条件であるため、取りこぼすことはまずないと考えられますので、このアプリをたくさんの人がインストールして実行すれば、「陽性者の接触者」に知らせることができ、PCR検査を受けてもらうことができます。
また、一部には「人口の60%程度まで導入が進まないと効果が出ない」というコメントも出ていますが、この仕組みを見る限り、導入率が低くても、それなりに効果があるのではと思います。
これをインストールすればコロナにかからないというわけではないので、導入率が上がらないのも仕方がないのかもしれませんが、このソフトをインストールすれば、自分が感染したときに他人に移す可能性が低くなる、と考えてぜひインストールしていただければと思います。
関係リンク
- 厚生労働省ホームページ(COCOAの関連ページ)
https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/cocoa_00138.html
- 「アップルとグーグル、共同開発の新型コロナウィルス追跡ツールをリリース」CNET JAPAN
https://japan.cnet.com/article/35154102/
- AppleとGoogle、新型コロナ「曝露通知」のAPI公開、IT Mediaニュース
https://www.itmedia.co.jp/news/articles/2005/21/news048.html
■Wi-Biz通信(メールマガジン)の登録はこちら