(57)【要約】  本願の教示は、電子デバイスの使用を規定する使用制限データの保護を行う方法及び装置を提示するものである。暗号化回路がセキュアな及び非セキュアなアクセスをサポートする。暗号化回路は非セキュアにアクセスされると、格納される使用制限データを検証するように動作することが可能となり、さらに、セキュアにアクセスされると、暗号化回路は、変更される使用制限データを認証するために新たなメッセージ認証コードを生成するように動作することが可能となり、当該データをその後認証できるようになる。使用制限データは、非セキュアメモリに格納されてもよいし、静的部分と動的部分とを含むものであってもよい。１つ以上の実施形態はデバイスが初期設定化されているかどうかを示すセキュア回路を含む。暗号化回路は、デバイスが初期設定されていなかった場合にのみ、パーマネント・デバイス・キーを用いて静的部分用のメッセージ認証コードをセキュア回路から出力し、必要に応じて動的部分用のメッセージ認証コードを出力して、動的部分に対する認証済みの変更をサポートするようになっている。
2010525435.tif 000002
【特許請求の範囲】
【請求項１】
電子装置であって、
格納済みの使用制限データと、該格納済みの使用制限データを認証するための格納済みのメッセージ認証コードとを保持する第１のメモリと、
パーマネント・デバイス・キーを保持するセキュア回路と、
前記セキュア回路に接続され、非セキュアにアクセスされると、前記格納済みの使用制限データのための新たなメッセージ認証コードを出力することなく、前記格納済みのメッセージ認証コードと、前記パーマネント・デバイス・キーとを用いて前記格納済みの使用制限データを認証するように動作し、セキュアにアクセスされると、前記パーマネント・デバイス・キーと、前記格納済みの使用制限データの認証済みの修正を介して生成された変更済みの使用制限データとを用いて、新たなメッセージ認証コードを生成するように動作するとともに、前記変更済みの使用制限データとともに前記第１のメモリに格納するための前記新たなメッセージ認証コードを出力するように動作する暗号化回路と
を備えることを特徴とする電子装置。
【請求項２】
前記第１のメモリは、非セキュアメモリであることを特徴とする請求項１に記載の電子装置。
【請求項３】
セキュアな動作モードと非セキュアな動作モードとで選択的に動作し、前記非セキュアな動作モードにおいて、前記格納済みの使用制限データを認証するための前記暗号化回路に非セキュアにアクセスするように動作し、前記セキュアな動作モードにおいて、セキュアプログラム命令に応じて前記変更済みの使用制限データを生成し、前記変更済みの使用制限データのための前記新たなメッセージ認証コードを取得するために前記暗号化回路にセキュアにアクセスするように動作するシステムプロセッサをさらに備えることを特徴とする請求項１に記載の電子装置。
【請求項４】
前記セキュアな動作モードで動作する前記システムプロセッサによってアクセス可能であり、前記格納済みの使用制限データの変更をサポートする前記セキュアプログラム命令を格納するセキュアメモリをさらに備えることを特徴とする請求項３に記載の電子装置。
【請求項５】
前記システムプロセッサは、リセットに応じて前記セキュアな動作モードで開始され、少なくとも部分的に前記格納済みの使用制限データを認証するとともに前記電子装置の加入者識別モジュール（ＳＩＭ）設定を検証することによってセキュア・ウオッチドッグ・タイマを定期的に管理し、
前記セキュア・ウオッチドッグ・タイマは、前記セキュアな動作モードで動作する前記システムプロセッサによって定期的に管理されない限り、前記システムプロセッサをリセットすることを特徴とする請求項３に記載の電子装置。
【請求項６】
前記セキュア回路は、前記電子装置が初期化されたかどうかを示すワンタイム・プログラマブル・エレメントを備えることを特徴とする請求項１に記載の電子装置。
【請求項７】
前記ワンタイム・プログラマブル・エレメントは、アプリケーションのプログラミング信号に応じて永続的に変更されるヒューズ又はアンチヒューズを備えることを特徴とする請求項６に記載の電子装置。
【請求項８】
前記セキュア回路は、複数のワンタイム・プログラマブル・エレメントを備え、
前記複数のワンタイム・プログラマブル・エレメントのサブセットは、前記暗号化回路にアクセス可能な秘密キーとして前記パーマネント・デバイス・キーを記録することを特徴とする請求項６に記載の電子装置。
【請求項９】
前記格納済みの使用制限データは、静的部分と動的部分とを含み、
前記格納済みのメッセージ認証コードは、前記静的部分を認証するための第１の格納済みのメッセージ認証コードと、前記動的部分を認証するための第２の格納済みのメッセージ認証コードとを含み、
前記暗号化回路は、セキュアにアクセスされると、前記ワンタイム・プログラマブル・エレメントが前記電子装置が初期化されていないことを示す場合にのみ、前記第１の格納済みのメッセージ認証コードとして前記第１のメモリに格納するための前記格納済みの使用制限データの前記静的部分における新たなメッセージ認証コードを生成し、出力するように動作可能であることを特徴とする請求項６に記載の電子装置。
【請求項１０】
前記暗号化回路は、セキュアにアクセスされると、前記システムプロセッサによるセキュアなアクセスを介して提供されるセキュアコマンドに応じて、前記第２の格納済みのメッセージ認証コードとして前記第１のメモリに格納するための前記格納済みの使用制限データの前記動的部分における新たなメッセージ認証コードを生成して出力することにより、前記格納済みの使用制限データの前記動的部分への認証された変更の最新の認証を可能にすることを特徴とする請求項９に記載の電子装置。
【請求項１１】
前記格納済みの使用制限データは、加入者識別モジュールのロック情報の静的部分と動的部分とを含み、
前記暗号化回路は、
前記暗号化回路によって常に承認される静的部分への変更がないように、前記電子装置のセキュアな初期化の一部として前記静的部分のみにおける第１のメッセージ認証コードを生成して出力し、
前記動的部分の認証された変更の一部として、前記動的部分への認証された変更のその後の認証を許容するために、前記動的部分における新たなメッセージ認証コード生成して出力することを特徴とする請求項１に記載の電子装置。
【請求項１２】
電子装置の使用を規定する使用制限データを保護する方法であって、
格納済みの使用制限データを認証するための格納済みのメッセージ認証コードとともに、前記電子装置の第１のメモリに前記格納済みの使用制限データとして、前記使用制限データを格納するステップと、
セキュア回路にパーマネント・デバイス・キーを格納するステップと、
非セキュアな動作モードにおいて、前記格納済みの使用制限データにおける新たなメッセージ認証コードを生成することなく、前記格納済みのメッセージ認証コードと前記パーマネント・デバイス・キーとを用いて、前記格納済みの使用制限データを認証するステップと、
セキュアな動作モードにおいて、前記パーマネント・デバイス・キーと、前記格納済みの使用制限データの認証済みの修正を介して生成された変更済みの使用制限データとを用いて、新たなメッセージ認証コードを選択的に生成し、前記変更済みの使用制限データとともに前記第１のメモリに格納するための前記新たなメッセージ認証コードを出力するステップと
を含むことを特徴とする方法。
【請求項１３】
前記第１のメモリに前記使用制限データと、前記メッセージ認証コードとを格納する前記ステップは、非セキュアメモリに前記使用制限データと、前記メッセージ認証コードとを格納するステップを含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記セキュアな動作モードと前記非セキュアな動作モードとの間を動的に変化する前記電子装置のシステムプロセッサに基づき、前記セキュアな動作モードと前記非セキュアな動作モードとで動作するステップをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１５】
セキュアメモリにセキュアプログラム命令を格納するステップをさらに含み、
前記セキュアメモリは、前記セキュアな動作モードで動作する前記システムプロセッサによってアクセス可能であることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記システムプロセッサは、リセットに応じて前記セキュアな動作モードで開始され、少なくとも部分的に前記格納済みの使用制限データを認証するとともに前記電子装置の加入者識別モジュール（ＳＩＭ）設定を検証することによってセキュア・ウオッチドッグ・タイマを定期的に管理し、
前記セキュアな動作モードで動作する前記システムプロセッサによって前記セキュア・ウオッチドッグ・タイマが定期的に管理されない限り、前記システムプロセッサをリセットするように、前記セキュア・ウオッチドッグ・タイマを構成するステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１７】
前記セキュア回路内に含まれるワンタイム・プログラマブル・エレメントを介して、前記電子装置が初期化されたかどうかを示すステップをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１８】
複数の追加のワンタイム・プログラマブル・エレメントを介して、前記セキュア回路内に前記パーマネント・デバイス・キーを格納するステップをさらに含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記格納済みの使用制限データは、静的部分と動的部分とを含み、
前記格納済みのメッセージ認証コードは、前記静的部分を認証するための第１の格納済みのメッセージ認証コードと、前記動的部分を認証するための第２の格納済みのメッセージ認証コードとを含み、
前記非セキュアな動作モードにおいて、前記格納済みの使用制限データを認証する前記ステップは、前記第１のメモリから取り出される前記格納済みの使用制限データの前記静的部分及び前記動的部分をそれぞれ認証するために、前記第１のメモリから取り出される、前記パーマネント・デバイス・キーと、前記第１及び第２の格納済みのメッセージ認証コードとを用いるステップを含むことを特徴とする請求項１４に記載の方法。
【請求項２０】
前記セキュアな動作モードにおいて、前記新たなメッセージ認証コードを生成する前記ステップは、
新たな第２のメッセージ認証コードを生成するために、前記パーマネント・デバイス・キーと、前記変更済みの使用制限データとを用いるステップと、
前記第１のメモリの前記格納済みの使用制限データの前記動的部分として前記変更済みの使用制限データを格納するとともに、前記第１のメモリの前記第２の格納済みのメッセージ認証コードとして格納するための前記新たな第２のメッセージ認証コードを出力するステップと
を含むことを特徴とする請求項１９に記載の方法。
【請求項２１】
電子装置の使用を規定する使用制限データを保護する方法であって、
前記暗号化回路が非セキュアにアクセスされると、前記電子装置のメモリから取り出される格納済みの使用制限データの認証のみを実行するように前記電子装置の前記暗号化回路を構成し、前記暗号化回路がセキュアにアクセスされ、かつ、新たなメッセージ認証コードの生成を実行するように命令されると、変更済みの使用制限データのその後の認証のための前記新たなメッセージ認証コードの生成を実行するように前記電子装置の前記暗号化回路を構成するステップを含むことを特徴とする方法。
【請求項２２】
セキュア回路にパーマネント・デバイス・キーをセキュアに格納するステップと、
前記暗号化回路に前記セキュア回路を接続するステップと
をさらに含み、
前記暗号化回路が非セキュアにアクセスされると、前記格納済みの使用制限データの認証のみを実行するように前記電子装置の前記暗号化回路を構成する前記ステップは、
非セキュアアクセスのために、前記格納済みの使用制限データと対応する格納済みのメッセージ認証コードとを読み出し、前記パーマネント・デバイス・キーを読み出し、前記パーマネント・デバイス・キーを用いて前記格納済みの使用制限データからメッセージ認証コードを算出し、前記算出したメッセージ認証コードを出力することなく、前記算出したメッセージ認証コードと前記格納済みのメッセージ認証コードとを比較するように前記暗号化回路を構成するステップを含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記暗号化回路がセキュアにアクセスされ、かつ、新たなメッセージ認証コードの生成を実行するように命令されると、前記新たなメッセージ認証コードの生成を実行するように前記電子装置の前記暗号化回路を構成する前記ステップは、セキュアにアクセスされた場合に、１つ以上の生成コマンドに応じるように前記暗号化回路を構成するステップを含み、
前記暗号化回路は、前記パーマネント・デバイス・キーを読み出し、該パーマネント・デバイス・キーを用いて前記変更済みの使用制限データから前記新たなメッセージ認証コードを算出し、前記変更済みの使用制限データとともに格納する前記新たなメッセージ認証コードを出力することによって応じることを特徴とする請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に電子デバイスのセキュリティに関し、特に電子デバイス内の加入者識別モジュールロック（「ＳＩＭｌｏｃｋ」）情報又は同様の利用可能データの保護に関するものである。
【背景技術】
【０００２】
電子デバイス、特にセルラ無線電話機のような移動通信装置は１つ以上の使用制限がかけられて販売される場合が多い。例えば、デバイスは、所定の通信ネットワークと所定のサービスプロバイダの少なくともいずれかに対して、所定の国においてのみ動作するように制限されている場合がある。加入者識別モジュール（ＳＩＭ）は、カード形式のハードウェアとして実装されたものであれ、あるいはソフトウェア形式で実装されたものであれ、上記のような制約を実施する際にキーの役割を果たすことができる。
【０００３】
特に、デバイスは、デバイスとともに使用可能なＳＩＭを限定する「ＳＩＭロック」（本書面において「ＳＩＭｌｏｃｋ」として省略する）を実施するセキュリティエレメントを含んでもよい。例えば、所定のデバイスに設けられたＳＩＭｌｏｃｋが、デバイスをロックして、ある特定のネットワーク通信事業者からのＳＩＭのみを受け付けたり、ある特定の国に対してのみＳＩＭを受け付けたりするように構成することができる。さらに別例として、デバイスによっては特定のＳＩＭに対してデバイスをロックし、それによって１つのデバイスから別のデバイスへのＳＩＭ情報の交換を許可しないようにするＳＩＭｌｏｃｋを含むものもある。例えば、通信事業者が、通信事業者によって提供される購入報酬金が長期の会員登録契約により回収されることを保証するタイプの制限ＳＩＭｌｏｃｋを備えた「プレミアム」デバイスすなわち高機能デバイスを装備することも可能である。
【０００４】
ＳＩＭｌｏｃｋを解除したり、作動不能にしたり、あるいは別様に巧みに回避したりする操作はすべて、一般にＳＩＭｌｏｃｋ不正と呼ばれるものであるが、このような不正操作はネットワーク通信事業者にとって大きな出費となる。なぜなら、このような不正操作は予期される申込み契約による収益を受け取ることを部分的にあるいは全体的に妨げるものとなるからである。このために、ロックを外し難くしたり、他の方法で巧みに回避することを困難にしたりするとともに、経済的観点及び回路実装上の観点からも実際に使用できるＳＩＭｌｏｃｋメカニズムの開発に大きな関心が寄せられている。
【０００５】
例えば、Ａｄｖａｎｃｅｄ  Ｒｉｓｅ  Ｍａｃｈｉｎｅｓ（登録商標）（ＡＲＭ（登録商標））は、ＴｒｕｓｔＺｏｎｅ（登録商標）ブランドで市販されているセキュアな処理アーキテクチャを提供する商品である。ＴｒｕｓｔＺｏｎｅ（登録商標）は、ＳＩＭの検証及び関連する処理のために使用することができるセキュアな処理環境と、一般的デバイス処理のために使用できる非セキュアな環境とが含まれる２つの処理環境を部分的に提供することによってハードウェアとソフトウェアとによるセキュリティを統合化したものである。セキュアな処理環境に対してＳＩＭ関連処理を適用することを示すさらなる例には、ＡＭＤ（登録商標）、インテル（登録商標）、ＨＰ（登録商標）、その他を含む様々な会社の協会であるＴｒｕｓｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｇｒｏｕｐ（登録商標）が含まれる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本願の教示は、電子デバイスの使用を規定する使用制限データの保護を行う方法及び装置を提示するものである。暗号化回路がセキュアな及び非セキュアなアクセスをサポートする。暗号化回路は、非セキュアにアクセスされると、格納済みの使用制限データを検証するように動作することが可能となり、さらに、セキュアにアクセスされると、暗号化回路は、変更済みの使用制限データを認証するための新たなメッセージ認証コードを生成して、当該データを将来認証できるように動作することが可能となる。使用制限データは、非セキュアメモリに格納されてもよいし、静的部分と動的部分とを含むものであってもよい。１つ以上の実施形態にはデバイスが初期設定されたかどうかを示すセキュア回路が含まれている。暗号化回路は、デバイスが初期設定されていなかった場合にのみパーマネント・デバイス・キーを用いて静的部分用のメッセージ認証コードをセキュア回路から出力し、必要に応じて動的部分用のメッセージ認証コードを出力して、動的部分に対する認証済みの変更をサポートするようになっている。
【０００７】
好適には、１つ以上の実施形態において、暗号化回路とセキュア回路とが特定用途向け集積回路（ＡＳＩＣ）又はシステムオンチップ（Ｓｙｓｔｅｍ−Ｏｎ−ａ−Ｃｈｉｐ）（ＳＯＣ）の一部として一体に実装されることが望ましい。そのように実装されているか否かにかかわらず、セキュア回路は、例えば、ヒューズ又はアンチヒューズのような複数のワンタイム・プログラマブルエレメントを備えることができる。少なくとも１つの実施形態において、パーマネント・デバイス・キーは、サブセットのワンタイム・プログラマブルエレメントを介して秘密キーとして格納されるとともに、暗号化回路へのアクセスを行うことが可能となる。同様に、１つ以上のワンタイム・プログラマブルエレメントは、デバイスが初期設定された（例えば該エレメントがデバイスの初期設定中に「焼くした（burnt）」）かどうかを示すパーマネントインジケータとして使用されてもよい。
【課題を解決するための手段】
【０００８】
したがって、１つ以上の実施形態において、電子装置は、格納済みの使用制限データと、当該格納済みの使用制限データを認証するための格納済みのメッセージ認証コードとを保持する第１のメモリと、パーマネント・デバイス・キーを保持するセキュア回路と、セキュア回路に接続された暗号化回路とを備える。暗号化回路は、非セキュアにアクセスされると、格納済みのメッセージ認証コードとパーマネント・デバイス・キーとを用いて、格納済みの使用制限データを認証するように動作することが可能となるが、格納済みの使用制限データの新たなメッセージ認証コードを出力するように動作することが可能とはならない。さらに、暗号化回路は、セキュアにアクセスされた場合、パーマネント・デバイス・キーと、格納済みの使用制限データの認証済みの修正を介して生成される変更済みの使用制限データとを用いて新たなメッセージ認証コードを生成するように動作することが可能となるとともに、変更済みの使用制限データとともに第１のメモリに格納するために、新たなメッセージ認証コードを出力するように動作することが可能となる。少なくともこのような１つの実施形態では、第１のメモリは非セキュアメモリを備えることが望ましい。
【０００９】
さらに、少なくとも１つのこのような実施形態では、電子デバイスはセキュアモードと非セキュアモードで選択的に動作するように構成されたシステムプロセッサをさらに備える。システムプロセッサは、格納済みの使用制限データを認証するために、かつ、変更済みの使用制限データ用の新たなメッセージ認証コードを取得できるように暗号化回路にセキュアにアクセスするために、暗号化回路に非セキュアにアクセスするように動作することが可能である。１つ以上の実施形態におけるシステムプロセッサは、セキュアなメモリ内に保護されることができるセキュアなプログラム命令を実行するステップに応じて、変更済みの使用制限データを生成するためにセキュアモードでさらに動作することが可能である。本発明を限定するものではない実施例として、システムプロセッサは、（登録商標）ＴｒｕｓｔＺｏｎｅ（登録商標）又はＴｒｕｓｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｇｒｏｕｐ（登録商標）仕様に準拠して少なくとも部分的に構成されることができる。さらに一般的に言えば、システムプロセッサは、セキュアな処理領域と非セキュアな処理領域とを提供するものであるとともに、これらの処理領域間で一体に機能するように動作することが可能である。
【００１０】
例えば、少なくとも１つの実施形態において、電子デバイスはセキュア・ウォッチドッグ・タイマを含み、当該セキュア・ウォッチドッグ・タイマは、システムプロセッサによるタイムリなサービスをセキュアモードで受けられなかった場合、システムプロセッサをリセットする。上記構成を補って、システムプロセッサはリセットして、セキュアモードに変わるように構成され、それによってシステムプロセッサによってタイムリなサービスが受けられなかった場合、セキュア・ウォッチドッグ・タイマはシステムプロセッサに対してセキュアモードに入るように強制する。
【００１１】
１つ以上の他の実施形態では、電子装置の使用を規定する使用制限データを保護する方法は、格納済みの使用制限データを認証するための格納済みのメッセージ認証コードとともに電子デバイスの第１のメモリに格納される使用制限データとして使用制限データを格納するステップと、パーマネント・デバイス・キーをセキュア回路に格納するステップとを有する。本方法はさらに、非セキュアな動作モードにある場合、格納済みのメッセージ認証コードとパーマネント・デバイス・キーとを用いて格納済みの使用制限データを認証するステップを含むが、格納済みの使用制限データの新たなメッセージ認証コードを生成するステップは含まない。さらに、本方法は、セキュアな動作モードにある場合、パーマネント・デバイス・キーと、格納済みの使用制限データの認証済みの修正を介して生成された、変更済みの使用制限データとを用いて新たなメッセージ認証コードを選択的に生成するステップと、変更済みの使用制限データとともに第１のメモリに格納するために、新たなメッセージ認証コードを出力するステップとを含む。
【００１２】
少なくともこのような１つの実施形態では、本方法は、使用制限データと（単複の）対応するメッセージ認証コードとを非セキュアなメモリの中に格納するステップを含む。しかし、上記詳細情報の有無に関わらず、本方法は、セキュアな動作モードと非セキュアな動作モードとの間で動的に変化する電子デバイスのシステムプロセッサに基づいてセキュアモードと非セキュアモードとで動作するステップを含むことも可能である。このような実施形態では、格納済みの使用制限データの認証済みの修正を行うステップは、セキュアなメモリに格納することができる、本システムのプロセッサによるセキュアなプログラム命令の実行を含むものであってもよい。
【００１３】
本発明は上記の特徴及び効果のみに限定されるわけではないことは言うまでもない。実際、当業者であれば、以下の詳細な説明を読み、添付図面を見るとき追加の特徴及び効果を認識するであろう。
【図面の簡単な説明】
【００１４】
【図１】本明細書において教示されるような電子デバイスの１つの実施例を示すブロック図である。
【図２】認証のための情報をサポートする、本明細書において教示されるような暗号処理の１つの実施例のフローチャートである。
【図３】電子デバイスにおいて使用制限情報を初期設定するために用いることができる初期設定システムの１つの実施例を示すブロック図である。
【図４】初期使用制限データの格納と、当該データに関連する認証情報の生成及び格納をサポートする処理を示す１つの実施例の関連するフローチャートである。
【図５】初期使用制限データの格納と、当該データに関連する認証情報の生成及び格納をサポートする処理を示す１つの実施例の関連するフローチャートである。
【図６】格納済みの静的使用制限情報と、対応する格納済みのメッセージ認証コード（ＭＡＣ）とを含む格納済みデータの１つの実施例を示す図である。
【図７】変更済みの使用制限データの格納と、当該データのための認証情報の生成及び格納をサポートする処理を示す１つの実施例の関連するフローチャートである。
【図８】変更済みの使用制限データの格納と、当該データに関連する認証情報の生成及び格納をサポートする処理を示す１つの実施例の関連するフローチャートである。
【図９】格納済みの静的使用制限情報と、対応する格納済みのＭＡＣとを含むとともに、格納済みの動的使用制限情報と、対応する格納済みのＭＡＣとをさらに含む格納済みのデータを示す１つの実施例の図である。
【図１０】本明細書において教示されるような電子デバイスの別の実施形態を示すブロック図である。
【発明を実施するための形態】
【００１５】
本発明を限定するものではない実施例として、図１は、装置１０を使用する方法を限定するか、別様に制限することを意図する使用制限データ１４を保持するメモリ１２を含む電子装置１０を例示する。これに対応して、メモリ１２は、使用制限データの認証に用いられるメッセージ認証コード（ＭＡＣ）１６を保持する。
【００１６】
一例として、ＭＡＣ１６は、例えば、セキュアハッシュアルゴリズム（ＳＨＡ）２５６に基づいてキード・ハッシュメッセージ認証コード（ＨＭＡＣ）を算出することができる。他の多くのＭＡＣ生成関数が公知であり、かつ、必要に応じてあるいは希望に応じてこれらの生成関数を用いることができる。大まかに言って、ＭＡＣ１６が（秘密）キーの関数及びデータストリングとして算出される。すなわち、ＭＡＣ１６は、ｆ（ｋｅｙ，ｓｔｒｉｎｇ）として定義される。但し、ｆは所望の導出関数である。したがって、最初の格納手順として、秘密キーを用いて、所定の有効な使用制限データ１４に対応するＭＡＣ１６を算出することができる。この有効な使用制限データ１４及び対応するＭＡＣ１６はメモリ１２に格納され、次いで、該データをメモリから検索し、同じキーとＭＡＣ導出関数とを用いて、検索済みのデータに対応するＭＡＣを算出し、次いで、この算出済みのＭＡＣをメモリ１２内に格納されたＭＡＣ１６と比較することによって、使用制限データ１４に対する不正な変更を検出することが可能となる。
【００１７】
装置１０がセルラ無線電話機又は他の無線通信装置又は使用制限の対象モジュールを備えているような場合、データの改竄をこのようにして検出するステップは複数のアプリケーションにおいて重要である。このような実施形態では、使用制限データは、本書面において前に説明したように、装置１０の使用を限定する加入者識別モジュールロック（「ＳＩＭｌｏｃｋ」）情報を含むものであってもよい。
【００１８】
好適には、装置１０は、格納済みの使用制限データ１４を認証するとともに、適当な場合には、デバイスの初期設定の一部としてＭＡＣを最初に決定したり、使用制限データ１４に対する認証済みの変更を反映する新たなＭＡＣを決定したりするためのような、新たに算出されたＭＡＣ１６を出力する暗号化回路１８を含むことが望ましい。暗号化回路１８は、例えば、論理回路構成を有するハードウェアベースの回路であってもよいし、あるいは別様に所望の暗号処理機能を実行するためにプログラムされた回路であってもよい。本明細書で教示されているように、暗号化回路１８は、１つ以上の実施形態において装置１０に対応する一意のキー２４をセキュアに保持するセキュア回路２２との接続部２０を備えるとともに、（装置の最初の構成又は供給中に装置メーカにより行われるような）装置１０の初期設定が行われたかどうかを示すインジケータ２６を提供する。したがって、セキュア回路２２は、キー２４を永続的に格納する際に用いられるとともに、装置１０が初期設定された後、初期設定インジケータ２６を永続的にセットするために用いられる、ヒューズ又はアンチヒューズのような複数のワンタイム・プログラマブル（ＯＴＰ）エレメント２８を含むようにしてもよい。
【００１９】
少なくとも１つの実施形態では、接続部２０は直接接続である。すなわち、装置１０内の他のハードウェア又はソフトウェアエンティティによって少なくとも利用することはできないようになっている。これは、暗号化回路１８のみがキー２４又はキー２４の暗号化済みバージョンに対するアクセス権を有していることを意味する。さらに、暗号化回路１８はキー２４を決して出力しないように構成することも可能である。これは、キー２４が未知のものであり、かつ現実にはほとんど発見できないものであることを意味する。さらに、暗号化回路１８及びセキュア回路２２は、特定用途向け回路（ＡＳＩＣ）、システムオンチップ、又は他の同様のパッケージ化済み回路を備えることができる組み込みモジュール３０の一部として実装可能である。好適にはこのような物理的パッケージは、セキュア回路２２と暗号化回路２４との間のインタフェースに対する任意の非破壊アクセスを防止するように設計できることが望ましい。
【００２０】
次いで、本発明を限定するものではない上記の詳細情報を考慮すると、１つ以上の実施形態における装置１０が、格納済みの使用制限データ１４と、格納済みの使用制限データを認証するための格納済みメッセージ認証コード１６とを保持するためのメモリ１２などの第１のメモリを備えることは理解されよう。装置１０は、パーマネント・デバイス・キー２４を保持するセキュア回路２２と、セキュア回路２２に接続されているとともに、非セキュアにアクセスされると、格納済みのメッセージ認証コード１６とパーマネント・デバイス・キー２４とを用いて格納済みの使用制限データ１４を認証するように動作することが可能となるが、格納済みの使用制限データ１４用の新たなメッセージ認証コードを出力するように動作することが可能にはならない暗号化回路１８とをさらに備える。さらに、暗号化回路１８は、セキュアにアクセスされると、パーマネント・デバイス・キー２４と、格納済みの使用制限データの認証済みの修正を介して生成された変更済みの使用制限データとを用いて新たなメッセージ認証コードを生成するように動作することが可能となるとともに、変更済みの使用制限データとともに第１のメモリの中に格納するために、新たなメッセージ認証コードを出力するように動作することが可能である。
【００２１】
例えば、格納済みの使用制限データ１４の１つ以上のエレメントを修正して、変更済みの使用制限データ１４’を取得することができる。但し参照番号の後の「プライム」マークはテキストにおいて変更された使用データを示す。したがって、認証済みの修正処理手順をサポートして、暗号化回路１８は、キー２４を用いて、新たなＭＡＣ、すなわちＭＡＣ１６’を変更済みの使用制限データ１４’から生成することになる。古い使用制限データ１４は、変更済みの使用制限データ１４’によって全体的に又は部分的に上書きされてもよい。そして、更新済みのＭＡＣ１６’は更新済みデータとともにメモリ１２に格納され、当該更新済みデータをその後認証できるようにする。本書面において、図を明瞭にするために必要でない限り、メモリ１２内に格納された使用制限データ及びＭＡＣは、たとえこれらのデータが変更値／更新値を表すものであったとしてもそれぞれ参照番号１４及び１６を用いて示されている。
【００２２】
不正なデータ変更に対抗するセキュリティ保護が暗号化回路１８とセキュア回路２２とによって与えられ、メモリ１２は、非セキュアフラッシュ又は他の不揮発性メモリなどの非セキュアメモリとして実現できることが望ましい。非セキュアメモリの使用は一般に、コストを低減するとともに、装置１０の設計、構成、検査、及び動作を単純化するものとなる。
【００２３】
図１の例へ戻ると、１つ以上の実施形態において、装置１０はモジュール３０の中に組み込まれたものであってもよいし、そうでなくてもよいシステムプロセッサ３２を含むものであることがわかる。システムプロセッサ３２は、「セキュア領域」と「非セキュア領域」とを有していてもよく、例えばＡＲＭ（登録商標）ＴｒｕｓｔＺｏｎｅ（登録商標）又はＴＣＧ（登録商標）規格又は推奨に従って構成されたものであってもよい。大まかに言って、システムプロセッサ３２は、セキュアモードと非セキュアモードとで選択的動作を行うように構成され、かつ、このシステムプロセッサ３２は、１つ以上のバス／インタフェース回路３４を介して暗号化回路１８と結合される。この結合は、暗号化回路１８がセキュアにアクセスされているか、非セキュアにアクセスされているかを示す／制御するアクセス制御回路３６を介して行われるような間接的な結合であってもよい。
【００２４】
好適には、この場合、暗号化回路１８は、セキュアなアクセス用及び非セキュアなアクセス用として構成されることが望ましい。したがって、システムプロセッサ３２は、セキュアモードと非セキュアモードとで暗号化回路１８を利用することができる。しかし、暗号化回路１８は、上記に詳述したように、該暗号化回路がセキュアにアクセスされるか、非セキュアにアクセスされるかに応じて別様に振舞うとともに、種々の機能を提供するように構成される。この構成によって、暗号化回路１８は上記のセキュアな動作の完全性に関して妥協することなく、セキュアな動作と非セキュアな動作とを行うために用いることが可能となる。
【００２５】
次いで、少なくとも１つの実施形態では、暗号プロセッサ１８はシステムプロセッサ３２にとって非セキュアモードで利用可能であり、該システムプロセッサ３２は、格納済みの使用制限データ１４を認証するためのプロセッサではあるが、更新済みの使用制限データを認証するために使用できる新たなＭＡＣを生成し、出力するプロセッサではない。特に、１つ以上の実施形態では、暗号化回路１８は、装置１０にとって有用な暗号タスクのサポート処理が行われる範囲に対する非セキュアなアクセスを介してさらに利用可能である。しかし、セキュアにアクセスされた場合にのみ暗号化回路１８は利用可能となり、変更済みの使用制限データを認証するために用いられる新たなＭＡＣが生成される。
【００２６】
したがって、１つ以上の実施形態において、システムプロセッサ３２は、セキュアモードと非セキュアモードで選択的に動作するように構成される。システムプロセッサ３２は、暗号化回路１８に非セキュアにアクセスして、格納済みの使用制限データ１４を認証するように動作することが可能であるとともに、セキュアなプログラム命令を実行するステップに応じて、変更済みの使用制限データを生成するようにセキュアモードで動作することが可能であり、さらに、変更済みの使用制限データのための新たなメッセージ認証コードを取得するために暗号化回路にセキュアにアクセスを行う。少なくともこのような１つの実施形態において、ネットワーク通信事業者又はサービスプロバイダのエージェントは、装置１０と結合し、かつ、使用制限データの変更を制御するか、別様に起動する適当な認証コードによって構成されたコンピュータシステムを有している。別の例では、システムプロセッサ３２とセキュアなプログラム命令とによって、このような承認された再プロビジョニングプロセスの一部として装置１０の無線での（ＯＴＡ）変更が可能となるようにセットアップすることが可能である。
【００２７】
したがって、１つ以上の実施形態における装置１０にはセキュアなプログラムメモリ３８が含まれ、このセキュアなプログラムメモリ３８はシステムプロセッサ３２と一体化されたものであってもよいし、そうでなくてもよいが、一般に、セキュアなプログラムメモリはシステムプロセッサ３２のセキュア領域の内部に保護されている。したがって、格納済みの使用制限データの変更をサポートするプログラム命令は、承認された更新手続の一部としてシステムプロセッサ３２によりアクセスできるように、セキュアなプログラムメモリ３８の中にセキュアに格納することが可能となる。
【００２８】
図２は、暗号化回路１８の振舞いの条件設定をアクセスのタイプに従って行う一例を示す図である。このような処理プロセスは、論理回路、ファームウェアを介して、又は暗号化回路１８の内部に設けられた何らかの別のメカニズムによって実装可能である。いずれの場合にも、例示の処理プロセスは、アクセスされる暗号化回路１８から始まる。したがって、暗号化回路１８は、アクセスがセキュアなものであるか、非セキュアなものであるかの判定を行うことになる（ブロック１００）。アクセスが非セキュアなものであれば、暗号化回路１８は、格納済みの使用制限データ１４に関して検証（認証）機能のみを実行することになる（ブロック１０２）。より詳しくは、格納済みの制約データ１４及び対応する格納済みのＭＡＣ１６を暗号化回路１８によって（あるいは暗号化回路１８へ別様に提供される他の方法によって）読み込むことができる。この場合、暗号化回路１８は、後続して格納される制約データ１４が真正なものであるか否かを示す表示を出力する。しかし、暗号化回路１８は、非セキュアにアクセスが行われた場合、変更済みの使用制限データに対して新たなＭＡＣの生成及び出力は行わない。
【００２９】
逆に、アクセスがセキュアなものであった場合、暗号化回路１８は変更済みの使用制限データに対して新たなＭＡＣの認証と生成の少なくともいずれかを実行する（ブロック１０４）。例えば、暗号化回路１８は、システムプロセッサ３２によりセキュアにアクセスし、コマンド又は秘密キー２４を用いて変更済みの使用制限データに対応する新たなＭＡＣを生成する旨の別の表示とともに、変更済みの使用制限データを提供することができる。一般に、このようなアクションは「必要に応じて」又は「コマンドベースで」実行することができる。さらに、大まかに言って、１つ以上の実施形態における暗号化回路１８は、この暗号化回路がアクセスされているモードに対応して、かつ、どのようなデータが暗号化回路に与えられているかに対応して、複数のコマンドを認識するか、規定済みの処理プロセスを実行するように構成するかの少なくともいずれかを行うことができる。
【００３０】
前に説明したように、暗号化回路１８によって提供される暗号をサポートする範囲又は性質は、アクセスのタイプ（セキュアなタイプ又は非セキュアなタイプ）とリンクされることに加えて、装置１０が初期設定されているかどうかという情報とリンクさせることができることは言うまでもない。上述したように、ヒューズ／アンチヒューズ又は他のタイプのＯＴＰであってもよいインジケータ２６がデバイスの初期状態を示す永続的で、かつ、セキュアなインジケータとして用いられる。
【００３１】
図３は本発明を限定するものではない例として、初期設定システム４０を示す図であり、初期設定システム４０はセキュアに動作するコンピュータ化された製造／初期設定システムを装置メーカにおいて備えることができる。初期設定システム４０は、データベース４２又は、最初のあるいはデフォルトの使用制限情報を含む他のデータ格納部へのアクセス権を有する。一例として、初期設定システム４０を動作させるデバイスベンダは、装置１０か、例えば、簡単な通信モジュールから高性能のスマートフォンまでをカバーする範囲のタイプのデバイスかの少なくともいずれかを２つ以上のネットワーク通信事業者へ提供することができる。いずれの場合も、データベース４２は、特定のネットワーク通信事業者と特定のデバイスモデルの少なくともいずれかを対象として規定された異なるセットのデフォルトの使用制限を含むことができる。
【００３２】
したがって、所定の装置１０に対して初期設定処理プロセスの一部として標準規格の又はデフォルトの使用制限データをロードすることができる。１つ以上の実施形態では、デフォルトの制約データには、例えば、使用制限に対する変更を認証するために用いられるキー値又はパスコード値を規定する静的認証データと、このような制約を規定するルール又は設定値を含む動的データとが含まれる。一般に、静的データは装置１０の耐用期間の間変更されないことが意図されるものであり、動的データは適当な認証に関するセキュアな動作条件の下でのみ変更されることが意図されるものである。
【００３３】
図４は装置１０の観点から見た処理プロセスの一例を示す図である。処理プロセスは、認証済みのデバイス初期設定を実行するための初期使用制限データ及び任意の関連するコマンド／構成データを受信する装置１０から始まる（ブロック１１０）。処理プロセスは、初期使用制限データに対応するＭＡＣを要求するか、あるいは別様に初期使用制限データに対応するＭＡＣを取得するために暗号化回路１８にセキュアにアクセスし続ける（ブロック１１２）。暗号化回路１８は、例えば、秘密キー２４を用いて初期使用制限データをハッシュすることによってこの初期使用制限データを処理することにより上記ＭＡＣを生成する。上記秘密キー２４を用いるステップには、該キー２４を直接用いるステップか、セキュリティの追加のために実行されるような、上記キー２４からキーを導き出すステップが含まれる。
【００３４】
装置１０又は初期化システム４０内にあるシステムプロセッサ３２又は他のエンティティは新たに生成されたＭＡＣを受信し、次いで、初期使用制限データ及び当該ＭＡＣを格納済みの使用制限データ１４及び対応する格納済みのＭＡＣ１６としてメモリ１２の中に格納させる（ブロック１１４）。次いで、装置１０又は初期化システム４０は、セキュア回路２２にプログラミング信号を印加させ、初期化インジケータ２６を永続的にセットさせ、装置１０が初期化されたことを表示させる（ブロック１１６）。好適には、この表示は、メモリ１２内に格納されたばかりの初期使用制限データの１つ以上の部分に対する新たなＭＡＣの算出を暗号化回路１８に決して許可しないようにするために１つ以上の実施形態において用いられることが望ましい。上記構成は、ひとたび装置１０が初期設定されてしまうと、初期使用制限データの１つ以上の部分自体の変更及び再認証を行うことができなくなることを意味する。この場合、少なくとも１つの実施形態において、ひとたび初期設定インジケータ２６がセットされると、装置１０が新たなＭＡＣを算出しないようにする静的認証値と、将来変更される可能性があり、新たなＭＡＣ値がセキュアな処理動作に従って静的認証値に対する認証によってのみ算出することができる動的値（ルール又は設定値）とが初期使用制限データの中に含まれる。
【００３５】
図５は、暗号化回路１８による処理プロセスに対する上記制約の効果を示す図である。図５は、図４のブロック１１２の初期設定処理というコンテキストの範囲内で暗号化回路１８により実行される処理プロセスをより詳しく表す図である。図示のように、例示の処理プロセスは、暗号化回路１８が（例えば初期設定システム４０から直接的にあるいは間接的に）初期使用制限データと、該初期使用制限データ用のＭＡＣが暗号化回路１８により生成され、出力されるべき旨の付随する要求又は指示とを受信するステップから始まる（ブロック１２０）。したがって、暗号化回路１８は、装置１０が初期設定されていることをインジケータ２６が示しているかどうかのチェックを行う（ブロック１２２）。装置１０が初期設定されていれば、暗号化回路１８はＭＡＣを生成しない。このことを可視化するために、少なくとも１つの実施形態では、暗号化回路１８はエラー情報又は他の情報を返信する（ブロック１２４）。
【００３６】
装置１０が初期設定されていることをインジケータ２６が示さなかった場合、暗号化回路１８は、接続部２０を介してクリアな形式又は暗号化形式でキー２４をセキュア回路２２から取得する（ステップ１２６）。次いで、暗号化回路１８は、例えばｆ（キー２４，初期化使用制限データ）として新たなＭＡＣを生成し（ブロック１２８）、次いで、システムプロセッサ３２の制御の下で行うことができるような形でメモリ１２に格納するために新たなＭＡＣを出力する（ブロック１３０）。しかし、本願では、暗号化回路１８の少なくとも１つの実施例は、少なくとも制限されたメモリインタフェース機能を含むものと考えられる。このことは、暗号化回路１８がＭＡＣをメモリ１２の中へ書き込むことと、格納済みの使用制限データ１４と格納済みのＭＡＣ１６とをメモリ１２から取り出すことの少なくともいずれかを行うことが可能であることを意味する。
【００３７】
図６は上記の初期設定処理プロセスの結果としてメモリ１２におけるデータストレージを示す図である。格納済みの使用制限データ１４は、「格納済みの静的使用制限データ４４」を含むものであることがわかる。この「格納済みの静的使用制限データ４４」は、該データ４４が装置１０の承認された初期設定の一部として装置１０の中へロードされた、デフォルトの又は起動用の使用制限データであることを示す。さらに適切に言えば、「静的使用制限データ」という用語は、装置１０の耐用期間の間、決して変更されないことを意図する使用制限データを示す用語である。これに対応して、格納済みのＭＡＣ１６には、格納済みの静的使用制限データ４４の認証時に将来使用することを意図する「格納済みの静的データＭＡＣ４６」が含まれる。
【００３８】
図７は、デバイスの使用制限に対する承認された変更を行うための、例えばシステムプロセッサ３２などによる処理プロセスを示す図である。処理プロセスは、試みられた変更が承認されたものであるかどうかの判定を行うシステムプロセッサ３２から始まる（ブロック１４０）。この処理は、静的使用制限データ４４の中に暗号化形式で格納することができるパスワード／パスコード等を認証するシステムプロセッサ３２に基づいて、セキュアモードで実行することができる。あるいは、一方向ハッシュのパスワード／パスコードが静的使用制限データ４４に格納される。変更が承認された処理の一部でなければ、システムプロセッサは変更を不許可にし、アボートする（ブロック１４２）。
【００３９】
少なくとも１つの実施形態において、静的使用制限データ４４自体は決して変更されることはない。例えば、静的使用制限データ４４は、動的使用制限データの値を変更するための認証値として用いられる親鍵の暗号化値又は一方向ハッシュ値を含み、かつ、上記動的使用制限データ自体は異なるＭＡＣにより保護されるようにすることができる。このケースでは、所定のＳＩＭとネットワークの少なくともいずれかなどに対してロックを行うステップを決定するルールがデータの中に含まれているものとして動的使用制限データを理解することができる。したがって、ユーザの認証が成功した後、当該ユーザは動的使用制限データにより規定された１つ以上の設定値の変更を許可されることはあり得るが、静的使用制限データ４４に組み込まれている基底に在る認証データが変更されることはない。例えば、ＳＩＭロックの変更を承認するために用いられる静的ＳＩＭロックキーが変更されることはない。
【００４０】
一方、変更が承認された場合、システムプロセッサ３２は変更済みの使用制限データを生成する。例えば、装置１０の最初のサービス契約の期限が切れた後、その所有者が別のサービスプロバイダとデバイスを使用したいと望む場合や、少なくとも最初のサービスプロバイダのネットワーク以外のネットワークとデバイスを使用するオプションを持ちたいと望む場合がある。したがって、承認された処理手順を用いて、動的使用制限データに対する変更を行うことが可能である。この処理は、変更済みの使用制限データを生成したり、あるいは別様に変更済みの使用制限データを受信したりするステップとして理解することができる（ブロック１４４）。少なくとも１つの実施形態において、「変更済みの使用制限データ」は、動的使用制限データに組み込まれた、あるいは、別様に動的使用制限データによりセットされた設定値に対する変更又は更新を表す。このようなデータは、当該データ用の新たなＭＡＣの生成に対する任意の要求済みの付随する要求とともに、セキュアなアクセス要求を介して暗号化回路１８へ提供される（ブロック１４６）。これに応じて、暗号化回路１８は変更済みの使用制限データから新たなＭＡＣを生成する。システムプロセッサは新たなＭＡＣを暗号化回路１８から受信し（ブロック１４８）、次いで、変更済みの使用制限データと、対応する新たなＭＡＣとをメモリ１２に格納する（ブロック１５０）。
【００４１】
図８は、上記の処理全体をサポートする暗号化回路１８による処理を示す実施例を表す図である。特に、図８は暗号化回路の処理プロセスを示す１つの実施例を表す図であり、この処理プロセスは、図７のブロック１４６に関連して説明したような、セキュアなアクセスを介して変更済みの使用制限データを受信する暗号化回路１８に応答して行われる。
【００４２】
したがって、図８の処理プロセスは、暗号化回路１８が、変更済みの使用制限データ、及び、このようなデータに対応する新たな所望のＭＡＣを求める何らかの付随する要求又は指示をセキュアに受信するステップから始まる（ブロック１５２）。暗号化回路１８が（接続部２０を介して）セキュア回路２２からパーマネント・デバイス・キー２４を取得するステップ（ブロック１５４）と、（例えば新たなＭＡＣ＝ｇ（キー２４，変更済みの使用制限データ）などの）新たなＭＡＣを適宜生成するステップとによって処理プロセスは続けられる（ブロック１５６）。但し、ｇ（●）は、静的使用制限データ４４用としてＭＡＣ生成に関連して用いられる、ｆ（●）とは異なるＭＡＣ生成関数であることが望ましいＭＡＣ生成関数を示す。変更済みの使用制限データとともにメモリ１２に格納するための新たなＭＡＣを出力する暗号化回路１８によって処理プロセスは続けられる。
【００４３】
図９は、上記の処理から生じるデータ及びＭＡＣの構成の１つの実施例を示す。例示のように、使用制限データ１４は、デバイスの使用制限の認証済みの修正に関与した後、実際には、２つの部分、すなわち、使用制限データ１４の初期設定の一部として（工場などにおいて）装置１０の中へロードされる格納済みの静的使用制限データ４４と、デバイスの使用制限の修正を意図する認証済みの処理手順の一部として装置１０の内部において別様に生成される格納済みの動的使用制限データ４８とを含む。これに対応して、ＭＡＣ１６は、実際には、格納済みの静的使用制限データ４４を認証するための第１のＭＡＣ（格納済みの静的データＭＡＣ４６）と、格納済みの動的使用制限データ４８を認証するための第２のＭＡＣ（格納済みの動的データＭＡＣ５０）とを含む。
【００４４】
例えば、前述したように、ＭＡＣ４６はｆ（キー２４，静的使用制限データ）として取得することができ、かつ、ＭＡＣ５０はｇ（キー２４，変更済みの使用制限データ）として得ることができる。次いで、図９を考慮すると、格納済みの使用制限データ１４は静的部分４４と動的部分４８とを含むことができること、及び、これに対応して格納済みのＭＡＣ１６は静的部分を認証するための第１の格納済みのＭＡＣ４６と、動的部分を認証するための第２の格納済みのＭＡＣ５０とを含むことができることは理解されよう。このようなコンテキストにおいて、暗号化回路１８は、セキュアにアクセスされた場合、装置１０が初期設定されていなかったことがインジケータ２６により示された場合にのみ、第１の格納済みのＭＡＣ４６として格納済みの使用制限データ１４を第１のメモリに格納するために静的部分として新たなＭＡＣを生成し、かつ、出力するように動作することができる。さらに、このような実施形態における暗号化回路１８は、セキュアにアクセスされたとき、システムプロセッサ３２によってセキュアなアクセスを介してＭＡＣ５０へ提供されるセキュアなコマンドに応答して、第２の格納済みのＭＡＣ５０として、第１のメモリに格納するための格納済みの使用制限データ１４の動的部分用として新たなＭＡＣを生成し、かつ、出力するように動作することができる。
【００４５】
上記構成によって、格納済みの静的使用制限データ４４として格納される認証コード／キーによるデバイスの初期設定と、格納済みの動的使用制限データ４８による最初の使用制限とによってデバイスの初期設定が可能となる。対応する格納済みの静的データＭＡＣ４６と格納済みの動的データＭＡＣ５０とは、静的及び動的使用制限データ４４及び４８用として格納される。上述したように、焼く（burning）ステップすなわち初期設定インジケータを別様にセットするステップは、格納済みの静的使用制限データ４４用として新たなＭＡＣを算出することを阻止するものである。このことは、格納済みの静的使用制限データ４４に対するその後の初期設定変更が認証され得ないことを意味する。しかし、格納済みの静的使用制限データ４４に対する適当な認証検証を用いて、使用制限データを変更するために新たなＭＡＣを暗号化回路１８に算出させることは可能である。この機能によって、格納済みの動的使用制限データ４８として格納するために、動的使用制限データの承認される変更を行うことが可能となるとともに、これに対応して更新されるＭＡＣの算出と、格納済みの動的データＭＡＣ５０の格納とを行うことが可能となる。したがって、この処理プロセスによって、格納済みの使用制限データ１４の動的部分に対して将来行われる認証が可能となる。
【００４６】
装置１０の別の側面を参照すると、図１０は、装置１０の別の実施形態に関連する例示の細部を提示する図である。前に例示したエレメントに加えて、例示の装置１０は、システムプロセッサ３２のセキュアモード内への一定時間毎の入力を保証するためのセキュア・ウォッチドッグ・タイマ回路６０と、ブリッジ回路６２と、前に例示したアクセス回路３６として機能するアクセス制御回路６４と、セキュアなＲＡＭ６６と、メモリ１２の外部メモリの実施形とやり取りする外部メモリインタフェース６８とを含む。さらに、メモリ１２は構成データ、ユーザデータなどのような追加データ７０を含んでもよく、かつ、セキュア回路２２は構成データ７２と他の構成データ７４の少なくともいずれかのデータのための追加のセキュリティを保持するために追加のＯＰＴエレメント又は他の記憶装置（メモリ）も含むものであってもよい。さらに、装置１０は、ＳＩＭカード７６を含むか、あるいは、ＳＩＭカード７６を受け入れ、かつ、ＳＩＭカード７６と通信するための少なくともＳＩＭカード回路インタフェース７８を含む。
【００４７】
例示の装置１０の少なくとも１つの実施例において、システムプロセッサ３２は、リセットに応じてセキュアモードで起動するように構成され、かつ、セキュア・ウォッチドッグ・タイマ回路６０は、セキュアモードで動作するシステムプロセッサ３２によって一定時間毎のサービスを受けなくなった場合、システムプロセッサ３２をリセットするように構成される。すなわち、ウォッチドッグの計時されたインタバルの時間が切れる前に、システムプロセッサがセキュアモードに入り、かつ、セキュア・ウォッチドッグ・タイマ回路６０にサービスを提供する（リセットする）動作を行わなければ、セキュア・ウォッチドッグ・タイマ回路６０は、システムプロセッサ３２に対してリセット信号をアサートして、システムプロセッサ３２にリブート／再開を行わせ、次いで、セキュアモードに入らせる。少なくともこのような１つの実施形態では、システムプロセッサ３２は、リセットに応じてセキュアモードで起動するように、かつ、少なくとも部分的に格納済みの使用制限データ１４を認証し、かつ、電子デバイス用の加入者識別モジュール（ＳＩＭ）の設定値（ＳＩＭ７６などに保持されている）に対して使用制限データ１４をチェックすることによって、セキュア・ウォッチドッグ・タイマ６０に対して一定時間毎にサービスを提供するように構成される。この場合、セキュア・ウォッチドッグ・タイマ６０は、システムプロセッサ３２による一定時間毎のサービスが得られなくなった場合、セキュアモードで動作するシステムプロセッサ３２をリセットするように構成される。
【００４８】
これに対応して、システムプロセッサ３２のセキュアモード処理の一部として規定されているように、システムプロセッサ３２は、暗号化回路１８を用いて、格納済みの静的使用制限データ４４と格納済みの動的使用制限データ４８との少なくともいずれかのデータを認証するように構成されてもよい。そのようにするために、暗号化回路１８に対して、格納済みの静的使用制限データ４４及び対応する格納済みの静的データＭＡＣ４６の提供（又は読み込み）が行われるとともに、格納済みの動的使用制限データ４８及び対応する格納済みの動的データＭＡＣ５０の提供（又は読み込み）が行われる。暗号化回路１８は、ｆ（キー２４，格納済みの静的使用制限データ４４）としてＭＡＣを算出することによって、格納済みの静的使用制限データ４４を認証し、かつ、その算出結果が格納済みの静的データＭＡＣ４６に等しいかどうかのチェックを行う。同様に、暗号化回路１８は、ｆ（キー２４，格納済みの動的使用制限データ４８）としてＭＡＣを算出することによって、格納済みの動的使用制限データ４８を認証し、かつ、その算出結果が格納済みの動的データＭＡＣ５０に等しいかどうかのチェックを行う。
【００４９】
上記のような認証をセキュア領域処理の必要な一部とすることができるという理由によって、及び、システムプロセッサ３２がリセットされて、セキュアモードになることがセキュア・ウォッチドッグ・タイマ回路６０によって保証されるという理由によって、装置１０はその格納済みの使用制限データ１４の信憑性の一定時間毎の検証を強制的に行うことができる（さらに、現在装置１０に取り付けられているＳＩＭに対して検証済みの使用制限データのチェックを強制的に行うことが可能となる）。したがって、たとえ不正な変更によって、装置１０をその使用制限に違反した状態で一時的に実行することに成功したとしても、その状態は短命なものとなるとともに、システムプロセッサ３２が、計時されるか、強制されるセキュアモードへ復帰する際にその状態が検出されることになる。
【００５０】
少なくとも１つの実施形態では、格納済みの使用制限データ１４は静的部分と動的部分とを含むことが可能なＳＩＭｌｏｃｋ情報を含む。前述の場合のように、暗号化回路１８は、装置１０をセキュアに初期設定するステップの一部として、静的部分のみのための第１のＭＡＣを生成し、出力するように構成され、それによって静的部分に対する変更は暗号化回路１８により認証されなくなる。暗号化回路１８は、動的部分の認証済みの変更の一部として、動的部分に対応する新たなＭＡＣを生成し、出力するようにさらに構成され、（格納済みの使用制限データ１４の）動的部分に対する認証済みの変更を将来認証できるようにする。
【００５１】
上記のＳＩＭｌｏｃｋ保護のさらに詳細な例では、このＳＩＭｌｏｃｋ情報が、契約又は支払いの対象である機能及び特権に装置１０の使用を限定することを意図するものである旨を再言することは有用なことである。例えば、ＳＩＭｌｏｃｋ情報は、装置１０が承認された方法でアンロックされるまで、特定のネットワーク（又はネットワークのサブセット、サービスプロバイダ、企業又は個々のＳＩＭ）に対して装置１０がロック状態のままとなることを保証するように構成することができる。したがって、ＳＩＭｌｏｃｋ情報は、装置１０の購入者又はユーザに関して装置１０に対応する許可済みの機能の個人化を表すものとなる。
【００５２】
したがって、装置１０は、起動時に又は他の時点においてＳＩＭカード７６から情報を読み出し、このような情報がＳＩＭｌｏｃｋ情報によって表される使用制限に対するチェックを行うことを保証するように構成することができる。暗号化回路１８を最初に用いて、ＳＩＭｌｏｃｋ情報を認証して、任意の認証の失敗時に停止するか、あるいは別の制御アクションを行うようにすることが可能であることは言うまでもない。例えば、装置１０は、緊急呼のみを試みることができる「制限されたサービス状態」に入ることができる。
【００５３】
少なくとも１つの実施形態では、メモリ１２内の使用制限データ１４として格納済みのＳＩＭｌｏｃｋ情報の形で表されるとともに、格納済みのＳＩＭｌｏｃｋ情報によって制御され得る５つの個人化カテゴリが設けられる。特に、暗号化された形式又は一方向ハッシュ形式で複数の「制御キー」を格納済みの静的使用制限データ４４内に格納することができる。したがって、ユーザが対応する制御キーに対する認証を行うように特定の使用制限により要求される。
【００５４】
本発明を限定するものではないこのような制御キーの例として、「ネットワーク制御キー」（ＮＣＫ）がネットワークカテゴリの中に含まれる。ネットワークサブセットカテゴリにおいて、情報は「ネットワークサブセット制御キー」（ＮＳＣＫ）を含んでもよい。サービスプロバイダ（ＳＰ）カテゴリにおいて、情報は「サービスプロバイダ制御キー」（ＳＰＣＫ）を含んでもよい。企業カテゴリにおいて、情報は「企業制御キー」（ＣＣＫ）を含んでもよい。最後に、ＳＩＭ／ＵＳＩＭカテゴリにおいて、情報は「個人化制御キー」（ＰＣＫ）を含んでもよい。（したがって、少なくとも１つの実施形態において、格納済みの静的使用制限データ４４は制約の変更を行うための認証キー／パスコードを含み、かつ、動的使用制限データ４８は認証の対象として修正され得る制約設定値を含むことになる。）
上記の個人化カテゴリは、他のカテゴリの状態にかかわりなく個々のカテゴリを活動状態にしたり、非活動状態にしたりすることができる限り、独立したものである。この構成は、１つのネットワーク、１つのネットワークサブセット、１つのＳＰ、１つの企業へのアカウント、１つのＳＩＭ／ＵＳＩＭ、又はこれらの任意の組み合わせに対して装置１０を最初に（又は後で）個人化することを可能にする構成である。すべてのこのようなキーベースの制限を強制することを保証するステップにおいて、ＳＩＭｌｏｃｋ情報は、生じる可能性のある異なるロック設定値を、ＳＩＭカード７６にセキュアに格納されている国際移動局識別子（ＩＭＳＩ）などの「加入者識別子フィールド」と比較するベースを提供する。（ここで留意すべき点として、説明を簡略にするために、ＳＩＭカード７６が例示され、本願明細書で説明されてはいるが、ソフトウェアベースのＳＩＭが装置１０にインストールされる場合にも、同じ機能が適用されるという点を付記しておく。
【００５５】
上記のコンテキストの場合、ＳＩＭｌｏｃｋ情報の保護は３つの主要部分、すなわち、ＳＩＭｌｏｃｋのアンロック用コード（変更を認証するための静的キー値又はパスコード値）の保護部分と、構成済みのＳＩＭｌｏｃｋ設定値（動的制約設定値）の保護部分と、不正な再プログラミング又は、ＳＩＭｌｏｃｋ情報の静的変更及び動的変更のいずれかの変更に対する保護部分とから構成される。暗号化回路１８は、そのセキュア／非セキュアな動作上の制約と、セキュア回路２２においてセキュアにアクセスされる装置固有キー２４の利用とを含む回路であり、ロバストなセキュリティと、経済的実装構成と、単純化された設計と、好適な２つの用途（暗号化回路１８のセキュア／非セキュアなアクセス）とを提供する構成装置において上記の保護を保証するものである。
【００５６】
本願の教示は、電子デバイスの使用を規定する使用制限データの保護を行う装置及び方法を上記のように提供するものである。１つ以上の実施形態において、上記方法は、電子デバイスの暗号化回路を構成して、この暗号化回路が非セキュアにアクセスされた場合、電子デバイスのメモリから取り出される格納済みの使用制限データの認証のみを実行し、かつ、暗号化回路がセキュアにアクセスされ、かつ、新たなメッセージ認証コードの生成を実行するように命令された場合、変更済みの使用制限データを将来認証するために新たなメッセージ認証コードの上記生成を実行するステップを有する。
【００５７】
本方法は、パーマネント・デバイス・キーをセキュア回路の中にセキュアに格納するステップと、セキュア回路を暗号化回路と接続するステップとをさらに有することができる。格納済みの使用制限データの認証のみを実行するために電子デバイスの暗号化回路を構成するステップは、暗号化回路が非セキュアにアクセスされた場合、非セキュアなアクセス用として暗号化回路を構成して、格納済みの使用制限データと、対応する格納済みのＭＡＣとを読み込み、パーマネント・デバイス・キーを読み込み、パーマネント・デバイス・キーを用いて格納済みの使用制限データからＭＡＣを算出し、この算出したＭＡＣを格納済みのメッセージ認証コードと比較するステップを有する一方で、算出済みのＭＡＣの出力を不許可にすることができる。
【００５８】
さらに、電子デバイスの暗号化回路を構成して、暗号化回路がセキュアにアクセスされ、次いで、新たなＭＡＣの生成を実行するように命令された場合、新たなＭＡＣの上記生成を実行するステップは、セキュアにアクセスされた場合、１つ以上の生成コマンドに応じて暗号化回路を構成するステップを含むことができる。例えば、暗号化回路は、パーマネント・デバイス・キーを読み込み、パーマネント・デバイス・キーを用いて新たなＭＡＣを変更済みの使用制限データから算出し、次いで、変更済みの使用制限データとともに格納するために新たなＭＡＣを出力することによって、適当なコマンドに応じるように構成することができる。
【００５９】
当業者であれば理解できるように、このような上述の説明及び添付図面は、本発明を限定するものではない、本書面で教示された方法及び装置の例を表すものであることは言うまでもない。したがって、本発明は、上述の説明及び添付図面によって限定されるものではない。代わりに、本発明は、上記特許請求項の範囲並びにそれらの合法的均等物によってのみ限定されるものである。
【図１】
2010525435.tif 000003
【図２】
2010525435.tif 000004
【図３】
2010525435.tif 000005
【図４】
2010525435.tif 000006
【図５】
2010525435.tif 000007
【図６】
2010525435.tif 000008
【図７】
2010525435.tif 000009
【図８】
2010525435.tif 000010
【図９】
2010525435.tif 000011
【図１０】
2010525435.tif 000012
【手続補正書】
【提出日】平成21年5月5日(2009.5.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子装置であって、
格納済みの使用制限データと、該格納済みの使用制限データを認証するための格納済みのメッセージ認証コードとを保持する非セキュアメモリと、
パーマネント・デバイス・キーを保持するセキュア回路と、
前記セキュア回路にセキュア接続を介して接続され、バスインタフェースを介して非セキュアにアクセスされると、前記格納済みの使用制限データのための新たなメッセージ認証コードを出力することなく、前記格納済みのメッセージ認証コードと、前記パーマネント・デバイス・キーとを用いて前記格納済みの使用制限データを認証するように動作し、前記バスインタフェースを介してセキュアにアクセスされると、前記パーマネント・デバイス・キーと、前記格納済みの使用制限データの認証済みの修正を介して生成された変更済みの使用制限データとを用いて、新たなメッセージ認証コードを生成するように動作するとともに、前記変更済みの使用制限データとともに前記非セキュアメモリに格納するための前記新たなメッセージ認証コードを出力するように動作する暗号化回路と、
セキュアな動作モードと非セキュアな動作モードとで選択的に動作し、前記非セキュアな動作モードにおいて、前記格納済みの使用制限データを認証するために前記バスインタフェースを介して前記暗号化回路に非セキュアにアクセスするように動作し、前記セキュアな動作モードにおいて、セキュアプログラム命令の実行に応じて前記変更済みの使用制限データを生成し、前記変更済みの使用制限データのための前記新たなメッセージ認証コードを取得するために前記暗号化回路にセキュアにアクセスするように動作するシステムプロセッサと、
前記セキュアな動作モードで動作する前記システムプロセッサによってアクセス可能であり、前記格納済みの使用制限データの変更をサポートする前記セキュアプログラム命令を格納するセキュアメモリと
を備えることを特徴とする電子装置。
【請求項２】
前記システムプロセッサは、リセットに応じて前記セキュアな動作モードで開始され、少なくとも部分的に前記格納済みの使用制限データを認証するとともに前記電子装置の加入者識別モジュール（ＳＩＭ）設定を検証することによってセキュア・ウオッチドッグ・タイマを定期的に管理し、
前記セキュア・ウオッチドッグ・タイマは、前記セキュアな動作モードで動作する前記システムプロセッサによって定期的に管理されない限り、前記システムプロセッサをリセットすることを特徴とする請求項１に記載の電子装置。
【請求項３】
前記セキュア回路は、前記電子装置が初期化されたかどうかを示すワンタイム・プログラマブル・エレメントを備えることを特徴とする請求項１に記載の電子装置。
【請求項４】
前記ワンタイム・プログラマブル・エレメントは、アプリケーションのプログラミング信号に応じて永続的に変更されるヒューズ又はアンチヒューズを備えることを特徴とする請求項３に記載の電子装置。
【請求項５】
前記セキュア回路は、複数のワンタイム・プログラマブル・エレメントを備え、
前記複数のワンタイム・プログラマブル・エレメントのサブセットは、前記暗号化回路にアクセス可能な秘密キーとして前記パーマネント・デバイス・キーを記録することを特徴とする請求項３に記載の電子装置。
【請求項６】
前記格納済みの使用制限データは、静的部分と動的部分とを含み、
前記格納済みのメッセージ認証コードは、前記静的部分を認証するための第１の格納済みのメッセージ認証コードと、前記動的部分を認証するための第２の格納済みのメッセージ認証コードとを含み、
前記暗号化回路は、セキュアにアクセスされると、前記ワンタイム・プログラマブル・エレメントが前記電子装置が初期化されていないことを示す場合にのみ、前記第１の格納済みのメッセージ認証コードとして前記非セキュアメモリに格納するための前記格納済みの使用制限データの前記静的部分における新たなメッセージ認証コードを生成し、出力するように動作可能であることを特徴とする請求項３に記載の電子装置。
【請求項７】
前記暗号化回路は、セキュアにアクセスされると、前記システムプロセッサによるセキュアなアクセスを介して提供されるセキュアコマンドに応じて、前記第２の格納済みのメッセージ認証コードとして前記非セキュアメモリに格納するための前記格納済みの使用制限データの前記動的部分における新たなメッセージ認証コードを生成して出力することにより、前記格納済みの使用制限データの前記動的部分への認証された変更の最新の認証を可能にすることを特徴とする請求項６に記載の電子装置。
【請求項８】
前記格納済みの使用制限データは、加入者識別モジュールのロック情報の静的部分と動的部分とを含み、
前記暗号化回路は、
前記暗号化回路によって常に承認される静的部分への変更がないように、前記電子装置のセキュアな初期化の一部として前記静的部分のみにおける第１のメッセージ認証コードを生成して出力し、
前記動的部分の認証された変更の一部として、前記動的部分への認証された変更のその後の認証を許容するために、前記動的部分における新たなメッセージ認証コード生成して出力することを特徴とする請求項１に記載の電子装置。
【請求項９】
電子装置の使用を規定する使用制限データを保護する方法であって、
セキュア回路にパーマネント・デバイス・キーを格納するステップと、
セキュア接続を介して暗号化回路に前記セキュア回路を接続し、バスインタフェースを介してシステムプロセッサに前記暗号化回路を接続するステップと、
格納済みの使用制限データを認証するための格納済みのメッセージ認証コードとともに、前記電子装置の非セキュアメモリに前記格納済みの使用制限データとして、前記使用制限データを格納するステップと、
非セキュアな動作モードで前記システムプロセッサによってアクセスされると、前記格納済みの使用制限データにおける新たなメッセージ認証コードを生成することなく、前記格納済みのメッセージ認証コードと前記パーマネント・デバイス・キーとを用いて、前記格納済みの使用制限データを認証するように前記暗号化回路を構成するステップと、
セキュアな動作モードで前記システムプロセッサによってアクセスされると、前記パーマネント・デバイス・キーと、前記格納済みの使用制限データの認証済みの修正を介して生成された変更済みの使用制限データとを用いて、新たなメッセージ認証コードを選択的に生成し、前記変更済みの使用制限データとともに前記非セキュアメモリに格納するための前記新たなメッセージ認証コードを出力するように前記暗号化回路を構成するステップと、
前記セキュアな動作モードと前記非セキュアな動作モードとの間を動的に変化する前記電子装置のシステムプロセッサに基づき、前記セキュアな動作モードと前記非セキュアな動作モードとで動作し、セキュアなプログラム命令の前記システムプロセッサによる実行を介して前記格納済みの使用制限データの認証済みの修正を行わせるステップと、
前記セキュアな動作モードで動作する前記システムプロセッサによってアクセス可能なセキュアメモリに前記セキュアなプログラム命令を格納するステップと
を含むことを特徴とする方法。
【請求項１０】
前記システムプロセッサは、リセットに応じて前記セキュアな動作モードで開始され、少なくとも部分的に前記格納済みの使用制限データを認証するとともに前記電子装置の加入者識別モジュール（ＳＩＭ）設定を検証することによってセキュア・ウオッチドッグ・タイマを定期的に管理し、
前記セキュアな動作モードで動作する前記システムプロセッサによって前記セキュア・ウオッチドッグ・タイマが定期的に管理されない限り、前記システムプロセッサをリセットするように、前記セキュア・ウオッチドッグ・タイマを構成するステップをさらに含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記セキュア回路内に含まれるワンタイム・プログラマブル・エレメントを介して、前記電子装置が初期化されたかどうかを示すステップをさらに含むことを特徴とする請求項９に記載の方法。
【請求項１２】
複数の追加のワンタイム・プログラマブル・エレメントを介して、前記セキュア回路内に前記パーマネント・デバイス・キーを格納するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記格納済みの使用制限データは、静的部分と動的部分とを含み、
前記格納済みのメッセージ認証コードは、前記静的部分を認証するための第１の格納済みのメッセージ認証コードと、前記動的部分を認証するための第２の格納済みのメッセージ認証コードとを含み、
前記非セキュアな動作モードにおいて、前記格納済みの使用制限データを認証する前記ステップは、前記非セキュアメモリから取り出される前記格納済みの使用制限データの前記静的部分及び前記動的部分をそれぞれ認証するために、前記非セキュアメモリから取り出される、前記パーマネント・デバイス・キーと、前記第１及び第２の格納済みのメッセージ認証コードとを用いるステップを含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記セキュアな動作モードにおいて、前記新たなメッセージ認証コードを生成する前記ステップは、
新たな第２のメッセージ認証コードを生成するために、前記パーマネント・デバイス・キーと、前記変更済みの使用制限データとを用いるステップと、
前記非セキュアメモリの前記格納済みの使用制限データの前記動的部分として前記変更済みの使用制限データを格納するとともに、前記非セキュアメモリの前記第２の格納済みのメッセージ認証コードとして格納するための前記新たな第２のメッセージ認証コードを出力するステップと
を含むことを特徴とする請求項１３に記載の方法。
【国際調査報告】
2010525435.tif 000013
2010525435.tif 000014
2010525435.tif 000015