見出し画像

「まもりあいJapan」のセキュリティとプライバシー

はじめまして。Japan Digital Design, Inc.という会社でセキュリティエンジニアをしております唐沢です。普段は社内のセキュリティポリシーを策定・運用がメインの仕事なのですが、今回はご縁があり「まもりあいJapan」プロジェクトに主にセキュリティ面のアドバイザーとして参加させていただきました。

プロジェクト参画の経緯

もともとは本プロジェクトとは別の有志の集まりでコンタクトトレーシングアプリ(当時の呼び方)の勉強会をしていました。国内でも開発や検討が始まっているので、海外のアプリやガイドラインを参考に、どういったプライバシー、セキュリティ面の検討をする必要があるかというのを議論していました。その議論の中で、実際に国内で検討が進んでいるシステムがどういったものかヒアリングさせていただいた方が良いだろうということで、本プロジェクトを推進されていた関さん、白石さん、河津さんにご説明頂いたのが本プロジェクトと関わることになった最初のきっかけでした。猫の手も借りたい状況ということを伺い、私と弊社のペンテスター、そして日本スマートフォンセキュリティ協会(JSSEC)の方が参画することになりました。

セキュリティ・プライバシー上の考慮ポイント

私が参加させていただいた時点では、セキュリティ上の考慮やプライバシーへの配慮をしながら設計が進められていましたし、ペンテスターも参加しており必要な体制は確保されていたように思います。加えて、Androidアプリについては株式会社ラック様に無償提供いただいたSecureCordingCheckerを活用し、JSSECが発行するAndroidアプリのセキュア設計・セキュアコーディングガイドに準拠したコード解析も行われていました。そのため、私としては第三者のような視点で口出しさせていただきました。ここでは、色々議論してきた中で参考にしていただけそうなものを抜粋して紹介します。

どんな情報を保有するシステムか?
どんなアプリ(システム)でも、セキュリティ評価をする際に必ず考えるのが「どんな目的で開発するか」と「どんな情報をどのくらい保有するか」です。保有する情報の価値や量によってリスクが変わってくるためです。詳しい設計については河津さんのnoteをご覧いただければと思いますが、本アプリの場合、電話番号のような個人の特定につながる情報は収集せず、位置情報などセンシティブな情報も収集しないリスクが低い設計になっていることが確認できました。

プライバシーは確保されるか?
アプリの普及に関して最大限の障壁になりえるのがプライバシーの懸念であろうというのは当初から議論されていました。つまり、「陽性者である」「濃厚接触者である」という情報がアプリ運営者や他人に漏れてしまう懸念です。結論から言うと、そうした危険性がないような設計になっていました。理由は以下の通りです。
①アプリ利用者同士の接触は匿名IDの交換によって記録されるため、この情報だけで個人の特定はできない。
②匿名IDはその人が利用するアプリ内にしか保持しないため、「どの匿名IDと接触したか」という情報を他者が知ることはできない。
③「陽性者の匿名ID」は本人の同意の下でサーバーに送信されるが、匿名IDを運営者が個人と紐づける術はない。

プライバシーに配慮していたとしても、匿名IDなどの情報は取り扱うことになりますので、その情報を誰かが責任をもって管理する必要があります。当時は日本国内でも複数の接触確認アプリ開発プロジェクトが動いていましたので、個人的にはこの点を一番心配していました。結果的に厚生労働省が主体となったのは、「データを誰が管理するか」という責任の所在を明確にするという意味でも良かったように思います。

いたずら等で混乱をもたらすことがないか?
接触確認アプリが効果を上げるには6割以上の人が使う必要があると言われています。逆に言うと、それだけ多くの人に使われる可能性があるということで、中にはいたずら目的で使ったり悪用する人がいることも考慮しなければなりません。例えば、以下のようなケースが考えられます。
①陽性者ではないのに「陽性者です」と偽って申告する
 →このケースへの対策としては、陽性の申告時に保健所など正規の機関から発行されたトークン(パスワードのようなもの)を一緒に登録し、トークンが正しいかどうか確認することで偽っていないか判定できるようになっています。
②陽性者ではないのに「陽性者の匿名ID(以下、陽性者ID)」で様々な人に接触し間違った「濃厚接触者」を増やす
 具体的には以下の方法が考えられます。
  (1) 定期的に各アプリに陽性者IDが配布される(これは正規の処理)
  (2) 攻撃者がこの陽性者IDを何らかの方法で取得
  (3) 攻撃者自身の匿名IDが陽性者IDと同一になるようアプリを改ざん
  (4) 攻撃者が歩き回って不特定多数の人と濃厚接触する
 →このケースへの対策としては、陽性者IDリストをアプリが取得してから(=前述のステップ(1))一定時間以内でないと、匿名IDの交換が行えないようにすることで防ぐことができます。一般的なユースケースでは「過去に濃厚接触(=匿名IDの交換)をした匿名IDの中に陽性者IDがあるかどうか」が分かれば良いので、悪用する人が陽性者IDを取得した後(つまり、サーバーから陽性者IDリストが配布された後)の接触についてはある程度無視できるためです。

接触確認アプリの安全安心な普及に向けて

「まもりあいJAPAN」が開発したアプリがリリースされることはなくなりましたが、厚生労働省が開発したアプリはこれからリリースされます。アプリが普及することが第一ですが、そのためにはプライバシーの懸念を丁寧に説明して乗り除き、リリースされたアプリのセキュリティを向上させていく必要があるでしょう。

セキュリティに限らず不具合が発見されることもあるでしょうし、それをすぐに修正できるのもソフトウェアの良いところです。開発者の方にはぜひリリース後も頑張っていただきたいと思います。

また、特に今回のように世間に注目されるアプリに対しては、必ず「偽アプリ」「詐欺アプリ」「フィッシング詐欺」などが発生するでしょうし、インターネットの世界に限らない電話などでの詐欺も発生するかもしれません。こうしたことが起きないよう、起きたとしてもすぐ対策を打てるようにアプリ公開後の状況を注視し、一市民としてできる限りの協力をしていこうと思っています。読者の皆さんも、偽アプリ・フィッシングサイトなど発見された場合は、厚労省など適切な関係機関に報告いただければと思います。

一人一人の力で安全な世界を作っていきましょう!



この記事が気に入ったらサポートをしてみませんか?