(57)【要約】【課題】ＴＥＥが入出力画面を占有できていることを容易かつ確実に確認する。【解決手段】ＴＡ２３は、ＴＥＥ２０ｂ上で動作し、画面２４を生成する。また、ＴＡ２３は、ＴＡ２３の正当性を証明する証明情報を検証装置３０に送信する。検証装置３０は、証明情報を基に、ＴＡ２３が正当であるか否かを検証する。また、検証装置３０は、ＴＡ２３が正当であることが証明され、かつ、画面２４が出力されていること及び画面２４を出力している装置が表示装置２０であることが確認可能である場合に、表示装置２０を認証する。また、検証装置３０は、表示装置２０が認証された場合、乱数コードを出力する。また、検証装置３０は、表示装置２０が認証された場合、乱数コードを表示装置２０に送信する。また、表示装置２０は、検証装置３０から乱数コードを受信し表示する。【選択図】図３
2019220802.tif 000002
【特許請求の範囲】
【請求項１】
第１の実行環境及び前記第１の実行環境と比べて安全性が高いことが保証されている第２の実行環境を備えた表示装置と、前記表示装置が正常に動作していることを検証する検証装置と、を有する確認システムであって、
前記表示装置は、
前記第２の実行環境上で動作し、第１の情報を生成する生成部と、
前記生成部の正当性を証明する証明情報を前記検証装置に送信する第１の送信部と、
前記検証装置から第３の情報を受信する受信部と、
前記生成部によって生成された第１の情報を出力し、さらに、前記受信部によって受信された前記第３の情報を出力する第１の出力部と、
を有し、
前記検証装置は、
前記証明情報を基に、前記生成部が正当であるか否かを検証する検証部と、
前記検証部によって前記生成部が正当であることが証明され、かつ、前記第１の情報が出力されていること及び前記第１の情報を出力している装置が前記表示装置であることが確認可能である場合に、前記表示装置を認証する認証部と、
前記認証部によって前記表示装置が認証された場合、第２の情報を出力する第２の出力部と、
前記認証部によって前記表示装置が認証された場合、前記第３の情報を前記表示装置に送信する第２の送信部と、
を有することを特徴とする確認システム。
【請求項２】
前記生成部は、さらに、秘密鍵及び公開鍵のペアを生成し、
前記第１の送信部は、前記証明情報として、前記生成部のコードサイニング証明書、及び前記公開鍵の公開鍵証明書を前記検証装置に送信し、
前記検証部は、前記コードサイニング証明書及び前記公開鍵証明書が正当であるか否かを検証し、
前記第２の送信部は、前記第３の情報を前記公開鍵で暗号化して送信し、
前記受信部は、暗号化された前記第３の情報を復号することを特徴とする請求項１に記載の確認システム。
【請求項３】
前記検証装置は、
乱数コードを発行する乱数コード発行部をさらに有し、
前記第２の出力部は、前記乱数コードを前記第２の情報として出力し、
前記第２の送信部は、前記乱数コードを前記第３の情報として送信することを特徴とする請求項１に記載の確認システム。
【請求項４】
前記第２の出力部は、前記検証装置に備えられた、出力のオン及びオフを切り替え可能な出力手段を用いて、前記第２の情報を出力し、
前記第２の送信部は、あらかじめ利用者に通知されている所定のコードを前記第３の情報として送信することを特徴とする請求項１に記載の確認システム。
【請求項５】
生成部は、前記生成部を識別する識別情報をさらに生成し、
前記第１の送信部は、前記証明情報とともに前記識別情報を前記検証装置に送信し、
前記検証部は、
前記検証装置の所定の記憶部に情報が格納済みである場合は、前記証明情報が正当であって、前記記憶部に格納されている情報と前記識別情報とが同一である場合に前記生成部が正当であると証明し、
前記記憶部に情報が格納済みでない場合、前記識別情報を前記記憶部に格納し、前記証明情報が正当である場合に前記生成部が正当であると証明し、
前記第２の送信部は、前記検証部によって前記識別情報が前記記憶部に格納され、かつ、前記認証部によって前記表示装置が認証された場合、前記第３の情報を前記表示装置に送信することを特徴とする請求項１に記載の確認システム。
【請求項６】
第１の実行環境及び前記第１の実行環境と比べて安全性が高いことが保証されている第２の実行環境を備えた表示装置と、前記表示装置が正常に動作していることを検証する検証装置と、を有する確認システムであって、
前記表示装置は、
前記第２の実行環境上で動作し、第１の情報を生成する生成部と、
前記生成部の正当性を証明する証明情報とともに、利用者によって入力された識別情報を前記検証装置に送信する第１の送信部と、
前記生成部によって生成された第１の情報を出力する第１の出力部と、
を有し、
前記検証装置は、
前記証明情報を基に、前記生成部が正当であるか否かを検証する検証部と、
前記検証部によって前記生成部が正当であることが証明され、かつ、前記第１の情報が出力されていること及び前記第１の情報を出力している装置が前記表示装置であることが確認可能である場合に、前記表示装置を認証する認証部と、
前記検証部によって前記表示装置が認証された場合、前記識別情報を出力する第２の出力部と、
を有することを特徴とする確認システム。
【請求項７】
第１の実行環境及び前記第１の実行環境と比べて安全性が高いことが保証されている第２の実行環境を備えた表示装置と、前記表示装置が正常に動作していることを検証する検証装置と、を有する確認システムによって実行される確認方法であって、
前記第２の実行環境上で動作する生成部が、第１の情報を生成する生成工程と、
前記表示装置が、前記生成部の正当性を証明する証明情報を前記検証装置に送信する第１の送信工程と、
前記表示装置が、前記生成工程によって生成された第１の情報を出力する第１の出力工程と、
前記検証装置が、前記証明情報を基に、前記生成部が正当であるか否かを検証する検証工程と、
前記検証装置が、前記検証工程によって前記生成部が正当であることが証明され、かつ、前記第１の情報が出力されていること及び前記第１の情報を出力している装置が前記表示装置であることが確認可能である場合に、前記表示装置を認証する認証工程と、
前記検証装置が、前記検証工程によって前記表示装置が認証された場合、第２の情報を出力する第２の出力工程と、
前記検証装置が、前記検証工程によって前記表示装置が認証された場合、第３の情報を前記表示装置に送信する第２の送信工程と、
前記表示装置が、前記検証装置から前記第３の情報を受信する受信工程と、
前記表示装置が、前記受信工程によって受信された前記第３の情報を出力する第３の出力工程と、
を含むことを特徴とする確認方法。
【請求項８】
第１の実行環境及び前記第１の実行環境と比べて安全性が高いことが保証されている第２の実行環境を備えた表示装置と、前記表示装置が正常に動作していることを検証する検証装置と、を有する確認システムによって実行される確認方法であって、
前記第２の実行環境上で動作する生成部が、第１の情報を生成する生成工程と、
前記表示装置が、前記生成部の正当性を証明する証明情報とともに、利用者によって入力された識別情報を前記検証装置に送信する第１の送信工程と、
前記表示装置が、前記生成工程によって生成された第１の情報を出力する第１の出力工程と、
前記検証装置が、前記証明情報を基に、前記生成部が正当であるか否かを検証する検証工程と、
前記検証装置が、前記検証工程によって前記生成部が正当であることが証明され、かつ、前記第１の情報が出力されていること及び前記第１の情報を出力している装置が前記表示装置であることが確認可能である場合に、前記表示装置を認証する認証工程と、
前記検証装置が、前記検証工程によって前記表示装置が認証された場合、前記識別情報を出力する第２の出力工程と、
を含むことを特徴とする確認方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、確認システム及び確認方法に関する。
【背景技術】
【０００２】
従来、モバイル機器や組み込み機器（以下、デバイス）において、機器内のＯＳ（Operating  System）上で動作するアプリケーションの実行環境を、通常の実行環境（ＲＥＥ：Rich  Execution  Environment）と、安全にアプリケーションが実行できる実行環境（ＴＥＥ：Trusted  Execution  Environment）とに分離する技術が知られている（例えば、非特許文献１を参照）。
【０００３】
また、デバイスに搭載されたＴＥＥに入出力画面を占有させ、ＴＥＥ内で動作するＴＡ（Trusted  Application）とデバイス利用者との間で、ＲＥＥを介さずに、情報の入力操作や出力処理を行う技術（ＴＵＩ：Trusted  User  Interface）が知られている（例えば、非特許文献２を参照）。
【０００４】
ここで、ＴＵＩの実施においては、ＲＥＥ内で動作中の悪意のあるアプリケーションがＴＡに偽装し、偽物の入出力画面を出力することが問題になる場合がある。これに対し、ＴＥＥが入出力画面を占有できていることを確認するための手法が提案されている。
【０００５】
例えば、ＴＥＥからの画面出力であることを示すためのＬＥＤランプをデバイスに組み込み、そのＬＥＤランプをＴＥＥに占有させ、ランプの点灯により入出力画面を占有していることを通知する方法が提案されている。また、例えば、ＴＥＥからはアクセス可能であり、ＲＥＥからはアクセスが不可能なデータ保存領域に秘密の情報を保存し、入出力画面に秘密情報を表示する手法が提案されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Global  Platform,  “TEE  System  Archiecture  Version  1.1”,  January  2017
【非特許文献２】Global  Platform,  “Trusted  User  Interface  API  Version  1.0”,  June  2013
【非特許文献３】Global  Platform,  “TEE  Management  Framework  Version  1.0”,  November  2016
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の手法では、ＴＥＥが入出力画面を占有できていることを容易かつ確実に確認することが困難な場合があるという問題がある。例えば、ＬＥＤランプを点灯させる手法については、ＴＥＥが占有可能なＬＥＤランプが製造段階で組み込まれていないデバイスに、そのようなＬＥＤランプを後から組み込むことは困難な場合がある。また、秘密の情報を保存する方法については、悪意のある者による秘密情報の盗み見や推測の恐れがあり、安全性を確保が確実でない場合がある。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、確認システムは、第１の実行環境及び前記第１の実行環境と比べて安全性が高いことが保証されている第２の実行環境を備えた表示装置と、前記表示装置が正常に動作していることを検証する検証装置と、を有する確認システムであって、前記表示装置は、前記第２の実行環境上で動作し、第１の情報を生成する生成部と、前記生成部の正当性を証明する証明情報を前記検証装置に送信する第１の送信部と、前記検証装置から第３の情報を受信する受信部と、前記生成部によって生成された第１の情報を出力し、さらに、前記受信部によって受信された前記第３の情報を出力する第１の出力部と、を有し、前記検証装置は、前記証明情報を基に、前記生成部が正当であるか否かを検証する検証部と、前記検証部によって前記生成部が正当であることが証明され、かつ、前記第１の情報が出力されていること及び前記第１の情報を出力している装置が前記表示装置であることが確認可能である場合に、前記表示装置を認証する認証部と、前記検証部によって前記表示装置が認証された場合、第２の情報を出力する第２の出力部と、前記検証部によって前記表示装置が認証された場合、前記第３の情報を前記表示装置に送信する第２の送信部と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＴＥＥが入出力画面を占有できていることを容易かつ確実に確認することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、画面の偽装について説明するための図である。
【図２】図２は、第１の実施形態に係る確認システムの概要について説明するための図である。
【図３】図３は、第１の実施形態に係る確認システムの構成の一例を示す図である。
【図４】図４は、第１の実施形態に係る確認システムの処理の流れを示すシーケンス図である。
【図５】図５は、第２の実施形態に係る確認システムの構成の一例を示す図である。
【図６】図６は、第２の実施形態に係る確認システムの処理の流れを示すシーケンス図である。
【図７】図７は、第３の実施形態に係る確認システムの構成の一例を示す図である。
【図８】図８は、第３の実施形態に係る確認システムの処理の流れを示すシーケンス図である。
【図９】図９は、実施形態に係るプログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る確認システム及び確認方法の実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。また、実施形態の確認システムは、ＴＥＥが占有するべき画面が、ＲＥＥを介して偽装されているか否かを確認するためのものである。そこで、まず、図１を用いて、画面の偽装について説明する。図１は、画面の偽装について説明するための図である。
【００１２】
図１に示すように、例えば、スマートフォン等の表示装置に表示されている画面が、ＴＥＥ上で動作するＴＡから出力されたものであるか、ＲＥＥ上で動作するマルウェアによって出力されたものであるかを、利用者が区別できない場合がある。図１の例では、本来表示装置には、異常が見つかったことを示す画面がＴＡによって出力されるはずであったところ、異常がなかったことを示す画面がマルウェアによって出力されている。このような場合、利用者は、異常があったことを見逃してしまう。
【００１３】
そこで、実施形態では、図２に示すように、表示装置２０とは別の検証装置３０に所定のコード等を表示させることで、偽装が発生していないことを利用者４０が確認できるようにしている。図２は、第１の実施形態に係る確認システムの概要について説明するための図である。例えば、利用者４０は、表示装置２０に表示されたコードと、検証装置３０に表示されたコードとの一致性を確認することで、表示装置２０が正常に動作していることを確認する。
【００１４】
［第１の実施形態の構成］
図３を用いて、第１の実施形態に係る確認システムの構成について説明する。図３は、第１の実施形態に係る確認システムの構成の一例を示す図である。図３に示すように、確認システム１は、認証装置１０、表示装置２０及び検証装置３０を有する。
【００１５】
認証装置１０は、認証局における証明書発行等の機能を実現する装置である。認証装置１０は、鍵生成部１１及び署名部１２を有する。鍵生成部１１は、コードサイニング証明書や公開鍵証明書を作成するための公開鍵及び秘密鍵のペアを生成する。鍵生成部１１によって生成された公開鍵はルート公開鍵として機能する。鍵生成部１１は、秘密鍵１０１及び公開鍵１０２をペアとして生成し、秘密鍵１０１を記憶し、公開鍵１０２を検証装置３０に配布する。
【００１６】
署名部１２は、鍵生成部１１によって生成された秘密鍵１０１を用いて署名を作成する。また、署名部１２は、作成した署名を用いて発行したコードサイニング証明書を、後述するＴＡ２３に付与する。これにより、確認システム１は、ＴＡ２３が表示装置２０にインストールされていることを証明することができる。
【００１７】
また、署名部１２は、コードサイニング証明書により表示装置２０にＴＡ２３がインストールされていることを確認した上で、表示装置２０から取得した公開鍵に対する公開鍵証明書を発行する。
【００１８】
これにより、認証装置１０は、表示装置２０へのＴＡ２３のインストールを管理している。なお、認証装置１０は、ＴＡ２３のインストールの管理方法として、非特許文献３に記載の方法を用いてもよい。
【００１９】
表示装置２０には、ＲＥＥ２０ａ及びＲＥＥ２０ａと比べて安全性が高いことが保証されているＴＥＥ２０ｂが備えられている。表示装置２０は、出力部２２、ＴＡ２３、出力部２５、認証部２６、復号部２７及びスクリーン２８を有する。出力部２２は、ＲＥＥ２０ａ上で動作し、ＲＥＥ２０ａ上で生成された画面２１をスクリーン２８に出力する。また、出力部２５は、ＴＥＥ２０ｂ上で動作し、ＴＡ２３によって生成された画面２４をスクリーン２８に出力する。
【００２０】
ＴＡ２３は、ＴＥＥ２０ｂにインストールされるアプリケーションである。ＴＡ２３は、インストールの際に認証装置１０からコードサイニング証明書を付与される。ＴＡ２３は、生成部及び第１の送信部の一例である。
【００２１】
ＴＡ２３は、ＴＥＥ２０ｂ上で動作し、画面２４を生成する。画面２４は、第１の情報の一例である。例えば、画面２４は、図１に示すような、ログの一覧及び異常の有無を示す画面である。また、出力部２５は、ＴＡ２３によって生成された画面２４をスクリーン２８に出力する。
【００２２】
また、ＴＡ２３は、秘密鍵２０１及び公開鍵２０２のペアを生成する。ここで、ＴＡ２３は、認証装置１０によって発行される情報であって、ＴＡ２３のアプリケーションとしての正当性を証明するコードサイニング証明書を検証装置３０に送信する。さらに、ＴＡ２３は、認証装置１０によって発行された公開鍵２０２の公開鍵証明書を検証装置３０に送信する。なお、コードサイニング証明書及び公開鍵証明書は、証明情報の一例である。
【００２３】
認証部２６は、検証装置３０から認証要求を受け付け、画面２４が出力されている場合にのみ、秘密鍵２０１及び認証要求を基に計算した認証応答を検証装置３０に返却する。認証部２６による認証応答の計算方法は、対向する認証部３３からの認証要求に対応した方式であればよい。例えば、認証部２６は、電子署名やチャレンジレスポンス方式等の方法を利用して認証応答を計算することができる。
【００２４】
復号部２７は、後述する検証装置３０の暗号化部３４によって暗号化された乱数コードを受信し、秘密鍵２０１で復号する。また、復号部２７は、復号した乱数コードを出力部２５に受け渡す。なお、復号部２７は、受信部の一例である。
【００２５】
そして、出力部２５は、復号部２７によって復号された乱数コードを出力する。なお、乱数コードは、第２の情報及び第３の情報の一例である。また、第２の情報及び第３の情報は、本実施形態のように同一であってもよいし、異なっていてもよい。また、出力部２５は、第１の出力部の一例である。
【００２６】
検証装置３０は、署名検証部３１、証明書検証部３２、認証部３３、暗号化部３４、乱数コード発行部３５及び出力部３６を有する。署名検証部３１は、認証装置１０から取得した情報を基に、コードサイニング証明書の正当性を検証する。また、証明書検証部３２は、認証装置１０から取得した情報を基に、公開鍵証明書の正当性を検証する。このように、署名検証部３１及び証明書検証部３２は、証明情報を基に、ＴＡ２３が正当であるか否かを検証する。なお、署名検証部３１及び証明書検証部３２は、検証部の一例である。
【００２７】
なお、本実施形態における正当性の検証とは、ハッシュ等を用いた一般的な署名アルゴリズムにおける発行元の確認手順を実行することを指すものとする。例えば、検証装置３０は、コードサイニング証明書の署名を公開鍵１０２で復号した値と、ＴＡ２３のコードのハッシュ値とが一致する場合、当該コードサイニング証明書を正当であるとみなす。また、検証装置３０は、公開鍵証明書の署名を公開鍵１０２で復号した値が、認証装置１０を有する認証局を示すものであれば、当該公開鍵証明書を正当であるとみなす。
【００２８】
認証部３３は、署名検証部３１及び証明書検証部３２によってＴＡ２３が正当であることが証明され、かつ、第１の情報が出力されていること及び第１の情報を出力している装置が表示装置２０であることが確認可能である場合に、表示装置２０を認証する。本実施形態では、認証部３３は、署名検証部３１によってコードサイニング証明書の正当性が証明され、証明書検証部３２によって公開鍵証明書の正当性が証明され、表示装置２０の認証部２６によって正当な認証応答が返却された場合に、表示装置２０を認証する。
【００２９】
乱数コード発行部３５は、認証部３３によって表示装置２０が認証された場合、乱数コードを発行する。暗号化部３４は、乱数コードを公開鍵２０２で暗号化し、表示装置２０に送信する。なお、暗号化部３４は、第２の送信部の一例である。
【００３０】
また、出力部３６は、認証部３３によって表示装置２０が認証された場合、乱数コードを出力する。なお、出力部３６は、第２の出力部の一例である。
【００３１】
これまで説明した通り、検証装置３０においてコードサイニング証明書及び公開鍵証明書の正当性が証明された場合、出力部２５及び出力部３６は同一の乱数コードを出力する。このため、利用者４０は表示装置２０及び検証装置３０に表示されている乱数コードが一致していることを確認することで、表示装置２０のＴＡ２３が正常に動作していることを確認することができる。
【００３２】
検証装置３０は、公開鍵証明書の正当性を検証することにより、ＴＡ２３が表示装置２０にインストールされていることを証明する。また、検証装置３０は、コードサイニング証明書の正当性を検証することにより、ＴＡ２３が信頼可能な画面２４を表示装置２０に表示している状態であることを証明する。
【００３３】
例えば、検証装置３０に乱数コードが表示されていない場合、利用者４０が閲覧している表示装置２０の画面が、ＲＥＥ２０ａから出力されている偽装された画面であることが考えられる。また、表示装置２０に表示された乱数コードと検証装置３０に表示された乱数コードが一致しない場合、利用者４０が閲覧している表示装置２０の画面がＲＥＥ２０ａから出力されている偽装された画面であること、又は表示装置２０がすり替えられたものであることが考えられる。
【００３４】
［第１の実施形態の処理］
図４を用いて、確認システム１の処理の流れについて説明する。図４は、第１の実施形態に係る確認システムの処理の流れを示すシーケンス図である。図４に示すように、まず、認証装置１０は、第１の秘密鍵及び第１の公開鍵を生成する（ステップＳ１０１）。
【００３５】
そして、認証装置１０は、第１の公開鍵を検証装置３０に送信する（ステップＳ１０２）。また、第１の公開鍵から、ＴＡの署名を生成する（ステップＳ１０３）。そして、認証装置１０は、署名から生成したコードサイニング証明書を表示装置２０に送信する（ステップＳ１０４）。
【００３６】
表示装置２０は、ＴＡをインストールし、第２の秘密鍵及び第２の公開鍵を生成する（ステップＳ１０５）。そして、表示装置２０は、第２の公開鍵を認証装置１０に送信し、公開鍵証明書の発行を要求する（ステップＳ１０６）。ここで、認証装置１０は、公開鍵証明書を発行し（ステップＳ１０７）、表示装置２０に送信する（ステップＳ１０８）。そして、表示装置２０は、コードサイニング証明書及び公開鍵証明書を検証装置３０に送信する（ステップＳ１０９）。
【００３７】
検証装置３０は、第１の公開鍵でコードサイニング証明書の正当性を検証する（ステップＳ１１０）。また、検証装置３０は、第１の公開鍵で公開鍵証明書の正当性を検証する（ステップＳ１１１）。そして、検証装置３０は、それぞれの検証において正当性が証明された場合、表示装置２０に認証情報を要求する（ステップＳ１１２）。表示装置２０は、ＴＡによって生成された画面を出力している場合にのみ、認証要求に応じて認証情報を送信する（ステップＳ１１３）。
【００３８】
そして、検証装置３０は、乱数コードを発行し（ステップＳ１１４）、発行した乱数コードを第２の公開鍵で暗号化した上で表示装置２０に送信する（ステップＳ１１５）。ここで、検証装置３０は、乱数コードを表示する（ステップＳ１１６）。また、表示装置２０は、検証装置３０から送信された乱数コードを第２の秘密鍵で復号し表示する（ステップＳ１１７）。
【００３９】
［第１の実施形態の効果］
表示装置２０のＴＡ２３は、ＴＥＥ２０ｂ上で動作し、第１の情報を生成する。また、ＴＡ２３は、ＴＡ２３の正当性を証明する証明情報を検証装置３０に送信する。また、表示装置２０は、検証装置３０から第３の情報を受信する。また、表示装置２０は、ＴＡ２３によって生成された第１の情報を出力し、さらに、受信した第３の情報を出力する。検証装置３０は、証明情報を基に、ＴＡ２３が正当であるか否かを検証する。また、検証装置３０は、ＴＡ２３が正当であることが証明され、かつ、第１の情報が出力されていること及び第１の情報を出力している装置が表示装置２０であることが確認可能である場合に、表示装置２０を認証する。また、検証装置３０は、表示装置２０が認証された場合、第２の情報を出力する。また、検証装置３０は、表示装置２０が認証された場合、第３の情報を表示装置２０に送信する。
【００４０】
このように、第１の実施形態によれば、表示装置２０にＴＥＥ専用のＬＥＤ等のハードウェアを備えることなく、ＴＥＥが入出力画面を占有できていることを確認することができる。また、検証装置３０は、ＴＡが表示装置２０にインストールされていること、及び、ＴＡが信頼可能な画面を表示装置２０に表示している状態であることを証明した場合に、その都度コードを生成し出力するため、コードの盗み見や推測の影響を受けることなくＴＥＥが入出力画面を占有できていることを確認することができる。このため、第１の実施形態の確認システム１によれば、ＴＥＥが入出力画面を占有できていることを容易かつ確実に確認することができる。
【００４１】
また、ＴＡ２３は、さらに、秘密鍵２０１及び公開鍵２０２のペアを生成することができる。また、ＴＡ２３は、証明情報として、ＴＡ２３のコードサイニング証明書、及び公開鍵２０２の公開鍵証明書を検証装置３０に送信することができる。このとき、検証装置３０は、コードサイニング証明書及び公開鍵証明書が正当であるか否かを検証する。また、検証装置３０は、第３の情報を公開鍵２０２で暗号化して送信する。そして、表示装置２０は、暗号化された第３の情報を復号する。このように、第１の実施形態の確認システム１では、既存の認証局の機能であるコードサイニング証明書や公開鍵証明書を利用して検証を行うことができる。このため、あらたな認証局を追加する必要がない。
【００４２】
また、検証装置３０は、乱数コードを発行することができる。このとき、検証装置３０は、乱数コードを第２の情報として出力する。また、検証装置３０は、乱数コードを第３の情報として送信する。このように、第１の実施形態では乱数コードを随時発行して確認を行うことができるため、確認のためのコードが事前に外部に知られることを防止できる。
【００４３】
［第２の実施形態］
第２の実施形態について説明する。なお、第２の実施形態の説明において、第１の実施形態と共通している点については適宜説明を省略する。第１の実施形態では、検証装置３０による検証が行われた後に乱数コードが発行されるのに対し、第２の実施形態では、検証が行われる前から、乱数コードがあらかじめ設定されている。
【００４４】
図５は、第２の実施形態に係る確認システムの構成の一例を示す図である。図５に示すように、第２の実施形態では、ＴＡ２３は、ＴＡ２３を識別する識別情報であるＴＡ−ＩＤを生成する。また、検証装置３０は、ＴＡ−ＩＤ３７を記憶し、さらに、乱数コード３８をあらかじめ記憶している。また、乱数コード３８は、利用者４０にあらかじめ通知されているものとする。例えば、乱数コード３８は、検証装置３０の筐体に貼付されたシールや、検証装置３０の説明書等を介して利用者４０に通知されていてもよい。
【００４５】
ＴＡ２３は、初めて画面２４が表示される場合、秘密鍵２０１及び公開鍵２０２を生成する際に、ＴＡ−ＩＤを生成する。ここで、ＴＡ２３は、ＴＡ−ＩＤを紐付けて公開鍵証明書を発行することを認証装置１０に要求する。そして、表示装置２０は、認証装置１０によって発行されたＴＡ−ＩＤを紐付けた公開鍵証明書を検証装置３０に送信する。また、画面２４の表示が２回目以降の場合、ＴＡ２３は生成済みのＴＡ−ＩＤを検証装置３０に送信する。
【００４６】
証明書検証部３２は、記憶部に情報が格納済みでない場合、識別情報を記憶部に格納し、証明情報が正当である場合にＴＡ２３が正当であると証明する。具体的には、証明書検証部３２は、ＴＡ−ＩＤ３７がＮＵＬＬである場合、すなわち初めて画面２４が表示される場合、表示装置２０から送信されたＴＡ−ＩＤをＴＡ−ＩＤ３７に格納する。
【００４７】
一方、証明書検証部３２は、検証装置３０の所定の記憶部に情報が格納済みである場合は、証明情報が正当であって、記憶部に格納されている情報と識別情報とが同一である場合にＴＡ２３が正当であると証明する。具体的には、証明書検証部３２は、ＴＡ−ＩＤ３７がＮＵＬＬでない場合、すなわち画面２４の表示が２回目以降である場合、表示装置２０から送信されたＴＡ−ＩＤと、ＴＡ−ＩＤ３７に格納されているＴＡ−ＩＤとを照合する。
【００４８】
また、証明書検証部３２は、公開鍵証明書の正当性を検証する際に、表示装置２０から送信されたＴＡ−ＩＤと、ＴＡ−ＩＤ３７に格納されているＴＡ−ＩＤとが一致しているか否かをさらに検証する。そして、証明書検証部３２は、ＴＡ−ＩＤが一致していた場合に、公開鍵証明書を正当なものと証明する。
【００４９】
第１の実施形態と同様に、認証部３３は、署名検証部３１によってコードサイニング証明書の正当性が証明され、証明書検証部３２によって公開鍵証明書の正当性が証明され、表示装置２０の認証部２６によって正当な認証応答が返却された場合に、表示装置２０を認証する。
【００５０】
暗号化部３４は、認証部２６によって表示装置２０が認証された場合に、あらかじめ利用者４０に通知されている所定のコードを公開鍵２０２で暗号化し、表示装置２０に送信する。また、復号部２７は、暗号化部３４によって暗号化された乱数コードを秘密鍵２０１で復号する。また、表示装置２０の出力部２５は、復号部２７によって復号された乱数コードを出力する。
【００５１】
このとき、検証装置３０の出力部３６は、表示装置２０のＴＡ２３が正常に動作していることを利用者４０に通知する。出力部３６は、検証装置３０に備えられた、出力のオン及びオフを切り替え可能な出力手段を用いて、第２の情報を出力することができる。例えば、検証装置３０は、ランプを点灯させること等により通知を行ってもよい。
【００５２】
また、表示装置２０による乱数コードの出力は、少なくとも画面２４が初めて表示される場合のみ行われればよい。これは、初回表示の際に正当性が証明されていることで、使用している表示装置２０が同じである限り、出力部３６による出力が行われれば、表示装置２０のＴＡ２３が正常に動作していることが保証されるためである。
【００５３】
例えば、初回表示の際に検証装置３０から表示装置２０のＴＡ２３が正常に動作している旨の通知（例えば、ランプの点灯）が行われない場合、利用者４０が閲覧している表示装置２０の画面が、ＲＥＥ２０ａから出力されている偽装された画面であることが考えられる。また、表示装置２０に表示された乱数コードがあらかじめ利用者４０に通知されたものと一致しない場合、利用者４０が閲覧している表示装置２０の画面がＲＥＥ２０ａから出力されている偽装された画面であること、又は表示装置２０がすり替えられたものであることが考えられる。
【００５４】
［第２の実施形態の処理］
図６を用いて、確認システム１の処理の流れについて説明する。図６は、第２の実施形態に係る確認システムの処理の流れを示すシーケンス図である。図６に示すように、まず、認証装置１０は、第１の秘密鍵及び第１の公開鍵を生成する（ステップＳ２０１）。
【００５５】
そして、認証装置１０は、第１の公開鍵を検証装置３０に送信する（ステップＳ２０２）。また、第１の公開鍵から、ＴＡの署名を生成する（ステップＳ２０３）。そして、認証装置１０は、署名から生成したコードサイニング証明書を表示装置２０に送信する（ステップＳ２０４）。
【００５６】
表示装置２０は、ＴＡをインストールし、第２の秘密鍵、第２の公開鍵及びＴＡ−ＩＤを生成する（ステップＳ２０５）。そして、表示装置２０は、第２の公開鍵及びＴＡ−ＩＤを認証装置１０に送信し、公開鍵証明書の発行を要求する（ステップＳ２０６）。ここで、認証装置１０は、ＴＡ−ＩＤを含めた公開鍵証明書を発行し（ステップＳ２０７）、表示装置２０に送信する（ステップＳ２０８）。そして、表示装置２０は、コードサイニング証明書、公開鍵証明書及びＴＡ−ＩＤを検証装置３０に送信する（ステップＳ２０９）。
【００５７】
検証装置３０は、第１の公開鍵でコードサイニング証明書の正当性を検証する（ステップＳ２１０）。また、検証装置３０は、第１の公開鍵で公開鍵証明書及びＴＡ−ＩＤの正当性を検証する（ステップＳ２１１）。そして、検証装置３０は、それぞれの検証において正当性が証明された場合、表示装置２０に認証情報を要求する（ステップＳ２１２）。表示装置２０は、ＴＡによって生成された画面を出力している場合にのみ、認証要求に応じて認証情報を送信する（ステップＳ２１３）。
【００５８】
以降の処理は画面２４の初回表示の際に行われる。検証装置３０は、あらかじめ設定された乱数コードを第２の公開鍵で暗号化した上で表示装置２０に送信する（ステップＳ２１４）。ここで、検証装置３０は、ランプを点灯させる（ステップＳ２１５）。また、表示装置２０は、検証装置３０から送信された乱数コードを第２の秘密鍵で復号し表示する（ステップＳ２１６）。
【００５９】
［第２の実施形態の効果］
表示装置２０は、検証装置３０に備えられた、出力のオン及びオフを切り替え可能な出力手段を用いて、第２の情報を出力する。また、表示装置２０は、あらかじめ利用者に通知されている所定のコードを第３の情報として送信する。これにより、ランプの点灯といったシンプルな方法で利用者に通知を行うことが可能になる。
【００６０】
また、表示装置２０のＴＡ２３は、ＴＡ２３を識別する識別情報をさらに生成する。また、ＴＡ２３は、証明情報とともに識別情報を検証装置３０に送信する。また、検証装置３０は、所定の記憶部に情報が格納済みである場合は、証明情報が正当であって、記憶部に格納されている情報と識別情報とが同一である場合にＴＡ２３が正当であると証明する。また、検証装置３０は、記憶部に情報が格納済みでない場合、識別情報を記憶部に格納し、証明情報が正当である場合にＴＡ２３が正当であると証明する。また、検証装置３０は、識別情報が記憶部に格納され、かつ、表示装置２０が認証された場合、第３の情報を表示装置２０に送信する。これにより、利用者４０は、初回表示での検証後に、利用している表示装置２０がすり替え等により入れ替わっていない限り、２回目以降表示において、スクリーン２８上に表示した画面が信頼可能な画面２４であることを、検証装置３０を利用して検証することができる。
【００６１】
［第３の実施形態］
第３の実施形態について説明する。なお、第３の実施形態の説明において、第１の実施形態及び第２の実施形態と共通している点については適宜説明を省略する。第２の実施形態では、表示装置２０によってＴＡ−ＩＤが発行されるのに対し、第３の実施形態では、ＴＡ−ＩＤが利用者４０によって入力される。
【００６２】
図７は、第３の実施形態に係る確認システムの構成の一例を示す図である。図７に示すように、第３の実施形態では、利用者４０が入力したＴＡ−ＩＤを記憶しておき、出力部３６によって出力されるＴＡ−ＩＤが記憶しているＴＡ−ＩＤと一致するか否かを確認する。
【００６３】
ＴＡ２３は、公開鍵証明書とともに、利用者４０によって入力されたＴＡ−ＩＤを検証装置３０に送信する。なお、ＴＡ−ＩＤは、所定の識別情報の一例である。そして、出力部３６は、署名検証部３１によってコードサイニング証明書の正当性が証明され、かつ、証明書検証部３２によって公開鍵証明書の正当性が証明された場合、ＴＡ−ＩＤを出力する。
【００６４】
例えば、ＴＡ−ＩＤが検証装置３０によって表示されない場合、又は、検証装置３０に表示されたＴＡ−ＩＤが利用者４０が記憶しているＴＡ−ＩＤと一致しない場合、利用者４０が閲覧している表示装置２０の画面が、ＲＥＥ２０ａから出力されている偽装された画面であることが考えられる。
【００６５】
［第３の実施形態の処理］
図８を用いて、確認システム１の処理の流れについて説明する。図８は、第３の実施形態に係る確認システムの処理の流れを示すシーケンス図である。図８に示すように、まず、認証装置１０は、第１の秘密鍵及び第１の公開鍵を生成する（ステップＳ３０１）。
【００６６】
そして、認証装置１０は、第１の公開鍵を検証装置３０に送信する（ステップＳ３０２）。また、第１の公開鍵から、ＴＡの署名を生成する（ステップＳ３０３）。そして、認証装置１０は、署名から生成したコードサイニング証明書を表示装置２０に送信する（ステップＳ３０４）。
【００６７】
表示装置２０は、ＴＡをインストールし、第２の秘密鍵及び第２の公開鍵を生成する（ステップＳ３０５）。ここで、表示装置２０は、利用者４０からのＴＡ−ＩＤの入力を受け付け（ステップＳ３０６）。入力されたＴＡ−ＩＤを取得する（ステップＳ３０７）。なお、ＴＡ−ＩＤの入力を受け付けるタイミングは、ステップＳ３０７より前の任意のタイミングであってよい。
【００６８】
そして、表示装置２０は、第２の公開鍵及びＴＡ−ＩＤを認証装置１０に送信し、公開鍵証明書の発行を要求する（ステップＳ３０８）。ここで、認証装置１０は、ＴＡ−ＩＤを含めた公開鍵証明書を発行し（ステップＳ３０９）、表示装置２０に送信する（ステップＳ３１０）。そして、表示装置２０は、コードサイニング証明書、公開鍵証明書及びＴＡ−ＩＤを検証装置３０に送信する（ステップＳ３１１）。
【００６９】
検証装置３０は、第１の公開鍵でコードサイニング証明書の正当性を検証する（ステップＳ３１２）。また、検証装置３０は、第１の公開鍵で公開鍵証明書及びＴＡ−ＩＤの正当性を検証する（ステップＳ３１３）。そして、検証装置３０は、それぞれの検証において正当性が証明された場合、表示装置２０に認証情報を要求する（ステップＳ３１４）。表示装置２０は、ＴＡによって生成された画面を出力している場合にのみ、認証要求に応じて認証情報を送信する（ステップＳ３１５）。そして、検証装置３０はＴＡ−ＩＤを表示する（ステップＳ３１６）。
【００７０】
［第３の実施形態の効果］
表示装置２０のＴＡ２３は、ＴＥＥ２０ｂ上で動作し、第１の情報を生成する。また、ＴＡ２３は、ＴＡ２３の正当性を証明する証明情報とともに、利用者によって入力された識別情報を検証装置３０に送信する。また、表示装置２０は、ＴＡ２３によって生成された第１の情報を出力する。また、検証装置３０は、証明情報を基に、ＴＡ２３が正当であるか否かを検証する。また、検証装置３０は、ＴＡ２３が正当であることが証明され、かつ、第１の情報が出力されていること及び第１の情報を出力している装置が表示装置２０であることが確認可能である場合に、表示装置２０を認証する。また、検証装置３０は、表示装置２０が認証された場合、識別情報を出力する。これにより、利用者４０は、利用している表示装置２０がすり替え等により入れ替わっていない限り、スクリーン２８上に表示した画面が信頼可能な画面２４であることを、検証装置３０を利用して検証することができる。
【００７１】
［その他の実施形態］
上記の実施形態では、表示装置２０及び検証装置３０は、画面表示や点灯といった視覚的な手段により各情報を出力するものとして説明した。一方で、表示装置２０及び検証装置３０は、視覚的でない手段によって情報を出力してもよい。例えば、表示装置２０及び検証装置３０は、乱数コードを読み上げる音声を出力してもよい。
【００７２】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７３】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７４】
［プログラム］
一実施形態として、確認システム１は、パッケージソフトウェアやオンラインソフトウェアとして上記の処理を実行する実施形態に係るプログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の実施形態に係るプログラムを情報処理装置に実行させることにより、情報処理装置を確認システム１として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００７５】
図９は、実施形態に係るプログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００７６】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００７７】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、表示装置２０又は検証装置３０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、表示装置２０又は検証装置３０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００７８】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０は、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した実施形態の処理を実行する。
【００７９】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８０】
１  確認システム
１０  認証装置
１１  鍵生成部
１２  署名部
２０  表示装置
２０ａ  ＲＥＥ
２０ｂ  ＴＥＥ
２１、２４  画面
２２、２５、３６  出力部
２３  ＴＡ
２６、３３  認証部
２７  復号部
２８  スクリーン
３１  署名検証部
３２  証明書検証部
３４  暗号化部
３５  乱数コード発行部
３７  ＴＡ−ＩＤ
３８  乱数コード
４０  利用者
１０１、２０１  秘密鍵
１０２、２０２  公開鍵
【図１】
2019220802.tif 000003
【図２】
2019220802.tif 000004
【図３】
2019220802.tif 000005
【図４】
2019220802.tif 000006
【図５】
2019220802.tif 000007
【図６】
2019220802.tif 000008
【図７】
2019220802.tif 000009
【図８】
2019220802.tif 000010
【図９】
2019220802.tif 000011