JP4785870B2 - 非正規な読み込みオペレーションを介する周辺機器への信号通信 - Google Patents

非正規な読み込みオペレーションを介する周辺機器への信号通信 Download PDF

Info

Publication number
JP4785870B2
JP4785870B2 JP2007556712A JP2007556712A JP4785870B2 JP 4785870 B2 JP4785870 B2 JP 4785870B2 JP 2007556712 A JP2007556712 A JP 2007556712A JP 2007556712 A JP2007556712 A JP 2007556712A JP 4785870 B2 JP4785870 B2 JP 4785870B2
Authority
JP
Japan
Prior art keywords
peripheral device
pattern
command
host
commands
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.)
Expired - Fee Related
Application number
JP2007556712A
Other languages
English (en)
Other versions
JP2008532134A (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.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL 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 SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of JP2008532134A publication Critical patent/JP2008532134A/ja
Application granted granted Critical
Publication of JP4785870B2 publication Critical patent/JP4785870B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)
  • Telephone Function (AREA)
  • Interface Circuits In Exchanges (AREA)
  • Telephone Set Structure (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、コンピュータのための周辺デバイスに、特に、プログラマブル・コントローラを含むUSB周辺デバイスに関する。
パーソナル・コンピュータは、多種多様な周辺デバイス(周辺機器)、例えば、磁気ディスク、光学ディスクおよびソリッドステート・ディスク、プリンタ、モデム、キーボード、マウス等と連動する。周辺デバイスの多くは、ユニバーサルシリアルバス(USB)結合を介して、パーソナル・コンピュータへ取り外し可能に結合される。パーソナル・コンピュータ上で実行されているアプリケーションと、そのアプリケーションに必要な周辺機器との間の通信は、標準プロトコル(OSのサービス)の下で、コンピュータのオペレーティングシステム(OS)によって制御される。
一般的な慣例では、いくつかのOSサービスは、組織のIT(情報技術)システムに危険であると見なされるため、管理者として分類されたユーザのみがアクセス可能な制限サービスと定義される。非管理者ユーザは、ITシステムへ危険性の全くない、または危険性の低い標準サービスのみが利用できる。
図1から図3は、コンピュータ、OSサービスおよび周辺機器に関して、従来の技術を概略的に示す。 図1は、ホスト・コンピュータ110、例えばパーソナル・コンピュータ(デスクトップ、ラップトップまたはパームトップ)またはコンピューティング機能で拡張した携帯電話を含むコンピュータ・システム100を示す、高度な概略ブロック図である。システム100は、また、リンク105を介してコンピュータ110へ恒久的に、あるいは一時的に結合されたクライアント周辺デバイス120を含む。コンピュータ110は、ユーザ・アプリケーション118を実行するCPU112を含む。コンピュータ110内のユニバーサルシリアルバス(USB)インターフェイス116は、リンク105を確立するために、周辺機器120内の対応USBインターフェイス126との電気的な、論理的な、そして機械的な結合を提供する。オペレーティングシステム114は、CPU112のオペレーションを制御し、そしてCPU112が、一方でアプリケーション118と、他方で周辺機器120とインターフェイスするのを制御する。本発明の文脈における周辺機器120は、周辺機器120が、コントローラ・ファームウェア124の下で作動するコントローラ122を含むという点で洗練されている。機能128は、概して、周辺機器120がコンピュータ110に結合された目的のためのハードウェアおよびソフトウェア構成要素を表す。機能128の例としては、印刷、記憶、データ入力(例えばキーボード、マウス)、データ表示、ウェブ・カメラ等を含む。いくつかの実施例においては、機能128は、演算のためにコントローラ122を利用する。また、他の実施例では、機能128は、別のコントローラを利用する。いずれにせよ、本発明の文脈においては、コントローラ122は、ファームウェア124からのプログラムの下で、コンピュータ110と機能128との間のデータ・トラフィックを監視し制御する。例えば、コントローラ122は、リンク105を介して、オペレーティングシステム114のサービスが出すUSBパケットを受信し、それらのパケットを機能128のために解釈する。リンク105は、直接接触、ケーブルまたは無線通信を介して実現される。
図2は、ソフトウェア・パッケージであるオペレーティングシステム114の簡略な構造図である。オペレーティングシステム114は、サービス114Sおよびパーミッション114Pを含む。サービス114Sは、コンピュータ110の一般機能、そしてコンピュータ110の周辺機器120との通信を制御するソフトウェア・ルーチンである。したがって、周辺機器120、例えばディスク、プリンターまたはキーボード等へのアクセスを必要とするユーザ・アプリケーション118は、サービス114Sから、その必要な周辺機器120とインターフェイスするための特定のサービスを呼び出す。パーミッション114Pは、直前のログイン・セッションを通してまたはパスワードを入力することによって識別された現在のコンピュータ・ユーザが、サービス114S内の、特定なサービスにアクセスすることが許可されるかどうかを明記する、ユーザまたはユーザ・タイプに関するデータベースである。簡潔で明瞭にするために、以下の考察では、二つのユーザ・タイプに焦点を合わせる。すべてのサービス114Sにアクセスするパーミッションを持つ管理者、そして関連ITシステムにとってより危険な制限サービス114Sへのアクセスから閉め出されている、標準サービス114Sのみにアクセス可能な非管理者。この文脈において、ITシステムは、その内容が最小の状態でコンピュータ110であり、また、もう一つの典型的なケースでは、コンピュータ110を含む会社のネットワークであってもよい。本技術においては、オペレーティングシステム114が、サービス114S内の特定なサービスを、パーミッション114Pの下で、特定のユーザに許可するか、あるいは禁止するかを判定することを可能にする、より高度なパーミッション階層が一般的である。
図3は、オペレーティングシステム114の下での、コンピュータ・システム100のオペレーションを示すフローチャートである。ステップ200で、アプリケーション118は、オペレーティングシステム114の下で稼働するCPU112から、サービス114S内の特定サービスを求める。ステップ202で、オペレーティングシステム114は、要求されたサービスが標準であるか、すなわち、すべてのユーザに許可されたものかどうかをチェックする。答えが正である場合、要求サービスがステップ206で実行される。そうでない場合、すなわち、もしステップ202でサービスが制限されていると判定された場合、オペレーティングシステム114は、パーミッション114P内で、現在のユーザが、ログイン・プロシージャを介して以前に識別されて(または、おそらく、パスワードの入力を促されたときにパスワードを正しく入力したことによって)管理者権限を持つか、すなわち、要求サービスに適格であるかどうかをチェックする。答えが正である場合、要求サービスがステップ206で実行される。そうでない場合、サービスはステップ208で拒否され、コンピュータ110のスクリーン(図示せず)上で、メッセージによってこのことをユーザに通知することが好ましい。プロシージャはステップ210で終了する。このときオペレーティングシステム114は、アプリケーション118から次のサービス・オーダを受信して調べる準備が整っている。
新しい周辺デバイス、機能およびアプリケーションは、次々に開発されており、それらにアクセスするためには、新しいオペレーティングシステム・サービスが必要となることがある。コンピュータ・オペレーティングシステムは、多数のコンピュータをカバーするよう標準化されているため、OS114内にそのような新しいサービスを収容するには長時間を要することもある。したがって、新しい周辺機器、機能およびアプリケーションの開発者は、新しい専用サービスが開発されてOS114へ統合されるのを待たないで、既存のOSサービスへ理にかなった適用を施す。しかしながら、新しい、無害な周辺機器または機能が、同じサービスの代替利用が危険であると考慮されて制限されたOSサービスを必要とするとき、問題は起こる。
一例は、マイクロソフト・ウィンドウズ(登録商標)OSの下で具現された、USBプロトコルを介してパーソナル・コンピュータとインターフェイスする大容量記憶デバイスである。デバイスがファイルの読み込み書き込みオペレーションのために使用される限り、既存の標準OSサービスは、すべてのユーザに対して、シームレスなオペレーションをサポートする。しかし、より新しい大容量記憶デバイスは、プログラム可能なビルトイン・プロセッサを含み、記憶のみではない、それ以上の機能を提供する。例えば、これらの大容量記憶デバイスは、それらの内容を、自動的にパスワード保護することができる、すなわち認証トークンを二倍にできる。そのような追加機能は、しばしば、ビルトイン・プロセッサ(例えばパスワード入力)との、あるいは(例えば認証ハンドシェーキング中)関連PCアプリケーションからの、特定なデータ交換を必要とするが、そのようなデータ交換は、非管理者ユーザに対してウィンドウズ(登録商標)OSが禁止する制限サービスを必要とする。
したがって、OS制限が通常禁止する非標準機能を実現するために、非管理者ユーザが周辺デバイスと通信するための解決策を提供する必要性が広く認識される。
本発明の目的は、オペレーティングシステムによって非管理者ユーザが通常禁止されている非標準機能を実現するために周辺機器と通信するための解決策を提供することである。
特に、本発明は、OSサービスに頼ることなく、USB大容量記憶デバイスのコントローラと通信し、コントローラのオペレーションに影響を及ぼすための解決策を提供する。
以下の用語を下記に使用する。
「コンピュータ」または「ホスト」は、「ユーザ」へデータ処理機能を提供するデバイスである。コンピュータの例としては、パーソナル・デスクトップ、ラップトップおよびハンドヘルド・コンピュータを含み、携帯電話の一部を形成するハンドヘルド・コンピュータをも含む。本発明は、上記背景技術で説明したように、「管理者」および「非管理者」に選択的に「サービス」を提供する「オペレーティングシステム」(「OS」)の下で作動するそのようなデバイスに焦点を当てる。
(「周辺機器」とも呼ぶ)「周辺デバイス」は、コンピュータの機能を拡張するためにコンピュータへ結合されるデバイスである。本発明の関心は、コンピュータと周辺機器との間でUSB結合を使用することにある。そのような結合は、プリンタの場合のように実際上恒久的である、あるいは携帯用USBフラッシュ・ディスクの場合のように通常一時的である。本発明は、コンピュータと周辺機器との間のデータ・フローを制御する、あるいは少なくとも監視するビルトイン・プロセッサを含むタイプの周辺機器に焦点を合わせる。
本発明によれば、コンピュータのオペレーティングシステムによって、周辺機器へ情報を送信することが制限されたコンピュータのユーザが、周辺機器へ情報を送信するための、次のステップからなる方法が提供される。(a)ユーザがコンピュータから周辺機器へ情報を送信することを可能にする、プロトコル・コマンドのパターンを定義するステップ。プロトコル・コマンドのいずれもがオペレーティングシステムによって別個に制限されることはない。また、プロトコル・コマンドの少なくとも一つは読み込みコマンドである。(b)コンピュータから周辺機器へそのパターンのプロトコル・コマンドを送信するステップ。(c)周辺機器によって、そのパターンのプロトコル・コマンドを受信するステップ。そして(d)周辺機器によって、そのパターンのプロトコル・コマンドを解釈して情報を読み取るステップ。
本発明によれば、ホストのオペレーティングシステムによって、周辺機器へ情報を送信することが制限されたユーザがホストから送信した情報を受信するように適応した、次のものを含む周辺機器が提供される。(a)プロトコルに従ってホストと通信するためのインターフェイス。(b)ホストが出したプロトコルのコマンドに応答して、ホストのために機能を実行するための、コントローラを含むメカニズム。そして(c)プロトコルのコマンドの、ユーザがホストから周辺機器へ情報を送信することを可能にするパターンを定義するコードを含む、情報を受信するためのメカニズム。コマンドのいずれもオペレーティングシステムによって別個に制限されることはなく、そのパターンが少なくとも一つの読み込みコマンドを含むため、コントローラは、ホストからプロトコルのコマンドの非正規シーケンスを受信すると即座に、(i)そのシーケンスを非正規であると認識し、そして(ii)そのシーケンスがそのパターンに適合する場合、シーケンスを解釈して情報を読み取る。
本発明によれば、コンピュータ読み取り可能な記憶メディア上で具現化されたコンピュータ読み取り可能なコードを持つコンピュータ読み取り可能な記憶メディアが提供される。コンピュータ読み取り可能なコードは、ホストのオペレーティングシステムによって、周辺機器へ情報を送信することをユーザが制限されているにもかかわらず、周辺機器のホストのユーザが、ホストから周辺機器へ情報を送信することを可能にするもので、以下のものを含む。(a)周辺機器と通信するためにホストが使用するプロトコルのコマンドの、ユーザがホストから周辺機器へ情報を送信することを可能にするパターンを定義するプログラム・コード。コマンドのいずれもオペレーティングシステムによって別個に制限されることはない。また、パターンは少なくとも一つの読み込みコマンドを含む。そして(b)情報をパターンへ変換するためのプログラム・コード。
本発明によれば、少なくとも一人のユーザに対して、周辺機器へ平易な形式のメッセージを送信することを認めないオペレーティングシステムの下で作動しているホストが、標準プロトコルを介して周辺機器へメッセージを送信するための、次のものを含む方法が提供される。(a)ホストによって、メッセージをコマンドのパターンへ変換すること。オペレーティングシステムによっていずれのユーザに対しても、パターンが周辺機器へ送信されることは許容されており、パターンのコマンドの少なくとも一つは読み込みコマンドであり、少なくとも一つの読み込みコマンドは非正規である。(b)ホストによって、そのパターンのコマンドを周辺機器へ送信すること。(c)周辺機器によって、そのパターンのコマンドを受信すること。(d)周辺機器によって、少なくとも一つの読み込みコマンドを、非正規であると識別すること。そして(e)周辺機器によって、そのパターンのコマンドを解釈してメッセージを読み取ること。
本発明によれば、ホストからメッセージを受信するためにホストと連動する、以下のものを含む周辺機器が提供される。この場合、ホストはメッセージをコマンドのパターンへ変換し、パターンのコマンドの少なくとも一つは読み込みコマンドであり、そして少なくとも一つの読み込みコマンドは非正規である。(a)ホストから上記パターンのコマンドを受信するためにホストと通信するように構成したインターフェイス。そして(b)そのパターンのコマンドを処理し、少なくとも一つの読み込みコマンドを非正規であると識別し、そしてそのパターンのコマンドを解釈してメッセージを読み取るように構成したコントローラ。
本発明の基本的な方法によれば、周辺機器に対して、コンピュータのオペレーティングシステムによって制限されたオペレーションを引き起こすプロトコル・コマンドのパターンが定義される。情報を送信することがオペレーティングシステムによって「制限されている」ということは、オペレーティングシステムが、コンピュータの少なくとも幾人かのユーザに対して、例えば、オペレーティングシステムの、情報の送信に必要な一つ以上のサービスの使用をそれらのユーザに禁ずることによって、情報の送信を禁止することを意味する。例えば、組織が所有するコンピュータにおいては、オペレーティングシステムのいくつかのサービスの使用は、オペレーティングシステムによって、管理者権限をもつユーザに対してのみ許可されている。そのような情報の送信によってサポートされるユーザ行為の例としては、周辺機器内に記憶されたデータのパスワード保護や認証ハンドシェーキングがある。プロトコル・コマンドは、プロトコル・コマンドのいずれもがオペレーティングシステムによって別個に制限されないようになっている。換言すれば、コンピュータのどのユーザも、パターン内に使用したプロトコル・コマンドを発することは可能である。そのパターンは、少なくとも一つの読み込みコマンドを含み、パターンのプロトコル・コマンドは、コンピュータから周辺機器へ送信される。周辺機器は、パターンのプロトコル・コマンドを受信し、パターンのプロトコル・コマンドを解釈して情報を読み取る。注目すべきことは、コンピュータは、典型的に、その読み込みコマンドに応答して周辺機器がコンピュータへ送信するどんなデータも無視することである。読み込みコマンドの主要な目的は、周辺機器に情報を受信させることである。
パターンのすべてのプロトコル・コマンドは、読み込みコマンドであることが好ましい。また、読み込みコマンドの少なくとも一つは、周辺機器の記述子を読み込むコマンドであることが好ましい。周辺機器の未使用記述子を読み込むコマンドであることが最も好ましい。また、プロトコル・コマンドの少なくとも二つは、周辺機器の同じ記述子を読み込む、連続する読み込みコマンドであることが好ましい。
パターンは、非正規パターンであることが好ましい。本文における「非正規パターン」は、通常オペレーション中での発生が予期できない様式で従来の信号を採用する、または通常オペレーション中での発生がありそうもないのでそのような発生の可能性を無視できる、通信プロトコル・コマンドのパターンであると理解すべきである。
本発明の周辺機器は、プロトコルに従ってホストと通信するためのインターフェイス、ホストが出したプロトコルのコマンドに応答してホストのために機能を実行するためのメカニズム、そして、ホストのオペレーティングシステムによって、ユーザがホストから周辺機器へ情報を送信することが制限されているにもかかわらず、ユーザがホストから送信した情報を受信するためのメカニズムを含む。情報を受信するためのメカニズムは、ユーザがホストから周辺機器へ情報を送信することを可能にする、プロトコル・コマンドのパターンを定義するコードを含む。パターンは、少なくとも一つの読み込みコマンドを含む。コントローラは、ホストからプロトコル・コマンドの非正規シーケンスを受信すると即座に、シーケンスを非正規であると認識する。非正規と認識されたシーケンスが、また、パターンに適合する場合、コントローラは、シーケンスを解釈して情報を読み取る。パターンを定義するコードは、ファームウェア内に具現化することが好ましい。
パターンのすべてのプロトコル・コマンドは、読み込みコマンドであることが好ましい。
プロトコルは、USBプロトコルであることが好ましい。
本発明の範囲は、また、そのような周辺機器と、そのホストとを含むシステムをも含む。
本発明の範囲は、また、ホストのオペレーティングシステムによって周辺機器への情報の送信をユーザが制限されているにもかかわらず、周辺機器のホストのユーザがホストから周辺機器へ情報を送信することを可能にする、コンピュータ読み取り可能なコードを具現化したコンピュータ読み取り可能な記憶メディアをも含む。ホストは、周辺機器と通信するためにプロトコルのコマンドを使用する。コードは、いずれもオペレーティングシステムによって別個に制限されていない、少なくとも一つが読み込みコマンドであるそのようなコマンドの、ユーザが周辺機器へ情報を送信することを可能にするパターンを定義するプログラム・コードを含む。コードは、また、情報をパターンへ変換するためのプログラム・コードをも含む。
本発明は、ホスト・コンピュータが周辺機器のオペレーションを引き起こすための方法に関する。また、対応周辺機器に関する。特に、本発明は、コンピュータのオペレーティングシステムの標準サービスを迂回するために使用できる。
本発明による周辺機器の原理および作用は、図面と添付の説明を参照することにより、適切に理解できる。
USB規格の下で、USB周辺機器は、周辺機器に関する情報を提供するために、0から255の番号を付した256の記述子を持つ。共通して、記述子#0は、言語を示すために使用され、記述子#1は、製品等を示すために使用されている。実際、大きな番号の記述子は、産業全体に渡ってほとんど未使用であり、特定な周辺機器の製造業者がデバイス・パラメータを示すためのオプションとして残されている。そして、ユーザ・アプリケーションは、非管理者でさえも制限なしで、256の記述子すべてを読むことが許されている。
本発明は、USB周辺機器のコントローラへ情報を送信するために、非正規なシーケンスの記述子読み込みオペレーションを使用する。そのような読み込みコマンドが非管理者にも許可されているので、本発明は、ユーザ・アプリケーションが、下記のように周辺機器のコントローラへ所望の情報を送信することを可能にする。
再び図面を参照する。図4は、本発明の第一の好適実施例300を表す、高度な概略ブロック図である。実施例300は、コンピュータ302と周辺機器120とを含む。コンピュータ302、例えばパーソナル・デスクトップ・コンピュータは、図1に関して説明した従来の技術によるコンピュータ110のように、CPU112、オペレーティングシステム114および標準アプリケーション118を含む。アプリケーション118、例えばワープロは、非管理者を含む、コンピュータ302のすべてのユーザが利用可能であるという点において、標準なものである。さらに、コンピュータ302は、制限(非標準)アプリケーション304をも記憶している。このアプリケーションは、オペレーティングシステム114がサポートしていない様式での、周辺機器120への情報送信を必要とする、または非管理者に対して非許可のOSサービスの利用を必要とする。
図5は、図4に示す実施例300に対して代替的な、好適実施例300Aを表す高度な概略ブロック図である。実施例300Aにおいては、周辺機器は、記憶メディア128Aを持つリムーバブル記憶デバイス120Aである。そして非標準アプリケーション304は、コンピュータ302内に記憶されてそこからロードされる状態(図4)から、リムーバブル記憶デバイス120A内に記憶されてそこからロードされる状態(図5)へ移行している。コンピュータ・アプリケーションは、内部記憶装置(図4)あるいは外部記憶装置(図5)から容易に実行できるため、実施例300および300Aの両方は、アプリケーション304を実行するという点で同様である。
本発明は、図4または図5の非標準アプリケーション304が、例外なく許容される作用をコンピュータ302で発生させることによって、標準プロトコルを介して周辺機器120または120Aと通信することを可能にする。しかし、コントローラ122が識別および解釈可能な、非正規なパターンの下で行う。周辺機器120または120Aのコントローラ122は、下記のように非標準要求をコード入力信号として識別および解釈するために、すべての通信を監視し、そのファームウェア320を介してそのような非正規なパターンを検出するようにプログラムされている。背景技術によるコンピュータ・システム100の場合のように、コンピュータ302のUSBインターフェイス116は、リンク105を確立するために、周辺機器120または120A内の対応USBインターフェイスとの電気的な、論理的な、そして機械的な結合を提供する。また、背景技術によるコンピュータ・システム100の場合のように、機能128は、周辺機器120または120Aがコンピュータ302へ結合された目的のためのハードウェアおよびソフトウェア構成要素を表す。
コンピュータ302が、アプリケーション304による非標準要求を、非正規なシーケンスの読み込みコマンドへ変換することを可能にするコードが、アプリケーション304そのもののコード内に含まれる、本発明の実施例においては、周辺機器120Aの記憶メディア128Aは、本発明を具現するためのコンピュータ読み取り可能なコードを埋め込んだコンピュータ読み取り可能な記憶メディアの一例を構成する。
図6は、そのような非正規なパターンの生成および解釈を概略的に表すフローチャートである。ステップ380で、コンピュータ302上で作動している非標準アプリケーション304が、非標準要求の生成を開始する。ステップ382で、コンピュータ302は、非標準要求を非正規なシーケンスの読み込みコマンドへ変換する。このとき、個々の読み込みコマンドは、各々が標準であり普遍的に許容されている。ステップ384で、非正規なシーケンスの読み込みコマンドが、リンク105を介したコンピュータ302と周辺機器120または120Aとの間の通信を通して実行される。ステップ386で、周辺機器120/120Aが受信するすべての通信を監視するコントローラ122は、受信読み込みコマンドのシーケンスが非正規であることを検出する。その後、ステップ388で、コントローラ122が、非標準アプリケーション304とコントローラ・ファームウェア320とが一緒に使用するコード化規則に従って、非正規なシーケンスから、コード化されたメッセージを解釈する。ステップ390で、周辺機器120または120Aが、ステップ388で解釈した非標準コマンドを実行したとき、プロシージャは終了する。
図7Aから図7Cは、USBデバイス120または120A(図4および図5)から記述子を読み込む非正規なシーケンスを使用して、コマンドをコード化するための、三つの例示的な好適実施例を示す。これらの例では、USB仕様のセクション9.4内に定義されたUSB「GET_DESCRIPTOR」標準デバイス要求を使用して、記述子を読み込む。図7Aは、1から100の範囲内のコマンド番号Nによってコード化したコマンドの送信を可能にするコーディング方法402を示す。コンピュータ302が生成するコマンド・シーケンスは、記述子101の四連続読み込みで開始する。そのような同じ記述子の反復読み込みは技術的に意味がないため、この読み込みシーケンスは非正規であると識別される。それからコントローラ122は、1から100の範囲内の記述子Nを読み込むことを予測して、次の読み込みコマンドに注目し、その読み込みコマンドをコマンド#Nと解釈する。記述子101の次の読み込みオペレーションは、コード配列が正常に完了したことをコントローラ122へ合図する。
図7Bの例示的な好適実施例404は、周辺機器120あるいは120Aのいずれも、101から200の記述子を決して使用しないと仮定する。したがって、関連標準アプリケーション118は、101から200の範囲内の番号が付した記述子を読み込もうと試みることは全くない。そのような仮定は、例えば、周辺機器120あるいは120Aの型式の仕様を管理するプロバイダが、安全に行うことができる。そのような場合、コンピュータ302から周辺機器120あるいは120Aへ送信した読み込みコマンド内の、101から200の範囲内の記述子Nへの単なる参照が、読み込み記述子番号から100を引くことによって計算されるインデックスを持つ特別なコマンドを示す(例えば、記述子159に関連する読み込みコマンドは、コントローラ122がコマンド#59と解釈する)。
図7Cは、もう一つの例示的な好適コーディング方法406を表す。これは、コンピュータ302から周辺機器120あるいは120A(図4および図5)へ、いかなるタイプおよび数量のコード化データでも送信できるように考案したものである。いかなるタイプおよび数量のデータも、十六進数字のストリングで表すことができるため、コンピュータ302は、まず、記述子#102に対する4つの読み込みコマンドの非正規シーケンスを、それから、各々対応する十六進数字を表す、0から15の範囲内の記述子に対する一連の読み込みコマンドを送信する。全ストリングが完成すると、記述子#102に対するもう一つの読み込みコマンドが、ストリングの終了を合図する。
注意すべきことは、本発明が、(非標準アプリケーション304を実行する)コンピュータ302と(非正規読み込みオペレーションを検出して解釈する)周辺機器120あるいは120Aとの協調に基づくため、非正規であるとコントローラ122が一度識別した読み込みコマンドは、正規の様式で実行する(すなわち、周辺機器120あるいは120Aからコンピュータ302へ対象記述子の内容を送信する)必要がないことである。したがって、図6のステップ384の実行は、読み込みコマンドを送信するが、対象記述子の内容を実際に受信することのない簡略なものにできる。しかしながら、そのような記述子が、コントローラ122に読み込まれてコンピュータ302へ送信され、そしてコンピュータ322に無視されるのであれば、図6のプロシージャも適切に機能する。
本発明を限られた数の実施例に関して説明したが、本発明の多くの変形、修正、そして他の応用が可能であることは明らかである。
本発明を、例としてのみ、添付の図面を参照して説明する。
背景技術におけるコンピュータ・システムを表す、高度な概略ブロック図である。 図1に示すシステムのコンピュータの、オペレーティングシステムを表す簡略図である。 図1に示すシステムのオペレーションを表すフローチャートである。 本発明のコンピュータ・システムを表す、高度な概略ブロック図である。 本発明のコンピュータ・システムを表す、高度な概略ブロック図である。 図4および図5に示すシステムのオペレーションを表すフローチャートである。 記述子読み込みコマンドの好適な、三つの非正規パターンを表す。 記述子読み込みコマンドの好適な、三つの非正規パターンを表す。 記述子読み込みコマンドの好適な、三つの非正規パターンを表す。

Claims (12)

  1. コンピュータのユーザのために前記コンピュータが周辺機器へ特定情報を送信するための方法であって、前記特定情報の前記送信は前記コンピュータのオペレーティングシステムによって前記ユーザとは異なる特定ユーザに限定されているものであり、
    (a)前記コンピュータが、前記コンピュータから前記周辺機器へ前記特定情報を送信するための要求を前記ユーザから受取り、前記コンピュータから前記周辺機器へ前記特定情報を送信することを可能にするためのコマンドのパターンを定義するステップ
    この場合、前記マンドのいずれも、前記オペレーティングシステムによって個々には制限されてはおらず、前記パターンを構成する全てのコマンドは読み込みコマンドであって、それぞれのコマンドが前記周辺機器の記述子を読み込むものであり、前記コマンドが用いられるプロトコルはUSBプロトコルであり、そして、前記パターンは、読み込み動作の非正規シーケンスを含み、
    (b)前記コンピュータが、前記周辺機器へ前記パターンからなる前記コマンドを送信するステップ
    (c)前記周辺機器が、前記パターンからなる前記コマンドを受信するステップと、そして
    (d)前記周辺機器が、前記パターンからなる前記コマンドを非正規であると認識し、前記パターンからなる前記コマンドを解釈して、前記コンピュータから前記特定情報を受け取るステップと、を有する方法。
  2. さらに、
    (e)前記周辺機器が、前記ステップ(d)において受け取った特定情報に従って前記周辺機器内に記憶されたデータのスワード保護を実行するステップからなる、請求項1に記載の方法。
  3. さらに、
    (e)前記周辺機器が、前記ステップ(d)において受け取った特定情報に従ってデータの交換を伴う認証ハンドシェーキングを実行するステップからなる、請求項1に記載の方法。
  4. 前記記述子が、前記周辺機器の未使用記述子である、請求項1から3のいずれかに記載の方法。
  5. 前記プロトコル・コマンドの少なくとも二つが、前記周辺機器の一つの同じ記述子を連続的に読み込むコマンドである、請求項1から4のいずれかに記載の方法。
  6. ユーザによってホストから送信された特定情報を受信するように適応した周辺機器であって、前記特定情報の前記送信は前記ホストのオペレーティングシステムによって特定ユーザとは異なる前記ユーザに対して制限されているものであり
    (a)プロトコルに従って前記ホストと通信するためのインターフェイス
    (b)前記ホストが出した前記プロトコルのコマンドに応答して、前記ホストのために機能を実行するための、コントローラを含むメカニズム
    (c)前記特定情報を受信するためのメカニズムと、を有し、
    前記メカニズムは前記プロトコルのコマンドのターンを定義するコードを含み、前記コマンドのパターンは、前記ユーザが前記ホストから前記周辺機器へ前記特定情報を送信することを可能にし、
    前記コマンドのいずれも、前記オペレーティングシステムによって個々には制限されておらず、前記パターンを構成する全てのコマンドは読み込みコマンドであって、それぞれのコマンドが前記周辺機器の記述子を読み込むものであり、前記プロトコルはUSBプロトコルであり、そして、前記コマンドのパターンは、読み込み動作記述子のシーケンスを含み、
    前記コマンドのパターンの前記送信は、前記コントローラが前記ホストから前記プロトコルの前記コマンドのパターンを受信するように行われ
    (i) 前記シーケンス非正規であることを認識し、そして
    (ii)前記シーケンスが前記パターンに適合する場合に、前記シーケンスを解釈して前記ホストから前記特定情報を読み取る、周辺機器。
  7. 前記コードがファームウェア内に具現化されている、請求項6に記載の周辺機器。
  8. (a)請求項6に記載の前記周辺機器、そして
    (b)請求項6に記載の前記ホストからなる、システム。
  9. コンピュータ読み取り可能なコードを持つコンピュータ読み取り可能な記憶メディアであって、前記コンピュータ読み取り可能な記憶メディア上に具現化された前記コンピュータ読み取り可能なコードは、周辺機器のホストの特定ユーザとは異なるユーザに前記ホストから前記周辺機器へ特定情報を送信することを可能にするものであり、
    ここで、前記特定情報の前記送信は前記ホストの前記特定ユーザに限定されており、前記ユーザはホストのオペレーティングシステムによって前記周辺機器へ前記特定情報を送信することが制限されているにも関わらず、前記コードは前記特定情報の前記送信を可能にするものであって
    前記コンピュータ読み取り可能なコードが、
    (a)前記ホストから前記周辺機器へ前記特定情報を送信するための要求を前記ユーザから受取り、前記周辺機器と通信するために前記ホストが使用するプロトコルのコマンドの、前記ユーザが前記ホストから前記周辺機器へ前記特定情報を送信することを可能にするパターンを定義するプログラム・コード、
    なお、前記コマンドのいずれも、前記オペレーティングシステムによって個々には制限されておらず、前記パターンを構成する全てのコマンドは読み込みコマンドであって、それぞれのコマンドが前記周辺機器の記述子を読み込むものであり、前記プロトコルはUSBプロトコルであり、そして、前記パターンは読み込み動作の非正規シーケンスを含み、そして、
    (b)前記特定情報を前記パターンへ変換するためのプログラム・コードからなる、コンピュータ読み取り可能な記憶メディア。
  10. 特定ユーザとは異なる少なくとも一人のユーザに対して、周辺機器へ平易な形式の特定メッセージを送信することを認めないオペレーティングシステムの下で作動しているホストが、標準プロトコルを介して周辺機器へ前記特定メッセージを送信するための方法であって、
    (a)前記ホスト、前記特定メッセージをコマンドのパターンへ変換すること、なお、前記パターンは、いずれのユーザに対しても、前記オペレーティングシステムによって前記周辺機器への送信が許容され、前記パターンを構成する全てのコマンドは読み込みコマンドであって、それぞれのコマンドが前記周辺機器の記述子を読み込むものであり、そして、前記パターンは読み込み動作記述子の非正規シーケンスを含み、
    (b)前記ホストが、前記周辺機器へ前記コマンドのパターンを送信すること、
    (c)前記周辺機器、前記コマンドのパターンを受信すること、
    (d)前記周辺機器、前記コマンドのパターンが非正規なシーケンスを有すると識別すること、そして
    (e)前記周辺機器が、前記コマンドのパターンを解釈し、前記メッセージを前記ホストから読み取る方法であって、少なくとも一つのオペレーションがプロセッサによって行われることからなる、方法。
  11. 特定のユーザのみが用いるように制限されている特定情報を含むメッセージを受信するためにホストと連する周辺機器であって、
    前記ホストが前記メッセージをコマンドのパターンへ変換し、
    前記パターンを構成する全てのコマンドは読み込みコマンドであって、それぞれのコマンドが前記周辺機器の記述子を読み込むものであり、前記コマンドが用いられるプロトコルはUSBプロトコルであり、前記コマンドのパターンは読み込み動作の非正規シーケンスを含み、
    (a)前記ホストと通信し、そこから前記コマンドのパターンを受信するように構成されたインターフェイス、そして、
    (b)前記コマンドのパターンを処理し、前記み込みコマンドを非正規であると識別し、そして前記コマンドのパターンを解釈して前記ホストからの前記メッセージを読み取るように構成されたコントローラからなる、周辺機器。
  12. ホストのユーザのために前記ホストが特定情報を非標準アプリケーションから周辺機器へ送信するための方法であって、前記特定情報の前記送信は特定ユーザとは異なるユーザには禁じられており、
    前記ホストが、前記周辺機器へ前記特定情報を通信するための要求を前記ユーザから受取り、この場合、前記要求は非標準アプリケーションからの非標準要求であって、
    前記特定情報のためのコマンドのパターンを前記ホストが生成し、前記コマンドのパターンは、読み取りコマンドの非正規シーケンスを含み、
    前記コマンドのパターンは、前記ホストと前記周辺機器の標準通信プロトコルに従い、前記コマンドのいずれも、前記ホストのオペレーティングシステムによって個々には制限されておらず、
    前記コマンドのパターンに含まれるそれぞれのコマンドは読み込みコマンドであって、前記周辺機器の記述子を読み込むものであり、
    前記ホストが、前記コマンドのパターンを前記周辺機器へ送信し、前記周辺機器は前記ホストからの通信をモニタし、
    前記周辺機器が、前記コマンドのパターンを解釈し、
    前記パターンの解釈は、
    前記ホストから送信された前記コマンドのパターンの中に読み取りコマンドの非正規なシーケンスを検出し、そして、
    前記コマンドのパターンを前記非標準要求がコード化された前記特定情報と特定するように解釈する、方法
JP2007556712A 2005-02-25 2006-02-26 非正規な読み込みオペレーションを介する周辺機器への信号通信 Expired - Fee Related JP4785870B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US65607005P 2005-02-25 2005-02-25
US60/656,070 2005-02-25
PCT/IL2006/000256 WO2006090393A2 (en) 2005-02-25 2006-02-26 Signaling to a peripheral via irregular read operations

Publications (2)

Publication Number Publication Date
JP2008532134A JP2008532134A (ja) 2008-08-14
JP4785870B2 true JP4785870B2 (ja) 2011-10-05

Family

ID=36927829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007556712A Expired - Fee Related JP4785870B2 (ja) 2005-02-25 2006-02-26 非正規な読み込みオペレーションを介する周辺機器への信号通信

Country Status (8)

Country Link
US (1) US7500024B2 (ja)
EP (1) EP1877891B1 (ja)
JP (1) JP4785870B2 (ja)
KR (1) KR101259828B1 (ja)
CN (1) CN101167040B (ja)
AT (1) ATE494585T1 (ja)
DE (1) DE602006019406D1 (ja)
WO (1) WO2006090393A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007050463A1 (de) 2006-11-16 2008-05-21 Giesecke & Devrient Gmbh Verfahren zum Zugriff auf einen tragbaren Speicherdatenträger mit Zusatzmodul und tragbarer Speicherdatenträger
US8806604B2 (en) 2007-04-09 2014-08-12 Sandisk Il Ltd. Methods for firewall protection of mass-storage devices
US9727277B2 (en) 2012-12-21 2017-08-08 Sandisk Technologies Llc Storage device and method for enabling hidden functionality
US10888119B2 (en) * 2014-07-10 2021-01-12 Rai Strategic Holdings, Inc. System and related methods, apparatuses, and computer program products for controlling operation of a device based on a read request

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596713A (en) * 1993-12-08 1997-01-21 Zenith Data Systems Corporation Method to prevent data loss in an electrically erasable read only memory

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4942606A (en) * 1989-02-07 1990-07-17 Compaq Computer Corporation Computer with improved keyboard password functions
KR0174978B1 (ko) * 1995-12-30 1999-04-01 김광호 하드웨어로 구현된 디지탈 컴퓨터 시스템 보안 장치
US6088802A (en) * 1997-06-04 2000-07-11 Spyrus, Inc. Peripheral device with integrated security functionality
CN1361468A (zh) * 2000-12-29 2002-07-31 英业达股份有限公司 具有内建外围设备只读区块的基本输入输出系统
US20030028812A1 (en) * 2001-07-31 2003-02-06 Stultz Paul Dennis Computer security during power-on self test
JP2003085118A (ja) * 2001-09-13 2003-03-20 Fujitsu Ltd 周辺装置のパラメータ設定方法、及び、周辺装置
CN2600858Y (zh) * 2002-08-07 2004-01-21 台均实业有限公司 具标准数据接口的便携式数据转换处理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596713A (en) * 1993-12-08 1997-01-21 Zenith Data Systems Corporation Method to prevent data loss in an electrically erasable read only memory

Also Published As

Publication number Publication date
EP1877891B1 (en) 2011-01-05
WO2006090393A3 (en) 2007-05-24
CN101167040A (zh) 2008-04-23
US7500024B2 (en) 2009-03-03
EP1877891A4 (en) 2009-01-14
KR20070122202A (ko) 2007-12-28
ATE494585T1 (de) 2011-01-15
WO2006090393A2 (en) 2006-08-31
EP1877891A2 (en) 2008-01-16
KR101259828B1 (ko) 2013-05-02
DE602006019406D1 (de) 2011-02-17
JP2008532134A (ja) 2008-08-14
US20060195621A1 (en) 2006-08-31
CN101167040B (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
CA2988332C (en) Operating system independent, secure data storage subsystem
JP4663572B2 (ja) ユニバーサルシリアルバスデータ伝送方法及びその方法を実施するデバイス
US7249379B2 (en) Method and apparatus for implementing process-based security in a computer system
JP5475064B2 (ja) サーバ装置、アプリケーション実行システム、アプリケーション実行方法、およびプログラム
EA006814B1 (ru) Система и способ использования множества приложений
US20090172705A1 (en) Apparatus and Method for Preservation of USB Keyboard
JP2008539484A (ja) ユニバーサル・シリアル・バス機能のデリゲーション
KR20100021464A (ko) 복합 자원 관리기
US7350067B2 (en) Bios security management
JP6099384B2 (ja) 情報通信システム及び認証装置及び情報通信システムのアクセス制御方法及びアクセス制御プログラム
JP4785870B2 (ja) 非正規な読み込みオペレーションを介する周辺機器への信号通信
CN101369302A (zh) 一种控制信息安全设备访问权限的方法和系统
KR101076048B1 (ko) 키 보호 방법 및 컴퓨팅 장치
JPWO2006101194A1 (ja) アクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラム
KR101349807B1 (ko) 이동식 저장매체 보안시스템 및 그 방법
KR101103313B1 (ko) 가상머신 환경에서의 매체제어방법
CN114611130B (zh) 一种数据保护方法、装置、存储介质和电子设备
CN117034330B (zh) 基于macOS的安全防护方法、设备及存储介质
US8214896B2 (en) Method of securing USB keyboard
JP4638505B2 (ja) 電子デバイス内の安全なプログラム解釈方法
EP3308316B1 (en) Operating system independent, secure data storage subsystem
Yousir Detecting Compromised User Account Based on User Behavior Analysis
CN113919014A (zh) 一种usb用户隔离的控制方法
Pöhls Risk Analysis of Mobile Devices with Special Concern of Malware Contamination
CN115348261A (zh) 基于5g的云端可信数据处理方法、装置、终端及存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110406

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110413

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110428

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110525

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: 20110614

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110712

R150 Certificate of patent or registration of utility model

Ref document number: 4785870

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees