そもそもCOCOAの仕組み
接触管理のために、GPSによる位置情報を利用していると誤解している人もいるようですが、COCOAは位置情報は利用していません。位置情報は重要なプライバシー情報ですから、これが信頼できない第三者に漏洩する可能性があるなら、大変な懸念点になります。
そこでCOCOAは、接触を確認する仕組みとしてBLE(BluetoothLow Energy)を使います。COCOAはBLEを使って定期的に近くのデバイスに信号を送り、信号の強さからお互いの距離を推測します。この距離を推測する機能はBLEの一部として既に実装されています。そして、1m以内に15分以上接近したデバイスとID(接触符号)を交換します。接触符号は、1日に一度ランダムに生成される日次鍵から(ハッシュ関数を用いて)生成されます。
開発
作者:COVID-19 Radar Japan
リポジトリhttps://github.com/cocoa-mhlw/cocoa
プログラミング 言語C#
対応OS Android6.0以降 iOS13.5以降
対応言語:日本語 中国語 英語
接触確認アプリ、iOSとAndroidでOSの対応状況が違うのはなぜ?
理由は2つのOSで、システムレベルのアップデートの方針に違いがあるからだ。iOSはシステムの機能追加や不具合修正を、OSのマイナー(もしくはメジャー)アップデートとして配信する。古いiOSを搭載するiPhoneでもセキュリティの問題があった場合には修正のマイナーアップデートが来ることもあるが、基本的には新たな機能を追加する際には最新のiOSへのアップデートが必要になる。
それに対し、Androidには「Google Play開発者サービス」という、各種アプリのバックグラウンドで動作するサービスアプリがある。このサービスは各Android上のアプリがGoogleの各種サービスを利用する際のAPIの役割を果たす他、システムアプリの機能追加などにも使われる。
当初、厚労省の接触確認アプリが対応している、米AppleとGoogleの共通通信規格である接触通知APIについては、GoogleはGoogle Play開発者サービスのアップデートで対応したため、比較的古いAndroid OSでも対応できることになったということだ。
しかし、昨日のニュースでAndroid版アプリで陽性登録したアプリ利用者と接触しても検知・通知されない障害が判明したと発表した。
”人の振り見て我が振り直せ”
厚労省によると、開発・保守運用事業者がアプリ改修時に実施した動作テストに不備があり、障害が検出されず見過ごされてきたという。
改めて、開発工程のテストが如何に必要で、品質に左右する重要ものか気付かされました。
弊社、若手エンジニアも今リリース前の総合テスト準備で毎日奮闘中!!
エンジニアとして、着実にステップアップ!!今後の活躍が楽しみ♪