(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-02
(45)【発行日】2024-08-13
(54)【発明の名称】通信装置、通信装置の制御方法、及びプログラム
(51)【国際特許分類】
G06F 21/44 20130101AFI20240805BHJP
H04L 9/32 20060101ALI20240805BHJP
H04M 1/00 20060101ALI20240805BHJP
【FI】
G06F21/44
H04L9/32 200B
H04M1/00 U
(21)【出願番号】P 2020187609
(22)【出願日】2020-11-10
【審査請求日】2023-11-02
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】船山 弘孝
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2020-141331(JP,A)
【文献】特表2018-538638(JP,A)
【文献】特表2018-504063(JP,A)
【文献】米国特許出願公開第2012/0290490(US,A1)
【文献】特開2013-240024(JP,A)
【文献】特開2017-060103(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
H04L 9/32
H04M 1/00
(57)【特許請求の範囲】
【請求項1】
外部デバイスと通信を行い、外部デバイスが所定の認定を通過した外部デバイスであるか否かを検証する検証手段と、
認証器を選択する画面を表示する表示制御手段と、
内部認証器として機能する認証手段と、
外部認証器を探索する探索手段と、を有し、
前記画面では、前記検証手段による検証結果に基づき、所定の認定を通過した外部デバイスであることが検証された外部認証器に対応する表示アイテムと、前記所定の認定を通過した外部デバイスであることが検証できなかった外部認証器に対応する表示アイテムとが区別可能に表示され
、前記内部認証器に対応する表示アイテムが更に表示されることを特徴とする通信装置。
【請求項2】
前記所定の認定を通過した外部デバイスであることが検証できなかった外部認証器に対応する表示アイテムは、警告を示すアイコンとともに表示され、所定の認定を通過した外部デバイスであることが検証された外部認証器に対応する表示アイテムは、前記警告を示すアイコンを含まない表示様態で表示されることを特徴とする請求項1に記載の通信装置。
【請求項3】
所定の認定を通過した外部デバイスであることが検証された外部認証器に対応する表示アイテムは、前記警告を示すアイコンとは異なるアイコンを含む表示様態で表示されることを特徴とする請求項2に記載の通信装置。
【請求項4】
前記画面を介して前記所定の認定を通過した外部デバイスであることが検証できなかった外部認証器に対応する表示アイテムが選択された場合に、ユーザに対して所定の通知を行う通知手段と、
を有することを特徴とする請求項1乃至3のいずれか1項に記載の通信装置。
【請求項5】
前記所定の通知は警告を示す通知であることを特徴とする請求項4に記載の通信装置。
【請求項6】
前記検証手段は、外部デバイスにチャレンジを送信し、当該外部デバイスが秘密鍵を用いて署名した署名付きチャレンジの受信を試みた結果に基づき、外部デバイスが所定の認定を通過した外部デバイスであるか否かを検証することを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
【請求項7】
前記所定の認定を通過した外部デバイスは、前記通信装置のオペレーティングシステムのベンダが前記外部デバイスに対して所定の審査を行った結果、ベンダが定める性能基準を満たしていると判断された外部デバイスであることを特徴とする請求項1乃至6のいずれか1項に記載の通信装置。
【請求項8】
Webブラウザと、
前記通信装置において前回使用された認証器を記憶する記憶手段を更に備え、
前記Webブラウザを介して、認証器を使用する処理を行うためのユーザ操作を受け付けた場合、前記表示制御手段は、前記記憶手段に記憶された前回使用された認証器が使用する認証器として選択され、当該選択された認証器を用いて認証処理を行うための第2画面を表示し、
前記第2画面には、使用する認証器を変更するための表示アイテムが表示され、前記使用する認証器を変更するための表示アイテムが選択された場合、前記表示制御手段は、前記画面を表示することを特徴とする請求項1乃至7のいずれか1項に記載の通信装置。
【請求項9】
通信装置の制御方法であって、
外部デバイスと通信を行い、外部デバイスが所定の認定を通過した外部デバイスであるか否かを検証する検証工程と、
認証器を選択する画面を表示する表示制御工程と、
前記通信装置の内部認証器として機能する認証工程と、
外部認証器を探索する探索工程と、
を有し、
前記画面では、前記検証工程における検証結果に基づき、所定の認定を通過した外部デバイスであることが検証された外部認証器に対応する表示アイテムと、前記所定の認定を通過した外部デバイスであることが検証できなかった外部認証器に対応する表示アイテムとが区別可能に表示され、内部認証器に対応する表示アイテムが更に表示されることを特徴とする制御方法。
【請求項10】
請求項9に記載の通信装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証器を使用する通信装置、通信装置の制御方法、プログラムに関する。
【背景技術】
【0002】
近年、新たなオンライン認証システムとして、FIDO(Fast Identity Onlineの略)が注目されている。
【0003】
FIDO認証ではユーザが所持する認証器内に秘密鍵と生体認証のための情報やロック解除のためのパスコード等などのクレデンシャル情報を対応付けて記憶する。続けて、認証器を用いた生体認証やパスコード認証等を用いてローカル認証を行う。ローカル認証に成功すると、サーバからのチャレンジに対して秘密鍵を用いて署名を行い、署名付きの認証結果をオンラインサービスに通知する。オンラインサービスは、事前の登録処理で登録された公開鍵を用いて署名付きの認証結果を検証し、正当な権限を有するユーザであるかを判定する。この手続きによりオンラインの通信路上でパスワードなどのユーザクレデンシャルをやり取りすることなく、オンライン認証を行うことができる。
【0004】
また、近年のスマートフォンなどの通信装置は、Bluetooth(登録商標)やUSBなどのインタフェースを介して様々な周辺デバイス(アクセサリとも呼ぶ)が接続される。特許文献1には、スマートフォンなどの通信装置にアクセサリが接続された際、アクセサリの識別子と、センサで取得した通信端末の向きによってコンテンツの表示様態を異ならせる仕組みが開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、FIDOなどのオンライン認証システムは認証関連の仕様が公開されている。この公開された仕様に基づき、様々なベンダがUSB接続やBluetooth接続などで通信端末に接続して使用するアクセサリとしての外部認証器を開発、販売している。
【0007】
ここで、安全性、互換性、安定性等の裏付けが取れたアクセサリは、通信装置を使用するユーザのユーザエクスペリエンスを高めることができる。一方で、安全性、互換性、安定性などの裏付けがなされていないアクセサリは、通信装置を使用するユーザのユーザエクスペリエンスを低下させてしまう恐れがある。
【0008】
これを鑑み、通信装置のOS(Operating System)のベンダは、安全性、互換性、安定性などの観点で独自の動作確認・審査を行う所定の認定プログラムを用意している場合がある。所定の認定プログラムを通過した外部デバイスは、ベンダが定める所定の性能基準を満たしていることを示す認定ロゴが付与される。また、所定の認定プログラムを通過した外部デバイスには、通信装置のOSと通信し所定の認定プログラムを通過したデバイスであるかどうかを検証するために必要なモジュールが設けられる。
【0009】
ところで、生体情報などのクレデンシャルや秘密鍵等といった重要なデータを保持する外部認証器については、裏付けが取れたアクセサリを使用したいユーザが多いことが想定される。
【0010】
しかしながら、所定の認定プログラムを通過していない外部認証器をユーザに分かりやすく提示する仕組みや、その提示を行うタイミングについては、具体的には考えられていなかった。
【0011】
本発明は、上述の問題点の少なくとも1つを鑑みなされたものである。本発明の1つの側面としては、ユーザが認証器を用いる際に、所定の認証に失敗した外部認証器を容易に識別できる仕組みを提供することを目的とする。また、本発明の1つの側面としては、ユーザが外部認証器を使用する際のユーザエクスペリエンスを高めることを目的とする。
【課題を解決するための手段】
【0012】
上記の少なくとも1つの目的を達成するために本発明の通信装置は、外部デバイスと通信を行い、外部デバイスが所定の認定を通過した外部デバイスであるか否かを検証する検証手段と、認証器を選択する画面を表示する表示制御手段と、前記通信装置の内部認証器として機能する認証手段と、外部認証器を探索する探索手段と、を有し、前記画面では、前記検証手段による検証結果に基づき、所定の認定を通過した外部デバイスであることが検証された外部認証器に対応する表示アイテムと、前記所定の認定を通過した外部デバイスであることが検証できなかった外部認証器に対応する表示アイテムとが区別可能に表示され、内部認証器に対応する表示アイテムが更に表示されることを特徴とする。
【発明の効果】
【0013】
本発明の1つの側面としては、ユーザが認証器を用いる際に、所定の認証に失敗した認証器を容易に識別できる仕組みを提供できるようになる。したがって、ユーザが外部認証器を使用する際のユーザエクスペリエンスを高めることができる。
【図面の簡単な説明】
【0014】
【
図1】オンライン認証システムの一例を示す図である。
【
図2】通信装置のハードウェア構成の一例を示す図である。
【
図3】外部認証器のハードウェア構成の一例を示す図である。
【
図4】通信装置のソフトウェア構成の一例を示す図である。
【
図6】外部認証器のソフトウェア構成の一例を示す図である。
【
図7】通信装置が実行する制御の一例を示すフローチャートである。
【
図8】通信装置が実行する制御の一例を示すフローチャートである。
【
図9】通信装置の操作部116に表示される画面の一例を示す図である。
【
図10】操作部116に表示される画面の変形例を示す図である。
【
図11】操作部116に表示される画面の変形例を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0016】
<第1の実施形態>
まず、
図1を用いて、第1の実施形態に係るオンライン認証システムの構成を説明する。本実施形態に係るオンライン認証システムは、通信装置131、外部認証器141~143、連携サービス130を含む。通信装置131と連携サービス130はネットワーク101~103を経由して通信可能に接続される。ネットワーク101~103は例えばLAN、WANなどの通信ネットワーク、公衆無線通信ネットワーク(例えば、LTEや5Gなど)、IEEE802.11に準拠する無線ネットワークなどを組み合わせて構成されてもよい。すなわち、ネットワーク100~103はデータの送受信が可能であればよく、物理レイヤの通信方式はいずれの方式を採用してもよい。
【0017】
また、本実施形態では、通信装置131がノートPCやタブレット端末、スマートフォン等である場合を想定している。しかしながら、これに限定されるものではなく、スマートグラス、VRヘッドセットデバイス等などの通信装置を用いたオンライン認証に適用することもできる。
【0018】
通信装置131は、WebブラウザアプリケーションやWebシステムと通信する通信アプリケーションを有しており、外部認証器141~143及びオンライン上の連携サービス130と連携して、ユーザ認証処理を行うことができる。
【0019】
具体的に説明する。通信装置131のユーザは連携サービス130上のユーザアカウントを有している。ユーザは通信装置131のWebブラウザアプリケーションを介して連携サービス130のWebサイトにアクセスし、ユーザアカウント(ユーザIDとパスワード)を用いてWebサイトに認証を依頼し、Webサイトにログインすることができる。
【0020】
ログインに成功すると、通信装置131のWebブラウザアプリケーションを介して連携サービス130の各種機能やデータにアクセスできるようになる。
【0021】
また、ここでの認証処理は、例えば、FIDO(登録商標) Allianceで策定されたFIDO WebAuthn(登録商標)の仕様に則って実行することもできる。また、外部認証器と通信装置131との間で実行される、オンライン認証に関連する制御は、CTAP(Client To Authenticator Protocol)の仕様に従って実行される。以降、WebAuthnとCTAPを使用する一連のオンライン認証をFIDO2認証と呼ぶものとする。
【0022】
また、通信装置131上で動作するOS(Operating System)の認証を通過した外部デバイスであるかどうかの検証は、OSベンダが策定した仕様に従って実行される。
【0023】
連携サービス130はサーバコンピュータのリソースを用いて実現されるネットワークサービスである。連携サービス130は、通信装置などのアプリケーションに対して前述したWebAuthnの仕様に則ったAPI(Application Program Interface)を公開している。また、連携サービス130は、通信装置131等が有するWebブラウザアプリケーションなどのクライアントアプリケーションからの要求に応じてJavaScript(登録商標)などのWebブラウザ上で動作するプログラムを含むコンテンツを提供する。JavaScriptを含むWebブラウザ上で動作するプログラムは、Webブラウザが備えるインタプリタ(スクリプトエンジンとも呼ぶ)により解釈される。インタプリタにより解釈されたプログラムは、連携サービス130の提供するAPIを適宜コールしたり、OSが提供するAPIをコールしたりするWebアプリケーションとして動作する。このWebアプリケーションは、通信装置131上でFIDO2認証に関わる制御やブラウザ上の表示画面に関する制御を提供する。
【0024】
認証器141~143は、ユーザが連携サービス130等のサービスとの間でオンライン認証を行う際に使用できる外部認証器である。認証器141~143は認証の機能を備えていればよく、ドングル、キーストラップ、指輪型デバイス等、形状は問わない。また通信装置とは異なるスマートフォン等であってもよい。
【0025】
認証器141~143は、通信装置131に無線通信又は有線通信で接続し、通信装置131の利用者の本人性を検証する認証器である。本実施形態では、指紋や虹彩などの生体認証を行え、所持認証と生体認証の多要素認証を実現できる認証器である場合を例示するがこれに限定されない。例えば、生体認証機能を有さず、所持認証とパスコードなどの知識認証を組み合わせた多要素認証を実現できる認証器等であってもよい。
【0026】
本実施形態では、認証器141はUSB(Universal Serial Bus)インタフェースを備え、通信装置131に物理的に接続して利用する認証器を例示している。物理的に接続するインタフェースの一例として、USBを例示したがこれに限定されるものではない。例えば、接続インタフェースはLightning(登録商標)等のインタフェースであってもよい。
【0027】
また、認証器142、143は、Bluetooth(登録商標)、Bluetooth Low Energy(登録商標)などの近距離無線通信を用いて通信装置131と通信する認証器を例示している。
【0028】
なお、認証器と通信装置131との間で確立される通信方式はこれに限定されるものではない。例えば、UWB(Ultra Wide Band)方式の無線通信や、NFC(Near Field Communication)方式の近距離無線通信など、物理レイヤの通信方式はいずれの方式を採用してもよい。
【0029】
<通信装置131のハードウェア構成>
続けて、本実施形態における通信装置131のハードウェア構成について
図2を用いて説明する。
図2は、通信装置131のハードウェア構成を示すブロック図である。
【0030】
CPU(Central Processing Unit)111を含む制御部110は、通信装置131全体の動作を制御する。制御部110を構成する各ハードウェア、インタフェースは、システムバス122を介して通信可能に接続されている。CPU111は、ROM(Read Only Memory)113又はストレージ114に記憶された制御プログラムを読み出して、印刷制御や読取制御などの各種制御を行う。ROM113は、CPU111で実行可能な制御プログラムを格納する。RAM(Random Access Memory)112は、CPU111がアクセスする主記憶メモリであり、ワークエリア又は各種制御プログラムを展開するための一時記憶領域として用いられる。ストレージ114はRAM112と比較して大容量な不揮発性のフラッシュメモリである。ストレージ114には、通信装置131の制御用プログラムが格納されている。また、後述するOS405や、Webブラウザアプリケーション401もストレージ114に格納されている。
【0031】
CPU111は通信装置131の起動時、ROM113に格納されているブートプログラムを実行する。このブートプログラムは、ストレージ114に格納されているOS405のプログラムを読み出し、RAM112上に展開するためのものである。CPU111はブートプログラムを実行すると、続けてRAM112上に展開したOS405のプログラムを実行し、通信装置131の制御を行う。また、CPU111は各種データもRAM112上に展開して読み書きを行う。
【0032】
このように、CPU111、ROM113、RAM112、ストレージ114等のハードウェアは、いわゆるコンピュータを構成している。
【0033】
なお、通信装置131は、1つのCPU111が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のプロセッサやメモリを協働させて後述するフローチャートに示す各処理を実行するようにすることもできる。また、データの送受信などの一部の処理は通信インタフェースが備えるハードウェア回路などと協働して実現される。
【0034】
操作部I/F115は、操作部116と制御部110を接続する。操作部116は、ユーザのタッチ操作を検出可能なタッチパネルと、各種画面を表示する表示パネルを備えている。操作部116は、情報を表示する表示部やユーザの指示を受け付ける受付部として機能する。操作部116には、OS405やWebブラウザアプリケーション401が提供する各種画面が表示される。また、ユーザは操作部116に指などのオブジェクトを用いてタッチ操作を行うことで、通信装置131に所望の操作指示を入力することができる。また操作部116には、音量ボタンや電源ボタンなどのハードウェアキーが備えられている。ユーザはハードウェアキーを押下して通信装置131に操作指示を入力することもできる。
【0035】
次に、連携サービス130との通信に使用する通信インタフェースについて説明する。無線通信部117は、802.11規格に準拠するアクセスポイントに接続し、外部と無線通信を行うための無線クライアントの機能を有する。また、LTE(Long Term Evolution)や5Gなどの移動体通信システムの基地局と通信し、基地局経由で外部と無線通信を行う機能を有する。
【0036】
通信装置131は、無線通信部117を介してネットワーク101~103等に接続された外部装置や外部サービスとデータの送受信を行う。
【0037】
続けて、外部認証器との通信に用いるインタフェースについて説明する。
【0038】
Bluetooth通信部118は、各種周辺機器と近距離無線通信でデータの送受信を行うためのインタフェースである。制御部110は、Bluetooth(登録商標)やBluetooth Low Energy(登録商標)に準拠した無線通信を使用して、外部認証器などの周辺デバイスと通信を行う。接続やデバイス探索の方法は後述する。
【0039】
NFC通信部119は各種周辺機器とISO/IEC14443TypeA/Bや、ISO/IEC18092で策定された近距離無線通信方式で外部認証器などの周辺デバイスと通信を行う。通信部119は、図示省略のNFCアンテナ部に近接した外部認証器と近距離無線通信を確立し、情報のやり取りを行う。
【0040】
USB I/F120はUSB通信で周辺デバイスを直接接続するためのインタフェースである。本実施形態では、通信装置131の筐体側面にUSB Type―Cコネクタを接続できる物理ポートが設けられているものとする。ユーザは、当該物理ポートにUSB型の外部認証器である認証器143を接続することができる。認証器143が接続されると、OS405は、当該認証器143をUSB接続された外部認証器としてマウントし、OS405やWebブラウザアプリケーション401から認証器が提供する機能を利用できるように制御ドライバなどの自動構成処理を行う。
【0041】
TPM(Trusted Platform Module)121は、機密情報を処理したり格納したりする目的で、格納したデータを外部から読み取られることを防ぐ耐タンパー性を備えた記憶手段である。本実施形態では、秘密鍵や連携サービス130との通信に使用する証明書が格納される。証明書や鍵を用いたデータの暗号化及び複合、鍵ペアの生成、ハッシュ値の計算、デジタル署名の生成処理、検証処理などもTPM121とCPU111が協働して実行する。また、通信装置131上で動作するOSベンダにより認定された、所定の認定プログラムを通過した外部デバイスであるかどうかの検証する際に使用する公開鍵もTPM121に記憶される。なお、各種通信インタフェースやCPU111等のハードウェアの主要部は物理的に1つのチップセットに統合されていてもよい。
【0042】
<外部認証器のハードウェア構成>
次に外部認証器のハードウェア構成について説明する。CPU211を含む制御部210は、装置全体の制御を行う。制御部210を構成する各ハードウェア、インタフェースは、システムバス221を介して通信可能に接続されている。
【0043】
CPU211は不揮発性のストレージ領域であるNVRAM(Non-Volatile RAM)213に格納されている制御プログラムをRAM212に展開し、認証に関わる各種制御を行う。NVRAM213は、基本I/Oプログラム等の各種データを記憶する。なお、本実施形態では、1つのCPU211が認証に関わる各種制御を実行する場合を例示しているが、他の態様であっても構わない。例えば、CPUなどの汎用プロセッサではなく、ASIP(Application-specific instruction set processor)が主体となり認証制御を行うよう構成することもできる。また、秘密鍵に関わる各種制御や署名作成などの制御は、後述するTPM218と協働して実現される。また、データの送受信などの一部の処理は通信部217が備えるハードウェア回路などと協働して実現される。
【0044】
センサI/F219は生体情報センサ220と制御部210を接続する。生体情報センサ220は、ユーザの生体情報を読み取るセンサである。例えばユーザの指紋、虹彩、静脈などの特徴量を測定し、生体情報を検出する。
【0045】
本実施形態では、センサ220の一例として指紋認証用のセンサを想定しているが、虹彩を読み取るためのカメラなど他の生体情報センサであってもよい。ユーザは、事前の生体情報の登録処理において、当該センサ220に生体情報を複数回読み取らせる。CPU211は、当該複数回の読み取りで得られた生体情報に基づき、生体情報の特徴量データを生成し、TPM218に保存する。TPM218に保存された特徴量データは、通信装置131から認証要求を受信した際に生体情報を登録した本人であるかどうかを照合する際に用いられる。認証器は、認証要求を受信した場合、センサ部分に設けた発光ダイオードを光らせる、図示省略の振動モータを用いたバイブレーション動作等の制御を行い、ユーザに生体情報の入力を促す。生体情報が読み取られると、当該読み取った生体情報と特徴量データの一致度合いを算出し、一致度合いが所定の閾値以上である場合に本人であると判断する。
【0046】
TPM218は、機密情報を処理したり格納したりする目的で、格納したデータを外部から読み取られることを防ぐ耐タンパー性を備えた記憶手段である。本発明では、認証に用いる生体情報の特徴量データや後述の秘密鍵、通信装置131との通信に使用する証明書が格納される。証明書や鍵を用いたデータの暗号化及び複合、鍵ペアの生成、ハッシュ値の計算、デジタル署名の生成処理、検証処理などもTPM218とCPU211が協働して実行する。また、通信装置131上で動作するOSベンダにより認定された、所定の認証を通過した外部デバイスであるかどうかの検証する際に使用する秘密鍵は、工場出荷段階でTPM218に格納されるものとする。本実施形態では、TPM218に所定の認証を通過した外部デバイスであるかどうかの検証する際に使用する秘密鍵を保持する場合を例示したがこれに限定されるものではない。FIDO2認証を行うための情報や一般的な通信のための署名、鍵等の情報を記憶、処理するTPMと、所定の認証用の情報を記憶、処理するTPMを別体で設けるよう構成してもよい。別体で設ける場合、例えば、所定の認証用のTPMを含む認証チップは所定の認定を行ったOSベンダから周辺デバイスである認証器を製造するベンダに配布され、当該ベンダにより当該認証器に組み込まれる。
【0047】
通信部217はBluetooth、Bluetooth Low Energy、NFC、USBなどの通信インタフェースである。認証器143の場合、USBの通信インタフェースが採用される。認証器143は、筐体外部にUSB Type―Cのコネクタを有している。ユーザはこの外部認証器143のコネクタ部を前述した通信装置131のポートに接続して外部認証器を使用する。一方、認証器141及び142の場合、Bluetooth又はBluetooth Low Energy等の無線通信インタフェースが採用される。なお、1の認証器が複数の通信インタフェースを有していてもよい。例えば、USBインタフェースとNFCインタフェースの両方を有するよう構成することもできる。
【0048】
<通信装置131のソフトウェア構成>
図4は、通信装置131のソフトウェア構成を説明したものである。
図4に示す各モジュールやアプリケーションは、ソフトウェアの構成要素を示し、
図2で説明したストレージ114にプログラムとして保存されており、実行時にRAM112に展開され、CPU111によって実行される。
【0049】
OS405は、通信装置131全体を制御する基本ソフトウェアであり、通信制御モジュール400、アクセサリ管理モジュール403、認証器管理モジュール402を備えている。
【0050】
本実施形態では認証器管理モジュール402、アクセサリ管理モジュール403をOS405が提供する場合を例示しているが、これに限定されるものではない。各モジュールが提供する機能の全てまたは一部分をWebブラウザアプリケーション401が主体となって提供されるように構成してもよい。この場合、ブラウザアプリケーション401がOS405と共同して各機能を実現するものとする。
【0051】
通信制御モジュール400は、USB、Bluetooth、Bluetooth LE、UWB、LTE、5G、IEEE802.11など、外部装置との各種通信を統括的に制御する通信モジュールである。
【0052】
アクセサリ管理モジュール403は通信装置131に接続されている/過去に接続されたことのある外部デバイス(アクセサリとも呼ぶ)を管理する。また、アクセサリ管理モジュール403は、外部デバイスと通信し、OSベンダが認定する所定の認証を通過したデバイスかどうかを検証するための認証モジュール431を有している。
【0053】
OS504のベンダは、安全性、互換性、安定性などの観点で独自の動作確認・審査を行う所定の認定プログラムを外部アクセサリの開発者向けに用意している。所定の認定プログラムを通過した外部デバイスには認定ロゴが付与される。また、所定の認定プログラムを通過した外部デバイス内は、通信装置のOSが有する認証モジュール431と通信し、所定の認定プログラムを通過したデバイスであるかどうかを検証するために必要なモジュールが設けられている。以降、所定の認定プログラムのことを単に所定の認証等とも呼ぶ。所定の認定プログラムは、例えば、Apple(登録商標)社が提供するMFi(Made For iPhone(登録商標)/iPad(登録商標)/iPod(登録商標))認証やGoogle(登録商標)社が提供するMade For Google認証である。
【0054】
アクセサリ管理モジュール403で管理されるアクセサリは、例えば、認証器141~143や、オーディオアクセサリや、マイクロフォンなどである。アクセサリ管理モジュール403で保持する機器管理テーブルの一例について
図5(a)を用いて説明する。
【0055】
機器IDは外部デバイスを一意に識別する識別情報を示している。機器IDに対応付けて通信装置131との接続方法や外部デバイスの種別情報、OSベンダが認定する所定の認証を通過したデバイスかどうかを検証した結果が格納される。
【0056】
接続方法は、外部デバイスが接続されるインタフェースを示しておりBluetooth、USB、NFCなどの情報が格納される。接続方法2は、外部デバイスと通信するために必要となる接続ポート等を一意に識別する情報である。例えばUSB接続している認証器であればUSBのポート識別子やアドレスが格納される。Bluetoothでペアリングしている認証器であればBluetooth接続のセッションIDやアドレスなどが格納される。機器IDが「e00d11b2-51ed-4534-8111-462780647857」で識別されるオーディオデバイスは、接続方法はBluetoothであるが、現在ペアリングされていないため接続IDはN/Aになっている。機器IDが「2ae22ccf-e94d-4d65-b767-2366728b62e9」で識別される認証器は、接続方法はBluetooth LEであるが、未接続状態であるため接続方式は接続可能を示すAvailableとなっている。Avaliableは、認証器が所定の周期で周囲にブロードキャストしているアドバタイジングパケットを通信装置131が受信し、周囲に認証器があることを検知している状態を示している。この状態では、通信装置131と認証器は双方向通信を確立していない。したがって、所定の認証の実行結果には未実行を示すN/Aが格納される。
【0057】
種別列は、外部デバイスの種別を示している。例えば、接続方法がBluetoothの場合は、外部デバイスからからBluetoothプロファイルを取得し、プロファイルから種別を特定し、種別情報を格納する。なお、アクセサリ管理モジュール403が管理する情報は
図5(a)に示した情報に限られない。例えば、接続されたアクセサリの名称などアクセサリとの通信で取得した情報を格納してもよい。
【0058】
続いて認証器管理モジュール402について説明する。認証器管理モジュール402は、認証器探索部421と認証器管理部422を備えている。
【0059】
認証器探索部421は、アクセサリ管理モジュール403及び通信制御モジュール400と協働して選択候補となる認証器を探索する。まず、探索部421は、アクセサリ管理モジュール403に外部デバイスの探索を要求する。探索要求を受信したアクセサリ管理モジュール403は、通信制御モジュール400に外部デバイスの探索を依頼する。通信制御モジュール400は、Blueoothデバイスや、Bluetooth Low Enerygyデバイスのサーチを行う。また、USBデバイス等の接続状態を再スキャンする。探索が完了すると、通信制御モジュール400は、探索の結果見つかった外部デバイスの情報をアクセサリ管理モジュール403に通知する。アクセサリ管理モジュール403は、探索結果に基づき
図5(a)で説明した機器管理テーブルを更新する。また、通信装置131に接続済みの外部デバイスに関しては、認証モジュール431により、OS405のベンダによる所定の認定を通過したアクセサリであるかどうかを認証する所定の認証も行われる。詳細は後述する。所定の認証の実行結果は機器管理テーブルに格納される。
【0060】
続けて、アクセサリ管理モジュール403は、種別が認証器の外部デバイスの情報を認証器管理モジュール402に応答する。
【0061】
応答を受信した認証器管理モジュール402の認証器管理部422は、選択候補となる認証器を管理する機器管理テーブルを更新する。また、探索部421は、OS405に対して通信装置131が備えている内部認証器の情報を要求する。OS405は、通信装置131が内部認証器を有している場合、当該要求に対して自身が備える内部認証器の情報を通知する。
【0062】
図5(b)は管理部422が管理する認証器の機器管理テーブルの一例である。ここでは、
図5(a)で説明した4つの認証器と、1つの内部認証器が見つかった場合のテーブルを例示している。
【0063】
なお、本実施形態では、
図5(B)に示すテーブルに認証器の各種情報を格納する管理方法を例示したがこれに限定されるものではない。例えば、管理部422は、情報を一意に特定するための主キーとしての機器IDのみを管理するようにしてもよい。この場合、管理部422は、機器IDに基づき、アクセサリ管理モジュール403が管理する認証器の各種情報の実体に適宜アクセスして認証器の情報を参照する。
【0064】
また認証器管理部422は、Webブラウザアプリケーション等からの認証に関する要求を受け付ける機能も有する。具体的には、選択候補となる認証器の一覧をWebブラウザに通知したり、Webブラウザを介した選択操作が行われた場合に選択された認証器とを用いた認証処理を統括的に管理したりする。
【0065】
続けてWebブラウザアプリケーション401について説明する。ユーザはブラウザアプリケーション401を介して連携サービス130にアクセスし、連携サービス130の各種機能を利用することができる。
【0066】
描画部413は通信制御モジュール400並びに無線通信部117を介して連携サービス130から取得したWebコンテンツデータを解釈し、操作部116上にWeb画面を表示する。イベント検知部414は、操作部116を介したユーザ操作のイベントを受け付け、処理管理部411に通知する。処理管理部411は、連携サービス130に対してリクエストを送信したり、認証器管理部422と通信を行ったりするための、処理全体の制御を行う。処理管理部411は、JavaScriptなどのプログラムコードを処理するインタプリタも有する。
【0067】
<外部認証器のソフトウェア構成>
続いて、認証器141~143の提供する機能について
図6を用いて説明する。
図6は認証器141~143のソフトウェア構成を説明したものである。
図6に示す各構成はソフトウェアの構成要素を示し、
図3で説明したNVRAM213にプログラムとして保存されており、実行時にRAM212に展開され、CPU211によって実行される。
【0068】
認証器141~143は、通信制御モジュール601、管理部602、生体認証モジュール603、認証モジュール604を有する。通信制御モジュール601は通信装置131との接続や通信を統括的に管理するモジュールである。
【0069】
管理部602は、通信制御モジュールを介して受信したオンライン認証のための認証リクエストを受信して処理する。当該オンライン認証のための認証リクエストは、RPサーバの情報、ポリシ、チャレンジレスポンス認証のためのチャレンジを含む。管理部602はオンライン認証のための認証リクエストを受け取ると、生体認証モジュール603に生体認証処理の実行を依頼する。生体認証モジュール603は、ユーザに生体情報の提示を求める。センサ220を介して取得された生体情報は、TPM218に送信される。TPM218は、特徴量データと取得された生体情報に基づき生体情報を登録した本人であるかどうかを照合する。本人であることが照合された場合、TPM218は、当該オンライン認証の要求元に対応する認証用の秘密鍵でチャレンジに署名を行い、当該署名の結果を管理部602に通知する。管理部602は、署名の結果を通信装置131に送信する。署名の結果は通信装置131を介して連携サービス130のRPサーバに通知される。RPサーバは、事前の登録処理にて登録された公開鍵で署名の検証が行う。検証に成功した場合、連携サービス130はユーザをサービスに各種サービスを提供する。
【0070】
また、破線で示す認証モジュール604はOS405のベンダが認定する所定の認証を通過した外部デバイスが備えるモジュールである。所定の認証を受けていない外部デバイスは当該モジュールを有さないものとする。
【0071】
認証モジュール604は、通信制御モジュール601を介して通信装置131から受信した所定の認証のための認証リクエストを受信して処理する。認証リクエストは、通信装置131の認証モジュール431により発行されるリクエストであり、チャレンジレスポンス認証のためのチャレンジを含むリクエストである。認証モジュール604は、TPM218と協働して、工場出荷時に格納されている所定の認証のための秘密鍵を用いて署名付きチャレンジを生成する。続けて、認証モジュール604は、生成された署名付きチャレンジを通信装置131に応答する。当該応答を受信した通信装置131の認証モジュール431は署名付きチャレンジに基づき、外部デバイスが所定の認定を通過した外部デバイスであるか否かを検証する。検証結果は
図5(a)で例示した管理モジュール403が管理する機器管理テーブルに記憶される。
【0072】
一方、所定の認定を通過していない外部デバイスは、認証モジュール604を有していない。したがって、通信装置131から所定の認証のための認証リクエストを受信しても、当該認証リクエストを適切に処理できない。通信装置131は、認証リクエストに外部デバイスが適切に応答するかどうか、並び、署名付きチャレンジを検証した結果に基づき、所定の認定を通過したデバイスであるかどうかをチェックすることができる。
【0073】
<認証器の提示方法>
所定の認定を通過した外部デバイスは、言い換えると、OSベンダにより安全性、互換性、安定性等の裏付けが取れたアクセサリである。一方で、安全性、互換性、安定性などの裏付けがなされていないアクセサリは、通信装置を使用するユーザのユーザエクスペリエンスを低下させてしまう恐れがある。特に、生体情報などのクレデンシャルや秘密鍵等といった重要なデータを保持する外部認証器では、裏付けが取れたアクセサリを使用したいユーザが多いことが想定される。
【0074】
上記事情を鑑み、本実施形態では、ユーザが認証器を用いる際に、所定の認証に失敗した外部認証器を容易に識別できる仕組みを提供する。以下
図7乃至
図9を用いて具体的に説明する。
【0075】
図7及び
図8は、通信装置131における制御を示すフローチャートである。
図7及び
図8のフローチャートに示す各動作は、
図4で説明した各モジュール、各ソフトウェアコンポーネント、アプリケーションを実現するためのプログラムをRAM112に読み出し、CPU111で実行することにより実現される。なお、処理の主体を明確にするため、必要に応じて、各モジュール、各ソフトウェアコンポーネント、アプリケーションを主語として説明する。また、
図7においてWebブラウザアプリケーション401により実現される処理の一部は、連携サービス130から取得したWebコンテンツに含まれるJavaScript等のプログラムがインタプリタにより実行されることにより実現される。
【0076】
図9は、Webブラウザアプリケーション401やOS405により操作部116に表示される画面の一例である。画面900は、連携サービス130が提供するWebコンテンツデータに基づき、Webブラウザアプリケーション401の描画部413が生成して表示するログイン画面を例示している。
【0077】
901はユーザアカウント(ユーザIDとパスワード)を用いたログイン処理を行う場合に使用する表示アイテムである。情報902は、WebAuthnでログインが可能なことをユーザに通知する情報である。なお、ここでは一例としてWebAuthnでログインが可能なことを通知する場合を例示したが通知の内容はこれに限定されない。例えば、FIDO2を用いてログインが可能なことを通知するようにしてもよい。また、認証ポリシとして生体認証を必須とする場合、生体認証を用いてログインが可能であることを通知するように構成してもよい。
【0078】
ログインキー903は、FIDO2のオンライン認証を行う場合に選択する表示アイテムである。ユーザはキー903を使用して認証器を使用したオンライン認証を行うことができる。具体的に説明する。Webブラウザアプリケーション401のイベント検知部414は、ログインキー903が選択されたことを検知すると、処理管理部411にキー903の選択イベントを通知する。選択イベントの通知を受け付けた処理管理部411は、認証要求を連携サービス130に送信しその応答としてチャレンジレスポンス認証のチャレンジやポリシなどを含む、認証に必要なデータを受信する。前記応答を受信した処理管理部411は、OS405と協働して、認証器のリストを取得する。処理管理部411は、描画部413と協働し使用する認証器を選択する選択画面910を表示する。画面910上では、前記所定の認定を通過した外部デバイスであることが検証できなかった外部認証器を識別するためのアイコンが表示される。表示アイテム912及び914は前記所定の認定を通過した外部デバイスであることが検証できなかった外部認証器を識別するためのアイコンの一例である。当該画面の表示制御については
図7及び
図8のフローチャートを用いて後述する。
【0079】
画面910は、
図5(b)で例示した認証器が管理部422の機器管理テーブルにリストアップされた場合の選択画面を例示している。画面910には、4つの外部認証器に対応する表示アイテム911~914と1つの内部認証器に対応する表示アイテム915が表示される。ユーザは、当該画面910を介してオンライン認証に使用する認証器を選択することができる。イベント検知部414は、いずれかの認証器が選択されたことを検知すると、処理管理部411に選択イベントを通知する。選択イベントの通知を受け付けた処理管理部411は、描画部413と協働して認証画面921を表示する。ここでは、表示アイテム913が選択された場合を例示している。認証器Cは、
図5(b)で説明した「4e332c46-e8e3-4f1a-aa76-73ee78413ac8」に対応する認証器である。この認証器は過去接続したことがあるUSBで接続される外部認証器であって、通信装置131に現在接続されていない認証器である。従って画面921には、認証器の接続を促すメッセージと、接続後に本人確認を促す旨のメッセージが表示される。認証器が接続されると認証器、通信装置131、連携サービス130は協働して、認証器を用いたオンライン認証を実行する。
【0080】
図9では、FIDO2のオンライン認証を行う場合に、選択画面を表示する場合を例示したがこれに限定されるものではない。通信装置131が、RPサーバに対して認証情報の新規登録を行う場合にも、選択画面920が表示されるものとする。新規登録の場合、認証器、通信装置131、連携サービス130は、鍵ペアの生成保存処理、RPサーバへの公開鍵の登録処理を実行する。
【0081】
選択画面の表示制御について
図7及び
図8を用いて説明する。S701において、Webブラウザアプリケーション401は、Webauthnでログイン認証するユーザ操作又はRPサーバに認証情報を新規登録するユーザ操作を受け付けたか否かを判断する。Webauthnでログイン認証するユーザ操作又はRPサーバに認証情報を新規登録するユーザ操作を受け付けたと判断した場合、処理をS702に進める。一方、Webauthnでログイン認証するユーザ操作又はRPサーバに認証情報を新規登録するユーザ操作を受け付けていない場合、ユーザ操作のイベントを待ち受ける処理を行う。紙面の都合上省略しているが、Webブラウザアプリケーション401は、画面遷移のユーザ操作を受け付けた場合、各モジュールと協働して適宜画面を切り替えるものとする。
【0082】
続けてS702において、Webブラウザアプリケーション401は、OS405に選択候補となる認証器リストの取得要求を行い、選択候補となる認証器リストを取得する。取得処理について
図8を用いて説明する。
図8の各処理は、アプリケーション401から要求を受け付けたOS405により実現される。
【0083】
S801において、認証器探索部421は、アクセサリ管理モジュール403及び通信制御モジュール400と協働し、機器管理テーブルを更新する。具体的には、探索部421は、アクセサリ管理モジュールに外部デバイスの探索を要求する。探索要求を受信した管理モジュール403は、通信制御モジュール400に外部デバイスの探索を依頼する。通信制御モジュール400は、Blueoothデバイスや、Bluetooth Low Enerygyデバイスのサーチを行う。また、USBデバイス等の接続状態を再スキャンする探索が完了すると、通信制御モジュール400は、探索の結果見つかった外部デバイスの情報をアクセサリ管理モジュール403に通知する。アクセサリ管理モジュール403は、探索結果に基づき
図5(a)で説明した機器管理テーブルを更新する。
【0084】
続けて、S802において、認証器管理モジュール402は、アクセサリ管理モジュール403から、種別が認証器の外部デバイスの情報を受信する。続けて、認証器管理モジュール402の認証器管理部422は、
図5(b)で説明した選択候補となる認証器を管理する機器管理テーブルを更新する。この更新処理により、現在接続されている外部認証器、現在近くにある外部認証器を適切に検出することができる。
【0085】
S804において、管理モジュール402は、所定の認証方式を用いた検証を行っていない外部認証器が見つかったかどうかを判断する。所定の認証方式を用いた検証を行っていない外部認証器が見つかった場合、処理をS805に進める。一方、所定の認証方式を用いた検証を行っていない外部認証器が見つかっていない場合(すなわち、すべての外部認証器が検証済みである場合)、処理をS809に進める。
【0086】
S805において、管理モジュール402は、通信制御モジュール400と協働して、見つかった未検証の外部認証器と双方向通信を確立する。通信制御モジュール400は、外部認証器との通信方式がBluetoothのBR/EDR(Bluetooth Basic Rate/Enhanced Data Rate)の場合、外部認証器との間でペアリング処理を行う。一方、通信方式がBluetooth Low Energyの場合、通信制御モジュール400は、外部認証器とのコネクションを確立する。本実施形態では、外部認証器がGATT(Generic attribute profile)サーバとなり、通信装置131がGATTクライアントとなる場合を想定している。
【0087】
S806において、認証モジュール431は、通信制御モジュール400と協働して、双方向通信を確立した外部認証器と通信し所定の認証処理を実行する。具体的には、認証モジュール431は、所定の認証のための認証リクエストを生成する。当該認証リクエストは、チャレンジレスポンス認証のためのチャレンジを含むリクエストである。外部認証器の認証モジュール604は、TPM218と協働して、工場出荷時に格納されている所定の認証のための秘密鍵を用いて署名付きチャレンジを生成する。続けて、認証モジュール604は、生成された署名付きチャレンジを通信装置131に応答する。応答を受信した認証モジュール431は、署名付きチャレンジに基づき、外部デバイスが所定の認定を通過した外部デバイスであるか否かを判定する。認証モジュール431は、TPM121に記憶された所定の認証用の公開鍵で署名を検証した結果、適切な署名であると判断した場合に、所定の認定を通過したデバイスであると判定する。一方、認証モジュール431は、所定時間経過しても応答がない場合、秘密鍵に対応する公開鍵で署名を検証した結果、適切な署名でないと判断した場合に、所定の認定を通過していないデバイスであると判定する。なお、Bluetooth Low EnergyのGATT通信で認証処理を実行する場合、通信装置131は、外部認証器のGATTサーバが提供する認証サービスにチャレンジを書き込む。チャレンジの書き込みを検知した外部認証器は、署名付きチャレンジを生成し、通知用のキャラクタリスティックに当該生成した署名付きチャレンジを格納する。通信装置131は、GATTサーバが提供する通知用のキャラクタリスティックにアクセスし、格納された値を読み取ることで、署名付きチャレンジを取得する。
【0088】
S807において、管理モジュール402は、認証モジュールによる判定結果と外部認証器の情報を対応付けて機器管理テーブルに記憶する。
【0089】
S808において、管理モジュール402は、未検証の外部認証器があるか否かを判断する。未検証の外部認証器があると判断した場合、当該外部認証器を検証対象として選択し、S805~S807で説明した所定の認証処理を行う。一方、未検証の外部認証器がないと判断した場合、処理をS809に進める。
【0090】
S809において、管理部422は、更新した機器管理テーブルに記憶された使用実績のある認証器の情報、接続済みの認証器の情報、探索で見つかった外部認証器の情報に基づき選択候補となる認証器のリストを生成する。当該リストには少なくとも認証器の表示名称(フレンドリ名)と所定の認証の結果が含まれている。
【0091】
S810において、認証器探索部421は、管理部422が生成した認証器のリストを、Webブラウザアプリケーション401に応答する。
【0092】
図7の説明に戻る。S703において、処理管理部411と描画部413は、取得した認証器のリストに基づき、所定の認定を通過した外部デバイスであることが検証できた認証器と、検証できなかった認証器とを区別可能な表示形態で選択画面を表示する。
図9の画面910は選択画面の一例である。
【0093】
続けて、S704において、処理管理部411は、イベント検知部414と協働して、認証器の選択操作を受け付けたか否かを判断する。認証器の選択操作を受け付けた場合は、処理をS705に進め、認証器の選択操作を受け付けていない場合は、選択操作を待ち受ける。
【0094】
S705において、Webブラウザアプリケーション401、OS405、及び選択された認証器は協働して、S701で要求を受け付けたログイン認証処理/認証情報の新規登録処理を実行する。
【0095】
以上説明した一連の制御により、ユーザが認証器を用いる際に、所定の認証に失敗した外部認証器を容易に識別できるようになる。
【0096】
<変形例>
第1の実施形態では、選択画面や認証画面をWebブラウザアプリケーション401が表示する場合を例示した。しかしながらこれに限定されるものではない。認証器の選択処理や認証処理を行う画面を、OS405の認証器管理モジュール402が提供するように構成することもできる。この場合、OS405は、オンライン認証用の認証APIや新規登録APIを提供する。Webブラウザアプリケーション401は、OSが提供する認証器を選択するAPIをコールして、OS405に認証器の選択処理や認証処理を依頼する。この場合、Webブラウザアプリケーション401は認証処理の結果を示す署名済みデータをAPIの戻り値として取得し、当該署名済みデータをRPサーバに送信する。
【0097】
また、第1の実施形態では、所定の認定を通過した外部デバイスであることが検証できなかった認証器について注意を有することをガイドする警告相当のアイコンを表示する場合を例示した。しかしながら識別の方法はこれに限定されるものではない。例えば、所定の認定を通過した外部デバイスであることが検証できた認証器に認証済みであることをガイドするアイコンを表示することで識別を実現してもよい。
図10(a)の選択画面1000は、選択画面910に代えて表示される画面の一例である。アイコン1001は認証済みであることをガイドするアイコンの一例である。
【0098】
更に、
図10(b)の選択画面1010に例示するように、注意を有することをガイドする警告相当のアイコンと、認証済みであることをガイドするアイコンの両方を提示するよう変形することもできる。また、
図10(b)では、ユーザがより直感的に認証器を選択できるよう、接続方式や現在の接続状態も選択画面上に表示するよう構成している。この場合、OS405は、S809で生成するリストに、
図5(b)に例示した機器管理テーブルで管理している認証器の各情報を含める。Webブラウザアプリケーション401は、当該リストに含まれる接続方式や接続状態に基づき認証器のステータスを選択画面1010に表示するよう構成する。
【0099】
更に、所定の認定を通過した外部デバイスであることが検証できなかった認証器が選択された場合に、警告画面を表示するよう構成してもよい。
図10(c)の画面1020、
図10(d)の画面1030は警告画面の一例である。
【0100】
画面1020は、警告を示すポップアップ情報1021を含む。当該ポップアップ情報には、認証器が認定されていないこと、及び認定された認証器を利用することを勧めることを示すメッセージが表示される。また、所定の認定を通過した外部デバイスであることが検証できなかった認証器の仕様の使用を継続する場合に選択する続行キー1022と、他の認証器を選択する場合に使用する選択に戻るキー1023が含まれる。続行キーが選択されたことを検知した場合、通信装置131は、画面921で例示した認証画面を表示する。一方、戻るキーが選択されたことを検知した場合、通信装置131は、認証器の選択画面を表示する。
【0101】
画面1030のポップアップ情報1031は警告の変形例を示している。当該ポップアップ情報には、認証器が認定されていないこと、及び、使用するためには例外への追加が必要であることを示すメッセージが表示される。例外に追加キー1032はOS405により提供される図示省略の設定画面に遷移するためのキーである。図示省略の設定画面では、認定されていない認証器をセキュリティの例外対象に追加することができる。通信装置131は、セキュリティの例外対象に追加された認証器については、所定の認定を通過した外部デバイスであることが検証できなかった認証器であっても警告メッセージを表示しないよう制御する。
【0102】
また、
図11(a)に示す選択画面1100のように選択画面の表示を変形することもできる。画面1100では、所定の認定を通過した外部デバイスであることが検証できた認証器と内部認証器のみを抽出して表示する表示形態を例示している。また、所定の認定を通過した外部デバイスであることが検証できなかった認証器を使用したい場合に選択するキー1102が表示される。キー1102が選択されたことを検知した場合、通信装置131は、所定の認定を通過した外部デバイスであることが検証できなかった認証器を含む選択画面を表示する。当該画面は所定の認定を通過した外部デバイスであることが検証できなかった認証器のみ抽出した選択画面であってもよいし、
図9で説明した選択画面910相当の選択画面であってもよい。
【0103】
最後に、第1の実施形態や上述の変形例では、Webauthnでログイン認証するユーザ操作又はRPサーバに認証情報を新規登録するユーザ操作を受け付けた場合に、認証器の選択画面を表示する場合を例示したがこれに限定されるものではない。認証器管理部422は、前回認証に使用された認証器を記憶し、前回認証に使用された認証器を、今回の認証で使用する認証器として自動選択するよう構成してもよい。この場合、Webauthnでログイン認証するユーザ操作又はRPサーバに認証情報を新規登録するユーザ操作を受け付けた場合に、前回使用された認証器が選択された認証画面1111が表示される。画面1111には、接続状態や接続形態を示す情報1112が表示される。キー1113は使用する認証器を変更する場合に選択するキーである。この場合、通信装置131は、キー1113が選択されたことを検知すると、前述した選択画面910や変形例の選択画面を表示すればよい。
【0104】
また、図示省略の設定画面を介して、よく使う認証器の設定(デフォルト認証器)の設定操作を受け付けるように構成することもできる。この場合、認証器管理部422は、ユーザ操作に基づき設定されたデフォルト認証器の設定を記憶しておく。そして、オンライン認証に関するユーザ操作を受け付けた場合、通信装置131は、管理部422に記憶されたデフォルト認証器を今回の認証関連の要求で使用する認証器として自動選択し、認証画面を表示する。
【0105】
<その他の実施形態>
本発明は、上述の各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASICやFPGA)によっても実現可能である。
【符号の説明】
【0106】
131 通信装置
130 連携サービス
141 認証器
142 認証器
143 認証器