JP2004535641A - 特権モードのドライバ認証を備えたソフトウエア・モデム - Google Patents
特権モードのドライバ認証を備えたソフトウエア・モデム Download PDFInfo
- Publication number
- JP2004535641A JP2004535641A JP2003513264A JP2003513264A JP2004535641A JP 2004535641 A JP2004535641 A JP 2004535641A JP 2003513264 A JP2003513264 A JP 2003513264A JP 2003513264 A JP2003513264 A JP 2003513264A JP 2004535641 A JP2004535641 A JP 2004535641A
- Authority
- JP
- Japan
- Prior art keywords
- driver
- authentication agent
- processing unit
- mode
- modem
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mobile Radio Communication Systems (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
Description
【0001】
本発明は一般にモデム通信に関し、特に、特権モードのドライバ認証を備えたソフトウエア・モデムに関する。
【背景技術】
【0002】
近年、携帯電話がますます普及している。携帯電話は、「移動局」または「携帯端末」と呼ばれるものの一例である。移動局には、携帯電話以外にも、移動通信機能を備えたコンピュータ(例えばノート型コンピュータ)など様々なものがある。
【0003】
電波などのエア・インタフェースを介して、移動通信ネットワークと移動局とを接続する電気通信サービスが提供されている。通常、移動局を所有する各加入者に対して、固有の国際移動電話加入者識別番号(IMSI)が割り当てられている。ある瞬間に、稼動中(active)の移動局が、エア・インタフェースを介して1以上の基地局と通信することが可能である。基地局は、基地局制御装置(無線ネットワーク制御装置とも呼ばれる)によって管理されている。基地局制御装置、およびこれにより管理される基地局は、基地局システムを構成している。基地局システムの基地局制御装置は、制御ノードを介して、公衆交換電話網(PSTN)などの基幹通信ネットワークに接続されている。標準化されている移動通信方式の一形態に、移動体通信用グローバルシステム(GSM)がある。GSMには、様々なサービス向けの機能およびインタフェースを規定している各種標準がある。GSMシステムでは、音声信号とデータ信号との両方を伝送することができる。
【0004】
1つの基地局が、複数の移動局によって共有される。無線周波帯域は限られた資源であるため、時分割多重接続方式および周波数分割多重接続方式(TDMA/FDMA)を併用することにより、帯域幅が分割されている。FDMAでは、最大周波数帯域(例えば25MHz)を、200kHz間隔で124個の搬送周波数に分割している。1つの基地局に、搬送周波数が1以上割り当てられる。さらに、各搬送周波数が複数のタイムスロットに分割される。基地局と移動局との間のセッションが稼働中に、基地局は、移動局から基地局への上り伝送に使用する周波数、電力レベルおよびタイムスロットを移動局に割り当てる。また、基地局は、基地局から移動局に向かう下り伝送に使用する周波数およびタイムスロットも伝達する。
【0005】
GSMに規定されている時間の基本単位はバースト周期と呼ばれており、この長さは15/26ms(約0.577ms)である。8つのバースト周期をグループ化したものがTDMAフレーム(長さ120/26ms、すなわち約4.615ms)であり、これが論理チャネルを定義する基本単位となっている。1つの物理チャネルは、各フレームにつき1つのバースト周期として定義されている。個々のチャネルは、対応するバースト周期の数および位置によって定義されている。
【0006】
各々が8つのバースト周期からなるGSMフレームをグループ化したもの(例えば51フレームからなるグループ)がスーパーフレームであり、トラフィック情報(すなわち、音声信号またはデータ信号)と制御情報との両方を含んでいる。制御情報は、スーパーフレーム構造内に定義された共通チャネルを介して伝送される。共通チャネルは、アイドルモードの移動局と専用モードの移動局との両方によってアクセスされる。共通チャネルは、アイドルモードの移動局が、着信呼および発信呼を受けると、シグナリング情報を交換して専用モードに移行するために使用される。既に専用モードにある移動局は、ハンドオーバー情報やその他の情報を求めて、周囲の基地局を監視する。
【0007】
共通チャネルには以下のものがある。
基地局識別子、周波数割り当て、および周波数ホッピング・シーケンスなどの情報を連続的にブロードキャストするためのブロードキャスト制御チャネル(BCCH)。
バースト周期の境界およびタイムスロットの番号付与方法を定義することによって、移動局をセルのタイムスロット番号に同期させる(すなわち、GSMネットワーク内の全セルが、1つのFCCHと1つのSCHとを正確にブロードキャストするようにし、これらは、定義上、TDMAフレーム内の番号0のタイムスロットに送信される)ための周波数訂正チャネル(FCCH)および同期チャネル(SCH)。
ネットワークへのアクセスを要求するために移動局によって使用されるランダムアクセスチャネル(RACH)。
着信呼を移動局に通知するためのページングチャネル(PCH)。
RACHの要求の後に、通信する(すなわち専用チャネルを取得する)ため、スタンド・アロン専用制御チャネル(SDCCH)を移動局に割り当てるためのアクセス許可チャネル(AGCH)。
【0008】
GSMデータは、セキュリティ上の理由により暗号化された形式で伝送される。無線媒体には誰もがアクセスできるため、認証は、モバイルネットワークにおいて非常に重要な要素である。認証には、移動局と基地局との双方が関与する。各移動局には、加入者IDモジュール(SIM)カードが備えられている。各加入者には秘密鍵が割り当てられている。この秘密鍵のコピーの1つがSIMカードに記憶されており、別のコピーが、基地局からのアクセスが可能で、通信ネットワーク上にある保護されたデータベースに記憶されている。認証時に、基地局は乱数を生成して、これを移動局に送信する。移動局は、乱数を、秘密鍵と暗号化アルゴリズム(例えばA3)とを併用して、サイン済みの応答文を生成し、これを基地局に返送する。移動局が送信したサイン済みの応答と、ネットワークの算出結果とが一致する場合、加入者が認証される。基地局は、移動局に送信するデータを、秘密鍵を用いて暗号化する。同様に、移動局は、基地局に送信するデータを、秘密鍵を用いて暗号化する。移動局が受信した伝送文を解読すると、特定の移動局に対して割り当てられた電力レベル、周波数、タイムスロットなどの種々の制御情報が移動局によって決定される。
【0009】
一般に、通信システムは、層を用いて説明される。第1の層は、伝送媒体を介して信号を搬送するデータを実際に伝送している層であり、物理層(PHY)と呼ばれる。物理層は、デジタルデータをグループ化して、特定の伝送方式に従って、このデータを基に被変調波形を生成する。GSMにおいて物理層は、伝送波形を生成して、移動局に割り当てられた送信タイムスロット内にこれを伝送する。同様に、物理層の受信部(receiving portion)が、割り当てられた受信タイムスロット内に、移動局宛てのデータを識別する。
【0010】
第2の層は、プロトコル層と呼ばれ、物理層によって受信されたデジタルデータを処理して、このデータ中に含まれる情報を識別する。例えば、GSMシステムにおいては、データの解読はプロトコル層の機能である。物理層の動作パラメータが変更された場合、この変更は、プロトコル層によって解読および処理されて初めて検出されるというという点に留意されたい。この相互依存関係は、プロトコル層をハードウェアのみによって実装している場合には通常問題にならないが、プロトコル層の少なくとも一部をソフトウェアによって実装している場合には問題を引き起こす可能性がある。
【0011】
コンピュータ・システム、特に携帯式のノート型コンピュータの一部には、無線モデムが搭載されていることがある。モデム技術の一つの動向に、ソフトウェアルーチンを用いて、従来のハードウエア・モデムのリアルタイム機能の一部に、実装するソフトウエア・モデムを使用することがある。ソフトウエア・モデムのハードウェアは、ハードウエア・モデムよりも一般に単純であるため、ソフトウエア・モデムのハードウェアのほうが概して低価格で、柔軟性も高い。例えば、プロトコル層での解読および処理の一部またはすべてを、ソフトウェアによって実装することが可能である。
【0012】
PCシステムなどのソフトウェアシステムは、オペレーティング・システム環境において、インタフェース制御ソフトウェアをソフトウエア・ドライバとして実行する。この種のドライバは、ハードウェアデバイスとの通信を担っており、オペレーティング・システムの特権レベルで動作する。他のソフトウェアアプリケーションは、このドライバに作用することを禁止されている。しかし、ドライバが他のドライバから保護されているわけではないため、ドライバの動作が損なわれるなどにより、ドライバの動作に悪影響を与える問題が様々に発生する可能性がある。このような現象は偶発的に発生することもあれば、意図的なハッキングによって発生することもある。破損した(または無断使用(co-opted)された)ドライバは、電話回線または無線チャネルの使用、外部周辺機器の操作、重要なデータの削除、などコンピュータの外でさらなる問題を発生させる可能性がある。
【0013】
移動局の送信機の動作を制御する物理層の動作パラメータは、プロトコル層によりソフトウェアを使用して制御されているため、コンピュータプログラムもしくはウィルスが、移動局の制御を掌握して、偶発的、もしくは意図的に、移動局に割り当てられたタイムスロットの外で送信を行う可能性がある。セルラー方式ネットワークなどの無線通信ネットワークでは、共有インフラストラクチャが使用される。移動局は「インフラストラクチャでの規則(rules on the road)」を守る必要があり、これを行わなければネットワークの妨害が発生する。
【0014】
移動局の特定の機能をソフトウェア内で制御する場合、プログラマは、GSM制御フレームの復号方法、ならびに送信機モジュールのトリガ方法を決定することができる。その後、ウィルスが作成されて、ネットワークを介して蔓延し、ソフトウェアベースの移動局に感染が広がり得る。このような場合、ある時点で、ウィルスがこの移動局の制御権を直接掌握して、連続的もしくは断続的にランダムな周波数で最大出力の送信を行い、基地局や他の移動局を大量の通信で溢れさせる可能性がある。ウィルスのこのような意図(design)は、検出されないように、無作為な時間で有効・無効が切り替わる。ウィルスは、無線通信事業者が使用できる帯域の少なくとも一部を奪い、ときにはネットワークの完全な停止を引き起こしかねない。1つのセルにつき、このような攻撃が数台の機器(最も少なくて1台)によって行われるだけで、1つのセルが完全に使用不能に陥る可能性がある。
【0015】
共有インフラストラクチャで動作する移動局に関連するセキュリティ面の問題は、重大度に応じて、改竄防止(tamper-proof)、非改竄防止(non-tamperproof)、およびクラス・ブレイク(class-break)の3つに分けることができる。第一に、ハードウェア/ファームウェアによる実装(携帯電話など)は、個々の機器を入手して変更しなければならないため、最も改竄が困難である(すなわち改竄防止が施されている)。これに対して、ソフトウェアによる解決策は、ハッカーがソフトウェアのみのデバッガ環境に注力できるため、最も改竄し易い(すなわち、非改竄防止である)。最後に、改竄を受ける機能が全てのシステムで類似し、改竄を同種のシステムに広く配布することが可能なシステムは、「クラス・ブレイク」を受けやすい。
【0016】
ソフトウェア無線モデムはクラス・ブレイクを受けやすいだけではなく、機器のコードが、IP(インターネット・プロトコル)と同じ層または他の携帯式コード・アクセス機構からアクセスされる可能性がある機器でもある。ソフトウェア無線モデムの多くが、ネットワークまたはインターネットに接続されるコンピュータに組み込まれる。このような構成のために、より一層ソフトウェアが改竄を受け、制御されやすくなる。
【0017】
また、ソフトウェアを使用してその他の通信プロトコルを実装している通信装置も、上記の問題の一部による影響を受ける可能性があるが、影響の程度およびレベルが異なる。例えば、音声帯域モデム(V.90)、非対称デジタル加入者線(DSL)モデム、宅内電話回線ネットワーク(HomePNA)などの有線加入者線(copper subscriber line)を使用する通信装置のソフトウエア・ドライバが攻撃を受けて、加入者線が使用不能となるか、不正使用されることがある。例えば、ウィルスに感染したソフトウエア・モデムのグループが、サービス妨害攻撃に使用されて、所定の電話番号に常時電話をかけ、相手側を溢れさせる。ソフトウエア・モデムが使用され、加入者線での発信呼または着信呼が阻止されるか、あるいはHomePNAトラフィックが妨害される可能性もある。また、無線ネットワーク機器など、ソフトウェア内で実装される他の無線通信装置が、無線ネットワークでのトラフィックの妨害に悪用されることもある。
【発明の開示】
【発明が解決しようとする課題】
【0018】
本発明は、上記の問題のうちの1つ以上を克服するか、少なくとも軽減することを狙ったものである。
【課題を解決するための手段】
【0019】
本発明の一態様は、周辺機器と処理ユニットとを備えたコンピュータ・システムに見て取れる。処理ユニットは、標準動作モードにおいて周辺機器との間の、特権動作モードにおいて認証エージェントとの間の、インタフェースを行うためのドライバを実行するものであり、認証エージェントはドライバを認証するためのプログラム命令を含む。周辺機器は、ソフトウエア・モデムなどの通信装置を備えてもよい。
【0020】
本発明の他の態様は、コンピュータ・システムにおいてセキュリティ侵害を検出するための方法に見て取れる。この方法は、処理ユニットの標準処理モードにおいてドライバを実行するステップと、処理ユニットを特権処理モードに移行させるステップと、特権処理モードにおいてドライバを認証するステップとを含む。このドライバは、ソフトウエア・モデムなどの通信周辺機器とインタフェースを行うのに適している。
【発明を実施するための最良の形態】
【0021】
添付の図面と併せて下記の説明を読めば、本発明が理解されるであろう。添付の図面においては、同一の参照符号は同じ要素を指している。
【0022】
本発明は、種々に変形および代替形態を取り得るが、その特定の実施形態が、図面に例として図示され、ここに詳細に記載されているに過ぎない。しかし、詳細な説明は、本発明を特定の実施形態に限定することを意図するものではなく、逆に、添付の特許請求の範囲によって規定される本発明の精神ならびに範囲に含まれる全ての変形例、均等物および代替例を含むことを理解すべきである。
【0023】
本発明の例示的な実施形態を下記に記載する。簡潔を期すために、本明細書に実際の実装の特徴を全て記載することはしない。当然、実際の実施形態の開発においては、システム上の制約およびビジネス上の制約に適合させるなど、開発の具体的な目的を達するために、実装に固有の判断が数多く必要とされ、この判断は実装によって変わるということが理解される。さらに、この種の開発作業は複雑かつ時間がかかるものであるが、本開示による利益を受ける当業者にとって日常的な作業であるということが理解されよう。
【0024】
図1に、通信システム10のブロック図を示す。通信システム10は、通信チャネル40を介して中央局30と通信を行う利用者局20を備える。本図の実施形態においては、利用者局20は、ソフトウエア・モデム50を使用する携帯型コンピュータ装置であり、GSMなどの無線通信プロトコルに従って通信を行う。中央局30は、複数の加入者にサービスを提供可能な共有の基地局である。本発明は、無線環境において実装されるものとして記載されるが、本発明の用途はこれだけに限定されない。本明細書による開示は、ソフトウェアによって実装される通信プロトコル(例えば、V.90、ADSL、HomePNA、無線LAN等)を使用する他の通信環境にも適用可能である。
【0025】
利用者局20は、デスクトップ型コンピュータ、ノート型コンピュータ、個人情報端末(PDA)など、種々のコンピュータ装置を備え得る。説明のために、利用者局20がノート型コンピュータを使用して実装されたものとする。ソフトウエア・モデム50は、内部資源として組み込まれる。当業者によって理解されるように、ソフトウエア・モデム50は、ハードウェア内で実装される物理層(PHY)70と、ソフトウェア内で実装されるプロトコル層80とを有する。
説明のために、ソフトウエア・モデム50の各種機能は、GSM通信プロトコル向けに実装されているものとするが、他のプロトコルを使用することもできる。
【0026】
本発明の一部とその詳細な説明は、ソフトウェア、すなわちコンピュータメモリ内部でのデータビットに対する操作の記号的表記およびアルゴリズムの形で提示される。このような記述および表現は、当業者が、自身の作業の内容を他の当業者に効率的に伝えるために用いられているものである。本明細書において使用する「アルゴリズム」との用語は、通常用いられているのと同義に用いられ、所望の結果に導くための自己矛盾のないシーケンスのことを指す。アルゴリズムのステップとは、物理量の物理的操作を必要とするステップである。この物理量は通常、記憶、転送、結合、比較などの操作が可能な光学信号、電気信号または磁気信号の形を取るが、必ずしもこれらに限定されない。主に公共の利用に供するという理由で、これらの信号を、ビット、値、要素、記号、文字、語(term)、数字などとして参照すれば、ときとして利便性が高いことがわかっている。
【0027】
しかし、上記の全用語ならびに類似の用語は、適切な物理量に対応しており、この物理量を表す簡便な標識に過ぎないという点を留意すべきである。特段の断りのない限り、もしくは記載内容から明らかな場合、「処理」、「演算」、「計算」、「判定」、「表示」などの用語は、コンピュータ・システムのレジスタ内およびメモリ内で物理的電子的量として表されるデータを、コンピュータ・システムのメモリ、レジスタ等の情報の記憶装置、伝送装置または表示装置内で同様に物理量として表される他のデータへと操作および変換するコンピュータ・システムないし類似の電子演算装置の動作および処理を指す。
【0028】
PHY層70は、デジタル送信信号をアナログ送信波形に変換すると共に、着信したアナログ受信波形をデジタル受信信号に変換する。送信信号については、プロトコル層80の出力は、0Hzキャリアを中心に変調された送信「オンエア(on-air)」情報(すなわち、キャリアレス信号)となる。PHY層70は、中央局30から利用者局20に送信された、割り当て済みのタイムスロット、周波数、および電力レベルの割り当てに従って、プロトコル層80が生成したキャリアレス送信信号を混合(混合はアップコンバートとも呼ばれる)し、PHY層70から送信される実際のアナログ波形を生成する。
【0029】
また、中央局30は、着信データ用のタイムスロットおよび周波数の割り当ても利用者局20に伝達する。着信したアナログ受信波形は、サンプリングされ、割り当てられたタイムスロットおよび周波数のパラメータに従ってダウンコンバートされて、キャリアレスの(すなわち0Hzを中心に変調された)受信波形に再生成される。プロトコル層80は、PHY層70からキャリアレス受信波形を受け取って、ベースバンド処理、解読および復号を実行して、受信データを再生成する。
【0030】
タイムスロット、周波数、および電力レベル(すなわち送信データのみ)の割り当ては、総称して制御コードと呼ばれる。ソフトウエア・モデム50の実装に使用される特定のアルゴリズムは、個別の業界標準(例えば、GSM標準)に記載されており、当業者に公知である。このため、簡潔を期すと共に説明を簡単にするために、これら標準に関しては、本発明によって変更する場合を除いて詳述しない。
【0031】
利用者局20は、プロトコル層80が本物であることを定期的に検証して、破損または改竄を検出するための認証エージェント90も備える。図3,4に関連して下記に詳述するように、認証エージェント90は、ソフトウェアによって実装されるプロトコル層80の機能に対して特権コンテキストで動作する。認証エージェント90は保護されているため、改竄されることなく、ソフトウェアによって実装されるプロトコル層80の機能の改竄を検出することができる。
【0032】
図2に、コンピュータ100に具体化された利用者局20のブロック図を示す。コンピュータ100はプロセッサ複合体110を備える。簡潔を期すと共に理解しやすくするために、プロセッサ複合体110を構成する要素の全てを詳細に記載しない。このような詳細は当業者に公知であり、個々のコンピュータ供給業者およびマイクロプロセッサの種類によって変更され得る。
プロセッサ複合体110は、典型的にはマイクロプロセッサ、キャッシュメモリ、システムメモリ、システムバス、グラフィックコントローラなどのほか、特定の実装に応じて他の機器を備える。
【0033】
プロセッサ複合体110には、標準モードと特権モードとの2つの動作モードがある。当業者に公知となっている特権動作モードの例として、システム管理モード(SMM)がある。SMMへの移行は、システム管理割込み(SMI)によって開始される。プロセッサ複合体110は、SMIに応じて、システムメモリの他のプロセス(例えば、アプリケーションまたはドライバ)からは隠された保護領域に、事前に(すなわち、コンピュータ100の初期化およびBIOSコードの読み込み時に)読み込まれているSMMコードを実行する。また、SMMイベント時に、プロセッサ複合体110の機能が使用するメモリ領域も、他のプロセスから隠されている。
特権モードとしてSMMを使用する例により実施形態を説明するが、本発明はこれに限定されず、他の種類の特権モードを使用してもよい。一般に、特権モードとは、アプリケーションまたはドライバなどのコンピュータ100で実行されている他のプロセスからは隠された動作モードとして定義される。SMMは、現在利用可能な特権モードの一例に過ぎない。
【0034】
特権コンテキストには、このほか、システムの主マイクロプロセッサから独立した暗号プロセッサなど、別の処理要素(processing entity)を使用する場合がある。特権モードのソフトウェアの機能は、この暗号プロセッサによって実行され、システムの主マイクロプロセッサで実行されている他のソフトウェアアプリケーションによって改竄されないよう保護されている。さらに、特権コンテキストに、セキュアなアーキテクチャ拡張が施されたメインシステムマイクロプロセッサを使用してもよい。この実装においては、暗号プロセッサは、メインシステムマイクロプロセッサに組み込まれており、セキュアコマンドによって制御される。
【0035】
プロセッサ複合体110は、PCI(周辺機器インタフェース)バスなどの周辺機器バス120に結合されている。プロセッサ複合体110内のブリッジユニット(すなわちノースブリッジ)は、一般的に、システムバスと周辺機器バス120とを結合している。サウス・ブリッジ150は、周辺機器バス120に結合されている。サウス・ブリッジ150は、BIOS(システム基本入力・出力システム)メモリ170をホストするLPC(低ピンカウント)バス160、種々の周辺機器(キーボード、マウス、プリンタ、スキャナ、スキャナ等)(図示せず)とインタフェースするためのUSB(ユニバーサル・シリアル・バス)180、ハード・ディスク・ドライブ200およびCD-ROMドライブ(図示せず)とインタフェースするためのEIDE(エンハンスド統合ドライブ機器)バス190、ならびにIPB(統合パケットバス)バス210とインタフェースしている。
【0036】
IPBバス210は、ソフトウエア・モデム50のハードウェア部分をホストする。本図の実施形態においては、ソフトウエア・モデム50は、ACR(アドバンスド通信ライザ)カード215によりホストされる。ACRカード215およびIPBバス210の仕様は、ACR分科会(ACR Special Interest Group)(ACRSIG.ORG)から入手することができる。ソフトウエア・モデム50は、PHYハードウエア・ユニット220および無線装置230を備える。本図の実施形態においては、無線装置230は、GSM信号を送受信するものである。PHYハードウエア・ユニット220および無線装置230により、PHY層70を構成している(図1参照)。
【0037】
プロセッサ複合体110は、モデム・ドライバ240で符号化されたプログラム命令を実行する。プロセッサ複合体110とモデム・ドライバ240とにより、プロトコル層80の機能を実施する(図1参照)。また、プロセッサ複合体110は、認証エージェント90を実装するためのプログラム命令を実行する。
【0038】
モデム・ドライバ240および/または認証エージェント90は、システムBIOS170、ACRカード215のセキュアなメモリデバイス、コンピュータ100のセキュアなメモリデバイスなどの安全な場所に記憶される。セキュアなドライバを記憶するための方法の例が、米国特許出願第09/901,176号(代理人事件番号2000.053400/DIR、依頼人事件番号TT4040)、テリー L コール(Terry L. Cole)、デビット W スミス(David W. Smith)、ロドニー シュミット(Rodney Schmidt)、ジェフリー S ストロンジン(Geoffrey S. Strongin)、ブライアン C バーンズ(Brian C. Barnes)、およびマイケル バークレイ(Michael Barclay)による「セキュア・ドライバを備えた周辺機器(PERIPHERAL DEVICE WITH SECURE DRIVER)」に記載されている。
【0039】
ソフトウエア・モデム50が着信データを受信する場合、モデム・ドライバ240は、キャリアレス波形を復調して、暗号化データを再構成し、これをPHYハードウェア220が受け取る。暗号化データを再構成するための処理は、当業者に公知となっており、GSM標準に規定されている。簡潔を期すと共に説明を簡単にするために、この再構成処理はここに記載しない。
【0040】
モデム・ドライバ240は、暗号化データを再構築すると、GSM標準に規定されている標準の解読方法を用いて暗号化データを解読し、解読済みデータを生成する。モデム・ドライバ240は、解読済みデータを復号化して、制御コードおよび/または利用者データを抽出する。モデム・ドライバ240は、制御コードをPHYハードウェア220に送信する。これにより、PHYハードウェア220は、制御コードに格納されている、割り当て済みのタイムスロット、周波数、および電力レベルの情報に基づいて、無線装置230を設定する。
【0041】
ソフトウエア・モデム50がデータを送信する場合、モデム・ドライバ240は、符号化、インターリービング、バースト組み立て、暗号化、ベースバンド処理などのデータ処理機能をすべて実行して、キャリアレス送信波形を生成する。モデム・ドライバ240は、PHYハードウェア220および無線装置230にこの送信波形を渡し、制御コードにて事前に定義されている割り当てられたタイムスロット、周波数、および電力レベルに従ってこの波形がアップコンバートされる。
【0042】
認証エージェント90は定期的に起動されて、モデム・ドライバ240が本物であることを認証する。例えば、認証エージェント90は、認証エージェント90をSMMで実行するか、暗号プロセッサによって認証エージェント90を実行するか、メインシステムマイクロプロセッサのセキュアな拡張によって認証エージェント90を実行することにより、特権コンテキストにおいて起動される。
【0043】
図3を簡単に参照すると、SMMまたはセキュアなアーキテクチャ拡張の実装を使用して認証エージェント90を実行する、図2のプロセッサ複合体110の略式ブロック図が示される。図3においてプロセッサ複合体110は、メモリデバイス310とインタフェースするマイクロプロセッサ300を備える。マイクロプロセッサ300は、標準動作モードにおいてモデム・ドライバ240の機能を、特権動作モードにおいて認証エージェント90の機能を、実行する。
例えば、認証エージェント90は、システム管理割込み(SMI)により起動される。プロセッサ複合体110は、SMIを受けて特権モード(すなわちSMM)に移行し、認証エージェント90を実行する。認証エージェント90は、下記に詳述する方法によってモデム・ドライバ240を認証する。システムメモリ310の一部が、特権モード中に使用する共有メールボックスとして割り当てられる。モデム・ドライバ240などの標準モードで動作しているアプリケーションは、共有記憶空間に指定された受信ボックスにデータを格納し、認証エージェント90など、特権モードで実行しているアプリケーションは、共有記憶空間に指定された送信ボックスにデータを格納する。送信ボックスは、読み取り専用として標準モードのアプリケーションに割り当ててもよい。標準モードのアプリケーションと特権モードのアプリケーションとの間でデータの受け渡しを行うための共有メールボックスを備えたコンピュータ・システムの例が、米国特許出願第09/853,447号(代理人事件番号2000.038700/LHI、依頼人事件番号TT3760)、デール E グリック(Dale E. Gulick)およびジェフリー S ストロンジン(Geoffrey S. Strongin)による「セキュリティおよび管理性のための集積回路(INTEGRATED CIRCUIT FOR SECURITY AND MANAGEABILITY)」に記載されている。
【0044】
認証エージェント90の具体的な起動方法およびその起動周期は変更できる。例えば、モデム・ドライバ240が、認証エージェント90を所定の周期(Nフレーム毎など)で起動してもよい。別の実施形態においては、認証エージェント90が、モデム・ドライバ240とは独立した別のプロセスによって定期的に起動され得る。例えば、コンピュータ100を動作させるオペレーティング・システムが、SMIを定期的に開始するタイマーを備えており、これによって認証エージェント90が起動されてもよい。別の実施形態においては、認証エージェント90を定期的に起動するために、セキュア・タイマなどのセキュリティハードウェアがコンピュータ100に設けられてもよい。例えば、サウス・ブリッジ150に常駐する再起動タイマー155(図2参照)を使用して、所定の時間が経過したら定期的に認証エージェント90を起動してもよい。再起動タイマー155の具体的な動作は、上で援用した米国特許出願第09/853,447号に記載されている。
【0045】
次に図4に、暗号プロセッサの実装を使用して認証エージェント90を実行する、図2のプロセッサ複合体110の略式ブロック図を示す。図4の実施形態においては、プロセッサ複合体110は、マイクロプロセッサ300およびメモリ310のほか、暗号プロセッサ320も備える。マイクロプロセッサ300は、標準動作モードにおいてモデム・ドライバ240の機能を実行し、暗号プロセッサ320は、マイクロプロセッサ300とは独立した特権動作モードにおいて認証エージェント90の機能を実行する。暗号プロセッサは、独自のメモリ資源を有していてもよく、またメモリ310の保護領域または非上書き領域(non-overlapping portion)を使用してもよい。
ここで、認証エージェント90の動作を詳細に記載する。認証エージェント90は、定期的にモデム・ドライバ240を認証して、破損または改竄を検出する。モデム・ドライバ240の認証には、当業界で公知となっている種々のセキュリティ技術を用いることができる。この例では、公開鍵および秘密鍵とハッシュとを使用してデジタル署名を検証する。公開鍵暗号化方式においては、各ユーザーが、公開鍵と秘密鍵との2つの相補的な鍵を所有する。各鍵は、もう一方の鍵が暗号化したコードを復号化することができる。公開鍵を知っていても、この公開鍵から対応する秘密鍵を導出することはできない。公開鍵は、公開して通信ネットワークを介して広く配布することができる。本用途の場面(context)においては、製造業者または供給業者(すなわちサプライヤ)によって、ソフトウエア・ドライバ240用の公開鍵が提供される。公開鍵は、システムBIOS170またはACRカード215に記憶されるなどして、コンピュータ100に記憶される。
【0046】
モデム・ドライバ250は、秘密鍵を使用してサプライヤによってデジタル署名することで、メッセージの「ハッシュ」が暗号化される。ダイジェストとは、暗号的に強力な一方向ハッシュ関数である。これは、モデム・ドライバ240の要約(compactly represents)であり、その変更点の検出に使用できるという点で「チェックサム」または巡回冗長検査(CRC)誤り訂正コードに若干似ている。しかし、ダイジェストは、CRCとは異なり、攻撃者が、同一のダイジェストを生成する代替のプログラムイメージを作り出すのは、ほぼ不可能ではないにせよ計算上不可能である。ダイジェストは、秘密鍵によって暗号化され、モデム・ドライバ240のデジタル署名が作成される。セキュア・ハッシュ・アルゴリズム(SHA)やメッセージ・ダイジェスト5(MD5)などの種々のダイジェスト標準が提唱されている。
【0047】
認証エージェント90は、メモリに常駐しているモデム・ドライバ240のハッシュを生成すると共に、モデム・ドライバ240に関連付けられているデジタル署名中に含まれるダイジェストを、公開鍵を使用して再生成する。モデム・ドライバ240のイメージ全体がハッシュに含められていてもよいし、イメージの特定の部分が選択されてもよい。認証に使用するデジタル署名は、ドライバのイメージ全体またはイメージの選択された部分に対応している必要がある。モデム・ドライバ240が変更されている場合は、認証エージェントが計算して求めたハッシュも相応して変更される。この変更されたハッシュは、公開鍵に基づいてデジタル署名から再生成されたダイジェストと一致しなくなる。認証エージェント90がモデム・ドライバ240の変更を検出した場合、種々の保護動作がとられる。例えば、認証エージェント90は、モデム・ドライバ240を使用不能にするか、あるいは復旧不可能なエラー状態を開始してコンピュータ100を完全に使用不能にすることによって、ソフトウエア・モデム50の動作を禁止する。
【0048】
認証エージェント90は、モデム・ドライバ240を認証することによって、モデム50を不正に制御しようとする試みを比較的迅速に検出し、これを阻止することができる。これによって、通信ネットワークの大規模な中断が発生する可能性を低減できる。ソフトウェアによってモデムを実装することの柔軟性および融通性を犠牲にすることなく、ソフトウエア・モデム50のセキュリティが向上する。
【0049】
上記に記載した特定の実施形態は例に過ぎず、本発明は、本開示の教示から利益を得る当業者にとって自明の、同等の別法によって変更および実施されてもよい。さらに、ここに記載した構成または設計の詳細が、添付の特許請求の範囲以外によって制限を受けることはない。このため、上記に記載した特定の実施形態を変形または変更することが可能であり、この種の変形例の全てが本発明の範囲ならびに趣旨に含まれることが意図されることが明らかである。したがって、ここに保護を請求する対象は、添付の特許請求の範囲に記載したとおりである。
【図面の簡単な説明】
【0050】
【図1】本発明の例示的な一実施形態による認証エージェントを備えた利用者局を含む通信システムの略式ブロック図である。
【図2】図1の通信システムにおいて利用者局を具体化する例示的なコンピュータの略式ブロック図である。
【図3】SMMまたはセキュアなアーキテクチャ拡張の実装を使用して認証エージェントを実行している、図2のプロセッサ複合体の略式ブロック図である。
【図4】暗号プロセッサの実装を使用して認証エージェントを実行している、図2のプロセッサ複合体の略式ブロック図である。
Claims (10)
- 周辺機器(215)と、
標準動作モードにおいて前記周辺機器(215)との間の、特権動作モードにおいて認証エージェント(90)との間の、インタフェースを行うためのドライバを実行する処理ユニット(110)と、を有しており、
前記認証エージェント(90)は、前記ドライバ(240)を認証するためのプログラム命令を含んでいる、
コンピュータ・システム(100)。 - 前記周辺機器(215)は、割り当てられた伝送パラメータに従い、通信チャネル(40)を介してデータ通信を行うための物理層ハードウエア・ユニット(220)をさらに備え、
この物理層ハードウエア・ユニット(220)は、前記通信チャネル(40)を介して着信信号を受信し、この着信信号をサンプリングしてデジタル形式の受信信号を生成するように構成されており、
前記ドライバ(240)は、前記デジタル形式の受信信号から制御コードを抽出して、この制御コードに基づいて前記物理層ハードウエア・ユニット(220)に割り当てられた伝送パラメータを設定するためのプログラム命令を含み、
前記認証エージェント(90)は前記ドライバ(240)を認証するためのプログラム命令を含んでいる、
請求項1に記載のコンピュータ・システム。 - 前記認証エージェント(90)は、前記ドライバ(240)の少なくとも一部のハッシュを生成し、前記ドライバ(240)に関連付けられたダイジェストを解読して、前記ドライバ(240)を認証するために前記ハッシュと前記ダイジェストとを比較するためのプログラム命令を含む、
請求項1に記載のシステム(10)。 - 前記認証エージェント(90)は、前記ドライバ(240)および前記処理ユニット(110)のいずれか一方によって定期的に起動される、
請求項1に記載のシステム(10)。 - 前記認証エージェント(90)は、モデム・ドライバ(240)の少なくとも一部のハッシュを生成し、前記モデム・ドライバ(240)に関連付けられたダイジェストを公開鍵を使用して解読し、前記ドライバ(240)を認証するために前記ハッシュと前記ダイジェストとを比較するためのプログラム命令を含む、
請求項1に記載のシステム(10)。 - 前記認証エージェント(90)は、ドライバ(240)の認証の失敗に応じて、前記ドライバ(240)および前記処理ユニット(110)の少なくとも一方の、これ以上の動作を禁止する、ためのプログラム命令を含む、
請求項2に記載のシステム(10)。 - 処理ユニット(110)の標準処理モードにおいてドライバ(240)を実行するステップと、
前記処理ユニット(110)を特権処理モードに移行させるステップと、
前記特権処理モードにおいて前記ドライバ(240)を認証するステップと、を含む、
コンピュータ・システム(100)においてセキュリティ侵害を検出するための方法。 - 前記ドライバ(240)を認証するステップは、
前記ドライバ(240)の少なくとも一部のハッシュを生成するステップと、
前記ドライバ(240)に関連付けられたダイジェストを解読するステップと、
前記ドライバ(240)を認証するために前記ハッシュと前記ダイジェストとを比較するステップと、を含む、
請求項7に記載の方法。 - 所定の期間の後に、前記特権処理モードにおいて前記ドライバ(240)を認証するために割込み信号を生成させるステップをさらに含む、
請求項7に記載の方法。 - ドライバ(240)の認証の失敗に応じて、前記ドライバ(240)および前記処理ユニット(110)の少なくとも一方のこれ以上の動作を禁止するステップをさらに含む、
請求項7に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/901,212 US7206933B2 (en) | 2001-07-09 | 2001-07-09 | Software modem with privileged mode driver authentication |
PCT/US2002/018853 WO2003007632A2 (en) | 2001-07-09 | 2002-06-12 | Software modem with privileged mode driver authentication |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004535641A true JP2004535641A (ja) | 2004-11-25 |
Family
ID=25413755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003513264A Pending JP2004535641A (ja) | 2001-07-09 | 2002-06-12 | 特権モードのドライバ認証を備えたソフトウエア・モデム |
Country Status (8)
Country | Link |
---|---|
US (1) | US7206933B2 (ja) |
EP (1) | EP1412834B1 (ja) |
JP (1) | JP2004535641A (ja) |
KR (1) | KR100886233B1 (ja) |
CN (1) | CN100495284C (ja) |
AU (1) | AU2002345687A1 (ja) |
TW (1) | TWI222303B (ja) |
WO (1) | WO2003007632A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056429A (ja) * | 2003-08-07 | 2005-03-03 | Microsoft Corp | 信頼された環境から信頼されていない環境への信頼性の投影 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624434B2 (en) * | 2002-03-01 | 2009-11-24 | 3Com Corporation | System for providing firewall capabilities to a communication device |
EP1502372A4 (en) * | 2002-05-06 | 2010-09-08 | Interdigital Tech Corp | SYNCHRONIZATION TO EXTEND THE LIFE OF ACCUMULATORS |
US7263720B2 (en) * | 2002-12-16 | 2007-08-28 | Intel Corporation | Method and mechanism for validating legitimate software calls into secure software |
US7836219B1 (en) * | 2004-02-10 | 2010-11-16 | Pmc-Sierra Us, Inc. | System and method for authentication of embedded RAID on a host RAID card |
DE102004007994B4 (de) * | 2004-02-18 | 2007-07-12 | Infineon Technologies Ag | Verfahren zum Zuweisen von Zugriffsrechten an ein Peripheriegerät |
KR100821276B1 (ko) * | 2006-12-07 | 2008-04-11 | 한국전자통신연구원 | 이동 통신 단말의 모뎀 장치 |
US7664996B2 (en) * | 2007-01-19 | 2010-02-16 | Kyocera Corporation | Diagnostic operations associated with wireless modem |
US8984296B1 (en) * | 2009-03-29 | 2015-03-17 | Cypress Semiconductor Corporation | Device driver self authentication method and system |
CN108270791B (zh) * | 2018-01-30 | 2020-07-07 | 飞天诚信科技股份有限公司 | 一种安全运行可执行文件的方法及系统 |
US11436315B2 (en) * | 2019-08-15 | 2022-09-06 | Nuvoton Technology Corporation | Forced self authentication |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5390301A (en) * | 1992-08-11 | 1995-02-14 | Acer Incorporated | Method and apparatus for communicating device-specific information between a device driver and an operating system in a computer system |
US5343527A (en) * | 1993-10-27 | 1994-08-30 | International Business Machines Corporation | Hybrid encryption method and system for protecting reusable software components |
DK0882339T3 (da) * | 1995-06-29 | 2011-04-18 | Igt Reno Nev | Elektronisk casino-spillesystem med forbedrede spillemuligheder, autentificering og sikkerhed |
US5794164A (en) * | 1995-11-29 | 1998-08-11 | Microsoft Corporation | Vehicle computer system |
US5835594A (en) * | 1996-02-09 | 1998-11-10 | Intel Corporation | Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage |
US5901311A (en) * | 1996-12-18 | 1999-05-04 | Intel Corporation | Access key protection for computer system data |
US5859911A (en) * | 1997-04-16 | 1999-01-12 | Compaq Computer Corp. | Method for the secure remote flashing of the BIOS of a computer |
US6119228A (en) | 1997-08-22 | 2000-09-12 | Compaq Computer Corporation | Method for securely communicating remote control commands in a computer network |
US6367018B1 (en) * | 1998-02-05 | 2002-04-02 | 3Com Corporation | Method for detecting dedicated link between an end station and a network device |
US6223284B1 (en) * | 1998-04-30 | 2001-04-24 | Compaq Computer Corporation | Method and apparatus for remote ROM flashing and security management for a computer system |
US6266754B1 (en) * | 1998-05-29 | 2001-07-24 | Texas Instruments Incorporated | Secure computing device including operating system stored in non-relocatable page of memory |
JP4535619B2 (ja) | 1998-10-12 | 2010-09-01 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Tdma/tddシステム用のリンクと無線セルの適用 |
AU1606701A (en) | 1999-11-12 | 2001-06-06 | Mimeo.Com, Inc. | System, method and recordable medium for printing services over a network and graphical user interface |
US6757824B1 (en) | 1999-12-10 | 2004-06-29 | Microsoft Corporation | Client-side boot domains and boot rules |
US7073173B1 (en) * | 2000-12-04 | 2006-07-04 | Microsoft Corporation | Code and thread differential addressing via multiplex page maps |
US6973566B2 (en) * | 2001-07-09 | 2005-12-06 | Advanced Micro Devices, Inc. | Software modem with privileged mode oversight of control parameters |
WO2004070571A2 (en) * | 2003-02-03 | 2004-08-19 | Bitfone Corporation | Update system for facilitating firmware/software update in a mobile handset |
-
2001
- 2001-07-09 US US09/901,212 patent/US7206933B2/en not_active Expired - Lifetime
-
2002
- 2002-06-12 AU AU2002345687A patent/AU2002345687A1/en not_active Abandoned
- 2002-06-12 KR KR1020047000194A patent/KR100886233B1/ko active IP Right Grant
- 2002-06-12 CN CNB028136926A patent/CN100495284C/zh not_active Expired - Lifetime
- 2002-06-12 EP EP02744332.4A patent/EP1412834B1/en not_active Expired - Lifetime
- 2002-06-12 JP JP2003513264A patent/JP2004535641A/ja active Pending
- 2002-06-12 WO PCT/US2002/018853 patent/WO2003007632A2/en active Application Filing
- 2002-07-03 TW TW091114728A patent/TWI222303B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056429A (ja) * | 2003-08-07 | 2005-03-03 | Microsoft Corp | 信頼された環境から信頼されていない環境への信頼性の投影 |
JP4726449B2 (ja) * | 2003-08-07 | 2011-07-20 | マイクロソフト コーポレーション | 信頼された環境から信頼されていない環境への信頼性の投影 |
Also Published As
Publication number | Publication date |
---|---|
US7206933B2 (en) | 2007-04-17 |
US20030009677A1 (en) | 2003-01-09 |
WO2003007632A2 (en) | 2003-01-23 |
TWI222303B (en) | 2004-10-11 |
CN1524207A (zh) | 2004-08-25 |
KR100886233B1 (ko) | 2009-03-02 |
AU2002345687A1 (en) | 2003-01-29 |
EP1412834B1 (en) | 2017-08-16 |
WO2003007632A3 (en) | 2004-02-19 |
EP1412834A2 (en) | 2004-04-28 |
CN100495284C (zh) | 2009-06-03 |
KR20040017279A (ko) | 2004-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3976730B2 (ja) | 特権モデムドライバを有するコンピュータシステム | |
JP4098234B2 (ja) | 隠し認証コマンドを備えたソフトウェア・モデム | |
JP4255828B2 (ja) | 制御パラメータの特権モード監視 | |
JP2004535641A (ja) | 特権モードのドライバ認証を備えたソフトウエア・モデム | |
JP4184957B2 (ja) | 暗号化されたデータおよび暗号化されていない制御コードを用いるモデム | |
US6985519B1 (en) | Software modem for communicating data using separate channels for data and control codes | |
JP4255827B2 (ja) | 制御コードの解読を行う特権モードを備えた、ソフトウェアモデム | |
US20030009676A1 (en) | Peripheral device with secure driver |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090217 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090707 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091106 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20091116 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20091225 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100421 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20100902 |