(57)【要約】異なるアクセス要求をもつ複数の機能（Ｆ１，Ｆ２）をもつ電子システム（４００）において１つ以上の機能（Ｆ１，Ｆ２）に対する安全で制御されたアクセスを提供する方法及び装置。所望の機能（Ｆ１，Ｆ２）に対応する公開キー（ＰＫ１，ＰＫ２）を用いる第１の認証処理の結果に従って所望の機能（Ｆ１，Ｆ２）は動作可能になり、機能（Ｆ１，Ｆ２）へのアクセスが、第１の認証処理の間に外部エンティティ（２７０）に対してシステム（４００）によってなされたランダムなチャレンジの結果として計算された第２の、専用セションキーを用いる第２の認証処理によって認可される。また、付加的な保護が受信した認証をもつエンティティ（２７０）だけが正しいアクセスレベルでシステム（４００）にアクセスできるようにして、消極的なまた積極的な盗聴者による攻撃に対抗して備えられる。
2004513420.tif 000002
【特許請求の範囲】
【請求項１】
夫々が関連した対応キーをもつ複数の機能を含むシステムで所望の機能への制御されたアクセスを提供する方法であって、前記方法は、
前記所望の機能に対応するキーを選択する工程と、
前記選択されたキーを用いることを含む認証処理を実行する工程と、
前記認証処理の結果に従って、前記所望の機能へのアクセスを制御する工程とを有することを特徴とする方法。
【請求項２】
前記キーを選択する工程に先立って、前記システムにおいて前記所望の機能へのアクセスをエンティティが要求する工程をさらに有することを特徴とする請求項１に記載の方法。
【請求項３】
前記対応キー各々は公開キーを有していることを特徴とする請求項１に記載の方法。
【請求項４】
前記対応キー、認証コード、前記複数の機能についてのコード各々は、前記システムのメモリに格納されていることを特徴とする請求項１に記載の方法。
【請求項５】
前記メモリは、内部読み出し専用メモリ（ＩＲＯＭ）を有していることを特徴とする請求項４に記載の方法。
【請求項６】
前記メモリは、不揮発性プログラムメモリの１回プログラム可能な部分を有していることを特徴とする請求項４に記載の方法。
【請求項７】
前記認証処理を実行する工程は、第１の選択されたキーを用いることを含む第１の認証処理を実行する工程を有し、
前記第１の認証処理の間に創成された第２のキーコードを用いて生成された第２のキーを用いることを含む第２の認証処理を実行する工程をさらに有することを特徴とする請求項１に記載の方法。
【請求項８】
前記第２のキーは、前記システムによって計算されたセションキーと前記所望の機能へのアクセスを求めるエンティティとを有することを特徴とする請求項７に記載の方法。
【請求項９】
前記第２の認証処理は、前記システムと前記エンティティとにより計算された前記複数のセションキーを比較し、前記比較されたセションキーが一致するなら認可されている前記エンティティによる前記所望の機能へのアクセスすることを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記第２のキーコードは、前記第１の認証処理の間に前記システムによって前記エンティティに送信されるランダムなチャレンジを用いて創成されることを特徴とする請求項８に記載の方法。
【請求項１１】
前記第２のキーは、前記システムの保護された静的ランダムアクセスメモリ（ＰＳＲＡＭ）に格納されることを特徴とする請求項７に記載の方法。
【請求項１２】
前記セションキーを用いて前記エンティティと前記システムとの間で送信されるデータを暗号化し、復号化する工程をさらに有することを特徴とする請求項８に記載の方法。
【請求項１３】
前記データの暗号化及び復号化のアルゴリズムコードは、前記システムの内部読み出し専用メモリ（ＩＲＯＭ）に格納されることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記データの暗号化及び復号化のアルゴリズムコードは、前記システムの不揮発性プログラムメモリの１回プログラム可能な部分に格納されることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記データの暗号化及び復号化のアルゴリズムコードは、前記エンティティに格納されることを特徴とする請求項１２に記載の方法。
【請求項１６】
前記システムと前記エンティティとの間で送信されるデータについてのＭＡＣ保護を付加する工程をさらに有し、
前記ＭＡＣ保護は前記セションキーを利用することを特徴とする請求項８に記載の方法。
【請求項１７】
ＭＡＣ保護のためのアルゴリズムコードは、前記システムの内部読み出し専用メモリ（ＩＲＯＭ）に格納されることを特徴とする請求項１６に記載の方法。
【請求項１８】
ＭＡＣ保護のためのアルゴリズムコードは、前記システムの不揮発性プログラムメモリの１回プログラム可能な部分に格納されることを特徴とする請求項１６に記載の方法。
【請求項１９】
ＭＡＣ保護のためのアルゴリズムコードは、前記エンティティに格納されることを特徴とする請求項１６に記載の方法。
【請求項２０】
前記システムは、セルラ電話システムを有することを特徴とする請求項１に記載の方法。
【請求項２１】
１つ以上の機能を含むシステムで所望の機能への制御されたアクセスを提供する方法であって、前記方法は、
前記所望の機能に対応する第１のキーを用いることを含む外部エンティティを用いて第１の認証処理を実行する工程と、
前記第１の認証処理の間に前記外部エンティティへ前記システムによってなされたランダムなチャレンジに基づいて生成された第２のキーを用いて、第２の認証処理を実行する工程と、
前記第１及び第２の認証処理の結果に従って、前記所望の機能へのアクセスを制御する工程とを有することを特徴とする方法。
【請求項２２】
前記第１のキーは公開キーを有し、前記第２のキーは前記システムと前記外部エンティティによって共有される専用セションキーを有することを特徴とする請求項２１に記載の方法。
【請求項２３】
前記専用セションキーは前記外部エンティティと前記システムの両方によって計算され、前記第２の認証処理の間に比較され、
もし前記比較が前記システムと前記外部エンティティとによって計算された前記専用セションキーが一致することを示すなら、アクセスが認可されることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記第１のキー、認証コード、及び前記１つ以上の機能各々についてのコードは、前記システムのメモリに格納されていることを特徴とする請求項２１に記載の方法。
【請求項２５】
前記メモリは、内部読み出し専用メモリ（ＩＲＯＭ）を有していることを特徴とする請求項２４に記載の方法。
【請求項２６】
前記メモリは、不揮発性プログラムメモリの１回プログラム可能な部分を有していることを特徴とする請求項２４に記載の方法。
【請求項２７】
前記第２のキーは、前記システムの保護された静的ランダムアクセスメモリ（ＰＳＲＡＭ）に格納されることを特徴とする請求項２１に記載の方法。
【請求項２８】
前記専用セションキーを用いて、前記外部エンティティと前記システムとの間で送信されるデータを暗号化し、復号化する工程をさらに有することを特徴とする請求項２２に記載の方法。
【請求項２９】
前記データの暗号化及び復号化のアルゴリズムコードは、前記システムの内部読み出し専用メモリ（ＩＲＯＭ）に格納されることを特徴とする請求項２８に記載の方法。
【請求項３０】
前記データの暗号化及び復号化のアルゴリズムコードは、前記システムの不揮発性プログラムメモリの１回プログラム可能な部分に格納されることを特徴とする請求項２８に記載の方法。
【請求項３１】
前記データの暗号化及び復号化のアルゴリズムコードは、前記外部エンティティに格納されることを特徴とする請求項２８に記載の方法。
【請求項３２】
前記システムと前記外部エンティティとの間で送信されるデータについてのＭＡＣ保護を付加する工程をさらに有し、
前記ＭＡＣ保護は前記専用セションキーを利用することを特徴とする請求項２２に記載の方法。
【請求項３３】
ＭＡＣ保護のためのアルゴリズムコードは、前記システムの内部読み出し専用メモリ（ＩＲＯＭ）に格納されることを特徴とする請求項３２に記載の方法。
【請求項３４】
ＭＡＣ保護のためのアルゴリズムコードは、前記システムの不揮発性プログラムメモリの１回プログラム可能な部分に格納されることを特徴とする請求項３２に記載の方法。
【請求項３５】
ＭＡＣ保護のためのアルゴリズムコードは、前記外部エンティティに格納されることを特徴とする請求項３２に記載の方法。
【請求項３６】
前記システムは、セルラ電話システムを有することを特徴とする請求項２１に記載の方法。
【請求項３７】
複数の機能を含むシステムで所望の機能への制御されたアクセスを提供する装置であって、前記装置は、
各々が前記複数の機能の１つに対応する複数のキーを格納するメモリと、
前記所望の機能に対応する前記メモリの前記複数のキーの内のキーを用いて認証処理を実行し、前記認証処理の結果に従って、前記所望の機能へのアクセスを制御するプロセッサとを有することを特徴とする装置。
【請求項３８】
前記複数のキーは公開キーを有することを特徴とする請求項３７に記載の装置。
【請求項３９】
前記メモリは、内部読み出し専用メモリ（ＩＲＯＭ）を有することを特徴とする請求項３７に記載の装置。
【請求項４０】
前記メモリは、不揮発性プログラムメモリの１回プログラム可能な部分を有することを特徴とする請求項３７に記載の装置。
【請求項４１】
前記認証処理は第１のキーを用いる第１の認証処理を有し、
前記プロセッサは、前記第１の認証処理の間に創成された第２のキーコードを用いて生成された第２のキーを用いる第２の認証処理を実行することを特徴とする請求項３７に記載の装置。
【請求項４２】
前記第２のキーは、前記システムと前記所望の機能へのアクセスを求める外部エンティティとによって共用されるセションキーを有することを特徴とする請求項４１に記載の装置。
【請求項４３】
前記第２のキーは、前記システムの保護された静的ランダムアクセスメモリ（ＰＳＲＡＭ）に格納されることを特徴とする請求項４１に記載の装置。
【請求項４４】
前記システムは、セルラ電話システムを有することを特徴とする請求項３７に記載の装置。
【請求項４５】
１つ以上の機能を含むシステムで所望の機能への制御されたアクセスを提供する装置であって、
前記所望の機能に対応する第１のキーを格納する第１のメモリと、
前記第１のキーを用いて外部エンティティについての第１の認証処理を実行し、前記第１の認証処理の結果に従って前記機能を動作可能にするプロセッサと、
前記第１の認証処理の間に前記外部エンティティへ前記システムによってなされたランダムなチャレンジに基づいて生成された第２のキーを格納する第２のメモリとを有し、
前記プロセッサは、前記第２のキーを用いて第２の認証処理を実行し、前記第２の認証処理の結果に従って、前記所望の機能へのアクセスを制御することを特徴とする装置。
【請求項４６】
前記第１のキーは公開キーを有し、前記第２のキーは前記システムと前記外部エンティティとによって共有される専用セションキーを有することを特徴とする請求項４５に記載の装置。
【請求項４７】
前記第１のメモリは、内部読み出し専用メモリ（ＩＲＯＭ）を有することを特徴とする請求項４５に記載の装置。
【請求項４８】
前記第１のメモリは、不揮発性プログラムメモリの１回プログラム可能な部分を有することを特徴とする請求項４５に記載の装置。
【請求項４９】
前記第２のメモリは、保護された静的ランダムアクセスメモリ（ＰＳＲＡＭ）を有することを特徴とする請求項４５に記載の装置。
【請求項５０】
前記システムは、セルラ電話システムを有することを特徴とする請求項４５に記載の装置。
【発明の詳細な説明】
【０００１】
前に出願された仮出願への参照
本出願は２０００年１０月１７日に出願された米国特許仮出願第６０／２４１，０７０号による利益を主張するものである。
【０００２】
発　明　の　背　景
１．技　術　分　野
本発明は一般には電子機器における重要機能の保護に関するものであり、特に、電子機器の１つ以上の機能への安全で制御されたアクセスを提供し認証を受けていないエンティティによるそのような機能へのアクセスを防止する方法と装置に関するものである。
【０００３】
２．従　来　技　術　の　説　明
多くの電子機器において、その機器内のある機能は、その機能を起動したり使用しようとするかもしれない不当なエンティティによるアクセスから保護する必要がある。例えば、セルラ電話、ＰＤＡ（携帯情報端末）などの多くの固定及び移動コンピューティング通信システムにおいて、ソフトウェアプログラム機能とハードウェア機能の両方を含む、システムにおける種々の重要な機能への安全で制御されたアクセスを提供することは重要である。
【０００４】
アクセス制御についての必要が重要であるとの認識の下に、従来より、種々の保護機構が開発され、知られ、用いられている。例えば、米国特許第５，６０６，３１５号では、動的なデータオブジェクトへのアクセスはＥＥＰＲＯＭに格納されたパスワードを介して制御される。しかしながら、この特許に記載された機構では、ユーザはＥＥＰＲＯＭから簡単にパスワードを読み出すことができ、従って、不当なアクセスができデータを変更することができる。
【０００５】
米国特許第６，０２６，２９３号において、より改善がなされた保護機構が教示されており、それは機器におけるソフトウェアを再プログラムする能力へのアクセス制御を提供している。この特許の機構では、公開キー暗号化方式が用いられて秘密キー或いはパスワードを格納するという問題を回避している。しかしながら、ここで開示されている機構は、異なった機密保護要求を有しているかもしれず、或いはうまく認証処理を実行できる全てのエンティティ間では共有されるべきではない機器の異なる機能へ異なったレベルのアクセスを提供することはできない。
【０００６】
システムの重要な機能へのアクセスを安全に行うという点に関して存在する別の重要な問題は、認証を受けた接続エンティティからシステムに、或いはシステムからそのエンティティに送信されるデータ或いは命令でさえ、システムを或いはシステムから通過していく間に盗聴されることもある点である。このことは、例えば、消極的な盗聴者がデータや命令をモニタしたり、或いは、積極的な盗聴者がデータを挿入したり送信データを自分自身のデータで置き換えるという可能性を創り出してしまう。公知の保護方式は適切にそのような盗聴の問題を処理することはできない。
【０００７】
一般に、現存する保護機構はシステムにおける重要な機能へのアクセスを制御するために用いられているが、そのような機構は非常に微妙な制御能力やより先進的なシステムで要求される機密保護要求を欠いている。
【０００８】
発　明　の　要　約
本発明は、電子システムにおける機能に対して安全で制御されたアクセスを保証する方法及び装置を提供する。本発明に従う方法は、夫々が関連した対応キーをもつ複数の機能を含むシステムで所望の機能への制御されたアクセスを提供し、その方法は、その所望の機能に対応するキーを選択する工程と、その選択されたキーを用いることを含む認証処理を実行する工程と、その認証処理の結果に従って、その所望の機能へのアクセスを制御する工程とを有する。
【０００９】
本発明は、多くの電子システムが複数の重要な機能を含み、それら複数の機能の異なるものが異なるアクセス要求をもっているかもしれないことを認識している。それ故に、本発明に従えば、システムにおける複数の機能各々へのアクセスは各機能に対応する特定のキーを利用する処理による認証を要求する。このことにより、複数の機能各々へのアクセスがエンティティがアクセスをするために認可された機能へのアクセスだけを得るように個別的に制御されることが可能になる。本発明によれば、１つのエンティティはシステムにおける１つ以上の機能に対するアクセス権が与えられるが他の機能に対しては与えられない。一方、別のエンティティは異なる１つ以上の機能に対するアクセス権が与えられる。
【００１０】
本発明の好適な実施形態に従えば、システムの機能へのアクセスを望むエンティティは最初に、そのシステムに対して、アクセスすることを望む機能を示す。そのとき、システムはその所望の機能に対応した公開キーを用いた認証処理を実行し、そして、その処理がもしうまくゆくなら、その機能が動作可能になる。そのキー、認証コード、及びシステムにおける複数の機能についてのコードは、そのシステムに内部的に格納され、そのシステムの処理機器の内部読み出し専用メモリ（ＩＲＯＭ）、或いは、そのシステムの不揮発性プログラムメモリの１回プログラム可能な部分に格納されるのが好ましい。
【００１１】
さらに本発明の実施形態に従えば、前記認証処理を実行する工程は、第１のキーを用いることを含む第１の認証処理を実行する工程を有し、その方法はさらに、第１の認証処理の間に創成された第２のキーコードを用いて生成された第２のキーを用いることを含む第２の認証処理を実行する工程を有する。
【００１２】
本発明はまた、認証処理がうまくいったことにより機能が動作可能になるとき、その機能の完了がさらなる入力、例えば、プログラミング命令などを要求することがしばしばあることを認識している。そのような場合に、盗聴と付加データの操作との少なくともいずれかに対抗する現実的な保護はない。しかしながら、本発明のこの実施形態に従えば、第２の認証処理が、第１の認証処理の間に確立された第２の、専用キー或いはセションキーを用いて実行される。そのキーは、第２のキーコード或いはセションキーコードから計算される。その付加的な入力についての認可を取得するために、第２の認証を求めるエンティティは第２のキーを知らねばならない。そして、第１の認証に係わったシステムとエンティティだけが第２のキーを知るであろうから、交換される何らかの付加的なデータは第１の認証処理を成功裏に実行したのと全く同じエンティティであることの保証がある。従って、この実施形態ではデータをモニタ、付加、或いは変更することを望むかもしれない盗聴者に対抗した保護となる。
【００１３】
好適には、そのセションキーコードは、第１の認証処理の間にシステムによってそのエンティティに送信されるランダムなチャレンジの結果として確立される。ランダムな要求を用いることは、エンティティが以前のうまくいった認証の間に送信されたメッセージの記録を再生することにより自分自身を認証させることを非常に困難にさせる。第１の認証の後、エンティティがシステムとの通信を望むとき、エンティティとシステムとの両方はセションキーコードからセションコードを計算し、その計算されたキーが比較され、もし、それらが一致するなら、第２の認証が成功したとする。
【００１４】
本発明のさらなる側面によれば、確立されたセションキーが用いられて、エンティティとシステムとの間で送信されたデータを暗号化し復号化する。このことにより、エンティティとシステムとの間のデータチャネルを盗聴する消極的な攻撃者と積極的な攻撃者との両方に対抗してデータを保護する。暗号化／復号化についてのコードは、変更されたり或いはバイパスされたりできないような方法でシステムのメモリに格納され、さらにより高度な保護を提供するのが好ましい。
【００１５】
本発明のさらに別の実施形態に従えば、メッセージ認証コード（ＭＡＣ）が用いられて積極的な盗聴者を検出し、その積極的な盗聴者がデータチャネルにデータを挿入したり置き換えたりすることを防止する。ＭＡＣは上述のデータの暗号化とともに用いられても良いし、その暗号化を行わずに用いられても良い。
【００１６】
一般に、本発明は、システムの１つ以上の機能への安全でレベル化されたアクセス制御を可能にする方法と装置を提供する。本発明はエンティティが、アクセスが認可されたシステムの機能に対してのみアクセスを得ることができることを保証し、また、発生するかもしれない消極的なまた積極的な盗聴活動に対抗した保護を提供する。
【００１７】
本発明のさらなる利点、目的、及び詳細は、本発明の現在の好適な実施形態についての次の詳細な説明に関連して、これ以後明らかになるであろう。
【００１８】
現在の好適な実施形態の詳細な説明
図１は装置内の機能への制御されたアクセスを提供する公知の装置を模式的に図示しており、本発明を説明する上での補助をするために備えられている。特に、図１は、米国特許第６，０２６，２９３号に開示された種類の、システム内の機能に対して制御されたアクセスを提供する保護機構を組み込んだセルラ電話システムのセルラ電話プロセッサとメモリ構成とを図示している。
【００１９】
そのシステムは一般には参照番号１００によって示されており、そのシステムはセルラ電話の全体的な動作を制御し、フラッシュプログラムメモリ１０４、電気的消去可能なプログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）１０６、及びランダムアクセスメモリ（ＲＡＭ）１０８を含む複数のメモリと関連して動作する処理機器１０２を含む。
【００２０】
処理機器１０２それ自身は、マイクロプロセッサ１１２、内部読み出し専用メモリ（ＩＲＯＭ）１１４、保護された静的ランダムアクセスメモリ（ＰＳＲＡＭ）１１６、及び包括的には参照番号１１８によって示されるインタラプトコントローラ及びそれに付随するハードウェアによるタイマとを含んでいる。ＩＲＯＭ１１４は公開キー１２２、ハッシュアルゴリズムのためのコード１２３、デバイス認証コード１２６、及び伝統的なブートコード１２８を含んでいる。この特許に記載されているように、インタラプトコントローラ及びハードウェアによるタイマ１１８は、選択されたメモリ内容でマイクロプロセッサ１１２による周期的なハッシュ計算を開始するために備えられている。
【００２１】
ＥＥＰＲＯＭ１０６は、包括的には静的データ１３２として示されるユーザプロファイルデータ、移動体識別番号（ＭＩＮ）データ、及び電子的シリアル番号（ＥＳＮ）データを含む種々のデータと、署名／未署名の正当なハッシュ値ペアデータ１３４とを含んでいる。セルラ電話の一般的な動作に関与する指示コードはフラッシュプログラムメモリ１０４に含まれている。ＲＡＭ１０８は、通常のセルラ電話呼び出し処理の一部である動作のためのメモとして用いられる。重要なデータ、ハッシュ値計算、及び認証処理に関与する動作はＰＳＲＡＭ１１６と関連して実行される。
【００２２】
処理機器１０２はフラッシュプログラムメモリ１０４、ＥＥＰＲＯＭ１０６、及びＲＡＭ１０８とメモリバス１４０を介して通信する。
【００２３】
図１の装置において、ハッシュアルゴリズム１２４はＥＥＰＲＯＭ１０６に格納されたデータの完全性保護を提供するために用いられる。本発明の環境では、この保護機構は、認可されたエンティティに対してのみアクセス可能であるべきシステム１００内にある機能の例である（ここで用いられる“エンティティ”という用語は人とともに機器も含むことが意図されている）。公開キー１２２と認証コード１２６とはそのシステムを再プログラムすることができる外部エンティティを認証する認証機構と関係している。
【００２４】
図１の装置において、また、米国特許第６，０２６，２９３号に記載されているように、認証処理は外部エンティティが、認証手順を遂行するのに用いられる公開／専用暗号化方式の対応する秘密キーを所有していることを要求する。前に示されているように、この方式は秘密キー或いはパスワードを格納するという問題を回避している。しかしながら、その特許に開示されている手順は、異なる機密保護要求をもつかもしれない、或いは、そうでなければ認証処理を成功裏に実行することができる全てのエンティティの間では共有されるべきではないシステムの複数の機能への異なるアクセスを提供することはできない。例えば、セルラ電話システムにおいて、システムにおける複数の機能の内の１つのクラスがそのシステムソフトウェアへのサービスを実行するほとんど全てのエンティティに対してアクセスを可能にする一方、他のクラスの機能は特別に資格のあるサービスエンティティに対してのみアクセス可能にすることが望まれるかもしれない。
【００２５】
図２は、本発明の第１実施形態に従って、装置の複数の機能への制御されたアクセスを提供する装置を模式的に図示している。特に、図１は、システムの複数の機能に対して安全でレベル化されたアクセスを提供する保護機構を組み込んだセルラ電話システム２００のセルラ電話プロセッサとメモリ構成とを図示している。
【００２６】
本発明を説明する上での援助のために、そのセルラ電話システム２００において、外部エンティティに対して利用可能な２つのエンティティ、即ち、機能Ｆ１と機能Ｆ２があると仮定する。しかしながら、これは典型的なものに過ぎないことを理解されたい。本発明は任意の数の利用可能な機能Ｆｎをもつシステムをカバーすることが意図されている。
【００２７】
機能Ｆ１とＦ２についての機能コードは処理機器１０２のＩＲＯＭ１１４の２５２と２５４という位置に夫々格納され、これら複数の機能夫々に関連しているのは対応する公開キーＰＫ１、ＰＫ２であり、これらもＩＲＯＭ１１４の２５６と２５８という位置に夫々格納されている。認証コード１２６と伝統的なブートコード１２８はまた、ＩＲＯＭに同様に格納される。図２に図示されているように、本発明の実際の実施例においては、複数の機能或いはレベルの間でコードを共有することにより、ただ１つの認証コードが必要とされる。
【００２８】
図２における機器２７０のような外部エンティティがシステム２００の特定の機能Ｆｎにアクセスすることを望むとき（図２の実施形態では、ＦｎはＦ１或いはＦ２である）、システムとの接触を行う初期段階の間に、そのエンティティはこのアクセス（システムと外部機器との間の通信は、図２では矢２８０によって示されているように、何か適切なデータチャネルを介している）を望んでいることをアナウンスする。この終端に向かって、外部機器２７０は機能（レベル）選択を示す“ｎ−選択”と呼ばれる信号を送信しても良い。ｎ−選択信号の受信時、処理機器１０２は要求されたレベルをＰＳＲＡＭ１１６、具体的には、“アクセスレベル”で示された要素２７２に格納し、それから、アクセスレベルデータを用いて用いられることになる正しい公開キーＰＫｎを選択する認証コードを実行し、その選択コードで認証処理を実行する。
【００２９】
各機能に対応した内部状態フラグは初期的には“動作不可”状態にセットされる。もし、認証処理が成功するなら、システムは機能Ｆｎに対応する内部状態フラグを“動作可能”状態にセットする。そして、処理が失敗するなら、そのフラグは“動作不可”状態のままとなる。その認証処理後、そのステータス（成功或いは失敗）が、アクセスレベルの値に依存した対応するＰＳＲＡＭ要素（レベル１ステータス２７４或いはレベル２ステータス２７６）に格納される。“レベルｘステータス”ｘ＝１、２の値は、機能Ｆ１とＦ２についてのコードの実行が自動的に或いは外部機器２７０によって与えられたデータ／命令の影響下でどのように進行するのかに影響を与える。
【００３０】
従って、図２の装置は、処理機器１０２によって実行されるのが可能な複数の機能にわたった安全でレベル化されたアクセス制御を成し遂げる保護機構を提供する。処理機器１０２のＩＲＯＭメモリ１１２内部に公開キーと認証コードをもたせることで、その認証機構がバイパスされるようにしてシステムを操作することは可能ではない。しかしながら、そのようなやり方は、標準的なペンティアム或いはＡＲＭプロセッサのような市販の処理回路の適合を必要とするので、高価であるかもしれない。
【００３１】
この潜在的な付加費用の観点からすると、現在のより好適な実施形態とは、公開キーと認証コードをフラッシュプログラムメモリの所謂ワンタイム−プログラマブル（ＯＴＰ）領域に格納することである。このことは図３に図示されており、そこでは、システム３００のフラッシュプログラムメモリ１０４が、機能Ｆ１とＦ２（夫々、３５２と３５４に格納される）のついてのコードと、対応する公開キーＰＫ１とＰＫ２（夫々、３５６と３５８に格納される）と、認証コード（３６２に格納される）とを含み、これらは全て、フラッシュプログラムメモリのＯＴＰ領域３８０に格納される。この実施形態ではＩＲＯＭ１１４は引き続き１２８で示されているようにブートコードを格納する。
【００３２】
機能が成功した認証処理により動作可能となるとき、その機能の完了にはある付加的な入力を要求する場合があるかもそれない。これは、例えば、その機能がシステムのフラッシュプログラムメモリの再プログラムであるときはそのような場合であり、そこでは付加的な入力はプログラム指示とフラッシュプログラムデータから構成されている。認証処理後、付加的なデータが外部機器からシステムに、或いは、システムから外部機器への少なくともいずれかで送信されなければならないような場合、消極的或いは積極的な盗聴に対抗する現実的な保護はない。本発明のさらなる実施形態に従えば、しかしながら、付加的なデータの盗聴に対する効果的な保護も提供される。
【００３３】
特に、図４は、本発明の第３実施形態に従って、例えば、外部機器２７０からシステム４００へ、或いはその逆方向に、データチャネル２８０に沿って転送されるトラフィック（命令とプログラムコード）をモニタすることを欲している消極的な盗聴者とともに、送信データを変更したり或いは置き換えたりすることを欲している積極的な盗聴者に対抗する保護を提供する装置を模式的に図示している。基本的に、この付加的な保護は、“セションキーコード”として言及される付加的なプログラムコードを含むことによって提供される。セションキーコードはＩＲＯＭ１１４に格納され、４８２で示されており、成功した認証後に、４８４で示されるようにＰＳＲＡＭ１１６に格納される共用セションキーを計算する。この共用セションキーを計算する手順は、認証処理の間に用いられるランダムな要求（チャレンジ）ｃの値に関与する。そのセションキーはシステムの処理機器１０２のＰＳＲＡＭ１１６に内部的に（そして、後で説明することであるが外部機器にも）格納され、そして、セションキーの値は、そのセションキーを知らない盗聴者が付加的なデータへのアクセスをすることができないように、そのシステムと外部機器にのみ知られる。
【００３４】
即ち、外部機器２７０を認証する処理において、図４におけるシステム４００は（ＰＳＲＡＭ１１６の４９０に格納された）ランダムな要求（チャレンジ）ｃを外部機器２７０に送信し、応答を待ち合わせる。この応答はシステムが計算した参照値それ自身に対してシステムによりチェックされる。そのような、所謂、チャレンジ−応答認証方式の例は、ここで、その全体が参照によって本願に組み込まれる、Ａ． メネゼス（Ｍｅｎｅｚｅｓ）、Ｐ．Ｃ． ａｎ オオルスショット（Ｏｏｒｓｃｈｏｔ）、及びＳ．Ａ．ヴァンストーネ（Ｖａｎｓｔｏｎｅ）による、ＣＲＣプレス、１９９６年、応用暗号学ハンドブック（Ｈａｎｄｂｏｏｋ ｏｆ Ａｐｐｌｉｅｄ Ｃｒｙｔｏｌｏｇｙ）（これ以後、これは“ハンドブック”として言及される）で開示されているような対称型暗号化プリミティブを用いるものと、非対称（或いは公開キー）暗号化プリミティブが用いられている米国特許第４，７４８，６６８号で教示される認証処理とを含んでいる。
【００３５】
ランダムなチャレンジの手順は、外部機器２７０のような外部エンティティが、以前の成功した認証処理の間に送信されたメッセージの記録を再生することで単純に認証を取得することを非常に困難なものにしている。盗聴に対する保護を得るために、ランダムなチャレンジが用いられてシステムが認証処理を成功裏に実行した外部機器と共用する秘密セションキーを決定する。その認証処理をセションキー生成処理と結合することにより、システムと外部機器との間でのデータ交換が、まったく認証を成功裏に実行した外部機器によって送信されたものであることを保証する。
【００３６】
そのようなセションキー生成処理が採用されているシステムの例はＧＳＭ（汎欧州デジタル移動電話方式）セルラ電話システムである。そのシステムでは、秘密キーが移動機器のどこかで安全に格納されることを必要とする。別の例は、ＳＳＬセキュリティ層（米国特許第５，８２５，８９０号を参照のこと）である。そこでは、ＲＳＡ公開キー暗号化システム（米国特許第４，４０５，８２９号を参照のこと）が用いられて外部（サーバ）機器を認証し、共用秘密セションキーを確立する。ＲＳＡ方式は外部機器が、合成モジュロＮをその素数因子ＰＮとＱＮとに因数分解するために用いられる専用キーを持つという不利益な点がある。従って、もし、同じモジュロＮが異なるレベルについて公開／専用キーにおいて用いられるなら、１つのレベルで動作するために認可される外部機器はまた、別のレベルでも動作できる。さらにその上、ＲＳＡ方式によって定義されるようなプロトコルは、米国特許第４，７４８，６６８号において教示されるプロトコルのような知識のいらない（ｚｅｒｏ ｋｎｏｗｌｅｄｇｅ）プロトコルではない。
【００３７】
認証と共用秘密キーの両方を提供する従来の方法は従って、秘密キーの記憶、或いはＲＳＡ方式の使用を必要とするという不利益な点をもっている。
【００３８】
従来の方法の欠点を克服するために、米国特許第４，７４８，６６８号の知識のいらない（ｚｅｒｏ ｋｎｏｗｌｅｄｇｅ）プロトコルが拡張されて共用秘密セションキーを生成する方法を含むようにする。具体的には、米国特許第４，７４８，６６８号においては、少なくとも２つの大きな素数の積であるモジュロＮが用いられる。米国特許第４，７４８，６６８号において教示される方法を用いるシステムをセットアップするための準備に加えて、ｇ　ｍｏｄ　Ｎの次数（ｏｒｄｅｒ）が小さくはないようにｇの数字を選択する。ｇ　ｍｏｄ　Ｎの次数は、ｇｅｍｏｄ　Ｎ＝１であるような最小の正の数ｅである。例えば、そのような要素はガウス（Ｇａｕｓｓ）による方法（Ｒ．Ｊ． ＭｃＥｌｉｅｃｅによる“コンピュータ科学者及び技術者のための有限フィールド（Ｆｉｎｉｔｅ Ｆｉｅｌｄｓ ｆｏｒ Ｃｏｍｐｕｔｅｒ Ｓｃｉｅｎｔｉｓｔｓ ａｎｄ Ｅｎｇｉｎｅｅｒｓ）”、クルーワー・アカデミック出版（Ｋｌｕｗｅｒ Ａｃａｄｅｍｉｃ Ｐｕｂｌｉｓｈｅｒｓ）、１９８７年、第２版、１９８９年、３８ページ）によっていつも見出すことができる。さらにその上、もしｒがとんどん変化して、例えば、Ｋ個の別個の値となるが、ｃは固定されるなら、出力Ｈ（ｒ，ｃ）は凡そＫ個の別個の値をとるように、２つの入力ｒとｃをもつ関数Ｈが導入される。同様に、ｃがどんどん変化して、例えば、Ｍ個の別個の値となるが、ｒは固定されるなら、出力Ｈ（ｒ，ｃ）は凡そＭ個の値をとる。そのような関数の例は、（ｒとｃがバイナリ列によって表現されると仮定するなら）２つのバイナリ列の排他的論理和（ＸＯＲ）である。
【００３９】
即ち、もし、ｒ＝ｒ１，ｒ２，……ｒｎ、かつ、
ｃ＝ｃ１，ｃ２，……，ｃｍ、ｍ≦ｎ，
ｒｉ，ｃｊ∈｛０、１｝であれば、
Ｈ（ｒ，ｃ）＝ｒｉ　＋　ｃｉ，　１≦ｉ≦ｍ
ｒｉ　　　　 ，　ｍ＋１≦ｉ≦ｎ
となる。
【００４０】
もう１つのより安全で、従って好適な選択はＨを暗号法的にハッシュ（或いは、メッセージダイジェスト関数）であるようにとり、それを２つの入力ｒとｃに作用させることである。
【００４１】
例えば、Ｈ（ｒ，ｃ）＝ｓｈａ−１（ｒ１，ｒ２，……ｒｎ，ｃ１，ｃ２，……，ｃｍ）
（１）
である。ここで、ｓｈａ−１（　）はＦＩＰＳ−１８１−１セキュアハッシュ関数標準で規定されている暗号法のハッシュ関数である。
【００４２】
さて、外部機器がシステムと通信することを望むとき、最初に認証処理を実行する。これが成功するとき、外部機器はランダムな値ｒ１（便宜上、ｒ１は整数を示し、ｒ１をこの数を表現するバイナリ列とする（注：オリジナルの英文明細書ではｒ１を太字で表記しているが、太字表記できないのでｒ１に下線を付して、これに替える））を生成し、（米国特許第４，２００，７７０号に教示されているように、また“ハンドブック”も参照されたい）ディフィ−ヘルマンの一致（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ ａｇｒｅｅｍｅｎｔ）を実行する。従って、その外部機器はｙ１＝ｇｒ１ｍｏｄ　Ｎを計算し、この値をシステムに送信し、システムはランダムな値ｒ２ｉを生成し、ｙ２＝ｇｒ２ｍｏｄ　Ｎをその外部機器に送信する。
【００４３】
そのとき、外部機器はｋ１＝（ｙ２）ｒ１ｍｏｄ　Ｎを計算し、システムはｋ２＝（ｙ１）ｒ２ｍｏｄ　Ｎを計算する。ｋ１＝（ｙ２）ｒ１ｍｏｄ　Ｎ＝ｇｒ１χｒ２ｍｏｄ　Ｎ＝（ｙ１）ｒ２ｍｏｄ　Ｎ＝ｋ２なので、その外部機器とシステムとは同一の値ｋ１とｋ２とを共用する。外部機器はｋ１を認証処理の間にシステムから受信したランダムなチャレンジｃとともに入力として用いて、セションキーＳ１＝Ｈ１（ｋ１，ｃ）を計算する。システムは、ｋ１＝ｋ２であるのでＳ１に等しいセションキーＳ２＝Ｈ（ｋ２，ｃ）を計算する。外部機器は認証処理に先立ってｋ１を計算することはできず、Ｓ１とＳ２の値は認証処理において用いられるランダムチャレンジに依存するので、そのセションキーは新しいものであり、（成功した）認証と関係している。
【００４４】
なお、Ｎの同じ値は異なるレベルに関連した公開／専用キーのペアのために用いられて、従って記憶空間やコストを削減している。
【００４５】
また、ディフィ−ヘルマンキーの一致（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ ｋｅｙ ａｇｒｅｅｍｅｎｔ）以外のキーの一致（ｋｅｙ ａｇｒｅｅｍｅｎｔ）プロトコルを、もし望むならば、採用することもでき、この点で本発明を限定することは意図されていないことを認識されたい。
【００４６】
さて、ＰＳＲＡＭ１１６の４８４に格納される確立されたセションキーが用いられて外部機器とシステムとの間で送信されるデータを暗号化する（暗号化／復号化コードは４８６で示されているようにＩＲＯＭ１１４に格納され、或いは、図３に関して記載されているようにフラッシュプログラムメモリ１０４の１回プログラム可能部分３８０に格納される）。これにより、外部機器２７０とシステム４００との間のデータチャネル２８０を盗聴する消極的攻撃者に対抗してデータを保護する。もし、認証機構と暗号化／復号化についてのコードが、そのコードが変形されたり、或いはバイパスされたりできないようにシステムに格納されるなら、その保護はたとえシステムのユーザを十分に信頼することができなくとも適切である。
【００４７】
従って、図４に図示された装置は、潜在的な盗聴者が共用セションを知ることはないであろうから、消極的であれ積極的であれ盗聴に対抗してかなりの程度強化された保護を提供している。しかしながら、図４の装置はさらに強化され、外部機器からシステムに送信されるデータを置き換えたり変更したりしようとする潜在的な積極的な盗聴者に対抗したさらに高度な保護を提供する。特に、図５はＭＡＣ（メッセージ認証コード）保護を付加することにより、積極的な盗聴者に対抗する強化された保護を提供する、本発明のさらなる実施形態を模式的に図示している。
【００４８】
具体的に言うと、図５に示されているように、外部機器５７０は保護されたプロセッサ５７２を含み、それは認証についてのコード５７４、専用キー５７６と５７８、セションキーコード５８０、暗号化／復号化コード５８２、ＭＡＣ操作コード５８４、及び２つの機能Ｆ１とＦ２についての制御コード５８６、５８８とをもっている。Ｆ１とＦ２についてのコードは、もし機能Ｆｘが自律的であるなら、即ち、外部機器からの付加的な入力を必要とすることなくレベルｘにおける認証後に自動的に実行するなら、機能しないかもしれない。システムはまた、５９０で示されているように、ＩＲＯＭ１１４にＭＡＣコードを含み、或いは、再び、そのＭＡＣコードは図３のフラッシュプログラムメモリ１０４の１回プログラム可能部分３８０に格納される。
【００４９】
図５の実施形態において、もし、攻撃者が積極的な盗聴者、即ち、データを挿入したり送信されたデータを自分自身のデータを置き換えることを試みる攻撃者であるなら、ＭＡＣの使用によりそのような攻撃を高い確度で検出する。秘密セションキーが利用可能であることにより、広範囲のＭＡＣの使用が可能になる。例えば、“ハンドブック”に規定されているようにＨＭＡＣを使用できる。
【００５０】
ＭＡＣは外部機器とシステムとの間のデータチャネルにおけるデータの暗号化とともに用いても良いし、その暗号化なしに用いても良いことも理解すべきである。
【００５１】
例えば、ＨＭＡＣ（“ハンドブック”の３５５ページ）のようなＭＡＣを採用するとき、送信データの形式はデータオブジェクト、ＨＭＡＣ（Ｓｘ，データオブジェクト）である。ここで、Ｓｘはデータオブジェクトの起源とそのデータオブジェクトが明文データか或いは暗号化データであるのかに依存してＳ１或いはＳ２である。受信機はまた、自分自身のセションキーの値Ｓｙを用いてＨＭＡＣ（Ｓｙ，受信オブジェクトデータ）を計算することにより受信データオブジェクトをチェックする。成功した認証の結果としてＳｘ＝Ｓｙであるので、２つのＨＭＡＣの値はもし、“データオブジェクト”＝“受信データオブジェクト”であるなら同一である。
【００５２】
図６は、アクセスの最初の段階の間にシステム６００と外部機器６７０との間で送信されたメッセージの概観を図示している。示されているのは、レベル選択６０２、認証６０４、セションキー生成６０６、データ暗号化／復号化６０８、ＭＡＣ保護計算６１０である。図６において、選択された公開キーはモジュロＮを含み、外部機器はデータオブジェクトをシステムに送信することを望んでいることが仮定される。
【００５３】
この明細書において用いられた“有する／有している”という用語は陳述された特徴、整数、工程、或いは要素の存在を特定するためにとられたものであるが、１つ以上の別の特徴、整数、工程、要素、或いはグループの存在や付加を排除するものではないことを強調しておきたい。
【００５４】
ここで記載されたことは本発明の現在の好適な実施形態を構成しているが、本発明は数多くの他の形式をとることもできることが認識されるべきであることを強調しておきたい。従って、本発明は、請求の範囲によって要求されている限りにおいてのみ限定されるべきであることを理解されたい。
【図面の簡単な説明】
【図１】
装置の機能への制御されたアクセスを提供する公知の装置を模式的に図示している。
【図２】
本発明の第１実施形態に従って、装置の複数の機能への制御されたアクセスを提供する装置を模式的に図示している。
【図３】
本発明の第２実施形態に従って、装置の複数の機能への制御されたアクセスを提供する装置を模式的に図示している。
【図４】
本発明の第３実施形態に従って、盗聴者に対抗する保護を含む、装置の機能への制御されたアクセスを提供する装置を模式的に図示している。
【図５】
本発明の第４実施形態に従って、積極的な盗聴者に対抗する付加的な保護を含む、装置の複数の機能への制御されたアクセスを提供する装置を模式的に図示している。
【図６】
図２〜図５の装置と外部機器との間での接続セットアップ中におけるメッセージの流れを模式的に図示している。
【図１】
2004513420.tif 000003
【図２】
2004513420.tif 000004
【図３】
2004513420.tif 000005
【図４】
2004513420.tif 000006
【図５】
2004513420.tif 000007
【図６】
2004513420.tif 000008
【国際公開パンフレット】
2004513420.tif 000009
2004513420.tif 000010
2004513420.tif 000011
2004513420.tif 000012
2004513420.tif 000013
2004513420.tif 000014
2004513420.tif 000015
2004513420.tif 000016
2004513420.tif 000017
2004513420.tif 000018
2004513420.tif 000019
2004513420.tif 000020
2004513420.tif 000021
2004513420.tif 000022
2004513420.tif 000023
2004513420.tif 000024
2004513420.tif 000025
2004513420.tif 000026
2004513420.tif 000027
2004513420.tif 000028
2004513420.tif 000029
2004513420.tif 000030
2004513420.tif 000031
2004513420.tif 000032
2004513420.tif 000033
2004513420.tif 000034
2004513420.tif 000035
【国際公開パンフレット（コレクトバージョン）】
2004513420.tif 000036
2004513420.tif 000037
【国際調査報告】
2004513420.tif 000038
2004513420.tif 000039
2004513420.tif 000040
2004513420.tif 000041