(57)【要約】通信システム（１０）は、物理層ハードウェアユニット（２２０）と演算処理ユニット（１１０）を含む。  物理層ハードウェアユニット（２２０）は、指定された送信パラメータに従って通信チャネル（４０）を介してデータを通信するように構成される。  物理層ハードウェアユニット（２２０）は、通信チャネル（４０）を介して入力信号を受信し、デジタル受信信号を生成するために入力信号をサンプリングするように構成される。  演算処理ユニット（１１０）は、標準動作モードにおける標準モード・ドライバ（２４０）、および特権動作モードにおける特権モード・ドライバ（２５０）を実行するように構成される。  標準モード・ドライバ（２４０）は、デジタル受信信号から制御コード（２８０）を抽出すると共に、この制御コード（２８０）に基づいて、物理層ハードウェアユニット（２２０）に割り当てられた送信パラメータを設定するように構成されたプログラム命令を含む。  特権モード・ドライバ（２５０）は、独立してデジタル受信信号から保護された制御コード（３１０）を抽出すると共に、物理層ハードウェア・ユニット（２２０）の動作特性を決定し、この動作特性が保護された制御コード（３１０）と一致しないことに応じ、セキュリティ侵害を示すように構成されたプログラム命令を含む。
2005520366.tif 000002
【特許請求の範囲】
【請求項１】
割り当てられた送信パラメータに従って通信チャネル（４０）を介してデータを通信するように構成されており、前記通信チャネル（４０）を介して入力信号を受信し、デジタル受信信号を生成するため、前記入力信号をサンプリングするように構成される、物理層ハードウェア・ユニット（２２０）と、
標準動作モードにおける標準モード・ドライバ（２４０）と特権動作モードにおける特権モード・ドライバ（２５０）とを実行するように構成されており、前記標準モード・ドライバ（２４０）は、前記デジタル受信信号から制御コード（２８０）を抽出し、この制御コード（２８０）に基づいて前記物理層ハードウェア・ユニット（２２０）に割り当てられた送信パラメータを設定するように構成されたプログラム命令を含んでおり、前記特権モードドライバ（２５０）は、独立して前記デジタル受信信号から保護された制御コード（３１０）を抽出し、前記物理層ハードウェア・ユニット（２２０）の動作特性を決定し、この動作特性が前記保護された制御コード（３１０）と一致しないことに応じてセキュリティ侵害を示すように構成されたプログラム命令を含んでいる、演算処理ユニット（１１０）とを含む、通信システム（１０）。
【請求項２】
前記特権モードドライバ（２５０）は、前記標準モード・ドライバ（２４０）によって生成された前記制御コード（２８０）を、前記保護された制御コード（３１０）と比較し、前記保護された制御コード（３１０）が前記制御コード（２８０）と異なっていることに応じて、セキュリティ侵害を示すように構成された、プログラム命令を含む、
請求項１記載のシステム（１０）。
【請求項３】
前記物理層ハードウェア・ユニット（２２０）は、前記割り当てられた送信パラメータに従って設定された無線装置（２３０）を含んでおり、
前記特権モードドライバ（２５０）は、前記無線装置（２３０）の作動状態を検出し、前記無線装置（２３０）の前記作動状態を前記保護された制御コード（３１０）と比較し、前記作動状態が前記保護された制御コード（３１０）と一致しないことに応じて、セキュリティ侵害を示すためのプログラム命令を含む、
請求項１記載のシステム（１０）。
【請求項４】
前記標準モードドライバ（２４０）は、前記デジタル受信信号から暗号化データ（２６０）を抽出するとともに、前記制御コード（２８０）を含む解読データ（２７０）を生成するために前記暗号化データ（２６０）を解読するように構成されたプログラム命令を含み、
前記特権モードドライバ（２５０）は、前記暗号化データ（２６０）を受信し、保護された解読データ（３００）を生成するために前記暗号化データ（２６０）を解読し、前記保護された解読データ（３００）から前記保護された制御コード（３１０）を抽出するように構成されたプログラム命令を含む、
請求項１記載のシステム（１０）。
【請求項５】
前記特権モードドライバ（２５０）は、前記セキュリティ侵害の検出に応じて、前記標準モード・ドライバ（２４０）および前記演算処理ユニット（１１０）の少なくとも一つの動作を禁止するように構成されたプログラム命令を含む、
請求項１記載のシステム（１０）。
【請求項６】
演算処理ユニット（１１０）の標準処理モードにおいて、通信チャネル（４０）を介してデジタルデータを受信するステップと、
前記標準処理モードにおいて、前記デジタル受信信号から制御コード（２８０）を抽出するステップと、
前記標準処理モードにおいて、前記制御コード（２８０）に基づいて、前記トランシーバ（５０）中の物理層ハードウェア・ユニット（２２０）の割り当てられた送信パラメータを設定するステップと、
前記演算処理ユニット（１１０）を特権処理モードに移行させるステップと、
前記特権処理モードにおいて、前記デジタル受信信号から保護された制御コード（３１０）を抽出するステップと、
前記特権処理モードにおいて、前記トランシーバ（５０）中の前記物理層ハードウェア・ユニット（２２０）の動作特性を決定するステップと、
前記特権処理モードにおいて、前記動作特性を前記保護された制御コード（３１０）と比較するステップと、
前記動作特性が、前記保護された制御コード（３１０）と一致しないことに応じて、セキュリティ侵害を示すステップと、
を含む、トランシーバ（５０）におけるセキュリティ侵害を検出する方法。
【請求項７】
前記物理層ハードウェア・ユニット（２２０）の前記動作特性を決定するステップは、前記標準処理モードにおいて、前記デジタル受信信号から抽出された前記制御コード（２８０）を決定するステップを含む、
請求項６記載の方法。
【請求項８】
前記物理層ハードウェア・ユニット（２２０）は、前記割り当てられた送信パラメータに従って設定された無線装置（２３０）を含んでおり、
前記物理層ハードウェア・ユニット（２２０）の動作特性を決定するステップは、前記無線装置（２３０）の作動状態を検出するステップを含む、
請求項６記載の方法。
【請求項９】
前記方法はさらに、
前記標準処理モードにおいて、前記デジタル受信信号から暗号化データ（２６０）を抽出するステップと、
前記暗号化データ（２６０）を解読して前記制御コード（２８０）を含む解読データ（２７０）を生成するステップと、
前記特権処理モードにおいて、前記暗号化データ（２７０）を受信するステップと、
前記特権処理モードにおいて、前記暗号化データ（２７０）を解読し、保護された解読データ（３００）を生成するステップと、
前記特権処理モードにおいて、前記解読データから前記保護された制御コード（３１０）を抽出するステップと、
を含む、請求項６記載の方法。
【請求項１０】
前記セキュリティ侵害の検出に応じて、前記演算処理ユニット（１１０）の以後の動作を禁止するステップをさらに有する、
請求項６記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は一般的にモデム通信、特に、制御パラメータの特権モード監視を備えたソフトウェアモデムに関する。
【背景技術】
【０００２】
近年、携帯電話はますます広く使用されるようになっている。携帯電話は、「移動局」または「携帯端末」と呼ばれるものの一例である。
移動局は、携帯電話以外にも、移動通信機能を備えたコンピュータ（例えば、ノート型コンピュータ）を含んだ様々な形態をとり得る。 
【０００３】
無線周波数などのエア・インターフェースを介して、セル方式の遠隔通信ネットワーク（cellular telecommunications network ）と移動局との間の遠隔通信サービスが提供されている。
通常、移動局を有する各加入者には、特有の「移動加入者識別番号」（ＩＭＳＩ）（International Mobile Subscriber Identity）が割り当てられている。
ある瞬間に、稼動中の移動局は、エア・インターフェースを介して一以上の基地局と通信中である可能性がある。
次に基地局は、無線ネットワーク制御装置（radio network controller）としても知られている基地局制御装置によって管理される。基地局制御装置およびその基地局は、基地局システムを構成している。基地局システムの基地局制御装置は、制御ノードを介して、公衆交換電話網（ＰＳＴＮ）（public switched telephone network）のような基幹の遠隔通信ネットワークに接続される。 
標準化された移動通信方式の一形態に、汎欧州デジタル移動電話方式（ＧＳＭ）（Global System for Mobile communications）がある。ＧＳＭは、様々な種類のサービス用の機能およびインタフェースを規定する規格を含む。ＧＳＭシステムでは、音声信号とデータ信号の双方を伝送することができる。
【０００４】
特定の基地局は、複数の移動局によって共有されていてもよい。 電波スペクトルは限りある資源であるので、時分割多元接続と周波数分割多元接続（ＴＤＭＡ／ＦＤＭＡ）とを併用することによって帯域幅が分割されている。
ＦＤＭＡは、最大周波数帯域幅（例えば、２５ＭＨｚ）を、２００ｋＨｚ間隔で１２４個の搬送周波数に分割することを含む。特定の基地局は、一以上の搬送周波数を割り当てられ得る。さらに、各搬送周波数は、複数のタイムスロットに分割される。
基地局と移動局との間のアクティブセッション中に、基地局は移動ユニットに、移動局から基地局に向かうアップストリーム送信用の周波数、電力レベルおよびタイムスロットを割り当てる。
基地局はまた、基地局からその移動局に向かうダウンストリーム送信用の特定の周波数およびタイムスロットを伝達する。
【０００５】
ＧＳＭに規定されている時間の基本単位はバースト周期と呼ばれており、その長さは１５／２６ミリ秒（約０．５７７ミリ秒）である。
８つのバースト周期をグループ化したものがＴＤＭＡフレーム（長さ１２０／２６ミリ秒、すなわち約４．６１５ミリ秒）であり、これは論理チャネルを定義する基本単位である。
一つの物理チャネルは、各フレーム当たり一つのバースト周期として定義される。個々のチャネルは、それらの対応するバースト周期の数と位置によって定義される。
【０００６】
各フレームが８つのバースト周期を有するＧＳＭフレームをグループ化したもの（例えば、５１フレームからなるグループ）がスーパーフレームであり、トラフィック情報（すなわち音声信号またはデータ信号）および制御情報の両方を含む。制御情報は、スーパーフレーム構造内で定義された共通チャネルを介して伝送される。
この共通チャネルは、アイドルモードの移動局および専用モードの移動局の双方によってアクセスされ得る。
共通チャネルは、アイドルモードの移動局が着呼または発呼を受けると、信号情報を交換し、専用モードに切り換えるように使用される。
既に専用モードにある移動局は、周囲の基地局への受け渡し（handover）情報および他の情報を監視する。
【０００７】
共通チャネルは、以下のものを含む。すなわち、基地局ＩＤ、周波数割り当ておよび周波数ホッピング・シーケンスを含む情報を連続的に放送するために使用される報知チャネル（ＢＣＣＨ）（Broadcast Control Channel ）と、バースト周期の境界およびタイムスロットの番号付けを定義することによって、セルのタイムスロット構造に移動局を同期させる（すなわち、ＧＳＭネットワークのすべてのセルは、一つのＦＣＣＨと一つのＳＣＨを正確に放送し、これらは定義上、ＴＤＭＡフレーム内のタイムスロット番号が０のタイムスロットに伝送される。）ために使用される周波数補正チャネル（ＦＣＣＨ）と同期チャネル（ＳＣＨ）と、ネットワークへのアクセスをリクエストするために移動局によって使用されるランダム・アクセス・チャネル（ＲＡＣＨ）と、着呼を移動局に通知するために使用される、ページング・チャネル（ＰＣＨ）と、ＲＡＣＨに関するリクエストに続いて信号を送る（すなわち、専用チャネルを取得する）ため、移動局にスタンドアロンの専用制御チャネル（ＳＤＣＣＨ）（Stand-alone Dedicated Control Channel）を割り当てるために使用されるアクセス許可チャネル（ＡＧＣＨ）（Access Grant Channel ）とを含む。
【０００８】
ＧＳＭデータは、セキュリティ上の理由により、暗号化された形式で送信される。無線メディアには誰でもアクセスできるため、認証はモバイルネットワークにおいて重要な要素だからである。認証には、移動局と基地局の双方が関与する。各移動局には、加入者識別モジュール（ＳＩＭ）カードが装着される。
各加入者にはシークレットキーが割り当てられている。シークレットキーのコピーの一つはＳＩＭカードに格納されると共に、他のコピーが、通信ネットワーク上の保護されたデータベースに格納されており、このデータベースが基地局によってアクセスされ得る。
認証イベント時に、基地局は、乱数を生成して、これを移動局に送信する。
移動局は、シークレットキーおよび暗号化アルゴリズム（例えば、Ａ３）と共に乱数を併用して、署名されたレスポンス（signed response）を生成し、これを基地局に返信する。移動局によって送信された署名されたレスポンスが、ネットワークによって算出されたレスポンスと一致する場合、加入者が認証される。
基地局は、シークレットキーを使用して、移動局に送信するデータを暗号化する。同様に移動局は、シークレットキーを使用して、基地局に送信するデータを暗号化する。
移動局によって受信された送信が解読されると、特定の移動局に割り当てられた電力レベル、周波数およびタイムスロットを含む様々な制御情報が、移動局によって決定される。
【０００９】
一般に、通信システムは、層を用いて説明される。
第１の層は、データ伝送信号を伝送メディアを通じて実際に伝送している層であり、物理層（ＰＨＹ）と呼ばれる。
物理層はデジタルデータをグループ化し、特定の伝送方式に従って、このデータを基に被変調波形を生成する。
ＧＳＭにおいては、物理層は送信波形を生成し、移動局の割り当てられた送信タイムスロットの間にこれを送信する。
同様に、物理層の受信部（receiving portion）は、割り当てられた受信タイムスロット内に、移動局宛のデータを検出する。
【００１０】
第２の層は、プロトコル層と呼ばれ、物理層によって受信されたデジタルデータを処理して、このデータ中に含まれている情報を検出する。
例えば、ＧＳＭシステムでは、データの解読はプロトコル層の機能である。
物理層の動作パラメータの変更は、プロトコル層によって解読され、処理された後に初めて確認される。
この特定の相互依存は、プロトコル層をハードウェアのみによって実装する場合には通常問題にならないが、プロトコル層の全体または少なくとも一部をソフトウェアによって実装する場合に、問題を引き起こす可能性がある。
【００１１】
あるコンピュータ・システム、特に、持ち運び可能なノート型コンピュータは、無線モデムを備えていることがある。
モデム技術における一つの動向には、ソフトウェア・ルーチンを使用して、従来のハードウェアモデムのリアルタイム機能の一部を実装するソフトウェアモデムを使用することを含む。
ソフトウェアモデムのハードウェアは、ハードウェアモデムより単純であるので、一般的にソフトウェアモデムの方がよりフレキシブルで、安価である。
例えば、プロトコル層での解読および処理の一部または全てを、ソフトウェアによって実装することが可能である。
【００１２】
ＰＣシステムのようなソフトウェア・システムは、オペレーティング・システム環境において、インタフェース制御ソフトウェアをソフトウェアドライバとして実行する。
これらのドライバは、ハードウェア・デバイスとの通信を担っており、オペレーティング・システムの特権レベルで作動する。
他のソフトウェア・アプリケーションが、このドライバに作用することは禁止されている。
しかしながら、ドライバは他のドライバから保護されているわけではないので、ドライバの動作が損なわれる等のように、ドライバの動作に悪影響を与え得る様々な問題が生じ得る。
これらの影響は偶発的に発生する可能性もあれば、意図的なハッキングによって発生する可能性もある。
破損した（または無断使用された（co-opted）)ドライバは、電話回線または無線チャネルを使用する、外部周辺装置を動作させる、または重要なデータを削除するというような、コンピュータの外部でさらなる問題を引き起こす可能性がある。
【００１３】
移動局の送信機の動作を制御する物理層の動作パラメータは、プロトコル層によってソフトウェアを使用して制御されるので、コンピュータプログラムまたはコンピュータウイルスが移動局を制御して、偶発的または意図的に、割り当てタイムスロット外で送信を行う可能性がある。
セル電話ネットワークのような無線通信ネットワークでは、共有インフラストラクチュアが使用される。
移動局は、「インフラストラクチュアにおける交通規則（rules on the road）」を守る必要があり、守らなければ、ネットワーク上の干渉を引き起こし得る。
【００１４】
移動局の特定の機能をソフトウェアで制御する場合、プログラマは、ＧＳＭ制御フレームのデコード方法、ならびに送信機モジュールのトリガ方法を決定することができる。
その後、ウイルスが作成されてネットワークを介して蔓延し、ソフトウェアベースの移動局にウイルスが進入する可能性がある。
この場合、特定の日時において、ウイルスがその移動局を直接制御して、連続的または断続的にランダムな周波数において最大出力で送信を行い、基地局と他の移動ユニットを溢れさせる可能性がある。
検出を回避するために、無作為な時間に作動可能または作動不能としたり、無線通信事業者が利用可能な帯域幅の全部または一部を奪ったり、さらにはネットワークの完全なシャットダウンを引き起こしたりするようなウイルスを設計することは可能である。
セル一つ当たりにつき、このような攻撃が数台の装置（最も少なくて一台）によって行われるだけで、一つのセルが完全に使用不能に陥る可能性がある。
【００１５】
共有インフラストラクチュアで動作する移動局に関連するセキュリティ面の問題は、重大度に応じて、改ざん防止（タンパープルーフ）（tamper-proof）、非改ざん防止（非タンパープルーフ）（non-tamperproof）、クラスブレーク（class-break）の３つに分離することができる。
第一に、携帯電話のようなハードウェア／ファームウェアによる実装は、各機器を個々に入手して、変更しなければならないので、最も改ざんし難い（すなわち、タンパープルーフである）。
これに対して、ソフトウェアによる解決策は、ハッカーがソフトウェアのデバッガ環境のみに専念することができるので、最も改ざんし易い（すなわち、非タンパープルーフである）。
最後に、改ざんを受ける機能がすべてのシステムで類似するとともに、改ざんを同種のシステムに広く配布することが可能なシステムは、「クラスブレーク」を受けやすい。
【００１６】
ソフトウェアの無線モデムは、クラスブレークを受けやすいだけでなく、ＩＰ（インターネット・プロトコル）と同じ層または他のポータブルコード・アクセス機構からそのコードがアクセスされる可能性がある機器の中にある。
ソフトウェア無線通信モデムの多くが、ネットワークまたはインターネットにつながれたコンピュータに組み込まれ得る。このような構成のために、ソフトウェアがより一層改ざんされ、制御され易くなる。
【００１７】
ソフトウェアを使用してその他の通信プロトコルを実装する通信装置も、上述した問題のうちのいくつかの影響を受ける可能性があるが、その影響の程度およびレベルにおいて異なる。
例えば、音声帯域モデム（V.90）、非対称ＤＳＬ（asymmetric digital subscriber line）モデム、ホーム電話線ネットワーク（HomePNA）等のような銅製の加入者線（copper subscriber line）を使用する通信装置のソフトウェア・ドライバが攻撃を受け、その結果、加入者線が使用不能、または不正使用されるおそれがある。
例えば、ウイルスに感染したソフトウェアモデムのグループが、サービス妨害攻撃に使用され、所定の電話番号に常時電話をかけ続け、相手を途方に暮れさせ得る。
また、ソフトウェアモデムが使用され、加入者線での発呼または着呼が阻止されるか、またはHomePNAトラフィックが妨害される可能性もある。
また、無線ネットワーク・デバイスのようなソフトウェアで実装される他の無線通信デバイスが、無線ネットワークでのトラフィックを混乱させるために悪用されることもある。
【００１８】
本発明は、上記の問題のうちの一つ以上を克服するか、少なくともその影響を軽減させるためのものである。
【発明の開示】
【００１９】
本発明の一つの態様は、物理層ハードウェア・ユニットおよび演算処理ユニットを含む通信システムの中で見られる。
物理層ハードウェア・ユニットは、割り当てられた送信パラメータに従って通信チャネルを介してデータを通信するように構成される。
物理層ハードウェア・ユニットは、通信チャネルを介して入力信号を受信し、かつデジタル受信信号を生成するために入力信号をサンプリングするように構成される。
演算処理ユニットは、標準動作モードにおける標準モード・ドライバ、および特権動作モードにおける特権モード・ドライバを実行するように構成される。
標準モード・ドライバは、デジタル受信信号から制御コードを抽出すると共に、この制御コードに基づいて、物理層ハードウェアユニットに割り当てられた送信パラメータを設定するように構成されたプログラム命令を含む。
特権モード・ドライバは、独立してデジタル受信信号から保護された制御コード（secure control codes）を抽出すると共に、物理層ハードウェア・ユニットの動作特性を決定し、その動作特性が保護された制御コードと一致しないことに応じ、セキュリティ侵害を示すように構成されたプログラム命令を含む。
【００２０】
本発明の別の態様は、トランシーバのセキュリティ侵害を検出する方法の中で見られる。
この方法は、演算処理ユニットの標準処理モードにおいて、通信チャネルを介してデジタルデータを受信するステップと、標準動作モードにおいて、デジタル受信信号から制御コードを抽出するステップと、制御コードに基づいて、標準処理モードにおいて、トランシーバ内の物理層ハードウェア・ユニットの割り当てられた送信パラメータを設定するステップと、演算処理ユニットを、動作の特権処理モードに移行するステップと、特権処理モードにおいて、デジタル受信信号から保護された制御コードを抽出するステップと、特権処理モードにおいて、トランシーバ内の物理層ハードウェア・ユニットの動作特性を決定するステップと、特権処理モードにおいて、動作特性と保護された制御コードとを比較するステップと、動作特性が保護された制御コードと一致しないことに応じてセキュリティ侵害を示すステップとを含む。
【００２１】
本発明は、添付の図面と併せて詳細な説明を参照することによって理解することができる。図面中、類似する参照符号は、類似する要素を示す。
本発明は、様々な変形および代替形態をとることが可能であるが、この中の特定の実施例を図面に記載した例で示し、詳細に説明する。  
しかしながら、詳細な説明は、本発明を開示された特定の形式に制限するものではない。それどころか、添付の請求項によって定義されるような本発明の趣旨およびその範囲内にある全ての修正例、均等物および代替物に及ぶ。
【本発明の実施形態】
【００２２】
以下、本発明の例示的な実施形態について記載する。
明確化のために、実製品のすべての特徴点が、この明細書に記述されるとは限らない。
このような実製品の開発では、開発の具体的な目的を達成するために、実施の度に変化する、システム上の制約およびビジネス上の制約に応じて、実施に特有の多数の決定を下さなければならない。
さらに、そのような開発努力は、複雑で時間を消費する可能性があるが、それにも拘わらず、この開示から利益を受ける技術分野における当業者にとってはそれが定例のことである。
【００２３】
図１は、通信システム１０のブロック図を示す。通信システム１０は、通信チャネル４０を介してセントラルステーション３０と通信するユーザステーション２０を含む。
図示する実施例においては、ユーザステーション２０は、ＧＳＭのような、無線通信プロトコルに従って通信するためにソフトウェアモデム５０を使用する、モバイルコンピューティングデバイスである。
セントラルステーション３０は、複数の加入者にサービスを提供することができる共有基地局とすることができる。
本発明は、無線環境において実装され得るものとして記載されるが、本出願は、これに限られない。
ここでの教示は、通信プロトコル（例えば、V.90、ＡＤＳＬ、HomePNA、無線ＬＡＮ等）が実装されているソフトウェアを使用する、他の通信環境に適用することができる。
【００２４】
ユーザステーション２０は、デスクトップコンピュータ、ノート型コンピュータ、個人情報端末（ＰＤＡ）（personal data assistant ）等のような、様々なコンピューティングデバイスを含み得る。
説明のため、ユーザステーション２０は、ノート型コンピュータを使用して実装され得るものとして記載する。
ソフトウェアモデム５０は、内部リソースとして組み込まれ得る。
当業者によって認識されるように、ソフトウェアモデム５０は、ハードウェアに実装される物理層（ＰＨＹ）７０と、ソフトウェアに実装されるプロトコル層８０とを含んでいる。
説明のため、ソフトウェアモデム５０の機能は、ＧＳＭ通信プロトコル用に実装されているものとして記載するが、他のプロトコルが使用されてもよい。
【００２５】
物理層７０は、デジタル送信信号をアナログ送信波形に変換し、受信したアナログ受信波形をデジタル受信信号に変換する。
送信信号については、プロトコル層８０の出力は、約０ヘルツのキャリアを中心に変調された送信「オンエア」情報、すなわちキャリアレス（Carrier-less）信号となる。
物理層７０は、セントラルステーション３０によってユーザステーション２０に送信された、割り当てタイムスロット、周波数および電力レベルの割当てに従って、プロトコル層８０によって生成されたキャリアレス送信信号を混合（混合は、アップコンバートとも呼ばれる。）し、物理層７０が送信する実際のアナログ波形を生成する。
【００２６】
セントラルステーション３０はまた、受信データ用のタイムスロットおよび周波数の割り当てをユーザステーション２０に伝達する。
受信したアナログ受信波形は、キャリアレスの（すなわち、０ヘルツを中心に変調された）受信波形を再生成するために、割り当てタイムスロットおよび周波数パラメータに基づいて、サンプリングされ、ダウンコンバートされる。
プロトコル層８０は、物理層７０からキャリアレス受信波形を受け取って、受信データを再生成するために、ベースバンド処理、解読およびデコーディングを実行する。
【００２７】
タイムスロット、周波数および電力レベル（すなわち、送信データのためだけの）の割当ては、総称して制御コードと呼ばれる。
ソフトウェアモデム５０の実装に使用される特定のアルゴリズムは、特定の業界基準（例えば、ＧＳＭ規格）に記載されており、当業者に公知であるので、説明の明瞭化、容易化のため、これらが本発明に従って修正される場合を除き、詳述しない。
【００２８】
本発明の通信システム１０においては、セントラルステーション３０は、従来のＧＳＭ技術に従ってデータを送信する。プロトコル層８０が受信したデータは、暗号化される。
以下により詳細に記載されるように、プロトコル層８０の機能は、特権モード機能と標準モード機能とに分割される。
標準モード機能は、受信データをデコードして解読し、制御コードとユーザデータを抽出し、物理層７０に制御コードを送信することを含む。
特権モード機能は、ソフトウェアモデム５０の不正な動作（すなわち、ソフトウェアウイルスによるモデム５０の無断使用による動作）を検出するため、物理層７０の実際の動作特性を、制御コードに含まれる割当てと比較することを含む。
特権モードドライバ２５０が、物理層７０がその制御コード割当てと矛盾して操作されていると決定した場合、ソフトウェアモデム５０および（または）ユーザステーション２０のさらなる動作は、禁止される。
【００２９】
図２は、コンピュータ１００に具体化されたユーザステーション２０のブロック図を示す。コンピュータ１００は、プロセッサ複合体（processor complex）１１０を含む。
理解の明瞭化、容易化のため、プロセッサ複合体１１０を構成する要素のすべてが詳細に記述されるとは限らない。このような詳細は、当業者に公知であり、特定のコンピュータ供給業者およびマイクロプロセッサの種類によって異なり得る。
典型的には、プロセッサ複合体１１０は、マイクロプロセッサ、キャッシュ・メモリ、システムメモリ、システム・バス、グラフィックス・コントローラのほか、特定の実装に応じて他のデバイスを含む。
【００３０】
プロセッサ複合体１１０は、二つの動作モード、すなわち標準モードおよび特権モードを有する。当業者に公知となっている特権動作モードの例として、システム管理モード（ＳＭＭ）がある。ＳＭＭへの移行は、システム管理割込み（ＳＭＩ）によって開始される。
プロセッサ複合体１１０はＳＭＩに応じて、他のプロセス（例えば、アプリケーションやドライバ）が認識できないシステムメモリの保護部分に事前に（すなわち、コンピュータ１００の初期化およびＢＩＯＳコードのローディング中に）ロードされたＳＭＭコードを実行する。
また、ＳＭＭのイベント中にプロセッサ複合体１１０の機能を実行するために使用されるメモリ領域も、他のプロセスから認識できない。
本実施例においては、特権モードとしてＳＭＭを使用して実装されているものとして記載されているが、本発明はこれに制限されず、異なる種類の特権モードが使用されてもよい。
一般に特権モードは、コンピュータ１００で実行されるアプリケーションまたはドライバのような他のプロセスが認識できない動作モードとして定義される。ＳＭＭは、現在利用可能な特権モードの単なる一例である。
【００３１】
他の特権コンテキストは、メインシステムのマイクロプロセッサから独立した暗号プロセッサのような個別の処理要素（processing entity）の使用を含む。
特権モードのソフトウェアの機能は、暗号プロセッサによって実行されるので、メインシステムのマイクロプロセッサで実行される他のソフトウェアアプリケーションによって改ざんされないように保護されている。
保護されたアーキテクチャ拡張を有するメインシステム・マイクロプロセッサを使用する、さらに他の特権コンテキストが可能である。
このような実装では、暗号プロセッサはメインシステムのマイクロプロセッサに組み込まれており、保護されたコマンドで制御される。
【００３２】
プロセッサ複合体１１０は、周辺機器インタフェース（ＰＣＩ）バスのような周辺機器バス１２０につながれる。
典型的に、プロセッサ複合体１１０中のブリッジ・ユニット（すなわち、ノースブリッジ）は、周辺機器バス１２０にシステム・バスをつなぐ。サウスブリッジ１５０は、周辺機器バス１２０につながれる。
サウスブリッジ１５０は、システム基本入出力システム（システムＢＩＯＳ）メモリ１７０をホストするローピンカウント（low pin count）（ＬＰＣ）バス１６０、様々な周辺機器（例えば、図示しないキーボード、マウス、プリンタ、スキャナ）と接続できるように構成されるユニバーサル・シリアル・バス（ＵＳＢ）１８０、ハードディスク・ドライブ２００と図示しないＣＤ−ＲＯＭドライブとを接続するためのＥＩＤＥ（enhanced integrated drive electronics）バス１９０、そして統合パケット・バス（integrated packet bus ）（ＩＰＢ）２１０と、インタフェースで結ばれる。
【００３３】
ＩＰＢバス２１０は、ソフトウェアモデム５０のハードウェア部分をホストする。
説明された具体例では、ソフトウェアモデム５０は、拡張コミュニケーショ ンライザ（advanced communications riser）（ＡＣＲ）カード２１５上でホストされる。ＡＣＲカード２１５と、ＩＰＢバス２１０の仕様は、ＡＣＲ分科会（ACRSIG.ORG）から入手することができる。
ソフトウェアモデム５０は、物理層ハードウェア・ユニット２２０と無線装置２３０を含む。説明された具体例では、無線装置２３０は、ＧＳＭ信号を送受信できるように構成されている。物理層ハードウェア・ユニット２２０と無線装置２３０は共同して、物理層７０を形成する（図１参照）。
【００３４】
プロセッサ複合体１１０は、標準モード・ドライバ２４０と特権モードドライバ２５０でエンコードされたプログラム命令を実行する。
特権モードドライバ２５０は、コンピュータ１００の初期化の間に、プロセッサ複合体１１０のＳＭＭスペースにロードされる。
特権モードドライバ２５０は、システムＢＩＯＳ１７０、ＡＣＲカード２１５上の保護されたメモリ・デバイス、コンピュータ１００の保護されたメモリ・デバイスのような保護されたロケーションに格納される。
保護されたドライバを格納するための典型的な技術は、「保護されたドライバの周辺機器」と題する、Terry L. Cole, David W. Smith, Rodney Schmidt, Geoffrey S. Strongin, Brian C. Barnes, and MichaelBarclayらによる米国出願０９／９０１，１７６番（Attorney Docket No. 2000.053400/DIR, Client Docket No. TT4040）に記載されている。
プロセッサ複合体１１０およびドライバ２４０，２５０は、共同してプロトコル層８０の機能を実施する（図１参照）。
【００３５】
図３は、本発明の一実施例における標準モード・ドライバ２４０と特権モードドライバ２５０との間の相互作用を示す、機能ブロックの簡略図である。
ソフトウェアモデム５０によって受信された入力データについては、標準モード・ドライバ２４０がキャリアレス波形を復調して、物理層ハードウェア２２０によって受信された、暗号化データ２６０を復元する。
暗号化データ２６０を復元するプロセスは当業者に公知であり、業界基準ＧＳＭ規格の中で定義される。
説明の明瞭化、容易化のため、ここでは復元過程の詳細を記載しない。
【００３６】
暗号化データ２６０を復元した後、標準モード・ドライバ２４０は、ＧＳＭ規格によって定義された業界標準の解読技術を使用して、暗号化データ２６０を解読し、解読データ２７０を生成する。
標準モード・ドライバ２４０は、解読データ２７０をデコードし、制御コード２８０および（または）ユーザデータ２９０を抽出する。
標準モード・ドライバ２４０は、制御コードを物理層ハードウェア２２０に渡す。
今度は物理層ハードウェア２２０が、制御コード２８０に含まれている割り当てタイムスロット、周波数および電力レベルの情報に基づいて、無線装置２３０を設定する。
【００３７】
特権モードドライバ２５０は（例えば、ＳＭＩを使用して）、定期的に起動される。プロセッサ複合体１１０は、ＳＭＩに応じて特権モード（つまり、ＳＭＭ）に移行し、特権モードドライバ２５０を実行する。
特権モードドライバ２５０は、保護された解読データ３００および保護された制御コード３１０を独立して生成すべく、暗号化データ２６０を処理する。
暗号化データ２６０を特権モードドライバ２５０に渡すための数々の技術が存在する。
一つの実施例では、標準モード・ドライバ２４０は、暗号化データ２６０のメモリロケーションを示すポインタを渡す。
別の実施例では、システムメモリの一部が、特権モードの作業用の、共有メールボックスとして指定される。
標準モード・ドライバ２４０のような標準モードで動作するアプリケーションは、共有メモリスペースの指定インボックスにデータを置くようにすることができる。また、特権モードドライバ２５０のような特権モードで動作するアプリケーションは、共有メモリスペースの指定アウトボックスにデータを置くようにすることができる。アウトボックスは、標準モード・アプリケーション用の、読取専用のものとして指定されていてもよい。
標準モードと特権モードのアプリケーション間のデータの受け渡しを行うための共有メールボックスを有している典型的なコンピュータシステムは、「安全性および管理性のための集積回路」と題する、Dale E.Gulick and Geoffrey S.Stronginらによる米国出願０９／８５３，４４７（Attorney Docket No. 2000.038700/LHI, Client Docket No. TT3760）に記載されている。
【００３８】
特権モードドライバ２５０は、無線装置２３０の動作特性を決定すべく、物理層ハードウェア２２０にアクセスする。
標準モード・ドライバ２４０によって渡された制御コード２８０が変更されていなければ、無線装置２３０の動作特性は、保護された制御コード３１０と一致する。
無線装置２３０の動作特性が保護された制御コード３１０と一致していない場合、特権モードドライバ２５０は、数々の保護処理を講ずる。
例えば、特権モードドライバ２５０は、標準モード・ドライバ２４０の使用を禁止する（disable）ことによって、または復旧不可能なエラー状態（unrecoverable error condition）を開始してコンピュータ１００を完全に使用できなくすることによって、ソフトウェアモデム５０の動作を禁止し得る。
【００３９】
特権モードドライバ２５０を起動するための特定の技術、およびそれが起動される頻度は、変化し得る。
例えば、標準モード・ドライバ２４０は、事前に決定された周波数（例えば、フレーム毎の場合を含んで最大Ｎフレーム毎に）で、特権モードドライバ２５０を呼び出すことができる。
代わりの実施例では、特権モードドライバ２５０は、標準モード・ドライバ２４０と無関係の他の処理によって、定期的に起動されるものとすることができる。
例えば、コンピュータ１００を動作させるオペレーティング・システムが、特権モードドライバ２５０を起動するためのＳＭＩを定期的に起動するタイマを含むものとすることができる。
別の具体例では、定期的に特権モードドライバ２５０を起動するために、コンピュータ１００に、保護されたタイマを含むセキュリティ・ハードウェアが含まれているものとすることができる。
例えば、サウスブリッジ１５０に常駐する再始動タイマ１５５を使用して、事前に定義した所定の時間が経過したら、定期的に特権モードドライバ２５０を起動してもよい。
再始動タイマ１５５に固有の動作は、上で援用した米国.特許出願０９／８５３，４４７に詳述されている。
【００４０】
一旦特権モードドライバ２５０が起動されると、特権モードドライバ２５０は保護された解読データ３００から抽出した、保護された制御コード３１０を使用して、物理層ハードウェア２２０および無線装置２３０の期待される動作状態を決定する。
特権モードドライバ２５０が、それによってセキュリティ侵害を検出し得る様々な技術がある。
例えば、標準モード・ドライバ２４０が、特権モードドライバ２５０に対して更新された暗号化データ２６０を提供できない場合、侵害が起きる可能性がある。
セントラルステーション３０によって送信用の暗号化データ２６０の生成に埋め込まれていた同期信号を、そのような誤りを決定すべく、保護された解読データ３００から抽出することができる。
【００４１】
ソフトウェアモデム５０の動作特性を調査するための一つの技術は、保護された制御コード３１０を、物理層ハードウェア２２０に実際に送信された制御コード２８０と比較することを含む。
例えば、標準モード・ドライバ２４０に、共有メールボックスにその制御コード２８０を書き込むように命じてもよい。
特権モードドライバ２５０はまた、標準モード・ドライバ２４０によって送信された制御コード２８０を決定すべく、物理層ハードウェア２２０に問い合わせてもよい。
別の技術は、物理層ハードウェア２２０に問い合わせて、実際の無線装置２３０の作動状態（例えば、送信状態、サイレント状態、周波数状態、電力レベル状態等）を決定することを含む。
この作動状態が保護された制御コード３１０と一致していない場合、侵害が起こる可能性がある。
【００４２】
実際の作動状態と期待される動作状態との比較に使用される特定の技術は、特定の実装によって変化し得る。いくつかの技術を組み合わせて利用してもよい。
例えば、あるイテレーション（iteration）においては、標準モード・ドライバ２４０によって生成された制御コード２８０が評価されてもよい。
他のイテレーションにおいては、物理層２２０に問い合わせてもよい。また、さらに他のイテレーションにおいては、無線装置２３０の実際の作動状態を決定してもよい。
ある種の技術は、計算処理的な負担を軽減でき、また、ある技術の組み合わせは効率性を上げることができる。ある技術の組み合わせはまた、異なる種類の潜在的な攻撃を検出するために使用することができる。
例えば、攻撃は、標準モード・ドライバ２４０を無断使用して制御コード２８０を変更すること、標準モード・ドライバ２４０によって送信された制御コード２８０をブロックすること、他の制御コードを置換すること、標準モード・ドライバ２４０が、特権モードドライバ２５０に更新された暗号化データ２６０を渡すのを防ぐこと等を含む。
ある一つの特定の技術の代わりに、いくつかの技術を組み合わせることによって、より効果的に侵害を検出することができる。
【００４３】
ソフトウェアモデム５０によって送信されているデータについては、キャリアレス送信波形を生成するため、標準モード・ドライバ２４０が、エンコード、インターリービング、バースト生成（burst assembly）、暗号化、およびベースバンド処理を含む、データ処理機能をすべて扱う。
標準モード・ドライバ２４０は、事前に制御コード２８０によって定義された割り当てタイムスロット、周波数および電力レベルに従ってアップコンバートするため、送信波形を、物理層ハードウェア２２０および無線装置２３０に渡す。
【００４４】
ソフトウェアモデム５０の動作特性を監視することによって、モデム５０を不正に制御しようとする試みを比較的速く検出して、これを阻止することができる。これによって、通信ネットワークの大規模な中断が発生する可能性を低減することができる。
ソフトウェアによってモデムを実装することによる柔軟性と融通性を犠牲にすることなく、ソフトウェアモデム５０のセキュリティを上げることができる。
【００４５】
上記に示された特定の実施例は、専ら説明のためのものであり、ここに記載された教示の利益を有する当業者には、異なるが均等な方式で修正の上、実施可能であることは明らかである。
更に、添付の請求項に記載されている他は、ここに示された構造または設計の詳細に本発明を制限するものではない。
従って、上述の特定の具体例は、代替または修正をすることができ、このような全ての変形例は、発明の要旨及び範囲内のものとして考えられる。
従って、本願で要求する保護は、添付の特許請求の範囲に記載される。
【図面の簡単な説明】
【００４６】
【図１】本発明の一例となる実施例に従った通信システムを単純化したブロック図。
【図２】図１の通信システムにおけるユーザステーションを具体化する典型的なコンピュータを単純化したブロック図。
【図３】本発明の特定の一実施例における図２のコンピュータ中の標準モード・ドライバと特権モードドライバの間の相互作用を示す、単純化された機能ブロック図。
【図１】
2005520366.tif 000003
【図２】
2005520366.tif 000004
【図３】
2005520366.tif 000005
【国際調査報告】
2005520366.tif 000006
2005520366.tif 000007