ホテルチェーンを展開する事業者向けの顔認証システム,及び顔認証を提供する基盤システムに関する次の記述を読んで、設問に答えよ。
生体認証は,人間の身体的特徴や行動的特徴を用いて本人であることを認証する仕組みであり,暗証番号やパスワード,又はカードなどの物による認証に代わり忘却や紛失のおそれのない認証方式として実用化が進められてきた。生体認証機器メーカーである F 社は,指紋,虹彩,静脈紋,顔などを利用した様々な生体認証端末を開発している。F 社はこれらの機器を販売するとともに,システムインテグレーターとして,単一事業者向けに生体認証端末と制御用 PC を利用したシステムの開発も行っている。今般,ホテルチェーンを展開する事業者(以下,ホテル事業者という)から F 社に対して,顧客体験価値向上のため,ホテルの利用者が顔認証だけで系列ホテルが提供する様々なサービスやホテル事業者と提携する事業者のサービス(以下,提携サービスという)を受けられるシステム(以下,本システムという)の開発が打診され,F 社で検討を行った。
〔開発を打診された本システムの主な機能〕
本システムの主な機能を次に示す。
- ホテルの利用者は,事前に顔認証に必要な情報(以下,顔情報という)を登録して宿泊予約を行えば,宿泊日に各ホテルのチェックインカウンターに設置された顔認証端末で顔認証を行うだけでチェックインが可能となる。
- チェックイン完了後,宿泊ルームの開錠やホテル内施設の利用など,各ホテルが提供する様々なサービスの利用が顔認証だけで可能になる。
- 上記サービスは系列ホテルの全てで利用可能である。
- ホテルの利用者は,レンタカーや宅配サービスなど,提携サービスも顔認証だけで利用することができる。
F 社において自社開発の実現性を検討した結果,これまで開発してきた単一事業者向けのシステムに比べて規模は大きくなるが,F 社の自社保有技術をコアとする新たなアーキテクチャを構築することで対応可能であると結論付け,本システムの開発を進めることにした。本システムのサービスの概要を図 1 に示す。
〔本システムの要件検討〕
F 社のシステムアーキテクトである G 氏は,本システムの開発に当たり,開発要件の検討を行い,次の機能要件及び非機能要件を抽出した。
(1)機能要件
- ホテルの利用者が事前に顔情報を登録する際に,運転免許証,パスポート,マイナンバーカードなど,利用者の顔写真付きの公的証明書との照合によって,本人であることを確認する手段(以下,本人確認という)を提供する。
- ホテル内施設の店舗での決済を顔認証で行う場合など,精度の高い認証が求められるサービスに対しては,顔認証に加え,ワンタイムパスワードによる追加の認証もサポートする。
- ホテル事業者のシステムだけでなく,提携事業者のシステムに対しても共通の顔認証機能を提供する(以下,マルチサービスという)。
- 本システムは,宿泊予約などを登録,管理するシステム(以下,会員管理システムという),及び提携事業者のシステムと連携して動作する必要がある。これをシステム間連携という。
(2)非機能要件
- 本システムに登録可能な顔情報の件数は,ホテルチェーンへの全展開や提携する事業者の拡大などを考慮し,最大 100 万人分を想定する。また,顔情報を入力してから認証結果が得られるまでの実用的な時間は 1 秒以内とする。
- ホテルの利用者の顔情報などの個人情報を扱うので,その保管や通信に高度なセキュリティが要求される。
- 将来的にホテル事業者以外の様々な事業者のシステムに適用できるよう,汎用性・拡張性の高いアーキテクチャとする。
〔本システムの開発方針〕
G 氏は抽出した要件に基づき,次のように開発方針を整理した。
(1)アーキテクチャ構築方針
本システムのアーキテクチャを,顔認証機能を提供する基盤システム(以下,顔認証基盤という)とホテル事業に依存するシステムとに分離することで,ホテル事業者だけでなくほかの事業者のシステムへの適用を容易にする。また,顔認証基盤の拡張によって,将来的に顔認証だけでなく,様々な生体認証機能を提供できるようにする。
(2)サーバ構築方法の選択
利用者の顔情報の登録,管理及び顔認証処理をサーバに集約する。このサーバを顔認証サーバという。さらに,顔認証サーバは次の理由から,クラウドサービス上に構築することとする。
- 初期費用及び維持管理費用の削減を図ることができる。
- セキュリティを確保するための機能が充実している。
(3)マルチサービスの実現
マルチサービスを実現するために,事業者が利用者を識別するための情報(以下,識別情報という)を利用者の顔情報と関連付ける仕組みを開発する。識別情報の例としては,ホテル事業者であれば,会員管理システムにおける会員番号が該当する。このような関連付けによって,顔認証によって個人を特定し,その識別情報を事業者に提供することができる。
(4)利用者のスマートフォンの活用
利用者のスマートフォン(以下,スマホという)を使用して顔認証に必要な情報を入力するため,顔情報の登録,本人確認,追加の認証などを行うスマホのアプリケーションプログラム(以下,アプリという)を開発する。
(5)システム間連携の実現
システム間連携を実現するために,顔認証サーバを利用する顔認証 API を開発し,事業者が利用できるようにする。また,事業者のシステムと顔認証端末及び利用者のスマホとを連携させるため,事業者のシステムにアクセスする事業者システム API を F 社が定義し,事業者で実装後,F 社が利用できるようにしてもらう。
〔顔認証基盤のアーキテクチャ〕
G 氏は顔認証基盤のアーキテクチャ構築が最も重要であると考え,顔認証基盤の検討から着手した。顔認証基盤の概要を図 2 に,顔認証基盤が提供する機能を表 1 に示す。
表 1 顔認証基盤が提供する機能| 構成要素 | 機能説明 |
|---|
| 利用者のスマホ | - 利用者のスマホで利用者の顔を撮影し,顔情報を取得した後,顔認証サーバに送信する。
- 顔の撮影後,利用者の顔写真付きの公的証明書も撮影し,顔認証機能を使用してアプリが本人確認を行う。又は,スマホの近距離無線通信機能を使用して,公的証明書から情報が読み取れる場合は,その情報を使用してアプリが本人確認を行う。
- 利用者が事業者のシステムにスマホでサインインした後,顔を撮影すると,アプリは顔情報を取得し,事業者のシステムに送信する。
|
| 顔認証端末 | - カメラを搭載した汎用タブレット端末であり,利用者が顔を撮影すると,顔情報を取得して,事業者の情報とともに顔認証サーバに送信し,認証結果として識別情報を受信する。
- 追加の認証を行う場合,顔認証サーバから利用者のスマホにワンタイムパスワードを送信し,利用者が受信したワンタイムパスワードを顔認証端末から入力することで認証する。
- 事業者のシステムに対して,認証結果として識別情報を送信する。
- 顔認証端末を複数の事業者で共有し,対応する事業者のシステムと連携することが可能である。
|
| 顔認証サーバ | - 利用者のスマホから送信された顔情報をクラウドサービスのデータベースに登録,管理する。
- 顔認証端末から受信した顔情報から顔認証を行い,認証結果として事業者に共通の識別情報を顔認証端末に送信する。
- 事業者のシステムからの要求で,顔情報と識別情報とを関連付ける。
|
| 事業者のシステム | - 利用者のスマホからの要求で,識別情報及びスマホから送信された顔情報を顔認証サーバに送信する。
- 顔認証端末から認証結果を受信し,認証された識別情報から利用者を特定して,様々なサービスを提供する。
|
〔本システムへの顔認証基盤の適用性検討〕
G 氏は,ホテルの利用者が本システムを利用して,予約からホテル内施設及び提携サービスが利用できるようになるまでのシナリオを想定し,処理を明確にすることで,本システムへの顔認証基盤の適用性の検討を行った。
- 本システムを利用するホテルの利用者がスマホで顔を撮影すると,アプリは顔情報を顔認証サーバに送信する。さらに,ホテルの利用者が会員管理システム及び提携事業者のシステムにスマホからサインインして顔を撮影すると,顔認証サーバで顔情報と識別情報との関連付けが行われる。
- ホテルの利用者は会員管理システムにサインインして宿泊予約を行う。
- 宿泊日当日に,ホテルの利用者がホテルのチェックインカウンターに設置された顔認証端末で顔を撮影すると,顔認証サーバが顔認証を行い,認証結果として識別情報を顔認証端末に送信する。
- 顔認証端末は受信した識別情報を a することで,チェックインを完了する。
- 以降,ホテルの利用者がホテル内施設を利用する際,同様に顔認証端末で顔を撮影すると, b であるかどうかを判定し,ホテル内施設でのサービスの可否を決定する。
- 提携サービスでは,ホテルの利用者が顔認証端末で顔を撮影すると,本システムは提携サービスの利用者として顔認証を行い,識別情報を用いてホテルの利用者にサービスを提供する。
検討の結果,顔認証端末,会員管理システム及びアプリからの顔情報の送信頻度が非常に高く,顔認証サーバでの認証に影響することが想定された。これに対して,顔認証サーバをクラウドサービス上でスケールアウトしただけでは,非機能要件で規定した性能要件を達成できないことが判明した。そこで,G 氏は顔認証端末だけでローカルな認証を行うエッジ認証機能が必要であると考え,実装することにした。具体的には,チェックインを予定しているホテルの利用者の認証に必要な情報を,会員管理システムからの要求によって,毎日,顔認証サーバから顔認証端末にダウンロードし,顔認証端末だけでローカルな認証を行うなどの機能である。