JP6138224B1 - インターフェースのセキュリティ・システム、周辺機器の接続方法、電子機器、およびコンピュータ・プログラム - Google Patents

インターフェースのセキュリティ・システム、周辺機器の接続方法、電子機器、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP6138224B1
JP6138224B1 JP2015246404A JP2015246404A JP6138224B1 JP 6138224 B1 JP6138224 B1 JP 6138224B1 JP 2015246404 A JP2015246404 A JP 2015246404A JP 2015246404 A JP2015246404 A JP 2015246404A JP 6138224 B1 JP6138224 B1 JP 6138224B1
Authority
JP
Japan
Prior art keywords
peripheral device
electronic device
usb
switch
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015246404A
Other languages
English (en)
Other versions
JP2017111666A (ja
Inventor
泰通 塚本
泰通 塚本
智紀 原田
智紀 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2015246404A priority Critical patent/JP6138224B1/ja
Application granted granted Critical
Publication of JP6138224B1 publication Critical patent/JP6138224B1/ja
Publication of JP2017111666A publication Critical patent/JP2017111666A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】周辺機器による不正なアクセスを防ぐことが可能な電子機器を提供する。【解決手段】USBレセプタクル300と、USBコントローラ105の間に形成されたデータ・ラインにバス・スイッチ200を挿入する。スイッチ・コントローラ107がUSBレセプタクル300に対する周辺機器の接続を検出すると、上位システム103のセキュリティ・マネージャ61が電子機器の現在の存在位置を検出する。セキュリティ・マネージャは、ロケーション・リスト63を参照し、存在場所のセキュリティ・リスクを判断する。セキュリティ・マネージャは公衆の場所のようなセキュリティ・リスクが高い場所で周辺機器が接続されたときはバス・スイッチの接続を許可しないが、Vbusラインを通じた充電は可能にする。よって、周辺機器からのマルウェアの侵入を防ぎながら充電が可能になる。【選択図】図2

Description

本発明は、周辺機器を接続するインターフェースを搭載した電子機器のデータ・セキュリティを向上する技術に関する。
ラップトップ型コンピュータやタブレット端末などのコンピュータは、キーボード、マウス、プリンタ、またはハードディスク装置(HDD)などのデバイスを接続するUSB(Universal Serial Bus)規格のレセプタクルを実装する。USBインターフェースでは、ホスト(ソース)として動作するコンピュータまたは専用充電器がVbusという電源ラインを通じてデバイス(シンク)として動作する周辺機器に充電電力を供給することができる。
これまでタブレット端末やスマートフォンなどの比較的充電電力の小さい携帯式電子機器に対して、空港やカフェなどの公衆の場所でUSBポートを使った充電サービスが提供されている。最近、最大100Wまでの充電電力を供給することが可能なType-CというコネクタのUSB規格が発表された(非特許文献1)。今後は、充電電力の大きいラップトップ型コンピュータに対しても、公衆の場所でUSBポートを通じた充電サービスが開始される予定である。
ところで、USBインターフェースを実現するUSBコントローラは、CPUおよびファームウェアを記憶したフラッシュ・メモリを含む。このようなファームウェアは技術的に書き換えが可能になっているため、不正行為を意図した攻撃者に書き換えられる可能性がある。たとえば、公衆の場所で充電サービスを提供するUSBコントローラのファームウェアが、仮想キーボードをエミュレートするように書き換えられて、不用意に接続したコンピュータに機密情報を取り出すための入力を行う可能性がある。
特許文献1は、接続されたUSBデバイスのデバイス・クラスを検出して、当該USBデバイスからの入力を許可しない場合にUSBデバイスからの情報入力を無力化する情報処理装置を開示する。同文献には、バッファ・メモリに格納した入力情報をクリアすることで無力化することを記載している。特許文献2は、制御ネットワーク機器のUSBやSATAなどのI/Oポートを中継して、外部からのマルウェアの侵入を防止するセキュリティ装置を開示する。同文献には、制御対象の機器からオリジナル・ストレージへのI/Oが発生した場合に、セキュリティ装置が追加ストレージの対応するI/Oブロックから読みだしたセキュリティ情報に応じて、アクセスを制限したりユーザに確認したりすることを記載している。
特開2013−242632号公報 特開2015−52951号公報
Universal Serial Bus Type-C Cable and Connector Specification, Revision 1.1 April 3,2015,[online]、USB Implementers Forum, Inc.、[平成27年11月30日検索]、インターネット<URL:http://www.usb.org/developers/usbtypec/>
ユーザの意思とは無関係に発生するネットワークからのマルウェアの侵入に対しては、コンピュータがアンチウェイルス対策のソフトウェアでセキュリティを確保することができる。しかし、不正なファームウェアはコンピュータの外部の周辺機器で実行され、コンピュータは正規のキーボードを通じてユーザが入力したと認識するため、周辺機器を通じた不正なアクセスを検出することは困難である。また、USBレセプタクルへの周辺機器の接続はユーザが意図的に行うものであり、過度のセキュリティ対策を施すとコンピュータの利便性を低下させる。よって、周辺機器の接続によるデータ・セキュリティのリスクが指摘されているにも関わらず、これまで十分なセキュリティ対策が講じられてこなかった。
攻撃者は、周辺機器のUSBコントローラが実装するファームウェアを書き換えて巧妙にマルウェアを埋め込むことができる。あるときは公衆の場所で機密情報を盗聴するために不正に改造したUSBポートを充電サービスとして提供するかも知れない。また、あるときは、USBメモリを紛失物のように送り付けて社員にコンピュータへの接続を暗黙的に促すかもしれない。セキュリティ対策には、攻撃者が周辺機器の識別子(ID)を含む保護されていないあらゆる領域を改変できる可能性をもつことを想定する必要がある。
先行技術のように、接続されたUSBデバイスのデバイス・クラスを認識してから接続を許可する方法では、接続を許可するまでの間にデータ・パスを通じてマルウェアが侵入する可能性がある。また攻撃者は、デバイス・クラスを成りすました不正な周辺機器を作成することもできる。さらに、コンピュータの上位システムが周辺機器を認証する方法では、認証プロセスにおいてマルウェアに感染する可能性がでてくる。
特に、機密性の高い情報を格納することが多いラップトップ型コンピュータは企業のデータ・セキュリティに対して深刻な問題を引き起こす可能性がある。最も確実なセキュリティ対策は、USBポートに信頼できない周辺機器を接続しないことであるが、この場合、コンピュータを充電したりデータ交換したりするUSBインターフェースの利便性が著しく低下する。本発明は、周辺機器を利用するユーザの利便性を維持しながらデータ・セキュリティを確保する技術を提供する。
そこで本発明の目的は、周辺機器による不正なアクセスを防ぐことが可能な電子機器を提供することにある。さらに本発明の目的は、充電機能を備えた周辺機器からのマルウェアの侵入を防止することが可能な電子機器を提供することにある。さらに本発明の目的は、不正なアクセスを防ぎながら周辺機器を接続する方法およびセキュリティ・システムを提供することにある。
本発明は、周辺機器の接続が可能な電子機器に関する。電子機器は、周辺機器を接続するコネクタと、上位システムと周辺機器との間で行うデータ転送を制御するインターフェース・コントローラと、コネクタとインターフェース・コントローラの間のデータ・ラインに挿入したバス・スイッチと、周辺機器との間で行うデータ転送の安全性に関する情報に基づいてバス・スイッチを制御するスイッチ・コントローラとを有する。
上記の構成によれば、周辺機器がコネクタに接続されてもスイッチ・コントローラが安全性を確認するまでデータ・チャネルは構築されないため、周辺機器から上位システムに対するマルウェアの侵入を防いだり不正なアクセスを防いだりすることができる。バス・スイッチがオフ状態の間にコネクタを通じて周辺機器から充電電力を受け取ることが可能なように構成すれば、安全性が検証できない周辺機器であってもデータ・ラインを遮断して不正アクセスを防ぎながら充電ができるため、インターフェースの利便性が向上する。
本発明では上位システムに対する周辺機器からの不正アクセスを防止できるため、安全性に関する情報は上位システムが生成することができる。周辺機器の接続に関するデータ・セキュリティのリスクは、周辺機器を接続する場所に密接な関係がある。自宅のようなユーザが信頼できる場所に存在する周辺機器は、セキュリティ・リスクがないと判断してよい。他方で公衆の場所に存在する周辺機器は、セキュリティ・リスクが高いと考えてよい。したがって、安全性に関する情報は、あらかじめ登録した、電子機器の存在場所を示す情報を含むように構成することができる。
スイッチ・コントローラは、電子機器があらかじめ登録した第1の存在場所に存在すると判断したときに、バス・スイッチをオン状態にすることができる。安全な場所での周辺機器の接続に対しては、ユーザが追加的な操作を強いられたり、利用できるインターフェースの機能が低下したりすることがない。セキュリティ・リスクの低減と利便性はトレード・オフの関係にある。
電子機器は第1の場所よりもセキュリティ・リスクが高い第2の存在場所に存在するときは、ユーザの知識および注意力を利用して安全を確保することができる。具体的にはスイッチ・コントローラが、電子機器があらかじめ登録した第2の場所に存在すると判断したときに、ユーザから指示があったときだけバス・スイッチをオン状態にすることができる。
さらにスイッチ・コントローラは、電子機器があらかじめ登録した所定の存在場所に存在しないと判断したときに、特別な権限をもつ管理者が許可しない限りバス・スイッチをオフ状態に維持することができる。ユーザがそのような場所で周辺機器を接続する必要がある場合には、事前に管理者の許可を受けるようにしておけば、企業としてセキュリティ・リスクを管理することができる。
電子機器が周辺機器とハードウェア・レイヤで通信する間に上位システムへのデータ転送を停止しておけば、上位システムへマルウェアが送り込まれる恐れがなくなる。したがって、安全性に関する情報を電子機器がハードウェア・レイヤで周辺機器と通信して生成することができる。具体的には、電子機器が周辺機器を認証するためのセキュリティ・チップを備え、周辺機器がセキュリティ・チップまたはセキュアに格納したクレデンシャルを保有する場合に、スイッチ・コントローラはセキュリティ・チップによる認証が成功したときに限りバス・スイッチをオン状態にすることができる。データ・ラインが通信規格の異なる複数のデータ・チャネルを構成するときに、バス・スイッチがすべてのデータ・チャネルを切断することができれば、周辺機器からのマルウェアの侵入を確実に防止することができる。
本発明により、周辺機器による不正なアクセスを防ぐことが可能な電子機器を提供することができた。さらに本発明により、充電機能を備えた周辺機器からのマルウェアの侵入を防止することが可能な電子機器を提供することができた。さらに本発明により、不正なアクセスを防ぎながら周辺機器を接続する方法およびセキュリティ・システムを提供することができた。
本発明の適用が可能なラップトップ型コンピュータ10の概略の構成を示す機能ブロック図である。 USBセキュリティ・システム100の構成を示す機能ブロック図である。 Type3のUSBレセプタクル300とそれに適合するUSBプラグ301のピン構成を示す図である ラップトップ10と周辺機器150がUSB通信をするときの論理構成を説明するための図である。 USBセキュリティ・システム100の動作手順を示すフローチャートである。
[定義]
最初に本明細書で使用する特別な用語を説明する。ハードウェアとは、半導体素子だけで構成した論理回路およびROMに格納したファームウェアの実行が可能なプロセッサを含む論理回路をいう。ハードウェア・レイヤとは、CPUがデバイス・ドライバ、OSおよびアプリケーション・プログラムを実行する環境よりも下層に位置するシステムまたは処理機能をいう。
物理的に切断するとは、信号伝送ラインを電気的に切断する処理を意味しており、物理スイッチは物理的に切断する手段に相当する。物理的に切断することには、ソフトウェアが論理的にデータ転送を禁止する処理を含まない。物理スイッチの動作はハードウェアとソフトウェアのいずれが制御してもよい。コンピュータが搭載するハードウェアはマルウェアに対する耐性が高いと考えることができる。物理スイッチをソフトウェアが制御する場合は、物理スイッチのマルウェア耐性を維持するために当該ソフトウェアをセキュリティが確保された環境で実行する必要がある。コネクタは、プラグとレセプタクルの総称で、両者を区別する必要がない場合の名称として使用する。
周辺機器とは、電子機器の筐体に設けたコネクタに接続されるすべての機器をいう。周辺機器には、データ通信機能を備えた充電器も含む。USBインターフェースで接続する周辺機器と電子機器は、接続時に一方がホスト(マスター)で他方がデバイス(スレーブ)として動作し、さらに一方が電力を受け取るシンクで他方が電力を供給するソースとして動作する。通常は、デバイスがシンクとして動作し、ホストがソースとして動作するがその逆の場合もある。
[コンピュータ]
本発明はデスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット端末、およびスマートフォンなどの電子機器に適用することができる。ただし、さまざまな場所で不特定の周辺機器を接続することがある携帯式の電子機器は、特にセキュリティ上のリスクが高いため本発明を適用すると効果的である。本明細書では、I/OポートとしてUSB規格のインターフェースを例示するが、本発明は他の規格のインターフェースに適用することもできる。
図1は、携帯式電子機器の一例としてのラップトップ型コンピュータ(ラップトップ)10の概略の構成を示す機能ブロック図である。CPU11はメモリ・コントローラとPCI Expressコントローラを内蔵しており、システム・メモリ13、ビデオ・カード15およびチップ・セット19に接続されている。ビデオ・カード15にはOELDやLCDなどのFPD(Flat Panel Display)17が接続されている。チップ・セット19には、HDD21、無線WANおよび無線LANまたはいずれかの通信をする無線モジュール25、GPSモジュール27、バス・スイッチ200およびエンベデッド・コントローラ(EC)31が接続されている。図1では、本発明の説明に必要な範囲でパワー・ラインを太線で描いている。
バス・スイッチ200には、Type−CのUSBレセプタクル300が接続されている。USBレセプタクル300は、筐体の外部からアクセスできる位置に設ける。チップ・セット19は、USBブロック101を含む各種インターフェースのコントローラを含んでいる。EC31には、DC/DCコンバータ33、電池ユニット37、充電器35および入力デバイス39が接続されている。EC31は、電力や筐体内部の温度を制御したり、入力デバイス39の制御をしたりするマイクロ・コントローラである。
[USBセキュリティ・システム]
図2はUSBセキュリティ・システム100の構成を示す機能ブロック図で、図3はType3のUSBレセプタクル300とType3のUSBプラグ301のピン構成を示す図である。USBセキュリティ・システム100は、上位システム103、USBブロック101、バス・スイッチ200およびUSBレセプタクル300を含んでいる。
USBセキュリティ・システム100はさらに、パワー・スイッチ109、および電圧調整器(VR)111を含んでいる。上位システム103は、図1に示す要素からUSBブロック101、バス・スイッチ200、およびUSBレセプタクル300を除いたハードウェアとソフトウェアの複合体に相当する。上位システム103を構成するソフトウェアは、CPU11が実行するUSBドライバ、OS、およびアプリケーション・プログラムなどを含みHDD21に格納されている。上位システム103は、アプリケーション・プログラムの一部であるセキュリティ・マネージャ61およびセキュリティ・マネージャ61が参照するロケーション・リスト63を含む。
セキュリティ・マネージャ61は、USBレセプタクル300にUSBプラグ301で周辺機器150(図4)が接続されたときの安全確保に関する処理をする。セキュリティ・マネージャ61は、周辺機器150が接続されたときに、セキュリティ・リスクに応じてFPD17にポップアップ画面を表示したり、スイッチ・コントローラ107に指示してバス・スイッチ200を制御したりする。
ロケーション・リスト63は、ラップトップ10の存在場所と周辺機器150からマルウェアが侵入するリスクの大きさを関連付けたホワイト・リストに相当する。ロケーション・リスト63はHDD21に格納されており、セキュリティ・マネージャ61がシステム・メモリ13に読みだして参照する。一例において、ロケーション・リスト63には、存在場所に応じてデータ転送の安全性に関する3段階のセキュリティ・レベルを設定している。たとえば、ユーザの自宅を最も安全なセキュリティ・レベル1に設定し、オフィスを次に安全なセキュリティ・レベル2に設定し、それ以外の場所を危険なセキュリティ・レベル3に設定する。セキュリティ・レベルの数およびロケーションは特に限定する必要はなく、企業やユーザが独自に設定することができる。
ロケーション・リスト63を作成するために、ユーザは、ラップトップ10を自宅やオフィスに持ち運んだ状態で、その時点で接続している無線LAN(WiFi)のアクセス・ポイントのSSIDまたはMACアドレスを無線モジュール25から取得して登録することができる。あるいは、GPSモジュール27から位置情報を取得して登録することができる。セキュリティ・マネージャ61は、セキュリティ・レベル1、2のいずれにも該当しない場合は、ラップトップ10の存在場所をセキュリティ・リスクが最も高いセキュリティ・レベル3として扱うことができる。
ロケーション・リスト63には、企業のセキュリティ・ポリシーを反映させることができる。一例では、セキュリティ・レベル3の場所で接続されたすべての周辺機器150に対して、データ・ラインを物理的に遮断することができる。他の例では、周辺機器150に対してデータ・ラインを遮断する場所をブラック・リストとして作成することもできる。ロケーション・リスト63を企業のセキュリティ権限がある管理者だけが編集できるようにすれば、ラップトップ10を社員に配布する企業がセキュリティ・レベルを一元的に管理することができる。
USBブロック101は、周辺機器150と上位システム103の間でのデータ転送を制御するUSBコントローラ105と、バス・スイッチ200およびパワー・スイッチ109を制御するスイッチ・コントローラ107を含んでいる。USBコントローラ105は、物理層105a、エンドポイント・パイプ・コントロール(EPC)105b、および上位システム103に対するインターフェース105cを含む。
物理層105aは、トランシーバ、シリアル・インターフェース・エンジン(SIE)を含む。EPC105bは、エンドポイントと呼ばれるFIFOバッファとコントローラを含む。インターフェース105cは、上位システム103とデータ転送をするためのシリアル/パラレル変換機能を含む。スイッチ・コントローラ107は、ファームウェアを格納するROM107aとファームウェアを実行するマイクロ・コントロール・ユニット(MCU)107bで構成している。スイッチ・コントローラ107は、周辺機器150をハードウェア・レイヤで認証できるTPM(Trusted Platform Module)のようなセキュリティ・チップ107cを含むようにしてもよい。
バス・スイッチ200は、2セットのTx/RxピンをUSBレセプタクル300とUSBコントローラ105の間でルーティングしたり、物理的に切断したりする物理スイッチに相当する。バス・スイッチ200は、USBコントローラ105またはスイッチ・コントローラ107が制御する。図3において、USBレセプタクル300は2つの面に12個ずつ、合計24個のピンを備え、USBプラグ301の上下および左右を反転して接続しても機能するようになっている。USBレセプタクル300は、USB2.0規格に適合する差動増幅器の2セットのD±ピン、USB3.0/3.1規格に適合する差動増幅器の2セットのTx/Rxピンを含む。
通常は、2セットのTx/Rxピンのうち、いずれか一方だけをUSB3.0/3.1規格の通信に利用するため、USBプラグ301の接続方向に応じて、USBコントローラ105とUSBレセプタクル300の間で経路を変更する必要がある。したがって、図2に示すように2セットのTx/Rxピンは、ルーティングのためのバス・スイッチ200を経由してUSBコントローラ105に接続する。
なお、USB3.0/3.1規格の通信に利用しないTx/Rxピンは、DP(Display Port)やPCIeなどの他のインターフェースに利用することもできる。D±ピンには、USBプラグ301のいずれか一方の面に配置したD±ピンだけが接続されるため、通常は、バス・スイッチまたはマルチプレクサを経由しないでUSBコントローラ105に直接接続している。
本発明では周辺機器150からのマルウェアの侵入を防ぐために、バス・スイッチ200の機能を拡張して、D±ピンもバス・スイッチ200を経由してUSBコントローラ105に接続する。Tx/RxピンおよびD±ピンが接続されるUSBレセプタクル300とUSBコントローラ105を結ぶラインをデータ・ラインという。図2では、USBレセプタクル300とUSBコントローラ105の間に、バス・スイッチ200を介して、データ・ラインがUSB3.0/3.1のデータ・チャネルとDisplay Portのデータ・チャネルと、USB2.0のデータ・チャネルを形成している様子を示している。
VR111は、DC/DCコンバータ33から電力の供給を受けて、パワー・スイッチ109およびUSBセキュリティ・システム100の各要素に電力を供給する。USBレセプタクル300は、Type3の規格で新たに追加されたCC1ピン、CC2ピン(CCピンまたはCCラインともいう。)、SBU1ピン、SBU2ピン(SBUピンともいう。)を含む。パワー・スイッチ109は、VbusラインやCCラインを通じてUSBプラグ301のVconnピンに電力を供給したり、Vbusラインから供給された電力を充電器35に供給したりするために回路を切り替える物理スイッチである。
パワー・スイッチ109は、USBコントローラ105またはスイッチ・コントローラ107が制御する。CCピンは、パワー・スイッチ109を経由してUSBブロック101に接続される。CCピンは、ラップトップ10が所定のUSBケーブルや周辺機器が接続されたときにUSBプラグ301のVconnピンに接続される。パワー・スイッチ109は、CCピンにVconnピンに向けた電力を供給しないときは、USBレセプタクル300のCCピンとUSBブロック101を接続する。
CCピンは、USBプラグ301の挿入方向、Vbusを通じた電力送受のパラメータ検出、周辺機器のポートの識別、およびBMC(Bi-phase Mark Coding)通信などに利用する。USBブロック101は定期的にCCピンをモニターし、周辺機器150が接続されたときにCCラインを通じてネゴシエーションをして、データ通信および電力供給に関する動作モードを決定する。SBUピンは、USBブロック101に接続してオルタネート・モード(Alternate Mode)での動作に利用する。
図1〜図3は本実施の形態を説明するために必要な主要なハードウェアの構成および接続関係を簡略化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、ラップトップ10やUSBセキュリティ・システム100を実現するには多くのデバイスまたはコンポーネントが使われる。しかしそれらは当業者には周知であり発明の理解に不要なので説明を省略する。図で記載した複数のブロックを1個の集積回路もしくは装置としたり、逆に1個のブロックを複数の集積回路もしくは装置に分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
[USB通信の論理構成]
図4は、ラップトップ10と周辺機器150がUSBインターフェースでデータ転送をするときの論理的な構成を説明するための図である。周辺機器150とラップトップ10との通信は、ハードウェア・レイヤ130の通信、ディフォルト・パイプによるシステム・レベルの通信および複数のパイプによるアプリケーション・レベルの通信の3つの階層で行われる。周辺機器150と上位システム103の間で交換するパケットはすべてTx/Rx、またはD±の物理的なデータ・ラインを通過する。
ディフォルト・パイプとパイプ群は物理的なデータ・ラインが構築する論理的なデータ・チャネルで、ハードウェア・レイヤ130でのデータ通信を時分割して形成される。ディフォルト・パイプは、周辺機器150が接続されると自動的に構築される。ラップトップ10がホストとして動作するときは、ディフォルト・パイプを利用して周辺機器150をコンフィグレーションしパイプ群を構築する。ラップトップ10は定期的にCCピンを監視し、周辺機器150がUSBケーブルで接続されたときにCCラインを利用してハードウェア・レイヤ130での通信をする。
HDD21に格納されたデバイス・ドライバおよびOSを含むシステム・ソフトウェア51は、ディフォルト・パイプを利用してシステム・レベルでの通信を行い、周辺機器150のコンフィグレーションを行う。HDD21に格納されたアプリケーション・プログラム53は、コンフィグレーションにより構築された複数のパイプを利用してアプリケーション・レベルでの通信をする。システム・レベルの通信およびアプリケーション・レベルの通信は、上位システム103で行われる。上位システム103が、ファームウェアが不正に書き換えられた周辺機器150とパケットを交換するとセキュリティ・リスクが発生するが、ハードウェア・レイヤ130での通信でUSBブロック101がマルウェアに感染する恐れはない。
[USBセキュリティ・システムの動作手順]
図5は、USBセキュリティ・システム100の動作手順を示すフローチャートである。ブロック401で、USBレセプタクル300に周辺機器150が接続される前は、バス・スイッチ200がすべてのデータ・チャネルを切断している。また、パワー・スイッチ109はCCラインを接続し、VconnラインおよびVbusラインへの電源経路を切断している。
ブロック403でUSBレセプタクル300にUSBプラグ301で周辺機器150が接続される。周辺機器150は、スマートフォンやタブレット端末のようにシンクとなってVbusラインを通じてラップトップ10から電力の供給を受けるものや、充電ポートのようにソースとなってVbusラインを通じてラップトップ10に電力を供給するものを含む。
ブロック405でスイッチ・コントローラ107は、CCラインを通じて周辺機器150を認識する。スイッチ・コントローラ107は、USBプラグ301の挿入向きを確認して充電に関するネゴシエーションを実行する。スイッチ・コントローラ107は、周辺機器150との間でソース/シンク関係を確定する。ここでは、周辺機器150がソースでラップトップ10がシンクに確定したと想定する。ただし本発明は、ラップトップ10がソースとなって、シンクとなる周辺機器150を充電する場合にも適用できる。
ブロック407でスイッチ・コントローラ107は、CCラインを通じて周辺機器150と、充電電圧および最大の充電電流についてネゴシエーションをする。周辺機器150が、所定の電圧でVbusラインに電力を供給し、パワー・コントローラ107はパワー・スイッチ109を制御してVbusラインから充電器35に電力を供給する。EC31は、電池ユニット37の充電状態を監視して充電器35にパラメータを設定することで充電が開始される。
ブロック409は、あらかじめ相互認証のためのペアリングが構築された周辺機器150との間で行われる。ラップトップ10は、セキュリティ・チップ107cが周辺機器との間でクレデンシャルを交換してハードウェア・レイヤ130での相互認証を成功したときにブロック451に移行する。なお、相互認証に代えてラップトップ10だけが一方向に周辺機器150を認証するようにしてもよい。
認証はハードウェア・レイヤ130で行われるため、認証のプロセスで上位システム10にマルウェアが侵入することはない。ブロック451でスイッチ・コントローラ107は、バス・スイッチ200を制御して所定のデータ・チャネルを接続する。バス・スイッチ200の制御は、マルウェアに汚染されることがないハードウェア・レイヤ130で行うため安全である。
データ・チャネルが構築されるとUSBコントローラ105または周辺機器150は周知のプラグ&プレイの手順で、ディフォルト・パイプを構築してシステム・レベルの通信を行い、相手にアドレスを割り当てアプリケーション・レベルのパイプ群を構築してからデータ通信を開始する。ディフォルト・パイプを構築する前に周辺機器150の安全が確認されているため、システム・レベルおよびアプリケーション・レベルの通信をしてもラップトップ10にマルウェアが侵入する危険性はない。
相互認証ができない場合、および相互認証に失敗した場合はブロック411に移行する。ブロック411でスイッチ・コントローラ107は、CPU11に割り込みをかけて、セキュリティ・マネージャ61に認証失敗を示すイベントを送る。セキュリティ・マネージャ61は、GPSモジュール27から現在の位置情報を取得するか、無線モジュール25から現在接続しているアクセス・ポイントのSSIDまたはMACアドレスを取得する。
ブロック413でセキュリティ・マネージャ61がロケーション・リスト63を参照して、ラップトップ10の現在の位置のセキュリティ・レベルが1であると判断したときはブロック451に移行する。ブロック451でセキュリティ・マネージャ61は、スイッチ・コントローラ107にバス・スイッチ200を制御してデータ・ラインを接続するように指示する。自宅に存在する周辺機器150は、マルウェアに汚染される可能性が低いためユーザはこれまでどおりに周辺機器150を接続しても特別な操作をすることなく安全を確保することができる。
また、セキュリティ・マネージャ61がセキュリティ・レベルを判断してスイッチ・コントローラ107に指示するまでバス・スイッチ200はオフ状態を維持するため、データ・ラインを接続してもそれ以後に上位システム103が周辺機器150を通じてマルウェアにより汚染されることもない。ブロック415でセキュリティ・マネージャ61がロケーション・リスト63を参照して、ラップトップ10の現在の位置のセキュリティ・レベルが2であると判断したときはブロック471に移行する。
ブロック471でセキュリティ・マネージャ61は、FPD17にセキュリティ・リスクがある周辺機器150が接続されたことを示すポップアップ画面を表示する。ポップアップ画面には、当該周辺機器150を通じてマルウェアが侵入するリスクがあること、データ転送のためには周辺機器150の安全性を確認してから接続の指示をする必要があることなどを含めることができる。
ブロック473でユーザが入力デバイス39を通じて、データ・ラインの接続を許可する指示をしたときはブロック451に移行する。ブロック451でセキュリティ・マネージャ61は、スイッチ・コントローラ107にバス・スイッチ200を制御してデータ・ラインを接続するように指示する。ユーザが周辺機器150のセキュリティ・リスクを判断するまでバス・スイッチ200はオフ状態を維持するため、上位システム103が周辺機器150を通じてマルウェアに汚染されることもない。ブロック473でユーザがデータ・ラインの接続を許可しない場合でも、ラップトップ10は周辺機器150から電力の供給を受けて充電を継続することができる。
現在の存在場所がロケーション・リスト63に登録されていないと判断したときは、ブロック417でセキュリティ・マネージャ61が、FPD17に危険性がある周辺機器150が接続されたことを示すポップアップ画面を表示する。ポップアップ画面には、当該周辺機器150を通じてマルウェアが侵入する可能性があるためデータ通信を許可しないメッセージを含めることができる。この場合、ラップトップ10は周辺機器150との間で、Vbusラインを通じて電力の送受だけを行うことができる。この場合にラップトップ10のユーザは、ハードウェア認証を成功させるかセキュリティ権限のある管理者から許可を受けてロケーション・リスト63を変更することでUSB通信をすることができる。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
10 ラップトップ型コンピュータ
100 USBセキュリティ・システム
101 USBブロック
103 上位システム
105 USBコントローラ
107 スイッチ・コントローラ
200 バス・スイッチ
300 USBレセプタクル
301 USBプラグ

Claims (14)

  1. 周辺機器の接続が可能な電子機器であって、
    前記周辺機器からのマルウェアの侵入を防止する必要がある上位システムと、
    前記周辺機器を接続するコネクタと、
    前記上位システムと前記周辺機器との間で行うデータ転送を制御するインターフェース・コントローラと、
    前記コネクタと前記インターフェース・コントローラの間のデータ・ラインに挿入したバス・スイッチと、
    前記上位システムにパケットを送らないハードウェア・レイヤで前記周辺機器と通信して前記周辺機器を認証したときに前記バス・スイッチをオン状態に制御するスイッチ・コントローラと
    を有する電子機器。
  2. 前記上位システムをアプリケーション・プログラムとオペレーティング・システムを含むソフトウェアと、プロセッサとシステム・メモリを含むハードウェアの複合体として構成した請求項1に記載の電子機器。
  3. 前記バス・スイッチがオフ状態の間に前記コネクタを通じて前記周辺機器から充電電力を受け取る請求項1に記載の電子機器。
  4. 前記インターフェース・コントローラがUSBコントローラである請求項1に記載の電子機器。
  5. 前記バス・スイッチが、Tx/RxピンおよびD±ピンに挿入されている請求項4に記載の電子機器
  6. 前記スイッチ・コントローラは前記上位システムにあらかじめ登録した前記電子機器の存在場所を示す情報に基づいて前記バス・スイッチを制御する請求項1に記載の電子機器。
  7. 前記スイッチ・コントローラは前記周辺機器を認証しない場合でも、前記電子機器があらかじめ登録した第1の存在場所に存在すると判断したときに、前記バス・スイッチをオン状態にする請求項6に記載の電子機器。
  8. 前記スイッチ・コントローラは前記周辺機器を認証しない場合で、かつ前記電子機器があらかじめ登録した第2の存在場所に存在すると判断したときに、ユーザから指示があったときだけ前記バス・スイッチをオン状態にする請求項6に記載の電子機器。
  9. 前記スイッチ・コントローラは前記周辺機器を認証しない場合で、かつ前記電子機器があらかじめ登録した所定の存在場所に存在しないと判断したときに、特別な権限をもつ管理者が許可しない限り前記バス・スイッチをオフ状態に維持する請求項6に記載の電子機器。
  10. 前記周辺機器を認証するためのセキュリティ・チップを備え、前記スイッチ・コントローラは前記セキュリティ・チップによる認証が成功したときに限り前記バス・スイッチをオン状態にする請求項1に記載の電子機器。
  11. 前記データ・ラインが通信規格の異なる複数のデータ・チャネルを構成し、前記バス・スイッチがすべての前記データ・チャネルを切断することが可能な請求項1に記載の電子機器。
  12. 周辺機器を、該周辺機器からマルウェアの侵入を防止する必要がある上位システムを搭載する電子機器が備えるコネクタに接続する方法であって、
    前記コネクタと前記上位システムを接続するデータ・ラインを物理的に遮断するステップと、
    前記コネクタに前記周辺機器が接続されたことを検出するステップと、
    前記上位システムにパケットを送らないハードウェア・レイヤで前記周辺機器と通信して前記周辺機器を認証したときに前記データ・ラインを接続するステップと
    を有する方法。
  13. 周辺機器を、該周辺機器からマルウェアの侵入を防止する必要がある上位システムを搭載する電子機器が備えるコネクタに接続するインターフェースのセキュリティ・システムであって、
    前記周辺機器を接続するためのコネクタと、
    前記周辺機器と前記上位システムとの間で行うデータ転送を制御するインターフェース・コントローラと、
    前記インターフェース・コントローラと前記コネクタの間に挿入したバス・スイッチと、
    前記上位システムにパケットを送らないハードウェア・レイヤで前記周辺機器と通信して前記周辺機器を認証したときに前記バス・スイッチをオン状態にするスイッチ・コントローラと
    を有するセキュリティ・システム。
  14. 前記コネクタが、前記周辺機器が充電電力を供給するためのピンと充電に関するパラメータをハードウェア・レイヤでネゴシエーションするためのピンを含む請求項13に記載のセキュリティ・システム。


JP2015246404A 2015-12-17 2015-12-17 インターフェースのセキュリティ・システム、周辺機器の接続方法、電子機器、およびコンピュータ・プログラム Active JP6138224B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015246404A JP6138224B1 (ja) 2015-12-17 2015-12-17 インターフェースのセキュリティ・システム、周辺機器の接続方法、電子機器、およびコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015246404A JP6138224B1 (ja) 2015-12-17 2015-12-17 インターフェースのセキュリティ・システム、周辺機器の接続方法、電子機器、およびコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP6138224B1 true JP6138224B1 (ja) 2017-05-31
JP2017111666A JP2017111666A (ja) 2017-06-22

Family

ID=58794358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015246404A Active JP6138224B1 (ja) 2015-12-17 2015-12-17 インターフェースのセキュリティ・システム、周辺機器の接続方法、電子機器、およびコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP6138224B1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7076994B2 (ja) * 2017-12-06 2022-05-30 キヤノン株式会社 電子機器およびその制御方法
JP7508534B1 (ja) 2022-12-19 2024-07-01 レノボ・シンガポール・プライベート・リミテッド 電子機器および制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155217A (ja) * 2004-11-29 2006-06-15 Hitachi Ltd 認証機構を有する外部記憶装置
JP5829988B2 (ja) * 2012-07-27 2015-12-09 株式会社日立製作所 シンクライアント端末

Also Published As

Publication number Publication date
JP2017111666A (ja) 2017-06-22

Similar Documents

Publication Publication Date Title
EP3198789B1 (en) Securely pairing computing devices
KR102195788B1 (ko) 호스트 컴퓨팅 디바이스와 주변기기의 데이터의 보안을 강화하기 위한 장치 및 방법
US20150126070A1 (en) Apparatus for powering an electronic device in a secure manner
US8954747B2 (en) Protecting keystrokes received from a keyboard in a platform containing embedded controllers
EP3186993A1 (en) Pairing computing devices according to a multi-level security protocol
US20160246957A1 (en) Method and Apparatus for Controlling Debug Port of Terminal Device
US20080003556A1 (en) Electronic apparatus and wireless connection control method
US20220255913A1 (en) Enhanced multi-factor authentication based on physical and logical proximity to trusted devices and users
US11294846B2 (en) System, apparatus and method for secure communication on a bus
KR20090078551A (ko) 이동 저장 장치에서 호스트 인증 방법, 호스트 인증을 위한정보 제공 방법, 장치, 및 기록매체
EP3198518B1 (en) Prevention of cable-swap security attack on storage devices
TW201712589A (zh) 安全輸入/輸出裝置管理
US20080130553A1 (en) Electronic apparatus and wireless connection control method
EP2704392B1 (en) Network connecting method and electronic device
JP6138224B1 (ja) インターフェースのセキュリティ・システム、周辺機器の接続方法、電子機器、およびコンピュータ・プログラム
CN109117638A (zh) 一种基于物理切换的高可信安全主板及其控制方法
US20230025979A1 (en) Systems and methods for peripheral device security
CN104834874A (zh) 建立安全执行环境之间的物理局部性
CN103702323A (zh) 一种无线信息安全设备***及方法
KR101697274B1 (ko) 하드웨어 보안 모듈, 하드웨어 보안 시스템, 및 하드웨어 보안 모듈의 동작 방법
WO2020055419A1 (en) Secure connection
JP2020529722A (ja) ドライバへの補助負荷の接続又は切断を検出するための方法及び装置
KR101382605B1 (ko) 단말기 디버그 시리얼 접속 보안 방법
WO2014030978A1 (ko) 이동식 저장매체 보안시스템 및 그 방법
KR102371181B1 (ko) 에이전트어플리케이션이 설치된 사용자단말 및 사용자단말과 통신을 수행하는 서버시스템에서 수행되는 통신 보안방법

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170425

R150 Certificate of patent or registration of utility model

Ref document number: 6138224

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250