(57)【要約】【課題】周辺機器による不正なアクセスを防ぐことが可能な電子機器を提供する。【解決手段】ＵＳＢレセプタクル３００と、ＵＳＢコントローラ１０５の間に形成されたデータ・ラインにバス・スイッチ２００を挿入する。スイッチ・コントローラ１０７がＵＳＢレセプタクル３００に対する周辺機器の接続を検出すると、上位システム１０３のセキュリティ・マネージャ６１が電子機器の現在の存在位置を検出する。セキュリティ・マネージャは、ロケーション・リスト６３を参照し、存在場所のセキュリティ・リスクを判断する。セキュリティ・マネージャは公衆の場所のようなセキュリティ・リスクが高い場所で周辺機器が接続されたときはバス・スイッチの接続を許可しないが、Ｖｂｕｓラインを通じた充電は可能にする。よって、周辺機器からのマルウェアの侵入を防ぎながら充電が可能になる。【選択図】図２
2017111666.tif 000002
【特許請求の範囲】
【請求項１】
周辺機器の接続が可能な電子機器であって、
前記周辺機器を接続するコネクタと、
上位システムと前記周辺機器との間で行うデータ転送を制御するインターフェース・コントローラと、
前記コネクタと前記インターフェース・コントローラの間のデータ・ラインに挿入したバス・スイッチと、
前記周辺機器との間で行うデータ転送の安全性に関する情報に基づいて前記バス・スイッチを制御するスイッチ・コントローラと
を有する電子機器。
【請求項２】
前記バス・スイッチがオフ状態の間に前記コネクタを通じて前記周辺機器から充電電力を受け取ることが可能な請求項１に記載の電子機器。
【請求項３】
前記安全性に関する情報を前記上位システムが生成する請求項１に記載の電子機器。
【請求項４】
前記安全性に関する情報が、あらかじめ登録した前記電子機器の存在場所を示す情報を含む請求項３に記載の電子機器。
【請求項５】
前記スイッチ・コントローラは、前記電子機器があらかじめ登録した第１の存在場所に存在すると判断したときに、前記バス・スイッチをオン状態にする請求項４に記載の電子機器。
【請求項６】
前記スイッチ・コントローラは、前記電子機器があらかじめ登録した第２の存在場所に存在すると判断したときに、ユーザから指示があったときだけ前記バス・スイッチをオン状態にする請求項４に記載の電子機器。
【請求項７】
前記スイッチ・コントローラは、前記電子機器があらかじめ登録した所定の存在場所に存在しないと判断したときに、特別な権限をもつ管理者が許可しない限り前記バス・スイッチをオフ状態に維持する請求項４に記載の電子機器。
【請求項８】
前記安全性に関する情報を前記電子機器がハードウェア・レイヤで前記周辺機器と通信して生成する請求項１に記載の電子機器。
【請求項９】
前記周辺機器を認証するためのセキュリティ・チップを備え、前記スイッチ・コントローラは前記セキュリティ・チップによる認証が成功したときに限り前記バス・スイッチをオン状態にする請求項８に記載の電子機器。
【請求項１０】
前記データ・ラインが通信規格の異なる複数のデータ・チャネルを構成し、前記バス・スイッチがすべての前記データ・チャネルを切断することが可能な請求項１に記載の電子機器。
【請求項１１】
電子機器が備えるコネクタに周辺機器を接続する方法であって、
前記コネクタと上位システムを接続するデータ・ラインを物理的に遮断するステップと、
前記コネクタに前記周辺機器が接続されたことを検出するステップと、
前記周辺機器に対するデータ通信の安全性に関する所定の条件が成立したときだけ前記データ・ラインを接続するステップと
を有する方法。
【請求項１２】
前記コネクタと前記上位システムを物理的に遮断した状態で、前記周辺機器が前記コネクタを通じて供給する電力で前記電子機器が搭載する電池を充電するステップを有する請求項１１に記載の方法。
【請求項１３】
前記所定の条件が、前記電子機器が所定の地理的な位置に存在するときに成立する請求項１１に記載の方法。
【請求項１４】
前記所定の条件が、前記電子機器が前記周辺機器をハードウェア・レイヤで認証したときに成立する請求項１１に記載の方法。
【請求項１５】
前記所定の条件が、前記周辺機器の接続に応じて表示されたポップアップ画面をみたユーザが前記データ・ラインの接続を許可したときに成立する請求項１１に記載の方法。
【請求項１６】
周辺機器を接続するインターフェースのセキュリティ・システムであって、
前記周辺機器を接続するためのコネクタと、
前記周辺機器とのデータ転送を制御するインターフェース・コントローラと、
前記インターフェース・コントローラと前記コネクタの間に挿入したバス・スイッチと、
前記周辺機器に対するデータ通信の安全性に関する所定の条件が成立したときだけ前記バス・スイッチをオン状態にするスイッチ・コントローラと
を有するセキュリティ・システム。
【請求項１７】
前記コネクタが、前記周辺機器が充電電力を供給するためのピンと充電に関するパラメータをハードウェア・レイヤでネゴシエーションするためのピンを含む請求項１６に記載のセキュリティ・システム。
【請求項１８】
上位システムと、周辺機器を接続するコネクタと、前記上位システムと前記コネクタの間に形成したデータ・チャネルに挿入したバス・スイッチとを備える電子機器に、
前記コネクタに前記周辺機器が接続されたことを認識する機能と、
前記電子機器の存在場所を検出する機能と、
前記存在場所のセキュリティ・リスクを判断する機能と、
前記セキュリティ・リスクに応じて前記バス・スイッチの動作を制御する機能と
を実現させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺機器を接続するインターフェースを搭載した電子機器のデータ・セキュリティを向上する技術に関する。
【背景技術】
【０００２】
ラップトップ型コンピュータやタブレット端末などのコンピュータは、キーボード、マウス、プリンタ、またはハードディスク装置（ＨＤＤ）などのデバイスを接続するＵＳＢ（Universal Serial Bus）規格のレセプタクルを実装する。ＵＳＢインターフェースでは、ホスト（ソース）として動作するコンピュータまたは専用充電器がＶｂｕｓという電源ラインを通じてデバイス（シンク）として動作する周辺機器に充電電力を供給することができる。
【０００３】
これまでタブレット端末やスマートフォンなどの比較的充電電力の小さい携帯式電子機器に対して、空港やカフェなどの公衆の場所でＵＳＢポートを使った充電サービスが提供されている。最近、最大１００Ｗまでの充電電力を供給することが可能なＴｙｐｅ-ＣというコネクタのＵＳＢ規格が発表された（非特許文献１）。今後は、充電電力の大きいラップトップ型コンピュータに対しても、公衆の場所でＵＳＢポートを通じた充電サービスが開始される予定である。
【０００４】
ところで、ＵＳＢインターフェースを実現するＵＳＢコントローラは、ＣＰＵおよびファームウェアを記憶したフラッシュ・メモリを含む。このようなファームウェアは技術的に書き換えが可能になっているため、不正行為を意図した攻撃者に書き換えられる可能性がある。たとえば、公衆の場所で充電サービスを提供するＵＳＢコントローラのファームウェアが、仮想キーボードをエミュレートするように書き換えられて、不用意に接続したコンピュータに機密情報を取り出すための入力を行う可能性がある。
【０００５】
特許文献１は、接続されたＵＳＢデバイスのデバイス・クラスを検出して、当該ＵＳＢデバイスからの入力を許可しない場合にＵＳＢデバイスからの情報入力を無力化する情報処理装置を開示する。同文献には、バッファ・メモリに格納した入力情報をクリアすることで無力化することを記載している。特許文献２は、制御ネットワーク機器のＵＳＢやＳＡＴＡなどのＩ／Ｏポートを中継して、外部からのマルウェアの侵入を防止するセキュリティ装置を開示する。同文献には、制御対象の機器からオリジナル・ストレージへのＩ／Ｏが発生した場合に、セキュリティ装置が追加ストレージの対応するＩ／Ｏブロックから読みだしたセキュリティ情報に応じて、アクセスを制限したりユーザに確認したりすることを記載している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２４２６３２号公報
【特許文献２】特開２０１５−５２９５１号公報
【非特許文献】
【０００７】
【非特許文献１】Universal Serial Bus Type-C Cable and Connector Specification, Revision 1.1 April 3,2015,［online］、USB Implementers Forum, Inc.、［平成２７年１１月３０日検索］、インターネット＜URL：http://www.usb.org/developers/usbtypec/＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ユーザの意思とは無関係に発生するネットワークからのマルウェアの侵入に対しては、コンピュータがアンチウェイルス対策のソフトウェアでセキュリティを確保することができる。しかし、不正なファームウェアはコンピュータの外部の周辺機器で実行され、コンピュータは正規のキーボードを通じてユーザが入力したと認識するため、周辺機器を通じた不正なアクセスを検出することは困難である。また、ＵＳＢレセプタクルへの周辺機器の接続はユーザが意図的に行うものであり、過度のセキュリティ対策を施すとコンピュータの利便性を低下させる。よって、周辺機器の接続によるデータ・セキュリティのリスクが指摘されているにも関わらず、これまで十分なセキュリティ対策が講じられてこなかった。
【０００９】
攻撃者は、周辺機器のＵＳＢコントローラが実装するファームウェアを書き換えて巧妙にマルウェアを埋め込むことができる。あるときは公衆の場所で機密情報を盗聴するために不正に改造したＵＳＢポートを充電サービスとして提供するかも知れない。また、あるときは、ＵＳＢメモリを紛失物のように送り付けて社員にコンピュータへの接続を暗黙的に促すかもしれない。セキュリティ対策には、攻撃者が周辺機器の識別子（ＩＤ）を含む保護されていないあらゆる領域を改変できる可能性をもつことを想定する必要がある。
【００１０】
先行技術のように、接続されたＵＳＢデバイスのデバイス・クラスを認識してから接続を許可する方法では、接続を許可するまでの間にデータ・パスを通じてマルウェアが侵入する可能性がある。また攻撃者は、デバイス・クラスを成りすました不正な周辺機器を作成することもできる。さらに、コンピュータの上位システムが周辺機器を認証する方法では、認証プロセスにおいてマルウェアに感染する可能性がでてくる。
【００１１】
特に、機密性の高い情報を格納することが多いラップトップ型コンピュータは企業のデータ・セキュリティに対して深刻な問題を引き起こす可能性がある。最も確実なセキュリティ対策は、ＵＳＢポートに信頼できない周辺機器を接続しないことであるが、この場合、コンピュータを充電したりデータ交換したりするＵＳＢインターフェースの利便性が著しく低下する。本発明は、周辺機器を利用するユーザの利便性を維持しながらデータ・セキュリティを確保する技術を提供する。
【００１２】
そこで本発明の目的は、周辺機器による不正なアクセスを防ぐことが可能な電子機器を提供することにある。さらに本発明の目的は、充電機能を備えた周辺機器からのマルウェアの侵入を防止することが可能な電子機器を提供することにある。さらに本発明の目的は、不正なアクセスを防ぎながら周辺機器を接続する方法およびセキュリティ・システムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明は、周辺機器の接続が可能な電子機器に関する。電子機器は、周辺機器を接続するコネクタと、上位システムと周辺機器との間で行うデータ転送を制御するインターフェース・コントローラと、コネクタとインターフェース・コントローラの間のデータ・ラインに挿入したバス・スイッチと、周辺機器との間で行うデータ転送の安全性に関する情報に基づいてバス・スイッチを制御するスイッチ・コントローラとを有する。
【００１４】
上記の構成によれば、周辺機器がコネクタに接続されてもスイッチ・コントローラが安全性を確認するまでデータ・チャネルは構築されないため、周辺機器から上位システムに対するマルウェアの侵入を防いだり不正なアクセスを防いだりすることができる。バス・スイッチがオフ状態の間にコネクタを通じて周辺機器から充電電力を受け取ることが可能なように構成すれば、安全性が検証できない周辺機器であってもデータ・ラインを遮断して不正アクセスを防ぎながら充電ができるため、インターフェースの利便性が向上する。
【００１５】
本発明では上位システムに対する周辺機器からの不正アクセスを防止できるため、安全性に関する情報は上位システムが生成することができる。周辺機器の接続に関するデータ・セキュリティのリスクは、周辺機器を接続する場所に密接な関係がある。自宅のようなユーザが信頼できる場所に存在する周辺機器は、セキュリティ・リスクがないと判断してよい。他方で公衆の場所に存在する周辺機器は、セキュリティ・リスクが高いと考えてよい。したがって、安全性に関する情報は、あらかじめ登録した、電子機器の存在場所を示す情報を含むように構成することができる。
【００１６】
スイッチ・コントローラは、電子機器があらかじめ登録した第１の存在場所に存在すると判断したときに、バス・スイッチをオン状態にすることができる。安全な場所での周辺機器の接続に対しては、ユーザが追加的な操作を強いられたり、利用できるインターフェースの機能が低下したりすることがない。セキュリティ・リスクの低減と利便性はトレード・オフの関係にある。
【００１７】
電子機器は第１の場所よりもセキュリティ・リスクが高い第２の存在場所に存在するときは、ユーザの知識および注意力を利用して安全を確保することができる。具体的にはスイッチ・コントローラが、電子機器があらかじめ登録した第２の場所に存在すると判断したときに、ユーザから指示があったときだけバス・スイッチをオン状態にすることができる。
【００１８】
さらにスイッチ・コントローラは、電子機器があらかじめ登録した所定の存在場所に存在しないと判断したときに、特別な権限をもつ管理者が許可しない限りバス・スイッチをオフ状態に維持することができる。ユーザがそのような場所で周辺機器を接続する必要がある場合には、事前に管理者の許可を受けるようにしておけば、企業としてセキュリティ・リスクを管理することができる。
【００１９】
電子機器が周辺機器とハードウェア・レイヤで通信する間に上位システムへのデータ転送を停止しておけば、上位システムへマルウェアが送り込まれる恐れがなくなる。したがって、安全性に関する情報を電子機器がハードウェア・レイヤで周辺機器と通信して生成することができる。具体的には、電子機器が周辺機器を認証するためのセキュリティ・チップを備え、周辺機器がセキュリティ・チップまたはセキュアに格納したクレデンシャルを保有する場合に、スイッチ・コントローラはセキュリティ・チップによる認証が成功したときに限りバス・スイッチをオン状態にすることができる。データ・ラインが通信規格の異なる複数のデータ・チャネルを構成するときに、バス・スイッチがすべてのデータ・チャネルを切断することができれば、周辺機器からのマルウェアの侵入を確実に防止することができる。
【発明の効果】
【００２０】
本発明により、周辺機器による不正なアクセスを防ぐことが可能な電子機器を提供することができた。さらに本発明により、充電機能を備えた周辺機器からのマルウェアの侵入を防止することが可能な電子機器を提供することができた。さらに本発明により、不正なアクセスを防ぎながら周辺機器を接続する方法およびセキュリティ・システムを提供することができた。
【図面の簡単な説明】
【００２１】
【図１】本発明の適用が可能なラップトップ型コンピュータ１０の概略の構成を示す機能ブロック図である。
【図２】ＵＳＢセキュリティ・システム１００の構成を示す機能ブロック図である。
【図３】Ｔｙｐｅ３のＵＳＢレセプタクル３００とそれに適合するＵＳＢプラグ３０１のピン構成を示す図である
【図４】ラップトップ１０と周辺機器１５０がＵＳＢ通信をするときの論理構成を説明するための図である。
【図５】ＵＳＢセキュリティ・システム１００の動作手順を示すフローチャートである。
【発明を実施するための形態】
【００２２】
[定義]
最初に本明細書で使用する特別な用語を説明する。ハードウェアとは、半導体素子だけで構成した論理回路およびＲＯＭに格納したファームウェアの実行が可能なプロセッサを含む論理回路をいう。ハードウェア・レイヤとは、ＣＰＵがデバイス・ドライバ、ＯＳおよびアプリケーション・プログラムを実行する環境よりも下層に位置するシステムまたは処理機能をいう。
【００２３】
物理的に切断するとは、信号伝送ラインを電気的に切断する処理を意味しており、物理スイッチは物理的に切断する手段に相当する。物理的に切断することには、ソフトウェアが論理的にデータ転送を禁止する処理を含まない。物理スイッチの動作はハードウェアとソフトウェアのいずれが制御してもよい。コンピュータが搭載するハードウェアはマルウェアに対する耐性が高いと考えることができる。物理スイッチをソフトウェアが制御する場合は、物理スイッチのマルウェア耐性を維持するために当該ソフトウェアをセキュリティが確保された環境で実行する必要がある。コネクタは、プラグとレセプタクルの総称で、両者を区別する必要がない場合の名称として使用する。
【００２４】
周辺機器とは、電子機器の筐体に設けたコネクタに接続されるすべての機器をいう。周辺機器には、データ通信機能を備えた充電器も含む。ＵＳＢインターフェースで接続する周辺機器と電子機器は、接続時に一方がホスト（マスター）で他方がデバイス（スレーブ）として動作し、さらに一方が電力を受け取るシンクで他方が電力を供給するソースとして動作する。通常は、デバイスがシンクとして動作し、ホストがソースとして動作するがその逆の場合もある。
【００２５】
[コンピュータ]
本発明はデスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット端末、およびスマートフォンなどの電子機器に適用することができる。ただし、さまざまな場所で不特定の周辺機器を接続することがある携帯式の電子機器は、特にセキュリティ上のリスクが高いため本発明を適用すると効果的である。本明細書では、Ｉ／ＯポートとしてＵＳＢ規格のインターフェースを例示するが、本発明は他の規格のインターフェースに適用することもできる。
【００２６】
図１は、携帯式電子機器の一例としてのラップトップ型コンピュータ（ラップトップ）１０の概略の構成を示す機能ブロック図である。ＣＰＵ１１はメモリ・コントローラとＰＣＩ  Ｅｘｐｒｅｓｓコントローラを内蔵しており、システム・メモリ１３、ビデオ・カード１５およびチップ・セット１９に接続されている。ビデオ・カード１５にはＯＥＬＤやＬＣＤなどのＦＰＤ（Flat Panel Display）１７が接続されている。チップ・セット１９には、ＨＤＤ２１、無線ＷＡＮおよび無線ＬＡＮまたはいずれかの通信をする無線モジュール２５、ＧＰＳモジュール２７、バス・スイッチ２００およびエンベデッド・コントローラ（ＥＣ）３１が接続されている。図１では、本発明の説明に必要な範囲でパワー・ラインを太線で描いている。
【００２７】
バス・スイッチ２００には、Ｔｙｐｅ−ＣのＵＳＢレセプタクル３００が接続されている。ＵＳＢレセプタクル３００は、筐体の外部からアクセスできる位置に設ける。チップ・セット１９は、ＵＳＢブロック１０１を含む各種インターフェースのコントローラを含んでいる。ＥＣ３１には、ＤＣ／ＤＣコンバータ３３、電池ユニット３７、充電器３５および入力デバイス３９が接続されている。ＥＣ３１は、電力や筐体内部の温度を制御したり、入力デバイス３９の制御をしたりするマイクロ・コントローラである。
【００２８】
［ＵＳＢセキュリティ・システム］
図２はＵＳＢセキュリティ・システム１００の構成を示す機能ブロック図で、図３はＴｙｐｅ３のＵＳＢレセプタクル３００とＴｙｐｅ３のＵＳＢプラグ３０１のピン構成を示す図である。ＵＳＢセキュリティ・システム１００は、上位システム１０３、ＵＳＢブロック１０１、バス・スイッチ２００およびＵＳＢレセプタクル３００を含んでいる。
【００２９】
ＵＳＢセキュリティ・システム１００はさらに、パワー・スイッチ１０９、および電圧調整器（ＶＲ）１１１を含んでいる。上位システム１０３は、図１に示す要素からＵＳＢブロック１０１、バス・スイッチ２００、およびＵＳＢレセプタクル３００を除いたハードウェアとソフトウェアの複合体に相当する。上位システム１０３を構成するソフトウェアは、ＣＰＵ１１が実行するＵＳＢドライバ、ＯＳ、およびアプリケーション・プログラムなどを含みＨＤＤ２１に格納されている。上位システム１０３は、アプリケーション・プログラムの一部であるセキュリティ・マネージャ６１およびセキュリティ・マネージャ６１が参照するロケーション・リスト６３を含む。
【００３０】
セキュリティ・マネージャ６１は、ＵＳＢレセプタクル３００にＵＳＢプラグ３０１で周辺機器１５０（図４）が接続されたときの安全確保に関する処理をする。セキュリティ・マネージャ６１は、周辺機器１５０が接続されたときに、セキュリティ・リスクに応じてＦＰＤ１７にポップアップ画面を表示したり、スイッチ・コントローラ１０７に指示してバス・スイッチ２００を制御したりする。
【００３１】
ロケーション・リスト６３は、ラップトップ１０の存在場所と周辺機器１５０からマルウェアが侵入するリスクの大きさを関連付けたホワイト・リストに相当する。ロケーション・リスト６３はＨＤＤ２１に格納されており、セキュリティ・マネージャ６１がシステム・メモリ１３に読みだして参照する。一例において、ロケーション・リスト６３には、存在場所に応じてデータ転送の安全性に関する３段階のセキュリティ・レベルを設定している。たとえば、ユーザの自宅を最も安全なセキュリティ・レベル１に設定し、オフィスを次に安全なセキュリティ・レベル２に設定し、それ以外の場所を危険なセキュリティ・レベル３に設定する。セキュリティ・レベルの数およびロケーションは特に限定する必要はなく、企業やユーザが独自に設定することができる。
【００３２】
ロケーション・リスト６３を作成するために、ユーザは、ラップトップ１０を自宅やオフィスに持ち運んだ状態で、その時点で接続している無線ＬＡＮ（ＷｉＦｉ）のアクセス・ポイントのＳＳＩＤまたはＭＡＣアドレスを無線モジュール２５から取得して登録することができる。あるいは、ＧＰＳモジュール２７から位置情報を取得して登録することができる。セキュリティ・マネージャ６１は、セキュリティ・レベル１、２のいずれにも該当しない場合は、ラップトップ１０の存在場所をセキュリティ・リスクが最も高いセキュリティ・レベル３として扱うことができる。
【００３３】
ロケーション・リスト６３には、企業のセキュリティ・ポリシーを反映させることができる。一例では、セキュリティ・レベル３の場所で接続されたすべての周辺機器１５０に対して、データ・ラインを物理的に遮断することができる。他の例では、周辺機器１５０に対してデータ・ラインを遮断する場所をブラック・リストとして作成することもできる。ロケーション・リスト６３を企業のセキュリティ権限がある管理者だけが編集できるようにすれば、ラップトップ１０を社員に配布する企業がセキュリティ・レベルを一元的に管理することができる。
【００３４】
ＵＳＢブロック１０１は、周辺機器１５０と上位システム１０３の間でのデータ転送を制御するＵＳＢコントローラ１０５と、バス・スイッチ２００およびパワー・スイッチ１０９を制御するスイッチ・コントローラ１０７を含んでいる。ＵＳＢコントローラ１０５は、物理層１０５ａ、エンドポイント・パイプ・コントロール（ＥＰＣ）１０５ｂ、および上位システム１０３に対するインターフェース１０５ｃを含む。
【００３５】
物理層１０５ａは、トランシーバ、シリアル・インターフェース・エンジン（ＳＩＥ）を含む。ＥＰＣ１０５ｂは、エンドポイントと呼ばれるＦＩＦＯバッファとコントローラを含む。インターフェース１０５ｃは、上位システム１０３とデータ転送をするためのシリアル／パラレル変換機能を含む。スイッチ・コントローラ１０７は、ファームウェアを格納するＲＯＭ１０７ａとファームウェアを実行するマイクロ・コントロール・ユニット（ＭＣＵ）１０７ｂで構成している。スイッチ・コントローラ１０７は、周辺機器１５０をハードウェア・レイヤで認証できるＴＰＭ（Trusted Platform Module）のようなセキュリティ・チップ１０７ｃを含むようにしてもよい。
【００３６】
バス・スイッチ２００は、２セットのＴｘ／ＲｘピンをＵＳＢレセプタクル３００とＵＳＢコントローラ１０５の間でルーティングしたり、物理的に切断したりする物理スイッチに相当する。バス・スイッチ２００は、ＵＳＢコントローラ１０５またはスイッチ・コントローラ１０７が制御する。図３において、ＵＳＢレセプタクル３００は２つの面に１２個ずつ、合計２４個のピンを備え、ＵＳＢプラグ３０１の上下および左右を反転して接続しても機能するようになっている。ＵＳＢレセプタクル３００は、ＵＳＢ２．０規格に適合する差動増幅器の２セットのＤ±ピン、ＵＳＢ３．０／３．１規格に適合する差動増幅器の２セットのＴｘ／Ｒｘピンを含む。
【００３７】
通常は、２セットのＴｘ／Ｒｘピンのうち、いずれか一方だけをＵＳＢ３．０／３．１規格の通信に利用するため、ＵＳＢプラグ３０１の接続方向に応じて、ＵＳＢコントローラ１０５とＵＳＢレセプタクル３００の間で経路を変更する必要がある。したがって、図２に示すように２セットのＴｘ／Ｒｘピンは、ルーティングのためのバス・スイッチ２００を経由してＵＳＢコントローラ１０５に接続する。
【００３８】
なお、ＵＳＢ３．０／３．１規格の通信に利用しないＴｘ／Ｒｘピンは、ＤＰ（Display Port）やＰＣＩｅなどの他のインターフェースに利用することもできる。Ｄ±ピンには、ＵＳＢプラグ３０１のいずれか一方の面に配置したＤ±ピンだけが接続されるため、通常は、バス・スイッチまたはマルチプレクサを経由しないでＵＳＢコントローラ１０５に直接接続している。
【００３９】
本発明では周辺機器１５０からのマルウェアの侵入を防ぐために、バス・スイッチ２００の機能を拡張して、Ｄ±ピンもバス・スイッチ２００を経由してＵＳＢコントローラ１０５に接続する。Ｔｘ／ＲｘピンおよびＤ±ピンが接続されるＵＳＢレセプタクル３００とＵＳＢコントローラ１０５を結ぶラインをデータ・ラインという。図２では、ＵＳＢレセプタクル３００とＵＳＢコントローラ１０５の間に、バス・スイッチ２００を介して、データ・ラインがＵＳＢ３．０／３．１のデータ・チャネルとDisplay Portのデータ・チャネルと、ＵＳＢ２．０のデータ・チャネルを形成している様子を示している。
【００４０】
ＶＲ１１１は、ＤＣ／ＤＣコンバータ３３から電力の供給を受けて、パワー・スイッチ１０９およびＵＳＢセキュリティ・システム１００の各要素に電力を供給する。ＵＳＢレセプタクル３００は、Ｔｙｐｅ３の規格で新たに追加されたＣＣ１ピン、ＣＣ２ピン（ＣＣピンまたはＣＣラインともいう。）、ＳＢＵ１ピン、ＳＢＵ２ピン（ＳＢＵピンともいう。）を含む。パワー・スイッチ１０９は、ＶｂｕｓラインやＣＣラインを通じてＵＳＢプラグ３０１のＶｃｏｎｎピンに電力を供給したり、Ｖｂｕｓラインから供給された電力を充電器３５に供給したりするために回路を切り替える物理スイッチである。
【００４１】
パワー・スイッチ１０９は、ＵＳＢコントローラ１０５またはスイッチ・コントローラ１０７が制御する。ＣＣピンは、パワー・スイッチ１０９を経由してＵＳＢブロック１０１に接続される。ＣＣピンは、ラップトップ１０が所定のＵＳＢケーブルや周辺機器が接続されたときにＵＳＢプラグ３０１のＶｃｏｎｎピンに接続される。パワー・スイッチ１０９は、ＣＣピンにＶｃoｎｎピンに向けた電力を供給しないときは、ＵＳＢレセプタクル３００のＣＣピンとＵＳＢブロック１０１を接続する。
【００４２】
ＣＣピンは、ＵＳＢプラグ３０１の挿入方向、Ｖｂｕｓを通じた電力送受のパラメータ検出、周辺機器のポートの識別、およびＢＭＣ（Bi-phase Mark Coding）通信などに利用する。ＵＳＢブロック１０１は定期的にＣＣピンをモニターし、周辺機器１５０が接続されたときにＣＣラインを通じてネゴシエーションをして、データ通信および電力供給に関する動作モードを決定する。ＳＢＵピンは、ＵＳＢブロック１０１に接続してオルタネート・モード（Alternate Mode）での動作に利用する。
【００４３】
図１〜図３は本実施の形態を説明するために必要な主要なハードウェアの構成および接続関係を簡略化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、ラップトップ１０やＵＳＢセキュリティ・システム１００を実現するには多くのデバイスまたはコンポーネントが使われる。しかしそれらは当業者には周知であり発明の理解に不要なので説明を省略する。図で記載した複数のブロックを１個の集積回路もしくは装置としたり、逆に１個のブロックを複数の集積回路もしくは装置に分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
【００４４】
［ＵＳＢ通信の論理構成］
図４は、ラップトップ１０と周辺機器１５０がＵＳＢインターフェースでデータ転送をするときの論理的な構成を説明するための図である。周辺機器１５０とラップトップ１０との通信は、ハードウェア・レイヤ１３０の通信、ディフォルト・パイプによるシステム・レベルの通信および複数のパイプによるアプリケーション・レベルの通信の３つの階層で行われる。周辺機器１５０と上位システム１０３の間で交換するパケットはすべてＴｘ／Ｒｘ、またはＤ±の物理的なデータ・ラインを通過する。
【００４５】
ディフォルト・パイプとパイプ群は物理的なデータ・ラインが構築する論理的なデータ・チャネルで、ハードウェア・レイヤ１３０でのデータ通信を時分割して形成される。ディフォルト・パイプは、周辺機器１５０が接続されると自動的に構築される。ラップトップ１０がホストとして動作するときは、ディフォルト・パイプを利用して周辺機器１５０をコンフィグレーションしパイプ群を構築する。ラップトップ１０は定期的にＣＣピンを監視し、周辺機器１５０がＵＳＢケーブルで接続されたときにＣＣラインを利用してハードウェア・レイヤ１３０での通信をする。
【００４６】
ＨＤＤ２１に格納されたデバイス・ドライバおよびＯＳを含むシステム・ソフトウェア５１は、ディフォルト・パイプを利用してシステム・レベルでの通信を行い、周辺機器１５０のコンフィグレーションを行う。ＨＤＤ２１に格納されたアプリケーション・プログラム５３は、コンフィグレーションにより構築された複数のパイプを利用してアプリケーション・レベルでの通信をする。システム・レベルの通信およびアプリケーション・レベルの通信は、上位システム１０３で行われる。上位システム１０３が、ファームウェアが不正に書き換えられた周辺機器１５０とパケットを交換するとセキュリティ・リスクが発生するが、ハードウェア・レイヤ１３０での通信でＵＳＢブロック１０１がマルウェアに感染する恐れはない。
【００４７】
［ＵＳＢセキュリティ・システムの動作手順］
図５は、ＵＳＢセキュリティ・システム１００の動作手順を示すフローチャートである。ブロック４０１で、ＵＳＢレセプタクル３００に周辺機器１５０が接続される前は、バス・スイッチ２００がすべてのデータ・チャネルを切断している。また、パワー・スイッチ１０９はＣＣラインを接続し、ＶｃｏｎｎラインおよびＶｂｕｓラインへの電源経路を切断している。
【００４８】
ブロック４０３でＵＳＢレセプタクル３００にＵＳＢプラグ３０１で周辺機器１５０が接続される。周辺機器１５０は、スマートフォンやタブレット端末のようにシンクとなってＶｂｕｓラインを通じてラップトップ１０から電力の供給を受けるものや、充電ポートのようにソースとなってＶｂｕｓラインを通じてラップトップ１０に電力を供給するものを含む。
【００４９】
ブロック４０５でスイッチ・コントローラ１０７は、ＣＣラインを通じて周辺機器１５０を認識する。スイッチ・コントローラ１０７は、ＵＳＢプラグ３０１の挿入向きを確認して充電に関するネゴシエーションを実行する。スイッチ・コントローラ１０７は、周辺機器１５０との間でソース／シンク関係を確定する。ここでは、周辺機器１５０がソースでラップトップ１０がシンクに確定したと想定する。ただし本発明は、ラップトップ１０がソースとなって、シンクとなる周辺機器１５０を充電する場合にも適用できる。
【００５０】
ブロック４０７でスイッチ・コントローラ１０７は、ＣＣラインを通じて周辺機器１５０と、充電電圧および最大の充電電流についてネゴシエーションをする。周辺機器１５０が、所定の電圧でＶｂｕｓラインに電力を供給し、パワー・コントローラ１０７はパワー・スイッチ１０９を制御してＶｂｕｓラインから充電器３５に電力を供給する。ＥＣ３１は、電池ユニット３７の充電状態を監視して充電器３５にパラメータを設定することで充電が開始される。
【００５１】
ブロック４０９は、あらかじめ相互認証のためのペアリングが構築された周辺機器１５０との間で行われる。ラップトップ１０は、セキュリティ・チップ１０７ｃが周辺機器との間でクレデンシャルを交換してハードウェア・レイヤ１３０での相互認証を成功したときにブロック４５１に移行する。なお、相互認証に代えてラップトップ１０だけが一方向に周辺機器１５０を認証するようにしてもよい。
【００５２】
認証はハードウェア・レイヤ１３０で行われるため、認証のプロセスで上位システム１０にマルウェアが侵入することはない。ブロック４５１でスイッチ・コントローラ１０７は、バス・スイッチ２００を制御して所定のデータ・チャネルを接続する。バス・スイッチ２００の制御は、マルウェアに汚染されることがないハードウェア・レイヤ１３０で行うため安全である。
【００５３】
データ・チャネルが構築されるとＵＳＢコントローラ１０５または周辺機器１５０は周知のプラグ＆プレイの手順で、ディフォルト・パイプを構築してシステム・レベルの通信を行い、相手にアドレスを割り当てアプリケーション・レベルのパイプ群を構築してからデータ通信を開始する。ディフォルト・パイプを構築する前に周辺機器１５０の安全が確認されているため、システム・レベルおよびアプリケーション・レベルの通信をしてもラップトップ１０にマルウェアが侵入する危険性はない。
【００５４】
相互認証ができない場合、および相互認証に失敗した場合はブロック４１１に移行する。ブロック４１１でスイッチ・コントローラ１０７は、ＣＰＵ１１に割り込みをかけて、セキュリティ・マネージャ６１に認証失敗を示すイベントを送る。セキュリティ・マネージャ６１は、ＧＰＳモジュール２７から現在の位置情報を取得するか、無線モジュール２５から現在接続しているアクセス・ポイントのＳＳＩＤまたはＭＡＣアドレスを取得する。
【００５５】
ブロック４１３でセキュリティ・マネージャ６１がロケーション・リスト６３を参照して、ラップトップ１０の現在の位置のセキュリティ・レベルが１であると判断したときはブロック４５１に移行する。ブロック４５１でセキュリティ・マネージャ６１は、スイッチ・コントローラ１０７にバス・スイッチ２００を制御してデータ・ラインを接続するように指示する。自宅に存在する周辺機器１５０は、マルウェアに汚染される可能性が低いためユーザはこれまでどおりに周辺機器１５０を接続しても特別な操作をすることなく安全を確保することができる。
【００５６】
また、セキュリティ・マネージャ６１がセキュリティ・レベルを判断してスイッチ・コントローラ１０７に指示するまでバス・スイッチ２００はオフ状態を維持するため、データ・ラインを接続してもそれ以後に上位システム１０３が周辺機器１５０を通じてマルウェアにより汚染されることもない。ブロック４１５でセキュリティ・マネージャ６１がロケーション・リスト６３を参照して、ラップトップ１０の現在の位置のセキュリティ・レベルが２であると判断したときはブロック４７１に移行する。
【００５７】
ブロック４７１でセキュリティ・マネージャ６１は、ＦＰＤ１７にセキュリティ・リスクがある周辺機器１５０が接続されたことを示すポップアップ画面を表示する。ポップアップ画面には、当該周辺機器１５０を通じてマルウェアが侵入するリスクがあること、データ転送のためには周辺機器１５０の安全性を確認してから接続の指示をする必要があることなどを含めることができる。
【００５８】
ブロック４７３でユーザが入力デバイス３９を通じて、データ・ラインの接続を許可する指示をしたときはブロック４５１に移行する。ブロック４５１でセキュリティ・マネージャ６１は、スイッチ・コントローラ１０７にバス・スイッチ２００を制御してデータ・ラインを接続するように指示する。ユーザが周辺機器１５０のセキュリティ・リスクを判断するまでバス・スイッチ２００はオフ状態を維持するため、上位システム１０３が周辺機器１５０を通じてマルウェアに汚染されることもない。ブロック４７３でユーザがデータ・ラインの接続を許可しない場合でも、ラップトップ１０は周辺機器１５０から電力の供給を受けて充電を継続することができる。
【００５９】
現在の存在場所がロケーション・リスト６３に登録されていないと判断したときは、ブロック４１７でセキュリティ・マネージャ６１が、ＦＰＤ１７に危険性がある周辺機器１５０が接続されたことを示すポップアップ画面を表示する。ポップアップ画面には、当該周辺機器１５０を通じてマルウェアが侵入する可能性があるためデータ通信を許可しないメッセージを含めることができる。この場合、ラップトップ１０は周辺機器１５０との間で、Ｖｂｕｓラインを通じて電力の送受だけを行うことができる。この場合にラップトップ１０のユーザは、ハードウェア認証を成功させるかセキュリティ権限のある管理者から許可を受けてロケーション・リスト６３を変更することでＵＳＢ通信をすることができる。
【００６０】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００６１】
１０  ラップトップ型コンピュータ
１００  ＵＳＢセキュリティ・システム
１０１  ＵＳＢブロック
１０３  上位システム
１０５  ＵＳＢコントローラ
１０７  スイッチ・コントローラ
２００  バス・スイッチ
３００  ＵＳＢレセプタクル
３０１  ＵＳＢプラグ
【図１】
2017111666.tif 000003
【図２】
2017111666.tif 000004
【図３】
2017111666.tif 000005
【図４】
2017111666.tif 000006
【図５】
2017111666.tif 000007
【手続補正書】
【提出日】平成28年11月25日(2016.11.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
周辺機器の接続が可能な電子機器であって、
前記周辺機器からのマルウェアの侵入を防止する必要がある上位システムと、
前記周辺機器を接続するコネクタと、
前記上位システムと前記周辺機器との間で行うデータ転送を制御するインターフェース・コントローラと、
前記コネクタと前記インターフェース・コントローラの間のデータ・ラインに挿入したバス・スイッチと、
前記上位システムにパケットを送らないハードウェア・レイヤで前記周辺機器と通信して前記周辺機器を認証したときに前記バス・スイッチをオン状態に制御するスイッチ・コントローラと
を有する電子機器。
【請求項２】
前記上位システムをアプリケーション・プログラムとオペレーティング・システムを含むソフトウェアと、プロセッサとシステム・メモリを含むハードウェアの複合体として構成した請求項１に記載の電子機器。
【請求項３】
前記バス・スイッチがオフ状態の間に前記コネクタを通じて前記周辺機器から充電電力を受け取る請求項１に記載の電子機器。
【請求項４】
前記インターフェース・コントローラがＵＳＢコントローラである請求項１に記載の電子機器。
【請求項５】
前記バス・スイッチが、Ｔｘ／ＲｘピンおよびＤ±ピンに挿入されている請求項４に記載の電子機器。
【請求項６】
前記スイッチ・コントローラは前記上位システムにあらかじめ登録した前記電子機器の存在場所を示す情報に基づいて前記バス・スイッチを制御する請求項１に記載の電子機器。
【請求項７】
前記スイッチ・コントローラは前記周辺機器を認証しない場合でも、前記電子機器があらかじめ登録した第１の存在場所に存在すると判断したときに、前記バス・スイッチをオン状態にする請求項６に記載の電子機器。
【請求項８】
前記スイッチ・コントローラは前記周辺機器を認証しない場合で、かつ前記電子機器があらかじめ登録した第２の存在場所に存在すると判断したときに、ユーザから指示があったときだけ前記バス・スイッチをオン状態にする請求項６に記載の電子機器。
【請求項９】
前記スイッチ・コントローラは前記周辺機器を認証しない場合で、かつ前記電子機器があらかじめ登録した所定の存在場所に存在しないと判断したときに、特別な権限をもつ管理者が許可しない限り前記バス・スイッチをオフ状態に維持する請求項６に記載の電子機器。
【請求項１０】
前記周辺機器を認証するためのセキュリティ・チップを備え、前記スイッチ・コントローラは前記セキュリティ・チップによる認証が成功したときに限り前記バス・スイッチをオン状態にする請求項１に記載の電子機器。
【請求項１１】
前記データ・ラインが通信規格の異なる複数のデータ・チャネルを構成し、前記バス・スイッチがすべての前記データ・チャネルを切断することが可能な請求項１に記載の電子機器。
【請求項１２】
周辺機器を、該周辺機器からマルウェアの侵入を防止する必要がある上位システムを搭載する電子機器が備えるコネクタに接続する方法であって、
前記コネクタと前記上位システムを接続するデータ・ラインを物理的に遮断するステップと、
前記コネクタに前記周辺機器が接続されたことを検出するステップと、
前記上位システムにパケットを送らないハードウェア・レイヤで前記周辺機器と通信して前記周辺機器を認証したときに前記データ・ラインを接続するステップと
を有する方法。
【請求項１３】
周辺機器を、該周辺機器からマルウェアの侵入を防止する必要がある上位システムを搭載する電子機器が備えるコネクタに接続するインターフェースのセキュリティ・システムであって、
前記周辺機器を接続するためのコネクタと、
前記周辺機器と前記上位システムとの間で行うデータ転送を制御するインターフェース・コントローラと、
前記インターフェース・コントローラと前記コネクタの間に挿入したバス・スイッチと、
前記上位システムにパケットを送らないハードウェア・レイヤで前記周辺機器と通信して前記周辺機器を認証したときに前記バス・スイッチをオン状態にするスイッチ・コントローラと
を有するセキュリティ・システム。
【請求項１４】
前記コネクタが、前記周辺機器が充電電力を供給するためのピンと充電に関するパラメータをハードウェア・レイヤでネゴシエーションするためのピンを含む請求項１３に記載のセキュリティ・システム。