(57)【要約】通信システム（１０）は、物理層ハードウェアユニット（２２０）と演算処理ユニット（１１０）を含む。  物理層ハードウェアユニット（２２０）は、指定された送信パラメータに従って通信チャネル（４０）を介してデータを通信するように構成される。  物理層ハードウェアユニット（２２０）は、通信チャネル（４０）を介して入力信号を受信し、デジタル受信信号を生成するために入力信号をサンプリングするように構成される。演算処理ユニット（１１０）は、標準動作モードにおける標準モード・ドライバ（２４０）、および特権動作モード中の特権モード・ドライバ（２５０）を実行するように構成される。  標準モード・ドライバ（２４０）は、デジタル受信信号から暗号化データ（２６０）を抽出し、この暗号化データ（２６０）を特権モードドライバ（２５０）に渡すように構成されたプログラム命令を含んでいる。特権モードドライバ（２５０）は、暗号化データ（２６０）を解読し、制御コード（２８０）を含む解読データ（２７０）を生成し、この制御コード（２８０）を物理層ハードウェア・ユニット（２２０）に送信するように構成されたプログラム命令を含んでいる。物理層ハードウェア・ユニット（２２０）は、制御コード（２８０）に基づいて、その割り当てられた送信パラメータを設定するように構成されている。  トランシーバ（５０）を設定する方法は、演算処理ユニット（１１０）の標準処理モードにおいて、通信チャネル（４０）を介して暗号化データ（２６０）を受信するステップと、演算処理ユニット（１１０）を特権処理モードに移行させるステップと、特権処理モードにおいて、暗号化データ（２６０）を解読するステップと、特権処理モードにおいて、解読データ（２７０）から制御コード（２８０）を抽出するステップと、制御コード（２８０）によって定義された送信割り当てに基づいた通信チャネル（４０）を介してアップストリーム信号を送信するステップと、を含む。
2005520365.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トラフィックが妨害される可能性もある。
また、無線ネットワーク・デバイスのようなソフトウェアで実装される他の無線通信デバイスが、無線ネットワークでのトラフィックを混乱させるために悪用されることもある。
【００１８】
本発明は、上記の問題のうちの一つ以上を克服するか、少なくともその影響を軽減させるためのものである。
【発明の開示】
【００１９】
本発明の一つの態様は、物理層ハードウェア・ユニットおよび演算処理ユニットを含む通信システムの中で見られる。
物理層ハードウェア・ユニットは、割り当てられた送信パラメータに従って通信チャネルを介してデータを通信するように構成される。
物理層ハードウェア・ユニットは、通信チャネルを介して入力信号を受信し、かつ入力信号をサンプリングしてデジタル受信信号を生成するように構成される。
演算処理ユニットは、標準動作モードにおける標準モード・ドライバ、および特権動作モードにおける特権モード・ドライバを実行するように構成される。標準モード・ドライバは、デジタル受信信号から暗号化データを抽出すると共に、暗号化データを特権モードドライバに渡すように構成されたプログラム命令を含む。
特権モードドライバは、暗号化データを解読して制御コードを含む解読データを生成すると共に、その制御コードを物理層ハードウェア・ユニットに送信するように構成されたプログラム命令を含む。
物理層ハードウェアは、その制御コードに基づき、その割り当てられた送信パラメータを設定するように構成される。
【００２０】
本発明の別の態様は、トランシーバを設定する方法中で見られる。
この方法は、演算処理ユニットの標準処理モードにおいて、通信チャネルを介して暗号化データを受信するステップと、演算処理ユニットを、特権処理モードに移行させるステップと、特権処理モードにおいて、暗号化データを解読するステップと、特権処理モードにおいて、解読データから制御コードを抽出するステップと、制御コードによって定義された送信割り当てに基づいた通信チャネルを介してアップストリーム信号を送信するステップとを含む。
【００２１】
本発明は、添付の図面と併せて詳細な説明を参照することによって理解することができる。図面中、類似する参照符号は、類似する要素を示す。
本発明は、様々な変形および代替形態をとることが可能であるが、この中の特定の実施例を図面に記載した例で示し、詳細に説明する。  
しかしながら、詳細な説明は、本発明を開示された特定の形式に制限するものではない。それどころか、添付の請求項によって定義されるような本発明の趣旨およびその範囲内にある全ての修正例、均等物および代替物に及ぶ。
【本発明の実施形態】
【００２２】
以下、本発明の例示的な実施形態について記載する。
明確化のために、実製品のすべての特徴点が、この明細書に記述されるとは限らない。
このような実製品の開発では、開発の具体的な目的を達成するために、実施の度に変化する、システム上の制約およびビジネス上の制約に応じて、実施に特有の多数の決定を下さなければならない。
さらに、そのような開発努力は、複雑で時間を消費する可能性があるが、それにも拘わらず、この開示から利益を受ける技術分野における当業者にとってはそれが定例のことである。
【００２３】
図１は、通信システム１０のブロック図を示す。通信システム１０は、通信チャネル４０を介してセントラルステーション３０と通信するユーザステーション２０を含む。
図示する実施例においては、ユーザステーション２０は、ＧＳＭのような、無線通信プロトコルに従って通信するためにソフトウェアモデム５０を使用する、モバイルコンピューティングデバイスである。
セントラルステーション３０は、複数の加入者にサービスを提供することができる共有基地局とすることができる。
本発明は、無線環境において実装され得るものとして記載されるが、本出願は、これに限られない。
ここでの教示は、通信プロトコル（例えば、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）に記載されている。
【００３８】
特権モードドライバ２５０は、解読データ２７０を生成するため、ＧＳＭ規格によって定義された業界基準解読技術を使用して、暗号化データ２６０を解読する。
特権モードドライバ２５０は、解読データ２７０から制御コード２８０および（または）ユーザデータ２９０を抽出する。
特権モードドライバ２５０がその動作を完了し、プロセッサ複合体１１０が特権モードを終了する場合、ユーザデータ２９０は、標準モード・ドライバ２４０に戻される（すなわち、ポインタまたは共有メールボックスによって）。
【００３９】
特権モードドライバ２５０は、解読データ２７０から制御コード２８０を抽出し、物理層ハードウェア２２０に制御コード２８０を直接送る。
今度は物理層ハードウェア２２０が、制御コード２８０に含まれている割り当てタイムスロット、周波数および電力レベルの情報に基づいて、無線装置２３０を設定する。
その後、特権モードドライバ２５０は処理を終了し、プロセッサ複合体１１０は標準モード動作に移行する。
特権モードドライバ２５０は、コンピュータ１００で実行される他の処理から認識されないので、偶発的に、または故意に破壊されにくい。
特権モードドライバ２５０のみが、物理層ハードウェア２２０および無線装置２３０の構成を制御する。
標準モード・ドライバ２４０に対してどのような改ざんがされても、ソフトウェア・モデム５０を、その割り当てタイムスロットおよび周波数域外で放送するように無線装置２３０を悪用することはできない。
ウイルスは、感染した装置の動作に影響し得るが、感染した装置を、通信システム１０の他のユーザに干渉させることはできない。
このように、通信システム１０を中断または使用不可能にする可能性を有するクラスブレークの欠点が回避される。
【００４０】
ソフトウェアモデム５０によって送信されているデータについては、キャリアレスの送信波形を生成するため、標準モード・ドライバ２４０が、エンコード、インターリービング、バースト生成（burst assembly）、暗号化、およびベースバンド処理を含む、データ処理機能をすべて扱う。
標準モード・ドライバ２４０は、特権モードドライバ２５０が事前に受信データから抽出した割り当てタイムスロット、周波数および電力レベルに従ってアップコンバートするため、送信波形を、物理層ハードウェア２２０および無線装置２３０に渡す。
【００４１】
図４は、本発明の他の実施例における、標準モード・ドライバ２４０と、特権モードドライバ２５０との間の相互作用を示す、単純化された機能ブロック図である。
図４の具体例において、特権モードドライバ２５０は、直接物理層ハードウェア２２０および無線装置２３０の構成を制御しないが、標準モード・ドライバ２４０によって物理層ハードウェア２２０に制御コードが渡される際に、制御コードが改ざんされないように保護する。
【００４２】
暗号化データ２６０を解読し、解読データ２７０から制御コード２８０およびユーザデータ２９０を抽出し、標準モード・ドライバ２４０にユーザデータ２９０を戻す最初のプロセスは、上記の図３の具体例と同様である。
送信波形を生成するための標準モード・ドライバ２４０の機能もまた、同様である。
特権モードドライバ２５０は、物理層ハードウェア２２０に制御コード２８０を直接送るのではなく、制御コード２８０を暗号化して暗号化された制御コード３００を生成し、標準モード・ドライバ２４０に暗号化された制御コード３００を送る（すなわち、暗号化された制御コード３００が格納される位置にメモリ・ポインタを渡すことによって、または共有メールボックスに暗号化された制御コード３００を置くことによって）。
標準モード・ドライバ２４０は、物理層ハードウェア２２０に暗号化された制御コード３００を送る。物理層ハードウェア２２０は、暗号化された制御コード３００を解読し、かつ制御コード２８０を復元するように構成されたロジックを含む。
その後、復元された制御コード２８０は、制御コード２８０に含まれる、割り当てタイムスロット、周波数および電力レベル情報に基づいた無線装置２３０を設定するために使用される。
【００４３】
特権モードドライバ２５０によって、使用された特定の暗号化手法は、実装に特有のものである。
典型的な一つの技術は、ソフトウェア・モデム５０のベンダによって定義され、特権モードドライバ２５０のコードと共にシステムＢＩＯＳ１７０に格納されたキーを使用して、暗号化された制御コード３００を生成することを含む。
キーもまた、特権モードドライバ２５０によってのみアクセス可能な、ＡＣＲカード２１５の保護された記憶位置に格納され得る。
標準モード・ドライバ２４０は、暗号化された制御コード３００の内容を認識できないので、標準モード・ドライバ２４０を破壊したウイルスは、制御コード２８０を改ざんすることによって無線装置２３０の動作に影響を与えることができない。
【００４４】
図３および図４に記載された具体例のどちらにおいても、制御コード２８０を遮断、変更、そして無線装置２３０を無断使用するため、標準モード・ドライバ２４０を悪用することはできない。
特権モード設定における制御コード２８０の抽出は、ソフトウェアによってモデムを実装することによる柔軟性と融通性を犠牲にすることなく、ソフトウェア・モデム５０のセキュリティを上げることができる。
どちらのケースも、特権モードドライバ２５０は、物理層ハードウェア２２０に制御コード２８０を送信する。
図３の具体例では、特権モードドライバ２５０は、制御コード２８０を直接送信し、図４の具体例では、特権モードドライバ２５０は、制御コード２８０を暗号化し、標準モード・ドライバ２４０によって暗号化された制御コード３００を送信することによって、制御コード２８０を間接的に送信する。
【００４５】
上記に示された特定の実施例は、専ら説明のためのものであり、ここに記載された教示の利益を有する当業者には、異なるが均等な方式で修正の上、実施可能であることは明らかである。
更に、添付の請求項に記載されている他は、ここに示された構造または設計の詳細に本発明を制限するものではない。
従って、上述の特定の具体例は、代替または修正をすることができ、このような全ての変形例は、発明の要旨及び範囲内のものとして考えられる。
従って、本願で要求する保護は、添付の特許請求の範囲に記載される。
【図面の簡単な説明】
【００４６】
【図１】本発明の一例となる実施例に従った通信システムを単純化したブロック図。
【図２】図１の通信システムユーザステーションを具体化する典型的なコンピュータを単純化したブロック図。
【図３】本発明の特定の一実施例における図２のコンピュータ中の標準モード・ドライバと特権モードドライバの間の相互作用を示す、単純化された機能ブロック図。
【図４】本発明の他の特定の実施例における図２のコンピュータ中の標準モード・ドライバと特権モードドライバの間の相互作用を示す、単純化された機能ブロック図。
【図１】
2005520365.tif 000003
【図２】
2005520365.tif 000004
【図３】
2005520365.tif 000005
【図４】
2005520365.tif 000006
【国際調査報告】
2005520365.tif 000007
2005520365.tif 000008
2005520365.tif 000009