BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース GoogleとAppleがExposure Notification APIのドラフトを公開

GoogleとAppleがExposure Notification APIのドラフトを公開

原文(投稿日:2020/05/03)へのリンク

最初の発表からわずか数週間で、モバイルOSにコンタクト追跡アプリケーションの強固な基盤を提供するためのGoogleとAppleのパートナーシップは、重要なマイルストーン、Exposure Notification APIの暫定ドラフトおよびiOSのベータリリースに到達した。

混乱を避けるために、AppleとGoogleがテクノロジーソリューションの名前をコンタクト追跡よりも優先して、Exposure Notificationに変更したことは注目に値する。この決定の背景にある理由は、コンタクト追跡は、ユーザが接続するある種の集中型システムを含むはるかに広範なソリューションであり、地域の保健当局によって提供されるべきであるということである。AppleとGoogleは、この種のアプリケーションの技術的基盤を提供しているだけなので、より命名は適切である。

新しいAPIは、プライバシを強化するためにGoogleとAppleによって定義された暗号化プロトコルの大幅な変更を考慮されている。元々、プロトコルは2つの暗号化キーを使用していた。デバイスに固定した各ユーザでユニークなTracing Keyと、前者に基づいて日々生成されるDaily Tracing Keyである。Daily Tracing Keysは、Rolling Proximity Identifiersを生成するために使用された。これは、特定の時間枠でデバイスの近接を検出するために使用される疑似ランダムBluetoothモニカの一種である。

たまたまデバイスに一意のキーを関連付けると、デバイスに直接アクセスできる場合の高度な攻撃への扉が開かれる。したがって、新しいプロトコルバージョンでは、完全にランダムなTemporary Exposure Keysを使用してRolling Proximity Identifier Keysを生成する。このキーは、Rolling proximity identifiersを生成するために使用される。AppleとGoogleによると、Rolling Proximity Identifierは24時間の有効期間を持つ完全にランダムなキーから生成されないため、攻撃者が対応するTemporary Exposure Keysを知らずにRolling Proximity Identifierで衝突を見つけることは計算上不可能である。これにより、リプレイやなりすまし攻撃の可能性が低くなる。

新しいExposure Notificationフレームワークは、影響を受けるユーザ暴露されたユーザの2つのユーザロールをカバーする。影響を受けたユーザはCOVID-19診断が確認または疑われているが、曝露されたユーザは前者と接触する可能性がある。ユーザが診断されると、そのTemporary Exposure Keysは、外部の診断サーバを介して、暴露される可能性のある他のユーザと共有される。この手順には、明示的なユーザ認証が必要である。暴露されたユーザは、ENSelfExposureInfoRequestを使用してTemporary exposure keysのセットを取得し、フレームワークにENExposureDetectionSessionを使用してそれらのキーがローカルで観測されたかどうかを判断するように依頼できる。

Exposure Notificationフレームワークの中心的なクラスはENManagerであり、アプリの承認ステータスの確認など、いくつかの予備的なタスクを担当する。ENManagerは、setExposureNotificationEnabled:completionHandlerメソッドを使用して暴露通知を有効にできる。このメソッドは、使用の承認を要求した後、Bluetoothのアドバタイズとスキャンを開始または停止する。いつでも、getDiagnosisKeysWithCompletionHandler:completionHandlerを使用して、このデバイスが診断サーバと共有するために使用するTemporary Exposure Keyを取得できる。この手順にも、明示的な承認が必要である。

ENExposureDetectionSessionクラスは、診断サーバから受信したTemporary Exposure Keysのセットが観測されているかどうかを確認できるという点でENManagerに対応している。これは、addDiagnosisKeys:completionメソッドとfinishedDiagnosisKeysWithCompletion:メソッドを使用して実行できる。暴露が検出された場合、接触の期間や日付などの詳細情報は、getExposureInfoWithMaxCount:completionHandlerを使用して取得できる。

新しいAPIの詳細については、公式のExposure Notificationフレームワークをご覧ください。

新しいExposure Notification APIがiOS 13.5 Developer Release Beta 3で利用可能になった。これにより、関心のある開発者はそれを試して、コンタクト追跡の実験を開始できる。

この記事に星をつける

おすすめ度
スタイル

BT