(57)【要約】【課題】 マイクロコントローラおよびこのマイクロコントローラに結合された外部メモリを含む、電子情報のセキュリティを保障する装置を提供する。【解決手段】 マイクロコントローラは、電子情報がメモリに格納されるときにプログラムされるワンタイム・プログラマブル・セキュリティ・フラグからなる。プログラムされると、セキュリティ・フラグはメモリの再プログラミングを防ぐ。さらに、マイクロコントローラは、電子情報から電子認証情報を生成するアルゴリズムからなる。認証情報は、電子情報とともにメモリに格納される。登録のためメモリから取り出す際に、電子情報は、メモリに格納された認証情報と比較するため新たな電子認証情報を生成することによって認証される。このような認証は、システムにアクセスするためにメモリをスワップアウトすることを防ぐ。【選択図】    図２
2005124225.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレス通信システムに使用されるワイヤレス通信装置において電子情報（２０５）のセキュリティ保障する装置（２００）であって：
ワイヤレス通信システムとの通信を確立するために前記ワイヤレス通信装置によって使用される前記電子情報およびこの電子情報と関連する電子認証情報（２０７）を格納する外部メモリ（２０４）；および
前記外部メモリに結合されたマイクロコントローラ（２０２）であって、前記マイクロコントローラは、認証アルゴリズム（２３４）を格納するマスク・プログラム・メモリ（２１２）を含んで構成され、前記マイクロコントローラは、
ワイヤレス通信装置からのワイヤレス通信システムとの通信を確立するよう要求されると、外部メモリ（２０４）から電子情報（２０５）および電子認証情報（２０７）を取り出し、前記認証アルゴリズムを実行して該取り出した電子情報から新しい電子認証情報を生成し、
該新しい電子認証情報が該取り出した電子認証情報と一致する場合には無線通信システムとの通信を確立するために電子情報を送信し、
該新しい電子認証情報が該取り出した電子認証情報と一致しない場合には無線通信システムとの通信を確立するための電子情報の送信を防止する、マイクロコントローラ（２０２）；
によって構成されることを特徴とする装置。
【請求項２】
前記マイクロコントローラは、マイクロコントローラ内の通信のトランザクションを行う内部バス（２２０）をさらに含んで構成されることを特徴とする請求項１記載の装置。
【請求項３】
前記マイクロコントローラは、前記内部バス（２２０）に結合された、前記認証アルゴリズムによって用いられる暗号化キー（２３２）を格納するコンフィギュレーション・メモリ（２１１）をさらに含んで構成されることを特徴とする請求項２記載の装置。
【請求項４】
ワイヤレス通信装置において電子情報のセキュリティを保障する方法であって:
電子認証情報および電子情報を外部メモリから取り出す段階（３０６）；および
マイクロコントローラにおいて、前記電子情報および前記電子認証情報から、前記電子情報を認証する段階（５０８，５１０）；
によって構成されることを特徴とする方法。
【請求項５】
前記認証する段階は：
マイクロプロセッサが、電子情報を前記マイクロコントローラのマスク・プログラマブル・メモリに送る段階（４０２）；
マイクロプロセッサが、暗号化キーを前記マスク・プログラマブル・メモリに送る段階（２３２）；
マイクロプロセッサが、前記マスク・プログラマブル・メモリに格納された認証アルゴリズムに基づいて、前記電子情報から新たな電子認証情報を生成する段階（５０８）；および
前記新たな電子認証情報を前記電子認証情報と比較する段階（５１０）；
によって構成されることを特徴とする請求項４記載の方法。
【請求項６】
ワイヤレス通信装置において前記マイクロコントローラのワンタイム・プログラマブル・メモリからセキュリティ・フラグを取り出す段階（５０２）；
前記セキュリティ・フラグがプログラム済みである場合にのみ、電子認証情報および電子情報を取り出す前記段階に進む段階；
をさらに含んで構成されることを特徴とする請求項４記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にワイヤレス通信装置に関し、さらに詳しくは、ワイヤレス通信装置に格納される電子情報に関する。
【背景技術】
【０００２】
近年、ワイヤレス通信システムが普及する。このようなシステムでは、加入者は、携帯セルラ電話などのローカル通信装置を利用して、セルラ基地局などのリモート通信装置と通信する。通信は、ローカル装置とリモート装置との間の無線周波（ＲＦ）信号の伝送を介して行われる。
【０００３】
通信を開始する場合、ローカル装置は電子シリアル番号（ＥＳＮ：electronicserial number）などの電子情報を登録のためにリモート装置に通信する。受信すると、リモート
装置はローカル装置がＥＳＮに基づいてシステム内で通話することが許可されるかどうかを判定する。ＥＳＮは、認可されたユーザのみにシステム・アクセスを制限するために用いられるだけでなく、システム上で行った通話に対して加入者に課金するために用いられる。
【０００４】
多くのワイヤレス通信システムでは、ＥＳＮは暗号化されずにリモート装置に送信され、そのためＥＳＮは機密ではなく、不認可者によって受信されることがある。不認可者は、ローカル装置に電子情報をプログラムすることにより、あるいはローカル装置を介して不正な通話を行うことにより、不正行為を働くことがある。このような不正の結果、行ったことのない通話に対して正規加入者が課金される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来、不正行為のリスクは、集積回路などの半導体デバイス内の不揮発性メモリ・デバイスにＥＳＮを格納することによって軽減された。つまり、ＥＳＮは、ローカル通信装置によって採用されるマイクロコントローラの内部に配置されたＥＥＰＲＯＭ（electrically erasable programmable read only memory)に格納された。動作時に、ＥＥＰＲＯＭはマイクロプロセッサのピンアウトを介してアクセスできず、そのため「クローン化した」ＥＳＮで容易に再プログラミングしたり、あるいは入れ替えることができなかった。
【０００６】
しかし、マイクロコントローラと同じ集積回路上でＥＥＰＲＯＭを統合することは極めて高価になる。不揮発性メモリ・デバイスを製造できる半導体製造プロセスは、論理回路のみを製造するプロセスに比べて高価である。また、不揮発性メモリと論理回路を単一のマイクロコントローラ内で統合する場合、不揮発性メモリのプログラミング不具合による歩留りの低下が完成品の費用を大幅に増加することがある。
【課題を解決するための手段】
【０００７】
従って、マイクロコントローラ・デバイス内のパッケージングされた不揮発性メモリ・デバイスの使用を必要としない、ＥＳＮなどの電子情報のセキュリティを保障するための装置および方法が必要とされる。
【発明を実施するための最良の形態】
【０００８】
電子情報のセキュリティを保障するための装置は、不揮発性メモリおよびマイクロコントローラを含む。メモリは、マイクロコントローラに外部から結合される。マイクロコントローラは、電子情報がメモリに格納されるとプログラムされるワンタイム・プログラマ
ブル・セキュリティ・フラグによって構成される。セキュリティ・フラグは、いったんプログラムされると、メモリの再プログラミングを防ぐ。さらに、マイクロコントローラは、電子情報のプログラミング時に電子認証情報(electronic authentication information) を生成する暗号化アルゴリズムによって構成される。電子認証情報は、電子情報とともにメモリに格納される。登録のためメモリからの取り出し時に、電子情報は、メモリに格納された電子認証情報と比較するため、暗号アルゴリズムを介して新たな電子認証情報を生成することによって認証される。このような認証は、システムにアクセスするためにメモリをスワップアウトすることを防ぐ。従って、従来の装置とは異なり、本装置はマイクロコントローラに対して外部のメモリ内で電子情報のセキュリティを保障する。
【０００９】
図１に示す通信システム１００は、ワイヤレス通信リンク１０６を介して通信するリモート装置１０２およびローカル装置１０４によって構成される。図示の実施例では、リモート装置１０２およびローカル装置１０４は、それぞれセルラ基地局およびセルラ無線電話であり、ワイヤレス・リンク１０６はＲＦ信号からなる。ローカル装置１０４は、アンテナ１０８，トランシーバ１１０，コントローラ１１２およびユーザ・インタフェース１１４を含む。ユーザ・インタフェース１１４は、一般にマイクロフォン，スピーカ，キーパッド，ディスプレイおよび外部テスト・コネクタを含む。
【００１０】
ローカル装置１０４がパワーオン状態のとき、ワイヤレス・リンク１０６のＲＦ信号はアンテナ１０８によって受信され、トランシーバによって受信データ信号に変換され、この受信データ信号はバス１１６を介してコントローラ１１２に結合される。コントローラ１１２は受信データおよび音声信号を処理し、これらの信号は出力のためバス１１８を介してユーザ・インタフェース１１４にさらに結合される。ユーザ・インタフェース１１４に入力された音声およびデータは、送信データ信号に処理するためにバス１１８を介してコントローラ１１２に結合される。コントローラ１１２は、バス１１６上で送信信号を出力し、トランシーバ１１０によって変換され、アンテナ１０８によってワイヤレス・リンク１０６のＲＦ信号として放射される。
【００１１】
コントローラ１１２は、図２に示すような装置２００を含む。装置２００は、マイクロコントローラ２０２およびＥＥＰＲＯＭ２０４を含む。ＥＥＰＲＯＭ２０４は、シリアル・フォーマットを介してマイクロコントローラ２０２とインタフェースする。ＥＥＰＲＯＭ２０４は、電子情報を格納するための番地を含む。図示の実施例では、電子情報は、３２バイナリ・ビット数からなる電子シリアル番号（ＥＳＮ: electronic serial number）２０５である。ＥＳＮ２０５は、図１のローカル装置１０４を固有に識別し、また通信システム１００に対して正式にアクセスするため図１のローカル装置１０４によって用いられる。また、図２のＥＥＰＲＯＭ２０４は、電子情報を認証するために用いられる電子認証情報を格納するための番地を含む。図示の実施例では、電子認証情報は、３２バイナリ・ビット数からなるメッセージ認証コード（ＭＡＣ：message authentication code ）２０７である。
【００１２】
マイクロコントローラ２０２は、マイクロプロセッサ２０８，ワンタイム・プログラマブルＲＯＭ（読み出し専用メモリ）２１０，コンフィギュレーションＲＯＭ２１１、マスク・プログラムＲＯＭ２１２，ＲＡＭ（ランダム・アクセス・メモリ）２１４，外部メモリ・インタフェース２１６およびプログラミング・インタフェース２１８によって構成される。マイクロプロセッサ２０８は、マイクロコントローラ２０２に対して内部のシリアル・バス２２６を介してプログラミング・インタフェース２１８に結合される。マイクロプロセッサ２０８，ワンタイム・プログラマブルＲＯＭ２１０，コンフィギュレーションＲＯＭ２１１，マスク・プログラムＲＯＭ２１２，ＲＡＭ２１４および外部メモリ・インタフェース２１６は、マイクロコントローラ２０２に対して内部の共通パラレル・バス２２０によって結合される。マイクロプロセッサ２０８は、マイクロコントローラ２０２の
外部にあるバス２２２を介して、トランシーバ１１０，コントローラ１１２の他の回路およびユーザ・インタフェース１１４に結合される。プログラミング・インタフェース２１８は、マイクロコントローラ２０２の外部にあるバス２２８を介してユーザ・インタフェース１１４に結合される。バス２２２，２２８は、図１のバス１１６，１１８のサブバスを形成してもよい。図２の外部メモリ・インタフェース２１６は、マイクロコントローラ２０２の外部にあるバス２０６を介してＥＥＰＲＯＭ２０４に結合される。マイクロコントローラ２０２は、好ましくは、既知の半導体製造方法を利用して単一集積回路で製造される。
【００１３】
マイクロプロセッサ２０８は、プログラム命令およびデータに応答して装置２００を制御すべく動作するパラレル・デバイスである。プログラム命令は、マスク・プログラムＲＯＭ２１２またはマイクロコントローラ２０２に外部から結合されたＲＯＭ（図示せず）に格納された電子情報である。データは、好ましくはコンフィギュレーションＲＯＭ２１１およびＲＡＭ２１４に格納された電子情報である。共通バス２２０を介して、マイクロプロセッサ２０８はワンタイム・プログラマブルＲＯＭ２１０，コンフィギュレーションＲＯＭ２１１，マスク・プログラムＲＯＭおよびＲＡＭ２１４にアクセスして、プログラム命令およびデータなどの電子情報をそこから取り出し、そこでプログラム命令を実行し、電子情報をそこに格納するなどの動作を行う。共通のバス２２０に伴うすべてのバス・トランザクションは、マイクロコントローラ２０２の外からは見えない。ワンタイム・プログラマブルＲＯＭ２１０，マスク・プログラムＲＯＭ２１２およびＲＡＭ２１４は、マイクロコントローラ２０２の外からアクセスできない。
【００１４】
ワンタイム・プログラマブルＲＯＭ２１０は、電子情報の再プログラミングを防ぐためのセキュリティ・フラグを格納する番地を含む。図示の実施例では、セキュリティ・フラグは１つのバイナリ・ビット数からなるＥＳＮセキュリティ・ビット２３０である。ＥＳＮセキュリティ・ビット２３０のバイナリ「１」は、ＥＳＮ２０５およびＭＡＣ２０７がＥＥＰＲＯＭ２０４にプログラム済みであることを示す。ＥＳＮセキュリティ・ビット２３０のバイナリ「０」は、ＥＳＮ２０５およびＭＡＣ２０７がＥＥＰＲＯＭ２０４にプログラムされないことを示す。ＥＳＮセキュリティ・ビット２３０は、以下でさらに詳しく説明するように、電子情報のプログラミング中にワンタイム・プログラマブルＲＯＭ２１０に格納される。ワンタイム・プログラマブルＲＯＭ２１０は、ヒューズ・バンク(fusebank) あるいは他のワンタイム・プログラマブル技術によって構築してもよい。
【００１５】
コンフィギュレーションＲＯＭ２１１は、電子認証情報の生成中に用いられる暗号化キーを格納する番地を含む。図示の実施例では、暗号化キーは、ランダムな５６バイナリ・ビット数と８バイナリ・ビット・チェックサムからなる６４バイナリ・ビットのシークレット・キー２３２である。シークレット・キー２３２は、レーザ・トリミングまたは溶融リンク(fusible link)方法などを利用するウェハ・プローブなどにおいて、マイクロコントローラ２０２の製造中にコンフィギュレーションＲＯＭ２１に格納される。シークレット・キー２３２のセキュリティを保障するため、マイクロコントローラ２０２は、マスク・プログラムＲＯＭ２１２の外部でコードを実行中に、シークレット・キー２３２へのアクセスを禁止する。このようなセキュリティ対策については、１９９６年１０月１４日にDorseyらのために出願され、Motorola, Inc.に譲渡された米国特許出願第０８／７３０，１８８号 "microcontroller Which Limits Access to Internal Memory" においてさらに説明される。
【００１６】
マスク・プログラムＲＯＭ２１２は、電子情報を認証するための命令を格納する番地を含む。図示の実施例では、命令はメッセージ認証プログラム２３４である。メッセージ認証プログラム２３４は、好ましくは、マイクロコントローラ２０２の製造中にマスク・プログラムＲＯＭ２１２に格納される。
【００１７】
ＲＡＭ２１４は、以下で詳しく説明するプログラミングおよび認証プロセス中に電子情報および電子認証情報を一時的に格納するための番地を与える。図示の実施例では、電子情報は、３２バイナリ・ビット数からなるテンポラリＥＳＮ２３６としてＲＡＭ２１４に一時的に格納され、電子認証情報は、３２バイナリ・ビット数からなるテンポラリＭＡＣ２３８としてＲＡＭ２１４に一時的に格納される。
【００１８】
外部メモリ・インタフェース２１６は、マイクロプロセッサ２０８とＥＥＰ
ＯＭ２０４との間の整合性を提供する。外部メモリ・インタフェース２１６は、マイクロプロセッサ２０８によって出力された電子情報を、バス２２０上のパラレル・フォーマットからバス２０６上のシリアル・フォーマットに変換する。同様に、外部メモリ・インタフェース２１６は、バス２０６を介してＥＥＰＲＯＭ２０４から取り出された電子情報を、シリアル・フォーマットからバス２２０上のパラレル・フォーマットに変換する。
【００１９】
プログラミング・インタフェース２１８は、装置２００内に電子情報をプログラミングすることを可能にする。プログラミング・インタフェース２１８は、マイクロプロセッサ２０８と、ユーザ・インタフェース１１４の外部テスト・コネクタに着脱可能に結合する外部プログラミング固定具（図示せず）との間で整合性を提供する。図示の実施例では、プログラミング・インタフェース２１８は、外部プログラミング固定具によって出力された電子情報を、３線式バス・プロトコルまたはＤＳＣ(Digital Speech Control)プロトコルなどのバス２２８上の独自のプロトコルからバス２２６上のシリアル・プロトコルに変換する。同様に、プログラミング・インタフェース２１８は、マイクロプロセッサ２０８によって出力された電子情報を、バス２２６上のシリアル・フォーマットからバス２２８上の独自のフォーマットに変換する。
【００２０】
電子情報は、図３に示す方法に従って装置２００内にプログラムされる。図３の方法について、図２とともに以下で説明する。本方法は、プログラム命令の一部としてマイクロプロセッサ２０８によって実行される。本方法は、プログラミング固定具をプログラミング・インタフェース２１８に（ユーザ・インタフェース１１４およびバス２２８を介して）装着時に、およびプログラミング固定具からＥＳＮプログラム・コマンドの受信時に開始される（ブロック３００）。コマンドを受信すると、マイクロプロセッサ２０８はワンタイム・プログラマブルＲＯＭ２１０からＥＳＮセキュリティ・ビット２３０を読む（ブロック３０２）。ＥＳＮセキュリティ・ビット２３０がバイナリ「１」である（すなわち、ＥＳＮセキュリティ・ビット２３０が既にプログラム済みである）場合、マイクロプロセッサ２０８は、ＥＳＮをＥＥＰＲＯＭ２０４にプログラムするこれ以降の試みを中止することによって、ＥＳＮプログラム・コマンドに応答する（ブロック３０４）。
【００２１】
ＥＳＮセキュリティ・ビット２３０がバイナリ「０」である場合、マイクロプロセッサ２０８はＥＥＰＲＯＭ２０４をプログラムすることに進む。マイクロプロセッサ２０８は、プログラミング固定具からＥＳＮを受信し、かつこのＥＳＮをテンポラリＥＳＮ２３６としてＲＡＭ２１４に一時的に格納することによって、ＥＳＮプログラム・コマンドに応答する（ブロック３０６）。マイクロプロセッサ２０８は、テンポラリＥＳＮ２３６に関連するＭＡＣを生成し、このＭＡＣをテンポラリＭＡＣ２３８としてＲＡＭ２１４に格納する（ブロック３０８）。テンポラリＭＡＣ２３８は、図４に示す方法に従って生成される。本方法は、マスク・プログラムＲＯＭ２１２に格納された図２のメッセージ認証プログラム２３４において具現される。メッセージ認証プログラム２３４は、マイクロプロセッサ２０８によってマスク・プログラムＲＯＭ２１２から実行される。メッセージ認証プログラム２３４は、図４の認証アルゴリズム４００からなる。認証アルゴリズム４００は、暗号化キーを利用して電子情報から電子認証情報を生成する暗号化アルゴリズムである。
【００２２】
図示の実施例において、認証アルゴリズム４００は、米国商務省のNational Institute
of Standards によってFIPS (Federal Information Processing Standards) Publication No. 113 に規定されるデータ認証アルゴリズム（ＤＡＡ：Data Authentication Algorithm ）である。DAA は、米国商務省のNational Institute of Standards によってFIPS Publication No. 46-1 に規定されるデータ暗号規格（ＤＥＳ：Data Encryption Standard）を利用する。テンポラリＭＡＣ２３８を生成する場合、マイクロプロセッサ２０８はコンフィギュレーションＲＯＭ２０８からシークレット・キー２３２を取り出し、このシークレット・キー２３２およびＥＳＮワード４０２を認証アルゴリズム４００に入力する。
【００２３】
ＤＥＳとの整合性のため、ＥＳＮワード４０２は６４ビット・バイナリ数あるいは６４ビット・バイナリ数の倍数からなる。一実施例では、マイクロプロセッサ２０８は、３２バイナリ「０」ビットをテンポラリＥＳＮ２３６の最後に追加することによってＥＳＮワード４０２を生成する。別の実施例では、マイクロプロセッサ２０８は、ハッシュ・コード(hash code) などのメッセージをテンポラリＥＳＮ２３６の最後に追加する。ハッシュ・コードとは、より大きなメッセージを凝縮した表現である。ハッシュ・コードの一例として、マスク・プログラムＲＯＭ２１２の内容から生成される３２バイナリ・ビット・チェックサムがある。別の例として、米国商務省のNational Institute of Standards によってFIPSPublication  No. 180-1に規定されるセキュア・ハッシュ・アルゴリズム（ＳＨＡ−１）に従って生成されるメッセージ・ダイジェストがある。メッセージ・ダイジェストとは、マスクＲＯＭ２１２あるいはマイクロコントローラ２０２に対して外部のＲＯＭ（図示せず）に格納されたプログラム命令など、最大２64バイナリ・ビット数の長さの任意のメッセージから、ＳＨＡ−１によって生成される１６０バイナリ・ビット数のことである。メッセージ（すなわち、マスク・プログラムＲＯＭまたは外部ＲＯＭのプログラム命令）に対して変更を加えると、異なるメッセージ・ダイジェストが生成される。メッセージ・ダイジェストは、いったん生成されると、ＥＥＰＲＯＭ２０４に格納できる。
【００２４】
好ましくはＤＡＡ，ＤＥＳおよびＳＨＡ−１は図示の実施例において用いられるが、当業者であれば電子認証情報を生成するために他の暗号アルゴリズムを利用でき、従って、本明細書で用いられる「アルゴリズム」とはこれらおよびその同等のそれぞれを指すことが理解される。
【００２５】
図２および図３に戻って、テンポラリＭＡＣ２３８が生成されると、マイクロプロセッサ２０８はテンポラリＥＳＮ２３６およびテンポラリＭＡＣ２３８をそれぞれＥＳＮ２０５およびＭＡＣ２０７としてＥＥＰＲＯＭ２０４に格納する（ブロック３１０）。ＥＥＰＲＯＭ２０４に格納されたＥＳＮ２０５およびＭＡＣ２０７は暗号化されない。マイクロプロセッサ２０８は、ワンタイム・プログラマブルＲＯＭ２１０内のＥＳＮセキュリティ・ビット２３０を、バイナリ「１」値を有するようにプログラムする（ブロック３１２）。ＥＳＮセキュリティ・ビット２３０がプログラムされると、電子情報をプログラミングする方法は終了する（ブロック３０４）。
【００２６】
通話を行う前に、図１のローカル装置１０４は、通信システム１００に登録するため図２のＥＳＮ２０５を図１のリモート装置１０２に送信しなければならない。登録が行われなければ、ローカル装置１０４によって呼を発呼したり受信できない。ＥＳＮ２０５をリモート装置１０２に送信する前に、図２の装置２００は図５に示す方法に従ってＥＳＮ２０５を認証する。認証は、通信システム１００において用いるためにローカル装置１０４または他のローカル装置においてＥＳＮ２０５を不正利用する可能性を最小限に抑える。図５の方法について、図２とともに以下で説明する。本方法は、マスク・プログラムＲＯＭ２１２に格納されたメッセージ認証プログラム２３４において具現される。メッセージ認証プログラム２３４は、マイクロプロセッサ２０８によってマスク・プログラムＲＯＭ
２１２から実行される。メッセージ認証プログラム２３４の実行の制御は、前述の米国特許出願第０８／７３０，１８８号において説明される手段によってセキュリティを保障される。
【００２７】
本方法は、メッセージ認証プログラム２３４がマイクロプロセッサ２０８からＥＳＮ認証コマンドを受信すると、ローカル装置１０４のパワーアップ・シーケンス中に開始される（ブロック５００）。このコマンドを受信すると、メッセージ認証プログラム２３４はマイクロプロセッサ２０８にワンタイム・プログラマブルＲＯＭ２１０からＥＳＮセキュリティ・ビット２３０を読み出すように指示する（ブロック５０２）。バイナリ「０」が読み出された場合（すなわち、ＥＳＮセキュリティ・ビット２３０がプログラムされない場合）、メッセージ認証プログラム２３４は認証を中止し、登録を禁止するようにマイクロプロセッサ２０８にフラグを立てる（ブロック５０４）。
【００２８】
ＥＳＮセキュリティ・ビット２３０においてバイナリ「１」が読み出された場合（すなわち、ＥＳＮセキュリティ・ビット２３０がプログラム済みである場合）、メッセージ認証プログラム２３４はＥＳＮ２０５を認証することに進む。メッセージ認証プログラム２３４は、ＥＳＮ２０５およびＭＡＣ２０７をＥＥＰＲＯＭ２０４から取り出し、ＥＳＮ２０５およびＭＡＣ２０７をそれぞれテンポラリＥＳＮ２３６およびテンポラリＭＡＣ２３８としてＲＡＭ２１４に格納するようにマイクロプロセッサ２０８に指示する（ブロック５０６）。メッセージ認証プログラム２３４は、マイクロプロセッサ２０８にテンポラリＥＳＮ２３６から新たなＭＡＣを生成するように指示する（ブロック５０８）。この新たなＭＡＣは、既に図４およびプログラミング中のテンポラリＭＡＣ２３８の生成について説明したように生成される。すなわち、認証アルゴリズム４００は、テンポラリＥＳＮ２３６およびシークレット・キー２３２から新たなＭＡＣを生成する。
【００２９】
いったん生成されると、メッセージ認証プログラム２３４はマイクロプロセッサ２０８にこの新たなＭＡＣをテンポラリＭＡＣ２３８と比較するように指示する（ブロック５１０）。新たなＭＡＣおよびテンポラリＭＡＣ２３８が一致しない場合、メッセージ認証プログラム２３４は登録を禁止するようにマイクロプロセッサ２０８にフラグを立てる（ブロック５０４）。新たなＭＡＣおよびテンポラリＭＡＣが同じ場合、ＥＳＮ２０５は認証される。メッセージ認証プログラム２３４は、登録に進み、かつＥＳＮ２０５をリモート装置１０２に送信するようにマイクロプロセッサ２０８にフラグを立てる（ブロック５１２）。ＥＳＮ２０５を送信するようにマイクロプロセッサ２０８にフラグが立てられると、ＥＳＮ２０５を認証する方法は終了する（ブロック５０４）。
【００３０】
セルラ無線電話において説明したが、本明細書で説明したように電子情報をプログラミングし認証することはコードレス電話，双方向無線装置，トランク式無線装置，ページャ，パーソナル・デジタル・アシスタントなどにおいても適用でき、本明細書で用いられる「装置」は、これらおよびその同等のそれぞれを指すものとする。
【００３１】
本装置および方法はＥＳＮを外部メモリ・デバイスにおいてセキュリティ保障するものとして示したが、当業者であればマイクロコントローラに対して外部のＲＯＭに格納されたプログラム命令など他の電子情報も同様にセキュリティ保障できることが理解される。ＲＯＭ内のプログラム命令を、マイクロコントローラ内に収容されるセキュリティ・フラグと、ＲＯＭに格納される電子認証情報の両方と関連付け、かつ通信装置のパワーアップ・シーケンス中にプログラム命令に対して認証を実行することにより、外部ＲＯＭの不正な再プログラミングやスワップアウトを防ぐことができる。
【００３２】
従って、たとえＥＳＮなどの電子情報がマイクロコントローラ集積回路に対して外部のＥＥＰＲＯＭなどのメモリ・デバイスに暗号化されずに格納されても、セルラ無線電話シ
ステムなどの通信システムにアクセスするために電子情報を不正利用することは最小限に抑えられることがわかる。マイクロコントローラにおいてワンタイム・プログラマブル・セキュリティ・ビットを採用することにより、ＥＳＮの再プログラミングが防がれる。ＥＳＮとＭＡＣなどの電子認証情報との間の関連付けを生成しかつ必要とするランダムなシークレット・キー方式の認証アルゴリズムを利用することにより、異なるＥＳＮおよびＭＡＣ収容する別のＥＥＰＲＯＭとＥＥＰＲＯＭをスワップアウトしてもシステム・アク
スは達成できない。
【図面の簡単な説明】
【００３３】
【図１】リモート通装置およびローカル通信装置を使用するワイヤレス通信システムを示すブロック図である。
【図２】図１のローカル通信装置のコントローラにおいて採用される装置のブロック図である。
【図３】電子情報をプログラミングするために図２の装置によって採用される方法を示すフローチャートである。
【図４】図３の電子情報に関連する認証コードを生成するため図２の装置によって採用される方法を示す機能ブロック図である。
【図５】図３の電子情報を認証するために図２の装置によって採用される方法を示すフローチャートである。
【符号の説明】
【００３４】
１００…通信システム、１０２…リモート装置、１０４…ローカル装置、１０６…ワイヤレス通信リンク、１０８…アンテナ、１１０…トランシーバ、１１２…コントローラ、１１４…ユーザ・インタフェース、１１６，１１８…バス、２００…装置、２０２…マイクロコントローラ、２０４…ＥＥＰＲＯＭ、２０５…電子シリアル番号（ＥＳＮ）、２０６…バス、２０７…メッセージ認証コード（ＭＡＣ）、２０８…マイクロプロセッサ、２１０…ワンタイム・プログラマブルＲＯＭ、２１１…コンフィギュレーションＲＯＭ、２１２…マスク・プログラムＲＯＭ、２１４…ＲＡＭ、２１６…外部メモリ・インタフェース、２１８…プログラミング・インタフェース、２２０…パラレル・バス、２２２，２２８…バス、２２６…シリアル・バス、２３０…ＥＳＮセキュリティ・ビット、２３２…シークレット・キー、２３４…メッセージ認証プログラム、２３６…テンポラリＥＳＮ、２３８…テンポラリＭＡＣ、４００…認証アルゴリズム、４０２…ＥＳＮワード
【図１】
2005124225.tif 000003
【図２】
2005124225.tif 000004
【図３】
2005124225.tif 000005
【図４】
2005124225.tif 000006
【図５】
2005124225.tif 000007