(57)【要約】【課題】デバイスを使用する前に、当該デバイスが別のデバイスに偽装されたものかどうかを検知する。【解決手段】所定のインターフェース規格に基づいてホストと接続する機能を有するデバイスの偽装を検知するためのデバイス安全性検知装置において、前記デバイスに対し、当該デバイスの種類を示すデータを要求する要求手段と、前記要求に基づき前記デバイスから送信された前記データを受信し、当該データに基づいて、ユーザが前記デバイスの偽装有無を判断するための表示を行う表示手段とを備える。【選択図】図４
2017010174.tif 000002
【特許請求の範囲】
【請求項１】
所定のインターフェース規格に基づいてホストと接続する機能を有するデバイスの偽装を検知するためのデバイス安全性検知装置であって、
前記デバイスに対し、当該デバイスの種類を示すデータを要求する要求手段と、
前記要求に基づき前記デバイスから送信された前記データを受信し、当該データに基づいて、ユーザが前記デバイスの偽装有無を判断するための表示を行う表示手段と
を備えることを特徴とするデバイス安全性検知装置。
【請求項２】
前記表示手段は、前記データに基づいて、前記デバイスの種類を判定し、当該種類を示す情報の表示を行う
ことを特徴とする請求項１に記載のデバイス安全性検知装置。
【請求項３】
前記デバイス安全性検知装置は、前記ホストと接続するためのインターフェースと、ユーザからの操作を受ける操作手段とを更に備え、
前記表示手段による表示の後に、前記操作手段が接続許可を示す操作を受けた場合に、前記デバイスと前記ホストとを接続させる
ことを特徴とする請求項１又は２に記載のデバイス安全性検知装置。
【請求項４】
前記所定のインターフェース規格はＵＳＢであり、前記デバイスの種類を示すデータはディスクリプタである
ことを特徴とする請求項１ないし３のうちいずれか１項に記載のデバイス安全性検知装置。
【請求項５】
所定のインターフェース規格に基づいてホストと接続する機能を有するデバイスの偽装を検知するために、コンピュータが実行するデバイス安全性検知方法であって、
前記デバイスに対し、当該デバイスの種類を示すデータを要求する要求ステップと、
前記要求に基づき前記デバイスから送信された前記データを受信し、当該データに基づいて、ユーザが前記デバイスの偽装有無を判断するための表示を行う表示ステップと
を備えることを特徴とするデバイス安全性検知方法。
【請求項６】
コンピュータを、請求項１ないし４のうちいずれか１項に記載のデバイス安全性検知装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストと接続する機能を有するデバイスの安全性を検知するための技術に関連するものである。
【背景技術】
【０００２】
近年、ＰＣの基本的インターフェースであるＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）を用いたＵＳＢメモリ等のＵＳＢデバイスが広く普及している。ＵＳＢはプラグアンドプレイに対応しているため、ＵＳＢデバイスを使用したいときにＰＣに挿し、使用が終了したらＰＣから抜くといったことをＰＣを起動させたまま行うことが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２３８１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＵＳＢデバイスは小型のコンピュータに相当し、当該コンピュータで動作するプログラムであるファームウェアにより、ＵＳＢデバイスの様々な機能が実現されている。
【０００５】
しかし、ＵＳＢの仕様上、ファームウェアを誰でも書き換えることが可能になっている。そのため、ＵＳＢデバイスのファームウェアを不正なものに書き換えることで、ＵＳＢデバイスに悪意のある動作をさせるという脆弱性が報告されている。
【０００６】
例えば、攻撃者は、ファームウェアの書き換えによりＵＳＢメモリを自動ストローク機能を備えたキーボードに偽装する。偽装されたことを知らないＵＳＢメモリのユーザが、当該ＵＳＢメモリをＰＣに挿すと、ユーザの操作なしにキーボード入力が行われて、例えば、ＰＣの情報が破壊されたり、ＰＣから情報が盗まれる被害にあう。
【０００７】
上記の攻撃の例において、ＵＳＢメモリが挿されたＰＣは、ＵＳＢメモリから偽装されたＵＳＢキーボード（ＨＩＤデバイス）というデバイスを認識するだけであり、これが不正なものであるか否かの判断を行うことはできない。
【０００８】
なお、ＵＳＢメモリをＵＳＢキーボードに偽装することは偽装の一例に過ぎず、ＵＳＢメモリは他の様々なデバイスに偽装される可能性がある。また、ＵＳＢメモリ以外のＵＳＢデバイスも様々なデバイスに偽装される可能性がある。
【０００９】
本発明は上記の点に鑑みてなされたものであり、デバイスを使用する前に、当該デバイスが別のデバイスに偽装されたものかどうかを検知することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の実施の形態によれば、所定のインターフェース規格に基づいてホストと接続する機能を有するデバイスの偽装を検知するためのデバイス安全性検知装置であって、
前記デバイスに対し、当該デバイスの種類を示すデータを要求する要求手段と、
前記要求に基づき前記デバイスから送信された前記データを受信し、当該データに基づいて、ユーザが前記デバイスの偽装有無を判断するための表示を行う表示手段と
を備えることを特徴とするデバイス安全性検知装置が提供される。
【００１１】
また、本発明の実施の形態によれば、所定のインターフェース規格に基づいてホストと接続する機能を有するデバイスの偽装を検知するために、コンピュータが実行するデバイス安全性検知方法であって、
前記デバイスに対し、当該デバイスの種類を示すデータを要求する要求ステップと、
前記要求に基づき前記デバイスから送信された前記データを受信し、当該データに基づいて、ユーザが前記デバイスの偽装有無を判断するための表示を行う表示ステップと
を備えることを特徴とするデバイス安全性検知方法が提供される。
【発明の効果】
【００１２】
本発明の実施の形態によれば、デバイスを使用する前に、当該デバイスが別のデバイスに偽装されたものかどうかを検知することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の概要を説明するための図である。
【図２】ＵＳＢデバイス２００の構成例を示す図である。
【図３】ＵＳＢデバイス２００とホスト３００間の通常のプラグアンドプレイ手順を説明するための図である。
【図４】ＵＳＢデバイス２００とデバイス安全性検知装置１００とが接続されたときの動作を説明するための図である。
【図５】ＵＳＢデバイス２００とデバイス安全性検知装置１００との間の処理手順を説明するための図である。
【図６】第１の実施の形態におけるデバイス安全性検知装置１００の構成図である。
【図７】第２の実施の形態の概要を説明するための図である。
【図８】ＵＳＢデバイス２００、デバイス安全性検知装置１００、ホスト３００における処理手順を説明するための図である。
【図９】第２の実施の形態におけるデバイス安全性検知装置１００の構成図である。
【図１０】第２の実施の形態における変形例を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、以下で説明する各実施の形態では、偽装を検知する対象のデバイスをＵＳＢデバイスとしているが、これは例であり、他のデバイスについても本発明の技術を適用可能である。例えば、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）デバイスにも本発明の技術を適用可能である。
【００１５】
（第１の実施の形態）
＜概要＞
本実施の形態では、ＵＳＢデバイスが別のデバイスに偽装されたか否かを検知するデバイス安全性検知１００が導入される。図１を参照して、デバイス安全性検知装置１００を使用したＵＳＢデバイス２００の安全性検知方法を説明する。
【００１６】
ユーザがＵＳＢデバイス２００をＰＣ等のホスト３００に接続する前に、まず、ユーザはＵＳＢデバイス２００をデバイス安全性検知装置１００に接続する。すると、デバイス安全性検知装置１００は、例えば、ＵＳＢデバイス２００のデバイスの種類（メモリ、キーボード等）を表示する。
【００１７】
ＵＳＢデバイス２００が例えばＵＳＢメモリであるとする。デバイス安全性検知装置１００に表示されるデバイスの種類が「メモリ」以外（例：キーボード）である場合、ＵＳＢデバイス２００がＵＳＢメモリであると認識しているユーザは、当該ＵＳＢデバイス２００は偽装されていると判断し、ＵＳＢデバイス２００のホスト３００への接続を行わないことを判断できる。
【００１８】
一方、デバイス安全性検知装置１００に表示されるデバイスの種類が「メモリ」である場合、ＵＳＢデバイス２００がＵＳＢメモリであると認識しているユーザは、当該ＵＳＢデバイス２００は期待どおりにＵＳＢメモリであることを確認し、偽装されていないと判断し、ＵＳＢデバイス２００のホスト３００への接続を行う。
【００１９】
＜ＵＳＢデバイス２００の基本的な構成、動作について＞
ここで、本実施の形態に係るデバイス安全性検知装置１００の動作について説明する前に、ＵＳＢデバイス２００の構成、及び通常の動作について説明する。
【００２０】
図２は、ＵＳＢデバイス２００の内部構成の例を示す。図２に示す構成は、ＵＳＢデバイス２００がＵＳＢメモリである場合の構成を想定しているが、他のＵＳＢデバイスも同様の構成を含んでいる。
【００２１】
図２に示すように、ＵＳＢデバイス２００は、ＵＳＢコントローラ２０１とメモリ２０２を有する。ＵＳＢコントローラ２０１は、物理的には例えばＩＣチップである。ＵＳＢコントローラ２０１は、シリアルデータの送受信機能、エンドポイントを構成するＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）のデータバッファ、ＦＩＦＯの入出力の制御機能、ＣＰＵ（ファームウェアを実行することによる種々の制御を実現）等を有する。
【００２２】
メモリ２０２には、ファームウェアが格納されている。ファームウェアであるプログラムは、ディスクリプタの通知等のデバイスコンフィギュレーションに関する動作を実行するプログラムを含む。また、ファームウェアには、デバイスを定義したディスクリプタのデータも含まれる。
【００２３】
図３は、ＵＳＢデバイス２００がホスト３００に接続した際に実行されるプラグアンドプレイの手順を説明するための図である。なお、図３は、主要な手順のみを示している。
【００２４】
ステップＳ１０１において、ＵＳＢデバイス２００がホスト３００に接続されると、ホスト３００はアタッチを検出し、リセットを送出する。なお、ＵＳＢデバイス２００がホスト３００から電源供給を受ける場合、接続によりＵＳＢデバイス２００の電源投入が行われる。
【００２５】
ステップＳ１０２において、ホスト３００はＵＳＢデバイス２００に対してディスクリプタ要求（ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲ）を送信する。ステップＳ１０３において、ＵＳＢデバイス２００は、ディスクリプタ要求に応じて、ディスクリプタをホスト３００に送信する。
【００２６】
ディスクリプタは、ＵＳＢデバイス２００がどのような仕様のものなのかを示すデータである。ディスクリプタとして、デバイスディスクリプタ、インターフェースディスクリプタ等がある。デバイスディスクリプタには、デバイスクラスコードが含まれ、インターフェースディスクリプタにはインターフェースクラスコードが含まれる。ホスト３００は、デバイスクラスコードもしくはインターフェースクラスコードにより、ＵＳＢデバイス２００の種類（キーボード（ＨＩＤ）、メモリ（マスストレッジ）、オーディオ、ビデオ等）を識別できる。また、ディスクリプタとして、製品名等の文字列を記述できるストリングディスクリプタもあり、ホスト３００は、製品名を記述したストリングディスクリプタを受信した場合には、それからＵＳＢデバイス２００の種類を識別することもできる。
【００２７】
ＵＳＢデバイス２００の種類を識別したホスト３００では、当該ＵＳＢデバイス２００に適合したデバイスドライバの起動（ロード）を行う。また、ステップＳ１０４において、ホスト３００は、ＵＳＢデバイス２００に対してコンフィギュレーション（設定）を送信する。その後に、通常のデータ通信が行われる。
【００２８】
＜第１の実施の形態におけるデバイス安全性検知装置１００の動作、構成＞
図４は、デバイス安全性検知装置１００の動作概要を示している。デバイス安全性検知装置１００には、ＵＳＢデバイス２００を接続するための接続部（コネクタ）が備えられている。図４に示すように、デバイス安全性検知装置１００に、ＵＳＢデバイス２００を接続すると（ステップＳ２０１）、デバイス安全性検知装置１００は、ＵＳＢデバイス２００から受信したディスクリプタに基づいて、ＵＳＢデバイス２００の種類（どのような装置か）を検知し、検知した種類をユーザに知らせるための表示を行う（ステップＳ２０２）。図４の例では、デバイス安全性検知装置１００がＵＳＢデバイス２００の種類を「キーボード」であると検知し、「キーボード」という文字列をディスプレイに表示している。
【００２９】
ＵＳＢデバイス２００がＵＳＢメモリである場合に、デバイス安全性検知装置１００に「キーボード」の表示がなされると、ユーザは、ＵＳＢデバイス２００がキーボードに偽装されていることを認識し、ＵＳＢデバイス２００をホスト３００に接続しない。
【００３０】
なお、図４に示すように、ディスプレイに「キーボード」のような名前の文字列を表示することは、表示方法の一例である。例えば、複数種類の色の光を発光できるインジケータ（ＬＥＤ等）をデバイス安全性検知装置１００に備え、デバイス安全性検知装置１００は、識別したＵＳＢデバイス２００の種類に対応する色でインジケータを発光させることとしてもよい。
【００３１】
また、使用するＵＳＢデバイス２００の種類が１種類（例えばＵＳＢメモリとする）であることが想定される場合に、デバイス安全性検知装置１００は、メモリ以外の種類を検出したときに、アラーム（光、音、文字列のいずれでもよい）を出力することとしてもよい。当該アラームは、デバイスの種類を示す情報の例である。また、アラームの出力は「表示」の例である。
【００３２】
図５は、ＵＳＢデバイス２００とデバイス安全性検知装置１００との間の処理手順の例を示す図である。
【００３３】
ステップＳ３０１において、ＵＳＢデバイス２００がデバイス安全性検知装置１００に接続されると、デバイス安全性検知装置１００はアタッチを検出し、リセットを送出する。ステップＳ３０２において、デバイス安全性検知装置１００はＵＳＢデバイス２００に対してディスクリプタ要求（ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲ）を送信する。ステップＳ３０３において、ＵＳＢデバイス２００は、ディスクリプタ要求に応じて、ディスクリプタをデバイス安全性検知装置１００に送信する。
【００３４】
ステップＳ３０４において、デバイス安全性検知装置１００は、ＵＳＢデバイス２００から受信したディスクリプタに基づいて、ＵＳＢデバイス２００の種類を検知し、当該種類に応じた表示を行う（ステップＳ３０４）。
【００３５】
図５に示すステップＳ３０１〜Ｓ３０３は、図３に示したＵＳＢデバイス２００とホスト３００間でのステップＳ１０１〜Ｓ１０３と同じである。つまり、デバイス安全性検知装置１００は、例えば、ホスト３００のＯＳと同様のＯＳを搭載しており、ホスト３００と同様にＵＳＢデバイス２００との間でプラグアンドプレイ動作が可能であるが、ディスクリプタを受信した時点でプラグアンドプレイの動作を停止して、表示を行う機能を有している。なお、これは例であり、デバイス安全性検知装置１００は、既存のＯＳの機能を使用せずに、独自のプログラムを用いることでステップＳ３０１〜Ｓ３０３を実現することとしてもよい。
【００３６】
図６に、デバイス安全性検知装置１００の構成図を示す。図６は、デバイス安全性検知装置１００の構成の例である。デバイス安全性検知装置１００の構成は、本実施の形態で説明する動作を実現できる構成であればよく、図６に示す構成に限られない。
【００３７】
図６に示すように、デバイス安全性検知装置１００は、デバイス接続部１０１、接続制御部１０２、表示指示部１０３、表示部１０４を有する。
【００３８】
デバイス接続部１０１は、例えば、ＵＳＢプラグを挿すことができる受け側のコネクタである。接続制御部１０２は、図５に示したように、ＵＳＢデバイス２００が接続されてから、デバイスクラス等のＵＳＢデバイス２００の種類を判定できる情報を含むディスクリプタを受信するまでの動作（図５のステップＳ３０１〜Ｓ３０３）を行う機能を有する。
【００３９】
表示指示部１０３は、ＵＳＢデバイス２００から送信されたディスクリプタを接続制御部１０２から取得し、当該ディスクリプタにおけるデバイスの種類を示す情報（例：デバイスクラス／インターフェースクラスのクラスコード、ストリングディスクリプタの文字列等）に基づいて、ＵＳＢデバイス２００の種類を検知し、表示部１０４に対して表示指示を行う。
【００４０】
表示部１０４は、ディスプレイ、インジケータ等であり、表示指示部１０３からの指示に基づく表示を行う。例えば、表示部１０４がディスプレイである場合に、表示指示部１０３から「キーボード」を表示する旨の指示を受信したら、「キーボード」を表示する。また、例えば、表示部１０４が複数種類の色で発光できるインジケータである場合、表示指示部１０３から赤で発光する旨の指示を受けたら、赤で発光を行う。
【００４１】
本実施の形態に係るデバイス安全性検知装置１００は、例えば、ＣＰＵ、メモリ、ＵＳＢのコネクタ、表示部等を備えるコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、デバイス安全性検知装置１００が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリなどのハードウェア資源を用いて、デバイス安全性検知装置１００で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００４２】
上記のように、デバイス安全性検知装置１００がコンピュータとプログラムで実現できる点は、第２の実施の形態についても同様である。
【００４３】
（第２の実施の形態）
次に、第２の実施の形態を説明する。
【００４４】
＜概要＞
図７に示すように、第２の実施の形態におけるデバイス安全性検知装置１００は、ホスト３００に接続されて用いられる。
【００４５】
ユーザは、ＵＳＢデバイス２００を、ホスト３００に接続されたデバイス安全性検知装置１００に接続する。すると、デバイス安全性検知装置１００は、例えば、デバイスの種類（メモリ、キーボード等）を表示する。
【００４６】
ＵＳＢデバイス２００が例えばＵＳＢメモリであるとする。デバイス安全性検知装置１００に表示されるデバイスの種類が「メモリ」以外（例：キーボード）である場合、ＵＳＢデバイス２００がＵＳＢメモリであると認識しているユーザは、当該ＵＳＢデバイス２００は偽装されていると判断する。
【００４７】
一方、デバイス安全性検知装置１００に表示されるデバイスの種類が「メモリ」である場合、ＵＳＢデバイス２００がＵＳＢメモリであると認識しているユーザは、当該ＵＳＢデバイス２００は期待どおりにＵＳＢメモリであることを確認し、偽装されていないと判断する。
【００４８】
本実施の形態のデバイス安全性検知１００はユーザからの操作を受ける操作部を有している。デバイス安全性検知装置１００の表示により、ＵＳＢデバイス２００が偽装されていないことを確認したユーザは、当該操作部に対して、ＵＳＢデバイス２００とホスト３００との間の接続を許可することを示す操作を行う。この操作に基づき、ＵＳＢデバイス２００とホスト３００との間で、デバイス安全性検知装置１００を介した通常の動作がなされる。なお、通常の動作において、デバイス安全性検知装置１００は、ＵＳＢケーブルと等価であり、ＵＳＢデバイス２００とホスト３００との間で送受信される信号をトランスペアレントに中継する。
【００４９】
デバイス安全性検知装置１００の表示により、ＵＳＢデバイス２００が偽装されていることを検知した場合は、ＵＳＢデバイス２００をデバイス安全性検知装置１００から抜く。あるいは、操作部から以降の処理（通常の動作に移行するための処理）を停止することを示す操作を行うこととしてもよい。
【００５０】
＜第２の実施の形態におけるデバイス安全性検知装置１００の動作、構成＞
図８は、ＵＳＢデバイス２００、デバイス安全性検知装置１００、ホスト３００における処理手順の例を示す図である。
【００５１】
最初に、デバイス安全性検知装置１００とホスト３００が接続されているとする。本実施の形態では、デバイス安全性検知装置１００は、ＵＳＢコントローラを有しておらず、ホスト３００によりＵＳＢデバイスとして認識されない。ただし、デバイス安全性検知装置１００が、ホスト３００から電源の供給を受けることとしてもよい。
【００５２】
ステップＳ４０１において、ＵＳＢデバイス２００がデバイス安全性検知装置１００に接続されると、接続信号がＵＳＢデバイス２００からデバイス安全性検知装置１００を経由してホスト３００に送信される。これにより、ホスト３００はアタッチを検出し、リセットを送出する。リセットはデバイス安全性検知装置１００を経由してＵＳＢデバイス２００に送信される。
【００５３】
ステップＳ４０２において、ホスト３００はＵＳＢデバイス２００にディスクリプタ要求（ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲ）を送信する。ステップＳ４０３において、ＵＳＢデバイス２００は、ディスクリプタ要求に応じて、ＵＳＢデバイス２００の種類を示す情報を含むディスクリプタを送信する。
【００５４】
デバイス安全性検知装置１００は、接続許可の指示の前の段階において、ＵＳＢデバイス２００から受信するデータを監視している。デバイス安全性検知装置１００は、ステップＳ４０３において、ＵＳＢデバイス２００から、ＵＳＢデバイス２００の種類を示す情報を含むディスクリプタを受信したことを検知すると、当該ディスクリプタのホスト３００への転送を行わず、当該ディスクリプタに基づいて、ＵＳＢデバイス２００の種類を検知し、当該種類に応じた表示を行う（ステップＳ４０４）。表示方法は第１の実施の形態での表示方法と同じである。
【００５５】
ここでは、偽装がないことを示す表示が行われたとする。ステップＳ４０４において、表示を確認したユーザが、操作部から接続許可を示す操作を行うと、デバイス安全性検知装置１００は、当該操作内容に基づいて、ＵＳＢデバイス２００とホスト３００間での接続を行わせる。一例としては、ステップＳ４０３で受信したディスクリプタを保持しておき、ステップＳ４０５で接続許可の指示を受けたら、当該ディスクリプタをホスト３００に転送し（ステップＳ４０６）、これ以降は、ＵＳＢデバイス２００とホスト３００との間の通信をトランスペアレントに中継する（ステップＳ４０７）。
【００５６】
また、ステップＳ４０５で接続許可の指示を受けたら、ホスト３００に対して初期状態に戻す信号を送り、ホスト３００に対して、ＵＳＢデバイス２００が接続された直後からの動作と同じ動作を行わせることとしてもよい。接続許可を受けたこの段階では、デバイス安全性検知装置１００はディスクリプタの監視を行わず、ＵＳＢデバイス２００とホスト３００との間の通信をトランスペアレントに中継する。
【００５７】
図９に、第２の実施の形態におけるデバイス安全性検知装置１００の構成図を示す。図９は、第２の実施の形態におけるデバイス安全性検知装置１００の構成の例である。デバイス安全性検知装置１００の構成は、本実施の形態で説明する動作を実現できる構成であればよく、図９に示す構成に限られない。
【００５８】
図９に示すように、デバイス安全性検知装置１００は、デバイス接続部１０１、接続制御部１０２、表示指示部１０３、表示部１０４、操作部１０５、ホスト接続部１０６を備える。
【００５９】
デバイス接続部１０１は、第１の実施の形態のデバイス接続部１０１と同じであり、例えば、ＵＳＢプラグを挿すことができる受け側のコネクタである。接続制御部１０２は、図８に示したように、ＵＳＢデバイス２００が接続されてから、デバイスクラス等のＵＳＢデバイス２００の種類を判定できる情報を含むディスクリプタを受信するまでの動作（図８のステップＳ４０１〜Ｓ４０３）を行う機能を有する。また、接続制御部１０２は、操作部１０５からの接続許可の指示を検知すると、図８に示すステップＳ４０６、Ｓ４０７の動作（トランスペアレント中継を含む）を行う。また、前述したように、接続制御部１０２は、操作部１０５からの接続許可の指示を検知した場合に、ホスト３００に対して、ＵＳＢデバイス２００が接続された直後からの動作と同じ動作を行わせることとしてもよい。
【００６０】
表示指示部１０３は、接続許可の前の段階においてＵＳＢデバイス２００から送信されたディスクリプタを接続制御部１０２から取得し、当該ディスクリプタにおけるデバイスの種類を示す情報に基づいて、ＵＳＢデバイス２００の種類を検知し、表示部１０４に対して表示指示を行う。
【００６１】
表示部１０４は、第１の実施の形態の表示部１０４と同じであり、ディスプレイ、インジケータ等である。操作部１０５は、ユーザからの操作を受け付ける機能部である。操作部１０５は、接続許可の場合に押すための物理的なボタンであってもよいし、操作可能なタッチパネルであってもよい。当該タッチパネルは表示部１０４を兼ねてもよい。操作部１０５がタッチパネルである場合、例えば、タッチパネル上に、接続許可及び接続拒否を示すボタンが表示され、ユーザはいずれかのボタンを選択する（タッチする）ことで操作を行う。
【００６２】
ホスト接続部１０６は、ホスト３００と接続するための機能部であり、例えば、先端にＵＳＢプラグを備えたＵＳＢケーブルであってもよい。
【００６３】
第２の実施の形態におけるデバイス安全性検知装置１００の機能は、図１０に示すように、ホスト３００内に内蔵される装置、あるいは、ホスト３００で実行されるプログラムとして備えられてもよい。この場合、図８に示すステップＳ４０４における表示は、ホスト３００のディスプレイになされてもよいし、デバイス安全性検知装置１００の表示部１０４に相当する機能部によりなされてもよい。また、図８に示すステップＳ４０５においてなされる操作は、ホスト３００のキーボード、あるいはホスト３００のタッチパネル上の操作としてなされてもよいし、デバイス安全性検知装置１００の操作部１０５に相当する機能部によりなされてもよい。図１０に示す構成においては、ホスト３００をデバイス安全性検知装置と称してもよい。
【００６４】
以上、第１の実施の形態と第２の実施の形態を説明したが、デバイス安全性検知装置１００は、第１の実施の形態の機能と第２の実施の形態の機能の両方を備えてもよいし、いずれか一方のみの機能を備えることとしてもよい。
【００６５】
両方の機能を備える場合、例えば、デバイス安全性検知装置１００は、ホスト３００に接続された場合に、第２の実施の形態の動作を実行し、ホスト３００に接続されない場合に、第１の実施の形態の動作を実行することとしてもよい。
【００６６】
（実施の形態のまとめ）
本実施の形態により、所定のインターフェース規格に基づいてホストと接続する機能を有するデバイスの偽装を検知するためのデバイス安全性検知装置であって、前記デバイスに対し、当該デバイスの種類を示すデータを要求する要求手段と、前記要求に基づき前記デバイスから送信された前記データを受信し、当該データに基づいて、ユーザが前記デバイスの偽装有無を判断するための表示を行う表示手段とを備えることを特徴とするデバイス安全性検知装置が提供される。
【００６７】
前記表示手段は、例えば、前記データに基づいて、前記デバイスの種類を判定し、当該種類を示す情報の表示を行う。
【００６８】
前記デバイス安全性検知装置は、前記ホストと接続するためのインターフェースと、ユーザからの操作を受ける操作手段とを更に備えてもよく、その場合、前記表示手段による表示の後に、前記操作手段が接続許可を示す操作を受けた場合に、前記デバイスと前記ホストとを接続させることができる。
【００６９】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００７０】
１００  デバイス安全性検知装置
１０１  デバイス接続部
１０２  接続制御部
１０３  表示指示部
１０４  表示部
１０５  操作部
１０６  ホスト接続部
２００  ＵＳＢデバイス
２０１  ＵＳＢコントローラ
２０２  メモリ（ファームウェア）
３００  ホスト
【図１】
2017010174.tif 000003
【図２】
2017010174.tif 000004
【図３】
2017010174.tif 000005
【図４】
2017010174.tif 000006
【図５】
2017010174.tif 000007
【図６】
2017010174.tif 000008
【図７】
2017010174.tif 000009
【図８】
2017010174.tif 000010
【図９】
2017010174.tif 000011
【図１０】
2017010174.tif 000012