(57)【要約】データ要素を記憶するためのデータメモリと暗号パブリックキーメカニズムの暗号キーの少なくとも１つを記憶するためのキーメモリとを備える電子デバイスを製造する方法である。この方法は、キーメモリに工場パブリックキーをロードするステップと、工場パブリックキーに対応する工場プライベートキーで署名された工場ソフトウェアをデータメモリにロードするステップを備える。この方法は、更に、電子デバイスをカスタマに配送した後、データメモリへのロード対象の次のデータ要素を検証するための工場パブリックキーとは異なる製品パブリックキーをキーメモリに、ロードするステップとを備え、この次のデータ要素は、対応する製品プライベートキーで署名されており、また、電子デバイスをカスタマへ配送する前に、工場パブリックキーを無効にするステップとを備える。
2005539304.tif 000002
【特許請求の範囲】
【請求項１】
電子デバイス（１０１、２０５）にデータをロードする方法であって、前記電子デバイスは、データ要素を記憶するためのデータメモリ（１０２）と暗号パブリックキーメカニズムの暗号キーの少なくとも１つを記憶するためのキーメモリ（１０５）とを備え、前記方法は、
前記キーメモリに工場パブリックキー（ＰｕｋF）をロードするステップ（Ｓ１、Ｓ７０１）と、
前記工場パブリックキーに対応する工場プライベートキー（ＰｒｋF）で署名された工場ソフトウェア（ＳＷ）を前記データメモリにロードするステップ（Ｓ２、Ｓ７０２）と、
前記方法は、更に、前記電子デバイスをカスタマに配送した後、前記データメモリへのロード対象の次のデータ要素を検証するための前記工場パブリックキーとは異なる製品パブリックキー（ＰｕｋP）を前記キーメモリにロードするステップ（Ｓ４、Ｓ７０４）と、前記次のデータ要素は、対応する製品プライベートキー（ＰｒｋP）で署名されており、
前記電子デバイスを前記カスタマへ配送する前に、前記工場パブリックキーを無効にするステップ（Ｓ７０５）と
を備えることを特徴とする方法。
【請求項２】
製造プロセスの完了を示すプロテクタブル識別子（ＩＤ）を前記電子デバイスに設定するステップ（Ｓ３、Ｓ７０３）を更に備える
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記工場パブリックキーをロードするステップは、
−前記プロテクタブル識別子が設定されているかを検出するステップと、
−前記プロテクタブル識別子が設定されている場合は、前記工場パブリックキーをロードするステップを中止し、そうでない場合は、前記工場パブリックキーをロードするステップと
を備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記製品パブリックキーをロードするステップは、
−前記プロテクタブル識別子が設定されているかを検出するステップと、
−前記プロテクタブル識別子が設定されている場合は、前記製品パブリックキーをロードし、そうでない場合は、前記製品パブリックキーをロードするステップを中止するステップと
を備えることを特徴とする請求項２または３に記載の方法。
【請求項５】
前記電子デバイスは、国際移動装置アイデンティティに関連付けられている移動電話であり、前記プロテクタブル識別子は、前記国際移動装置アイデンティティと、ワンタイムプログラマブル構成に記憶されている追加の識別子を有する
ことを特徴とする請求項２乃至４のいずれか１項に記載の方法。
【請求項６】
前記電子デバイスは、移動電話用に使用されるものである
ことを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記データメモリ及び前記キーメモリは、フラッシュメモリ中の選択されたブロックを備える
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記キーメモリにシークレットデータ要素のハッシュ値をロードするステップを更に備える
ことを特徴とする請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
前記シークレットデータ要素は、各電子デバイスに対して個々に選択される
ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記ハッシュ値は、前記電子デバイスに依存する方法によって判定される
ことを特徴とする請求項８または９に記載の方法。
【請求項１１】
前記製品パブリックキーをロードするステップは、更に、前記製品パブリックキーを備えるデジタル署名をロードするステップを備え、前期デジタル署名は、前記パブリックキーの有効性を制限する有効期限に関連付けられている
ことを特徴とする請求項１乃至１０のいずれか１項に記載の方法。
【請求項１２】
前記製品パブリックキーをロードするステップは、更に、前記製品パブリックキーを備えるデジタル署名をロードするステップを備え、前記方法は、更に、前記電子デバイスに所定メッセージを送信することによって前記デジタル署名を無効にするステップを備える
ことを特徴とする請求項１乃至１１のいずれか１項に記載の方法。
【請求項１３】
前記製品パブリックキーは、所定のセットのカスタマパブリックキーから選択される
ことを特徴とする請求項１乃至１２のいずれか１項に記載の方法。
【請求項１４】
前記セットのカスタマパブリックキーは、前記電子デバイスのプロトタイプを用いて使用するためのプロタイプパブリックキーを備える
ことを特徴とする請求項１３に記載の方法。
【請求項１５】
請求項８乃至１０のいずれか１項に記載の方法のステップを実行することによって、自身にロードされて、記憶されているデータを有する電子デバイスを再カスタマイズする方法であって、
−プロテクタブル識別子が前記電子デバイスに設定されているかを検出するステップと、
−前記キーメモリから前記シークレットデータ要素の前記ハッシュ値を取得するステップと、
−前記取得したハッシュ値と、基準シークレットデータ要素から算出された基準ハッシュ値とを比較するステップと、
−前記プロテクタブル識別子が設定されていて、かつ前記取得したハッシュ値が前記算出された基準ハッシュ値に対応する場合は、前記製品プライベートキーで署名されている再カスタマイズデータの電子デバイスへのロードを開始し、そうでない場合は、電子デバイスの再カスタマイズを中止するステップと
を備えることを特徴とする方法。
【請求項１６】
電子デバイスにデータを記憶するためのシステムであって、前記電子デバイスは、データ要素を記憶するためのデータメモリと暗号パブリックキーメカニズムの暗号キーの少なくとも１つを記憶するためのキーメモリとを備え、前記システムは、
−工場パブリックキーを前記キーメモリにロードする第１ローダモジュール（１０６）と、
−前記工場パブリックキーに対応する工場プライベートキーで署名された工場ソフトウェアを前記データメモリにロードする第２ローダモジュール（１０８）とを備え、
前記システムは、更に、
−前記電子デバイスのカスタマへの配送後に、前記データメモリへのロード対象の次のデータ要素を検証するために、前記工場パブリックキーとは異なる製品パブリックキーを、前記キーメモリにロードするように適合されている第３ローダモジュール（１１４）とを備え、前記次のデータ要素は、対応する製品プライベートキーで署名されているものであり、かつ
−更に、前記第３ローダモジュールは、前記電子デバイスの前記カスタマへの配送前に前記工場パブリックキーを無効化するように適合されている
ことを特徴とするシステム。
【請求項１７】
請求項８乃至１０のいずれか１項に記載の方法のステップを実行することによって、自身にロードされて、内部に記憶されているデータを有する電子デバイスを再カスタマイズするためのシステムであって、前記システムは、以下のように適合されているローダモジュールを備えていて、前記ローダモジュールは、
−プロテクタブル識別子が前記電子デバイスに設定されているかを検出し、
−前記キーメモリから前記シークレットデータ要素の前記ハッシュ値を取得し、
−前記取得したハッシュ値と、基準シークレットデータ要素から算出された基準ハッシュ値とを比較し、
−前記プロテクタブル識別子が設定されていて、かつ前記取得したハッシュ値が前記算出された基準ハッシュ値に対応する場合は、前記製品プライベートキーで署名されている再カスタマイズデータの電子デバイスへのロードを開始し、そうでない場合は、電子デバイスの再カスタマイズを中止する
ように適合されている
ことを特徴とするシステム。
【請求項１８】
請求項１乃至１４のいずれか１項に記載の方法のステップを実行することによって、自身にロードされて、内部に記憶されているデータを有する電子デバイス。
【請求項１９】
電子デバイスにデータを記憶する請求項１乃至１２のいずれか１項に記載の方法の以下のステップを実行するように適合されているコード手段を備えるコンピュータプログラムであって、この電子デバイスは、データ要素を記憶するデータメモリと、暗号パブリックキーメカニズムの暗号キーの少なくとも１つを記憶するキーメモリとを備え、
−前記電子デバイスのカスタマへの配送後に、前記データメモリへのロード対象の次のデータ要素を検証するために、製品パブリックキーを前記キーメモリにロードするステップであって、前記次のデータ要素は、対応する製品プライベートキーで署名されていて、前記製品パブリックキーは、前記キーメモリに記憶されている工場パブリックキーとは異なっていて、かつ前記データメモリへのロード対象の工場ソフトウェアを検証するために使用され、かつ前記工場パブリックキーに対応する工場プライベートキーで署名されている、ステップと、
−前記電子デバイスのカスタマの配送前に、前記工場パブリックキーを無効化するステップと
を備えることを特徴とするコンピュータプログラム。
【請求項２０】
データメモリ及びキーメモリを備える電子デバイスへの未許可リプログラミングを阻止する方法であって、前記方法は、前記データメモリへのロード対象の次のデータ要素を検証するために、暗号パブリックキーメカニズムの所定パブリックキーを前記キーメモリにロードするものであって、前記次のデータ要素は、対応するプライベートキーで署名されていて、
前記方法は、更に、
プロテクタブル識別子を前記電子デバイスに設定し、ここで、前記プロテクタブル識別子は、前記電子デバイスをリプログラムすることを許可されたエンティティを識別する
ことを特徴とする方法。
【請求項２１】
前記プロテクタブル識別子は、更に、パブリックキーのいくつかのカテゴリの内の選択されたものを識別する
ことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記プロテクタブル識別子は、前記電子デバイスのライフサイクルのいくつかの段階の内の選択されたものを示すものである
ことを特徴とする請求項２０または２１に記載の方法。
【請求項２３】
前記プロテクタブル識別子は、セキュリティ状態図中の状態を識別し、各状態は、電子デバイスの前記ライフサイクルの段階を示している
ことを特徴とする請求項２０乃至２２のいずれか１項に記載の方法。
【請求項２４】
前記セキュリティ状態図内の状態間の遷移の少なくとも１つは、前記プロテクタブル識別子の対応する変更に関連している
ことを特徴とする請求項２３に記載の方法。
【請求項２５】
前記プロテクタブル識別子は、ワンタイムプログラマブル（ＯＴＰ）メモリに記憶されている
ことを特徴とする請求項２０乃至２４のいずれか１項に記載の方法。
【請求項２６】
前記プロテクタブル識別子は、前記電子デバイスをリプログラムすることを許可されたエンティティを識別する識別子、製品状態インジケータ、前記ワンタイムプログラマブルメモリのロック状態及び前記電子デバイスを識別する製品識別子を備える
ことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記パブリックキーは、ジャバで直接読取可能に符号化されているデジタル署名で構成されている
ことを特徴とする請求項２０乃至２６のいずれか１項に記載の方法。
【請求項２８】
データメモリとキーメモリを備える電子デバイスであって、前記キーメモリは、前記データメモリへのロード対象の次のデータ要素を検証するために、暗号パブリックキーメカニズムの所定パブリックキーを内部に記憶しており、前記次のデータ要素は、対応するプライベートキーで署名されており、
前記電子デバイスは、更に、
内部にプロテクタブル識別子を記憶するワンタイムプログラマブルメモリを備え、前記プロテクタブル識別子は、前記電子デバイスをリプログラムすることを許可されたエンティティを識別する
ことを特徴とする電子デバイス。
【請求項２９】
請求項２０乃至２７のいずれか１項に記載の方法に従って保護されている電子デバイスにデータをロードする方法であって、
−前記プロテクタブル識別子が所定プロパティを持っているかを検出するステップと、
−前記プロテクタブル識別子が前記所定プロパティを持っている場合、前記プライベートキーで署名されている前記データをロードし、そうでない場合、前記データのロードを中止するステップと
を備えることを特徴とする方法。
【請求項３０】
請求項２０乃至２７のいずれか１項に記載の方法に従って保護されている電子デバイスにデータをロードするシステムであって、前記システムは、以下のように適合されているローダモジュールを備え、このローダモジュールは、
−前記プロテクタブル識別子が所定プロパティを持っているかを検出し、
−前記プロテクタブル識別子が前記所定プロパティを持っている場合、前記プライベートキーで署名されている前記データをロードし、そうでない場合、前記データのロードを中止する
ように適合されている
ことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのローディング、特に、電子デバイスへのソフトウェアのローディングに関するものである。より詳しくは、本発明は、データ要素を記憶するデータメモリと、暗号技術によるパブリックキーメカニズムの暗号キーの少なくとも１つを記憶するキーメモリを備える電子デバイスへのデータのロードに関するものである。本発明は、更に、未許可のリプログラミング（reprogramming）から電子デバイス（electronic device）を保護することに関するものである。
【０００２】
現代の電子デバイスの多くは、例えば、移動端末は、電子デバイスで使用するソフトウェア及びデータの少なくとも一方をロードするためのメモリを備えている。典型的には、このような電子デバイスの製造業者は、いくつかのプレインストール済ソフトウェア及びデータの少なくとも一方を有する電子デバイスあるいは持たない電子デバイスをカスタマ（customer：取引先）へ配送する、このカスタマは、更に、エンドユーザにその電子デバイスを配送するまえに、その電子デバイスをカスタマイズする。
【０００３】
その結果、工場内での電子デバイスの製造中は、ソフトウェア及びデータの少なくとも一方は電子デバイスにロードされる、これらには、例えば、テストソフトウェア、電子デバイスとともに配送対象となるプレインストール済ソフトウェアあるいはその類がある。また、電子デバイスの製造後、ソフトウェア及びデータの少なくとも一方がカスタマによってロードされる、これには、例えば、カスタマ専用サービス等を提供するカスタマ専用ソフトウェアがある。
【０００４】
プログラマブルデバイスにＳＷをロードする方法がいくつか知られている。しかしながら、既存の方法は、ソフトウェアの取り扱いを安全に処理するように設計されているが、これは、電子デバイス、例えば、いくつかの電子機器（electronic equipment）の中央処理ユニットの製造業者が最終機器の製造業者と同じである、あるいは中央処理ユニットが標準コンポーネントであるという仮定の下でなされている。異なる電子機器の製造業者がデバイス製造業者から処理ユニットを購入する場合、その製造業者は、通常は、自身の個々の最終機器にＳＷをロードしなければならない。このような状況の例は、移動電話プラットホーム、例えば、チップセットの製造がある、このチップセットは、移動電話、ＰＤＡあるいはその類の複数の製造業者に販売される。このような状況では、最終製品製造業者は、別の最終製品製造業者による機器へのＳＷのロードを防止しなければならない。
【０００５】
本明細書を通して、カスタマという用語は、製造された電子デバイスを受け取る任意のエンティティである。典型的には、カスタマは、別の企業あるいは会社であり、これらは、電子機器をカスタマイズし、それを他の電子デバイスに組み込み、配送チャネルを介してそれをエンドユーザへ販売する。例えば、電子デバイスは、電話製造業者によって、移動電話に組み込まれる基板であっても良い。この例では、電子デバイスのカスタマは、電話製造業者である。
【０００６】
以下では、工場からカスタマへ配送される電子デバイスは、工場内で製造中の電子デバイスと比較して、製品として参照する。
【０００７】
米国特許番号６，１６７，５２１は、権限によって制御されるデバイスの論理的なサブ領域に新規のコードをロードする方法を開示している。この従来の方法に従えば、権限は、新規のコード及びあるパラメータを有するメッセージを準備する、これは、新規のコードを実行するための実行環境における必要条件を指定する。この権限は、生成されたメッセージをデバイスに送信する、このデバイスは、メッセージの受信において、権限の証明を実行し、かつ、パラメータが、現在の実行環境に対して有効であるかどうかを検証する。有効である場合、デバイスは、受信した新規のコードを対応する論理的なサブ領域にロードする。
【０００８】
しかしながら、上述の従来技術の方法は、電子機器の製造時に、セキュリティを理由に、製造と、次のカスタマ専用カスタマイゼーションを分けることが要望されているという問題に着目していない。例えば、移動電話に組み込まれる基板の製造業者は、その基板のカスタマ、例えば、電話製造業者が、製品、即ち、ボードのカスタマイズの可能性を制限したい場合がある。また、カスタマは、任意のカスタマ専用製品ソフトウェアを要望しない場合がある、このソフトウェアは、カスタマが、基板の製造業者のカスタマである他の業者、例えば、他の電話製造業者に対しても利用可能なデバイス、即ち、基板にロードされているものである。
【０００９】
ここで、製品が一旦工場から出荷されたら、ソフトウェアをロードするために工場内で使用されるツールは製品とともに動作するべきでない、逆に、工場外の製品と一緒に使用されるツールは、工場内の製造中には使用されるべきでない。
【００１０】
物理的なハードウェアデバイス、例えば、ハードロック、スマートカード、ドングルあるいはその類によって、このようなローディングツールの安全を確保することが知られている。このような従来技術のソリューションに従えば、対応する外部デバイスが、例えば、挿入されているスマートカードあるいはそのツールの所定ポートに接続されているドングル等、ローディングツールに接続されている場合にのみ、ローディングツールの動作が可能である。
【００１１】
しかしながら、このような物理的なデバイスの使用は、いくつかの問題を持っている。このようなデバイスの取り扱い及び制御は、ローディングツールから抜き差して、安全な場所等で記憶されなければならないので、多くのオーバーヘッドを発生する。また、これらのデバイスは通常は小さいので、容易に紛失しやすいあるいは盗まれやすい、これにより、セキュリティのリスクが発生する。また、現代の電子機器は、ライフサイクルがかなり短くなることがしばしばある。その結果、大量の様々なバーションの電子機器及び／あるいは対応するソフトウェア及び／あるいは対応するローディングツールが存在する可能性があり、多くの場合、同時に発生する。ここで、ツールがより複雑になると、これは、物理的なデバイスの様々なバージョンに依存する可能性がある、これによって、ローディングツール及び物理的なデバイスのバージョンの取り扱い及びメンテナンスの複雑さが増大する。
【００１２】
ここで、本発明の目的は、電子デバイスのライフサイクルの様々な段階で、電子デバイスへのデータのセキュアローディング（secure loading：安全なロード）を提供することである。
【００１３】
本発明の第１の構成に従えば、上述及び他の目的は、電子デバイスへのデータをロードする方法によって達成され、この電子デバイスは、データ要素を記憶するデータメモリと、暗号パブリックキーメカニズム（cryptographic public key mechanism）の暗号キーの少なくとも１つを記憶するキーメモリを有する、この方法は、
−工場パブリックキーをキーメモリにロードし、
−工場パブリックキーに対応する工場プライベートキーで署名された工場ソフトウェアをデータメモリにロードし、
ここで、この方法は、更に、
−電子機器をカスタマに配送した後に、データメモリにロードされる次のデータ要素を検証するために、工場パブリックキーと異なる製品パブリックキーをキーメモリにロードし、この次のデータ要素は、対応する製品プライベートキーで署名されていて、
−電子デバイスをカスタマに配送する前に、工場パブリックキーを無効にする。
【００１４】
その結果、工場で使用されるツールと、工場外の製品で使用されるツールとの間の分離が、専用の工場暗号キー及び製品暗号キーを使用することによって達成される。工場でロードされるソフトウェアのすべては、対応する工場プライベートキーで署名され、かつ工場外の電子デバイスにロードされているソフトウェアのすべては、製品プライベートキーで署名される。本発明に従えば、工場パブリックキーは、製造の終了で無効化され、これによって、工場プライベートキーで署名された工場ソフトウェアが、これ以降、工場外の製品にロードできないことを補償する。同様に、製品プライベートキーで署名されたソフトウェアは、工場内の製造中に拒否されることになる。
【００１５】
本発明の効果は、電子デバイスの製造と、最終的に得られる製品の電子デバイスに対して異なるキーを使用することで、製品ソフトウェアが製造中にのみロードでき、かつ製品ソフトウェアが最終製品にのみロードできることを補償することである。その結果、製品で使用される署名されたソフトウェアはそれ以降保護対象とする必要がない、これは、工場外で使用することはできないからである、これによって、工場内での製品ソフトウェアの取り扱い及び制御がより簡略化する。
【００１６】
本発明の更なる効果は、簡単なキー構造を提供することである、これによって、電子デバイスに複雑なキー構造を保持して記憶する必要がなくなる。これは、移動端末及びその類のような、電子デバイスの記憶及び処理リソースの一方が制限されている場合に特に有効である。
【００１７】
工場キーあるいは製品キーが、所定のエンティティ、例えば、製造業者を示している場合、あるエンティティは、別のエンティティ、例えば、別の製造業者のデバイスに関連する電子デバイスにソフトウェア／データをロードすることができないことが補償される。
【００１８】
本発明の方法が、製造プロセスの完了を示すプロテクタブル（protectable：保護可能）識別子を電子デバイスに設定するステップを備える場合、処理対象のデバイスが製造プロセスの所定の段階を完了しているかを確実に判定するメカニズムが提供される。例えば、プロテクタブル識別子の設定は、工場内の製造プロセスの終了を示すことができる。この識別子はプロテクタブル（保護可能）である、即ち、永久的に設定することができるので、デバイスが一旦出荷された後に再度工場内に持ち込まれることがないことを補償することができる。好ましくは、プロテクタブル識別子はカスタマを識別するので、暗号キーが変更されている場合でさえも、あるカスタマが別のカスタマのソフトウェア／データをロードすることができないことを補償する。
【００１９】
一実施形態では、工場パブリックキーをロードするステップは、
−プロテクタブル識別子が設定されているかを検出するステップと、
−プロテクタブル識別子が設定されている場合は、工場パブリックキーをロードするステップを中止し、そうでない場合は、工場パブリックキーをロードするステップと
を備える。
【００２０】
工場プライベートキーを用いて電子デバイスにロードされている任意のデータの署名を行う工場プロセス中に使用されるツールは、製造プロセス中のみ使用できるという効果がある。工場パブリックキーが電子デバイス内で無効にされ、かつプロテクタブル識別子が一旦設定されると、工場パブリックキーのリロードは阻止される、これによって、本方法のセキュリティが向上する。ここで、プロテクタブル識別子は、電子デバイスの不揮発性メモリからキーが削除されることを阻止するという効果がある。
【００２１】
別の実施形態では、製品パブリックキーをロードするステップは、
−プロテクタブル識別子が設定されているかを検出するステップと、
−プロテクタブル識別子が設定されている場合は、製品パブリックキーをロードし、そうでない場合は、製品パブリックキーをロードするステップを中止するステップと
を備える。
【００２２】
ここで、製品パブリックキーは、プロテクタブル識別子の設定によって示される、製造プロセスの完了前にはロードできない、これによって、製造プロセス中に製造後（post-production）ツールの使用を防止する。製造ツールと製造後ツールを厳密に分離することによって、ツールの悪用あるいは誤用のリスクが更に削減される。
【００２３】
選択的には、プロテクタブル識別子は、製造プロセスの他の段階でロードされても良い、例えば、この段階には、工場パブリックキーのロード前のプロセスの初期化ステップ、あるいは、工場パブリックキーと製品パブリックキーとの交換後の最終ステップ、あるいは任意の工場ソフトウェアのロード前で、かつ工場パブリックキーのロード後の中間ステップがあり、あるいは製造プロセスの別の適切な段階がある。
【００２４】
提示の説明の目的のために、プロテクタブル識別子という用語は、任意の識別子を有し、これは、電子デバイスに設定可能であり、かつ削除及び変更に対して保護することができる。ここで、プロテクタブル識別子は、一旦設定され保護されると、妥当な努力をもってでしても、変更するあるいは消去することはできない。好ましくは、識別子はデバイスを固有に識別する。このようなプロテクタブル識別子の例は、レーザあるいはその類によって、電気的に切れるヒューズに制限されるものではなく、チャージメモリ、カプセル化永久キャパシタ、ワンタインプログラマブル（ＯＴＰ）メモリ等、あるいはそれらの組み合わせも含まれる。一実施形態では、プロテクタブル識別子は、製品パブリックキーに関連していても良い。例えば、製品パブリックキーはＯＴＰメモリに記憶することができる、これによって、製品パブリックキーとプロテクタブル識別子の両方が機能する。ここで、ハードウエアメカニズム、例えば、中央チップセットによって保護される、キーメモリ、例えば、フラッシュメモリにパブリックキーを記憶することによって、よりセキュリティの向上が図られる。
【００２５】
一実施形態では、電子デバイスは、国際移動機器アイデンティティに関連付けられている移動電話であり、プロテクタブル識別子は、国際移動機器アイデンティティと、ワンタイムプログラマブル構成で記憶された追加の識別子を有する。これにより、ハイレベルのセキュリティが提供され、かつ電子デバイスは固有に識別される。また、ＯＴＰメモリに記憶されているプロテクタブル識別子（プロテクタブル識別子の一部）は、例えば、６４ビット以下のような小さいサイズにすることができ、これによって、必要とされるＯＴＰメモリのコストが削減する。
【００２６】
本発明の効果は、工場プライベートキーのみが電子デバイスの製造業者に知られていて、これによって、他の製造業者はこれらの電子デバイスに自身のソフトウェアをロードできないことである。
【００２７】
工場パブリックキーは、メモリから削除することによって無効にできる、例えば、それに対応するビットをすべてゼロに設定することによって、あるいはそれを製品パブリックキーで上書きすることによって、無効にできる、あるいは、工場パブリックキーは、それを破壊することによって、例えば、記憶されているキーの１つ以上のビットを変更することによって、無効にできる、あるいは工場パブリックキーは、他の適切な方法で無効にできる、これによって、署名されたデータ要素を検証するための工場パブリックキーの連続使用を防止する。好ましくは、工場パブリックキーは永久に無効にされる、即ち、工場パブリックキーをコンピュータで再カスタマイズすることを実行不能にする、これによって、本方法のセキュリティが向上する。一実施形態では、工場パブリックキーと製品パブリックキーの両方が、工場プロセスの開始時に記憶される、工場パブリックキーは工場プロセスの終了時に無効にされる、これによって、製品パブリックキーのみが有効になる。
【００２８】
製造プロセスの完了後に、デバイスの再カスタマイズの必要がある場合は、いくつかあるいはすべての製品ツールへのアクセスを許容しても良い。しかしながら、製造プロセスの完了後に工場ツールへのアクセスを許容する場合は、システムのセキュリティの維持するための問題が通常存在する。
【００２９】
この問題は、本方法が、更に、シークレットデータ要素のハッシュ値をキーメモリにロードするステップを備える場合に解決される。その結果、再カスタマイズツールは、工場ツールとは異なっていてかつ分離されて提供されることが好ましく、ここで、再カスタマイズツールはそのシークレットデータ要素を知っている。ここで、電子デバイスの再カスタマイズは、システムのセキュリティを維持し、かつ製造と製造後プロセス／ツールとの区別を維持している制御環境内で実行されても良い。
【００３０】
再カスタマイズは、例えば、言語の設定の変更、国専用の設定、あるいはその類の設定の変更がある。ここで、再カスタマイズは、例えば、別の電子装置の一部として、電子デバイスの配送を他の国、市場等のエンドユーザに配送することをカスタマが要求している場合に、必要とされる場合がある。
【００３１】
新規の電子デバイスの開発中では、最初にプロトタイプの番号を生成して、例えば、サードパーティのプロバイダに、新規のデバイスと接続してソフトウェアをテストすることを許容することは共通の事項である。このような状況では、プロトタイプが、製造プロセスのセキュリティメカニズムによっても守られていることが要求される。しかしながら、実際に発売する製品に対して使用されるその後の製品ツールもプロトタイプに対して使用可能であることは、あるいはその逆のことは、通常望まれない。
【００３２】
そこで、一実施形態において、製品パブリックキーをロードするステップは、更に、製品パブリックキーを備えるデジタル認証をロードするステップを備える、このデジタル認証は、製品パブリックキーの有効性を制限する有効期限に関連付けられており、これによって、プロトタイプキーの有効性を所定有効期限で制限する。
【００３３】
別の実施形態では、製品パブリックキーをロードするステップは、更に、製品パブリックキーを備えるデジタル認証をロードするステップを備える、また、本方法は、更に、所定メッセージを電子機器に送信することによってこのデンタル認証を無効にするステップを備える。ここで、有効期限は予め定義される必要はないという効果があり、これによって、プロトタイプの開発及びテストプロセス内での遅延を容易に考慮することができる。電子デバイスに送信されるメッセージは、例えば、ショートメッセージサービス（ＳＭＳ）あるいは別のメッセージサービスのメッセージであっても良く、あるいは無線送信メカニズム（over-the-air transport mechanism）を介して無効化を図る、安全が確保された別の指示であっても良い。
【００３４】
別の実施形態では、製品パブリックキーは、所定のセットのカスタマパブリックキーから選択される、これによって、異なる製品、プロトタイプと製品、及び異なるカスタマを区別するメカニズムを提供する。
【００３５】
一実施形態では、製品パブリックキーは、対応するパブリックキーを有するデジタル認証と関連づけて記憶される。
【００３６】
本発明は、更に、内部にデータを記憶している電子デバイスに関するものであり、このデータは、上述及び後述の本方法のステップを実行することによって電子デバイスにロードされている。
【００３７】
本発明は、更に、内部にデータを記憶している電子デバイスの再カスタマイズの方法に関するものであり、このデータは、上述及び後述の本方法のステップを実行することによって電子デバイスにロードされていて、本方法は、
−プロテクタブル識別子が電子デバイスに設定されているかを検出するステップと、
−キーメモリからシークレットデータ要素のハッシュ値を取得するステップと、
−取得したハッシュ値と、基準シークレットデータ要素から算出された基準ハッシュ値とを比較するステップと、
−プロテクタブル識別子が設定されていて、かつ取得したハッシュ値が算出された基準ハッシュ値に対応する場合は、製品プライベートキーで署名されている再カスタマイズデータの電子デバイスへのロードを開始し、そうでない場合は、電子デバイスの再カスタマイズを中止するステップと
を備える。
【００３８】
説明の目的のために、プロテクタブル識別子が設定されているか検出するステップは、識別子が所定値及び他のプロパティの少なくとも一方を有しているかを検出する。
【００３９】
本発明は、更に、内部にデータを記憶している電子デバイスの再カスタマイズを行うシステムに関するものであり、このデータは、上述及び後述の本方法のステップを実行することによって電子デバイスにロードされていて、このシステムは、上述及び後述の電子デバイスの再カスタマイズの方法のステップを実行するように適合されているローダモジュールを備える。
【００４０】
本発明は、更に、電子デバイスにデータをロードするシステムに関するものであり、この電子デバイスは、データ要素を記憶するデータメモリと、暗号パブリックキーメカニズムの暗号キーの少なくとも１つを記憶するキーメモリとを備え、このシステムは、
−工場パブリックキーをキーメモリにロードする第１ローダモジュールと、
−工場パブリックキーに対応する工場プライベートキーで署名された工場ソフトウェアをデータメモリにロードする第２ローダモジュールと、
−電子デバイスのカスタマへの配送後に、データメモリへのロード対象の次のデータ要素を検証するために、工場パブリックキーとは異なる製品パブリックキーをキーメモリにロードするように適合されている第３ローダモジュールとを備え、この次のデータ要素は、対応する製品プライベートキーで署名されていて、更に、この第３ローダモジュールは、電子デバイスのカスタマへの配送前に工場パブリックキーを無効化するように適合されている。
【００４１】
本発明は、更に、電子デバイスにデータをロードする方法の以下のステップを実行するように適合されているコード手段を備えるコンピュータプログラムに関するものであり、この電子デバイスは、データ要素を記憶するデータメモリと、暗号パブリックキーメカニズムの暗号キーの少なくとも１つを記憶するキーメモリとを備え、
−電子デバイスのカスタマへの配送後に、データメモリへのロード対象の次のデータ要素を検証するために、製品パブリックキーをキーメモリにロードするステップであって、この次のデータ要素は、対応する製品プライベートキーで署名されていて、製品パブリックキーは、キーメモリに記憶されている工場パブリックキーとは異なっていて、かつデータメモリへのロード対象の工場ソフトウェアを検証するために使用され、かつ工場パブリックキーに対応する工場プライベートキーで署名されている、ステップと、
−電子デバイスのカスタマの配送前に、工場パブリックキーを無効化するステップと
を備える。
【００４２】
コンピュータプログラムはコンピュータ可読媒体上で実現されても良く、このコンピュータ可読媒体は、磁気テープ、光ディスク、デジタルビデオディスク（ＤＶＤ）、コンパクトディスク（ＣＤあるいはＣＤ−ＲＯＭ）、ミニディスク、ハードディスク、フロッピー（登録商標）ディスク、強誘電性メモリ、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭ、リードオンリメモリ（ＲＯＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、強磁性メモリ、光記憶、電荷結合素子、スマートカード、ＰＣＭＣＩＭカード等がある。
【００４３】
本発明の第２の構成に従えば、上述及び他の目的は、未許可のリプログラミングから電子デバイスを保護する方法によって達成され、この電子デバイスは、データメモリとキーメモリを備える、本方法は、データメモリへのロード対象の次のデータ要素を検証するために、暗号パブリックキーメカニズムの所定パブリックキーをキーメモリにロードする、この次のデータ要素は、対応するプライベートキーで署名され、ここで、本方法は、更に、電子デバイスにプロテクタブル識別子を設定し、このプロテクタブル識別子は電子デバイスをリプログラムすることが許可されたエンティティを識別する。
【００４４】
電子デバイスにプロテクタブル識別子を設定することによって、ここで、プロテクタブル識別子は電子デバイスをリプログラムすることが許可されたエンティティを識別するものであり、未許可のカスタマは、そのカスタマ自身のキーをキーメモリにロードすることが阻止される、このキーメモリは、カスタマにカスタマ自身のソフトウェアをロードすることを許容するものである。これにより、デバイスへの未許可のリプログラミングに対するセキュリティが向上する。
【００４５】
本発明の更なる効果は、電子デバイスの機能の所定の部分の安全性を確保することができる、経済的なソリューションを提供することである、ここで、これらの機能は、プロテクタブル識別子によって識別されるカスタマに対してライセンスされているものである。
【００４６】
プロテクタブル識別子が、更に、パブリックキーのいくつかのカテゴリの内の選択されたものを識別する場合、本発明は、消費者製品と製造とを区別するために使用されても良い。これは有効である、それは、いくつかの国の国際規則は、（無線）デバイスをリプログラムすることができる製品ツールが消費者製品上で実行できないことを必要とするからである。これは、製造のパブリック認証と、消費者製品に対する別のパブリック認証を使用して、製造の末端での消費者製品に対するパブリック認証を変更することによって達成できる。電子デバイスのリプログラムが許可されたエンティティと、認証のカテゴリを特定することによって、ローダモジュールは、ローダモジュールが対象の製品、例えば、対象の移動電話に対して機能すべきかどうかを判定することができる。
【００４７】
また、プロテクタブル識別子が電子デバイスのリプログラムが許可されたエンティティと、パブリックキーのいくつかのカテゴリの内の選択されたものを識別する場合、電子デバイス内のパブリックキーが破損しているあるいは破壊されている状況を安全にリカバリーするメカニズムが提供される。プロテクタブル識別子によって識別される情報に基づいて、リカバリーモジュールは、パブリックキーがどのタイプか判定することができる、あるいはリロードを認証（例えば、製造あるいは消費者製品認証）することができる、これによって、エラーによるリカバリー状況でさえも、ハイレベルのセキュリティを維持する。
【００４８】
一実施形態では、プロテクタブル識別子は、電子デバイスのフラッシュメモリのＯＴＰ領域に書き込まれる、これによって、電子デバイスにソフトウェアをロードするローダモジュールは、電子デバイスへのリプログラムが許可されたエンティティ、例えば、電子デバイスの許可された消費者を固有に判定することが可能となる。中央チップ上に、プロテクタブル識別子ＩＤ用の小ＯＴＰメモリがあることが好ましい。一実施形態では、フラッシュＩＤは、制御チップによって制御される適切なメカニズムによって、使用されている中央チップにバインドされている、これによって、セキュリティが更に向上する、これは、異なるプログラムフラッシュによって、そのフラッシュＩＤが置き換わることを阻止するからである。
【００４９】
ここで、制限された量のデータだけがＯＴＰメモリに記憶されることが必要とされているという効果がある、これによって、ＯＴＰメモリで必要とするサイズを削減する、つまり、製造コストを削減する。特に、これは有効である、それは、現在のチップセット内の標準のＯＴＰメモリサイズは、例えば、パブリック認証用には十分ではない６４ビットだけしか提供されていないからである。本発明の効果は、標準チップセットで実現されても良いことである。また、ＯＴＰソリューションは、フラッシュメモリ製造者間を区別し、また、本発明の効果は、様々なタイプのＯＴＰメモリで実現されても良いことである。
【００５０】
いくつかの実施形態では、プロテクタブル識別子から導出される値は、プロテクタブル識別子自身に代って記憶されることが理解される。特に、一実施形態では、プロテクタブル識別子から導出される暗号ハッシュ値がＯＴＰメモリに記憶され、これによって、プロテクタブル識別子のフォーマット時の柔軟性が向上する。
【００５１】
大量製造環境でのパブリックキー及びＯＴＰ設定の管理は複雑なタスクとなる可能性があることが理解される。従って、解決すべき更なる問題は、どのようにして、セキュリティ管理をまとめるかがある、特に、これは、セキュリティ管理が工場内の電子デバイスの製造と、消費者の最終製品とに関与し、かつ製造環境機関とに関与しなければならない場合である、ここで、製造環境機関は、例えば、下請業者のようなサードパーティである。
【００５２】
一実施形態では、セキュリティ状態図内の状態間の遷移の少なくとも１つは、プロテクタブル識別子での変更に関連し、これによって、製品ライフサイクル内のセキュリティ条件を効果的に管理するメカニズムを提供する。
【００５３】
ロックフラッグを設定することによってロック可能なＯＴＰメモリに、プロテクタブル識別子が記憶される場合、このロックフラグの状態は、プロテクタブル識別子の一部として使用されても良い。例えば、ＯＴＰのロック状態あるいは移動電話のＩＭＥＩは、プロテクタブル識別子の情報のビットして使用しても良い。例えば、ロック状態は、製造中及び最終製品中のデバイスを区別することができる。
【００５４】
本発明は、更に、上述及び後述の方法に従って保護されている電子デバイスにデータをロードする方法に関するものであり、本方法は、
−プロテクタブル識別子が所定プロパティを持っているかを検出するステップと、
−プロテクタブル識別子が所定プロパティを持っている場合、電子デバイスに記憶されているパブリックキーに対応するプライベートキーで署名されているデータをロードし、そうでない場合、データのロードを中止するステップと
を備える。
【００５５】
説明の目的のために、プロテクタブル識別子の所定プロパティは、所定状態を満足する識別子に対応していても良く、これは、例えば、所定値とは異なる識別子、所定値に等しい、あるいはある値群の１つあるいはある値の範囲にある識別子、所定ロック状態を有する識別子あるいはその類である。
【００５６】
本発明は、更に、上述及び後述の方法に従って保護されている電子デバイスにデータをロードするシステムに関するものであり、このシステムは、以下のように適合されているローダモジュールを備えている、
−プロテクタブル識別子が所定プロパティを持っているかを検出することと、
−プロテクタブル識別子が所定プロパティを持っている場合、電子デバイスに記憶されているパブリックキーに対応するプライベートキーで署名されているデータをロードし、そうでない場合、データのロードを中止することである。
【００５７】
本発明の更なる効果は、電子デバイスにデータを安全にロードする方法を提供することであり、この電子デバイスは、大量生産プロセスに適している。
【００５８】
本発明の更なる効果は、デバイスのライフサイクルの様々な段階、例えば、工場内及び工場外の段階でのセキュリティ関連ソフトウェア／データをロードするステップを区別するための、拡張ツールを必要としないことである、この拡張ツールは、例えば、ハードロック、スマートカード、ドングルあるいはその類がある、そして、これによって、ロードツールの制御及びメインテナンスが簡単になる。
【００５９】
一実施形態では、データメモリ及びキーメモリは、フラッシュメモリ上の選択されたブロックである。フラッシュメモリ（時には、「フラッシュＲＡＭ」とも呼ばれる）は揮発メモリのタイプであり、これは、メモリのユニット、いわゆる、ブロック単位での消去及びリプログラムが可能である。電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）は、フラッシュメモリとは異なって、バイトレベルでの消去及び書換がなされ、フラッシュメモリの更新よりも更新が遅い。フラッシュメモリは、たいていは、パーソナルコンピュータ内の基本入出力システム（ＢＩＯＳ）のような制御コードを保持するために使用される。フラッシュメモリ内でデータが変更される必要がある場合、フラッシュメモリはブロック（バイトではなく）サイズで書込を実行できるので、更新を容易に行える。フラッシュメモリは自身の名前を取得する、これは、マイクロチップが構成されることで、メモリセルのセクションが単一の動作で消去されるあるいは「フラッシュ」されるからである。フラッシュメモリは、デジタルセルラー電話、デジタルカメラ、ＬＡＮスイッチ、ノートブックコンピュータ用のＰＣカード、デジタルセットトップボックス、組込コントローラ及び他の電子デバイスの間で広く使用されている。
【００６０】
データメモリ及びキーメモリの少なくとも一方の他の例には、磁気テープ、光ディスク、デジタルビデオディスク（ＤＶＤ）、コンパクトディスク（ＣＤあるいはＣＤ−ＲＯＭ）、ミニディスク、ハードディスク、フロッピー（登録商標）ディスク、強誘電性メモリ、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、ＥＰＲＯＭ、リードオンリメモリ（ＲＯＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、強磁性メモリ、光記憶、電荷結合素子、スマートカード、ＰＣＭＣＩＭカード等がある。
【００６１】
更なる実施形態は、従属請求項で開示されている。
【００６２】
本発明は、上述及び後述の方法を含む様々な方法、システム、電子デバイス及び他の製造手段で実現することができる、それは、１つ以上の効果をもたらし、かつ上述の方法に関して説明される効果をもたらし、また、それぞれは、上述の方法に関して説明され、かつ従属請求項で開示される実施形態に対応する１つ以上の実施形態を有している。
【００６３】
図面において、同様の参照番号は、同様あるいは対応するコンポーネント、ステップ等を参照するものである。
【００６４】
図１は本発明の実施形態に従う製造プロセス及び再カスタマイズプロセスを示している。製造プロセスの初期ステップＳ１では、電子デバイス１０１が提供される。本実施形態では、電子デバイスは実装基板（a mounted board）を含んでいる、即ち、カスタマ用の製品の製造中に、上述のプロセスが、ボード上の電子コンポーネントの表面実装の完了後で、かつ最終組立ステップ中あるいは前に通常発生していると仮定する。電子デバイスは、メモリセクション１０３、１０４及び１０５を含むメモリ１０２を備えている。メモリ１０２は、１つ以上の異なるタイプのメモリ、あるいは１つ以上のメモリモジュールを含んでいても良く、これには、例えば、ＥＥＰＲＯＭ、フラッシュメモリ、オンチップメモリ、ＲＡＭ、ＯＴＰメモリ等がある。メモリセクション１０３及び１０５は、フラッシュメモリのようなメモリのアドレス可能な領域であっても良い。本実施形態では、メモリセクション１０４は、ＯＴＰメモリである。本実施形態では、メモリ１０２は、ＯＴＰセクションを含むフラッシュメモリコンポーネントである。
【００６５】
第１ローディングステップ中では、第１工場ローディングツール１０６が、工場パブリックキーＰｕｋFをメモリセクション１０５にロードするために使用される。このローディングツール１０６は、工場パブリックキーＰｕｋFを記憶するメモリ１０７を備えている。
【００６６】
暗号技術の分野では、パブリックキーとプライベートキーを組み合わせて使用することは、例えば、パブリックキーあるいは非対称暗号技術として知られている。パブリックキーを使用するシステムは、パブリックキーインフラストラクチャ（ＰＫＩ）と呼ばれる。パブリックキーの暗号技術の本質は、デジタルメッセージ署名の形式を許容することである。送信側は、解読キー、即ち、パブリックキーを発行して、対応する暗号キー、即ち、プライベートキーを保持する。送信側は、メッセージあるいはそのメッセージから導出される値を暗号化する場合、だれも、パブリック解読キーを使用してそれを解読することはできない、そうすることで、受信側は、メッセージが送信側によってのみ暗号化されていることを確信することができる、これは、送信側が暗号キーの唯一の処理者（processor）であるからである。ここで、送信側は、効果的にメッセージを「署名」している。パブリックキーメカニズムの例は、ＲＳＡ暗号システム（例えば、リベスト，アール．、シャミール，エイ．、及びアデルマン，エル．  「デジタル署名の取得方法及びパブリックキー暗号システム」、ＡＣＭ通信、２１（１９７８）、ページ１２０−１２６（Rivest, R., Shamir, A. and Adleman, L. "A method for obtaining digital signatures and public key crypttosystems." Communications of the ACM, 21 (1978), pp. 120-126）を参照）、エルガマル暗号システム（エルガマル，ティー．「離散対数に基づく、パブリックキー暗号システム及び署名スキーム」  情報理論のＩＥＥＥ報告  ３１（１９８５）、ページ４６９−４７２（ELGamel, T. "A public key cryptosystems and a signature scheme based on discrete logarithms." IEEE Transactions on Information Theory, 31 (1985), pp. 469-472）を参照）、及び楕円曲線暗号システム（サエキ，エム．楕円曲線暗号システム  理学修士論文  マックギル大学  コンピュータサイエンス  １９９６（Saeki, M. Elliptic Vurve Cryptosytems. M.Sc. Thesis, McGill University School of Computer Science. 1996）を参照）がある。
【００６７】
好ましくは、パブリックキーは、キー発行者／所有者のデジタル認証に関係している、例えば、製造業者の工場パブリックキーの場合である。ここで、デジタル認証という用語は、送信側の許可を有効にするための役目を果たすデータ要素を示している。このデータ要素は、認証ホルダーの識別及びその認証ホルダーのパブリックキーの識別情報を備える、好ましくは、証明用の認証局（certification authority）のデジタル署名を備えることが好ましい。認証局は、送信側の識別子がデータ要素内のパブリックキーに関連付けられているものであることを証明する。この分野では、異なるタイプのパブリックキー認証がパブリックキーインフラストラクチャの一部として知られている、これは、デジタル署名ドキュメント、パブリックキー暗号、信用のあるサードパーティ、及び認証に係る文献及び発行物におけるメカニズムを取り扱う、この文献及び発行物は、例えば、Ｘ５０９  規格（ＩＴＵ−Ｔ  勧告Ｘ．５０９（１９９７））の「情報技術−オープンシステム相互接続−ディレクトリ：証明フレームワーク」）がある。ここで、説明の全体を通して、パブリックキーは、（パブリック）認証としても参照される、例えば、工場パブリックキーは工場認証としても参照される。デジタル認証の簡易フォーマットを以下で説明する。ここで、デジタル認証は、パブリックキーとエンティティ間のバインド（つながり：binding）を表現することに関与しても良く、ここで、バインドは、信頼のある認証局からの署名によって認証される。
【００６８】
好ましくは、工場認証をロードする前に、ローディングツール１０６は、メモリセクション１０５から有効な工場認証あるいは対応するカスタマ認証の読出を試行する、これについては以下で説明する、また、ＯＴＰメモリセクション１０４からの所定のプロテクタブル識別子の読出を試行する。有効な認証がメモリセクション１０５から読み出せず、かつプロテクタブル識別子がＯＴＰセクション１０４から読み出せない場合、ローディングツールは、パブリックキーＰｕｋFをロードする、これによって、電子デバイスが工場プロセスをまだ受けていないことを補償する。プロテクタブル識別子が存在しないことの検出は、プロテクタブル識別子のデフォルト値、例えば、ＩＤ＝０の検出に対応している、あるいは、プロテクタブル識別子の所定プロパティの検出、例えば、所定ロック状態、例えば、ロック状態＝「アンロック」の検出に対応している。プロテクタブル識別子のフォーマットの実施形態は、以下で説明する。
【００６９】
ローディングツール１０６は、他の設定に対しても使用されても良い、これには、例えば、キャリブレーションデータのダウンロード、データ領域を介して暗号ハッシュを算出することによるセキュアデータ領域の設定あるいはその類がある。
【００７０】
工場認証が正常に一旦ロードされると、電子デバイス１０１は、安全が確保された工場製造プロセス１２５に入る。
【００７１】
工場認証をロードするステップは、電子デバイスのメイン基板上にフラッシュメモリを搭載する前のプレフラッシュステップで実行されても良い。
【００７２】
ステップＳ２のセキュア工場プロセス１２５中には、電子デバイス１０１はテストされ、必要であれば、調整され、校正され、あるいはその類がなされる。例えば、移動電話の製造中では、無線コンポーネントは調整及び校正を必要とする場合があり、実装電子コンポーネントはテスト等を必要とする場合がある。このため、テスト、校正等のための工場ソフトウェアは、電子デバイス１０１のメモリ１０２にロードされる。工場ソフトウェアをロードするための工場ローディングツール１０８は、工場ソフトウェア及び工場プライベートキーＰｒｋFそれぞれを記憶するメモリ１０９及び１１０を備えている。工場プライベートキーＰｒｋFは、工場パブリックキーＰｕｋFに対応し、また、工場プライベートキーＰｕｋFは、工場ソフトウェアを電子デバイス１０１にロードする前に、工場ソフトウェアを署名する前にローダ１０８によって使用される。
【００７３】
署名された工場ソフトウェアを電子デバイス１０１にロードする前に、ローディングツール１０８は、電子デバイスのＯＴＰセクション１０４内の所定のプロテクタブル識別子の検出を試行する。ＯＴＰセクション１０４からプロテクタブル識別子が読み出せない場合、ローディングツール１０８は工場ソフトウェアをロードする、これによって、電子デバイスがまだ工場プロセスに入っていないことを補償する。また、工場ソフトウェアは、電子デバイスによるロード及び実行のみを受け入れる、これは、電子デバイスが、工場認証ＰｕｋFを使用して受信したソフトウェアの検証が成功した場合である。加えて、あるいは選択的には、他のソフトウェア及びデータの少なくとも一方が、この段階で電子デバイスにロードされても良い、これには、例えば、最終製品で使用するためのオペレーティングシステム及びアプリケーションソフトウェアの少なくとも一方がある。この他のソフトウェア及びデータの少なくとも一方のロードは、上述のようにローディングツール１０８あるいは別のローディングツール（不図示）によって実行される、ここでは、ロード対象のソフトウェア及びデータは工場プライベートキーＰｒｋFの少なくとも一方で署名される。
【００７４】
電子コンポーネントのテスト、アプリケーションソフトウェアのロードあるいはその類が成功した後、電子デバイスはステップＳ３中でカスタマイズされる、即ち、電子デバイスは特定の「アイデンティティ」が与えられる。例えば、カスタマイズステップは、電子デバイスの最終の物理的な組立後に実行されても良い。このステップ中には、ソフトウェアのカスタマイズが実行される、例えば、カスタマ専用ソフトウェア、国適合等が実行される。また、移動端末のコンテキストには、いくつかの周知のコードがロードされても良い、これには、例えば、アンロックコード及び、ＩＭＥＩ、カスタマコード等がある。カスタマイズツール１１１は、例えば、コードのようなソフトウェア及びデータの少なくとも一方をロードすることによって、かつ／あるいは電子デバイスに他の設定を実行することによって、上述のカスタマイズを実行する。本発明に従えば、カスタマイズローダは、電子デバイスへのロード対象の任意のデータあるいはソフトウェアを、カスタマイズツールのメモリのセクション１１７に記憶されている工場プライベートキーＰｒｋFを用いて署名する。また、上述のカスタマイズを実行する前に、カスタマイズツール１１１は、電子デバイスのＯＴＰメモリセクション１０４に識別子が設定されていないことを検証する。ここで、上述のステップＳ２と関連して、カスタマイズツール１１１によるカスタマイズは、電子デバイスがメモリセクション１０５に記憶されている有効な工場認証を持っていて、かつＯＴＰセクション１０４にプロテクタブル識別子が設定されていないことを必要とする。一実施形態では、電子デバイスは、ＩＭＥＩに関連付けられていて、また、プロテクタブル識別子は、ＩＭＥＩと、ＯＴＰメモリに記憶されているカスタマＩＤとの組み合わせになっている。ＩＭＥＩは約１５文字からなるので、ショートＯＴＰカスタマＩＤとＩＭＥＩの組み合わせ、例えば、１６ビットＩＤは、電子デバイスの固有の識別を提供する、同時に、削除に対して保護される。また、本実施形態のＯＴＰメモリの使用は少ない。
【００７５】
また、カスタマイズステップＳ３中には、プロテクタブル識別子１１２が電子デバイスのＯＴＰメモリセクション１０４に設定され、また、この識別子は消去及び変更に対する保護がなされる、これは、例えば、ＯＴＰメモリにロックフラグを設定することによって保護がなされる。ＩＤのロードは、セキュア製造プロセスの完了を示すことになる。前述のローダ１０６、１０８及び１１１はＯＴＰセクション１０４にＩＤが設定されないことを必要とするので、上述の工場ツールは、製造プロセスが完了しているデバイスには適用できない。
【００７６】
工場製造プロセスの終了時には、最終ローディングステップＳ４が、ローディングツール１１４によって実行される。このローディングツール１１４は、有効なＩＤがＯＴＰセクション１０４に設定されているか検証する、これによって、電子デバイスが製造プロセスを完了していることを補償する。ローダ１１４は、シークレット値Ｓのハッシュ値Ｈ（Ｓ）を電子デバイスのメモリセクション１０３にロードする。好ましくは、このハッシュ値のサイズは、適切なセキュリティを補償するために、少なくとも６４ビットからなる。現在の、この分野において現実的な暗号ツールを用いると、１２８ビットが使用される。セキュリティが向上するのは、シークレット値Ｓが各デバイスに対して個々に選択される場合、かつハッシュ値の算出がデバイス依存である、例えば、デバイス識別子によってパラメータ化される場合であることに注意する。また、いくつかの実施形態では、シークレット値Ｓのハッシュ値は、いくつかのハッシュ値から構成されても良いことに注意する。このハッシュ値は、上述のセキュア製造プロセスへ再度入れることなく、電子デバイスの次の安全な再カスタマイズを可能にする。ローディングツールは、ローディングツール１１４のメモリセクション１１６からシークレット値Ｓを検索し、対応するハッシュ値を算出する。選択的には、ローディングツール１１４は、別のコンピュータから、シークレット値あるいは算出されたハッシュ値を検索することができる。好ましくは、ハッシュ値は、工場プライベートキーＰｒｋFで署名されている。そして、ローダ１１４は、製品パブリックキーＰｕｋPを電子デバイスのメモリセクション１０５にロードする、これによって、上述の工場認証ＰｕｋFは無効になる。選択的には、製品パブリックキーは異なるメモリセクションにロードされても良く、また、工場認証は、例えば、そのビットのすべてあるいは所定のサブセットを０に設定することによって、無効にされても良い。
【００７７】
ここで、製造プロセスの完了後は、電子デバイスは、自身のメモリ１０２にアプリケーションソフトウェアを含み、また、ＯＴＰセクション１０４上に非リムーバルＩＤ、シークレットのハッシュ値Ｈ（Ｓ）及び製品パブリックキーＰｕｋPを含んでいる。
【００７８】
この段階では、ステップＳ５で、製品パブリックキーＰｕｋPに対応する製品プライベートキーＰｒｋP（１２０）を記憶している製品ローディングツール１１８を使用して、追加のソフトウェア及び／あるいはデータ１１９が電子デバイスにロードされても良い。ここで、製品プライベートキーＰｒｋPで署名されている、許可された製品ソフトウェア／データが電子デバイスに受け入れられる。しかしながら、この段階で、工場プライベートキーＰｒｋFで署名されたソフトウェア／データは電子デバイスによって拒否される。その結果、製造プロセス１２５と製造後プロセス１２６との厳密な分離がなされる、これによって、工場ソフトウェアあるいはアプリケーションソフトウェアが、未許可のエンティティによって電子デバイスにロードされないことを補償する。同様に、別のカスタマの製品プライベートキーＰｒｋF、即ち、電子デバイスに記憶されているパブリックキーに対応していないプライベートキーで署名されたソフトウェア／データも、電子デバイスによって拒否される。その結果、カスタマは、別のカスタマに対して許可されたデバイスに自身が所有するソフトウェアをロードすることができない。また、これは、あるカスタマのツールが別のカスタマのデバイス上で動作しないことを補償する。
【００７９】
しかしながら、製造プロセス中に実行されるいくつかの設定を再カスタマイズする、あるいは他の種類の再作業、例えば、ソフトウェアのリロード、校正（キャリブレーション）あるいはその類を実行することが必要される場合がある。上述のメカニズムでは、工場パブリックキーＰｕｋFはリロードできない、これは、ローダ１０６は、ＯＴＰ  ＩＤが電子デバイスのメモリセクション１０４に設定されていないことを必要とするからである。また、このような工場パブリックキーのリロードを可能にすることは、悪用のリスクをはらむことになる。
【００８０】
本発明に従えば、再カスタマイズは専用の再カスタマイズツール１２１を使用して実行することができる、このツールは、シークレットＳ（１２２）及び製品プライベートキーＰｒｋP（１２３）へアクセスする。再カスタマイズツールは、有効なＩＤがＯＴＰセクション１０４に設定されているかを検証する。また、再カスタマイズは、カスタマイズツール内のシークレットＳから算出されるハッシュ値が、電子デバイスに記憶されているハッシュ値Ｈ（Ｓ）に対応していることを必要とする。これは、カスタマイズツールあるいは電子デバイスによって検証されても良い。そして、再カスタマイズ中に、電子デバイスに送信される任意のデータ／ソフトウェアは、製品プライベートキーＰｒｋPによって署名され、これによって、セキュア工場プロセス１２５に再度入ることを回避するセキュア再カスタマイズプロセスを提供する、これによって、製造プロセスと製造後プロセスとを厳密に分離する。
【００８１】
上述のパブリックキーとプライベートキーは、任意の適切なパブリックキーメカニズムのキーであっても良く、これには、ＲＳＡあるいは楕円曲線暗号（ＥＣＣ）がある。工場と製品キーに対するこのメカニズムは、同一でもあるいは異なるメカニズムであっても良い。
【００８２】
また、電子デバイスにロードされているデータ／ソフトウェアは、それぞれのローディングツール及びカスタマイズツール１０８、１１１、１１４、１１８あるいは１２１によって署名されてもよく、あるいは、リモートコンピュータによって署名されてもよく、また、署名されたデータ／ソフトウェアは、実際のローディングを実行する、対応するローディングあるいはカスタマイズツールに送信されてもよい。
【００８３】
電子デバイスにロードする前に、ロード時間を削減するために、ソフトウェア及びデータの少なくとも一方が圧縮されても良いことが理解される。また、ソフトウェア及びデータの少なくとも一方が適切なプライベードあるいはパブリックキー暗号化メカニズムを使用して暗号化されても良く、これによって、更に、製造プロセスのセキュリティが向上することが理解される。
【００８４】
ローディング及びカスタマイズツールは、専用ハードウェアデバイスあるいは回路であっても良い、あるいは、標準ＰＣのようなデータ処理システム上で実行されるコンピュータプログラムとして実行されても良い、あるいは、それらの組み合わせとして実行されても良い。ここで、本明細書内では、ローディング局及びローディングツールという用語は、互いに置き換えて使用する。また、ローディング及びカスタマイズツールの暗号キーは、対応するリムーバル媒体に記憶されても良い。この媒体には、ＣＤ−ＲＯＭ、スマートカード等がある。例えば、キー及び暗号署名ソフトウェアは、ローディングツールに着脱可能に挿入できるスマートカード上で実行されても良い。
【００８５】
上述のプロセスのいくつかの変形が、本発明の範囲内で可能であることが理解される。例えば、上述のツールのいくつかを、単一のツールとしてまとめても良い、あるいは様々な方法で、それらのツールの機能を分離して、別々のツールに分離しても良い。例えば、ツール１０８及び１１１は１つのツールにまとめても良い、あるいはツール１１１及び１１４を１つのツールにまとめても良い。また、いくつかのローディングステップが、異なる順序で実行されても良い。例えば、ハッシュ値Ｈ（Ｓ）は、前のローディングステップ中に、例えば、カスタマイズツール１１１によってロードされても良い。
【００８６】
図２は、電子デバイスにデータをロードするシステムのブロック図である。このシステムは、ローディング局２０１及び電子デバイス２０５を備えている。ローディング局は記憶媒体２０４を備え、これは、電子デバイスのロード対象のペイロードデータを記憶し、また、例えば、暗号キー、アドレス情報等のペイロードデータの処理で使用する他のデータを記憶する。このローディング局は、更に、処理ユニット２０３を備え、これは、例えば、記憶媒体２０４からロードされるソフトウェアによって、ペイロードデータを処理するように適合されていて、この処理には、例えば、ペイロードデータの圧縮及び暗号化を実行し、それらをより小さいセグメントに分割し、ヘッダデータを生成する等がある。また、処理ユニットは、移動局２０５へのデータ送信を制御するように適合されている。処理ユニット２０３は、汎用あるいは専用プログラマブルマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理アレイ（ＰＬＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等、あるいはそれらの組み合わせを備えている。ローディング局は、更に、通信ユニット２０２を備えていて、この通信ユニットは、ローディング局に、有線あるいは無線通信リンク２０９を介して電子デバイスにデータを送信することを可能にするのに適切な回路及びデバイスの少なくとも一方を備え、このリンク２０９は、例えば、ダイレクトデータリンク、通信ネットワークあるいはその類である。このような通信ユニットの例には、ネットワークインタフェース、ネットワークカード、無線送信機／受信機、ブルートゥーストランシーバ、シリアルポート、パラレルポート、赤外線ポート、ＩｒＤＡポート、ケーブルモデム、電話モデム、統合サービスデジタルネットワーク（ＩＳＤＮ）アダプタ、デジタル加入者ライン（ＤＳＬ）アダプタ、衛星トランシーバ、イーサネット（登録商標）アダプタあるいはその類が含まれる。従って、通信リンク２０９は、電磁波を使用する小範囲無線通信リンクであっても良い。このような通信リンクの例には、ブルートゥース通信、あるいは無線周波数、赤外線、マイクロ波、あるいはその類に基づく別の通信を含んでいる。この通信リンクは、更に、有線通信であっても良い、これには、例えば、シリアル接続、及びＵＳＢあるいはその類がある。別の実施形態では、この接続は、通信ネットワークを介して確立されても良い、この通信ネットワークには、例えば、ローカルエリアネットワーク、セルラーネットワーク、インターネットあるいはその類がある。ローディング局２０１は、更に、インタフェース２１０を備える、このインタフェース２１０は、ローディング局にデータを別のデータ処理システムに送信することを可能にするのに適切な回路及びデバイスの少なくとも一方を備えている。このようなインタフェースの例には、上述の通信ユニット２０２に関して説明した例のものが含まれる。更なら例には、フロッピー（登録商標）ディスクドライブ、ＣＤドライブあるいはその類、あるいは他の適切な回路あるいはデバイスを含んでいる、この回路あるいはデバイスは、ローディング局へのロード対象のペイロードデータ、あるいはローディングツールあるいはローディング局によって実行される他のソフトウェア、暗号データ等を、ローディング局が受信することを可能にするものである。これらのデータ及びソフトウェアは、通信ネットワーク、例えば、インターネットを介して受信されても良く、あるいは記憶媒体、例えば、ＣＤ、フロッピー（登録商標）ディスク、メモリカードあるいはその類上で受信されても良い。このデータは、以下で説明する１つ以上のサーバから受信されても良い。受信されたデータあるいはソフトウェアは、可能であれば、検証プロセス及び追加処理の少なくとも一方の実行後に、記憶媒体に２０４に記憶される。ローディング局は、通常の適切なプログラム化コンピュータ、例えば、適切な通信インタフェースを備えるＰＣであっても良い。
【００８７】
電子デバイス２０５は、対応する通信ユニット２０６を備え、これは、電子デバイスにデータをローディング局に送信することを可能にするのに適している回路及びデバイスの少なくとも一方を備える。電子デバイスは、更に、処理ユニット２０７を備える、これは、例えば、汎用あるいは専用プログラマブルマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理アレイ（ＰＬＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等、あるいはこれらの組み合わせを備えている。処理ユニット２０７は、例えば、電子デバイスの記憶媒体２０８からロードされるソフトウェアによって、ローディング局からデータを受信し、ヘッダ情報を解析して検証し、実際のペイロードデータを記憶媒体１０８にロードするように適合されている。適用可能である場合、処理ユニット１０７は、更に、ペイロードデータを処理する、例えば、データの解凍あるいは解読を実行するように適合されている。
【００８８】
図３は、電子デバイスの例のブロック図を示している。電子デバイス２０５は、上述の処理ユニット２０７を備え、これは、電子デバイスの機能を制御する。電子デバイスは、更に、無線通信ネットワーク、例えば、セルラーネットワークからのデータ送受信するためのアンテナ３０６を有する無線インタフェース３０５を備える。電子デバイスは、更に、ユーザインタフェース３０４、例えば、ＬＣＤあるいはその類のディスプレイ、キーパッドあるいは、タッチスクリーンあるいはその類の他の入力手段を備える。ユーザインタフェースはローディングプロセス中に使用されても良く、これは、ローディングがユーザからの入力、例えば、パスワード、ＰＩＮあるいはその類の入力を必要とするインタラクティブ証明／認可処理を伴っている場合である。電子デバイスは、更に、加入者アイデンティティモジュール（ＳＩＭ）を備えていて、これは、加入者アイデンティティ情報、電話番号及びセルラーネットワークオペレータとユーザとの加入に関連する他のデータを記憶するメモリを含んでいる。電子デバイスは、更に、記憶媒体２０８を備えていて、これは、ＲＡＭセクション３０３、ＲＯＭセクション３０２及びフラッシュメモリを備えるセクション３０１を備えていても良い。電子デバイスから受信されるペイロードデータは、メモリのフラッシュセクション及びＲＡＭセクションの少なくとも一方にロードされても良い。選択的には、あるいはこれに加えて、電子デバイスの記憶媒体は、他のタイプのメモリを備えていても良い、これには、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭあるいはその類がある、また、あるいは他のタイプの記憶メディア、例えば、光ディスク、デジタルビデオディスク（ＤＶＤ）、コンパクトディスク（ＣＤあるいはＣＤ−ＲＯＭ）、ミニディスク、ハードディスク、強磁性メモリ、光記憶、電荷結合素子、ＰＣＭＣＩＭカード等がある。これに応じて、受信したデータは、いずれかのメモリタイプ及び記憶メディアにロードされても良い。本発明の一実施形態では、ローディング局から受信されたデータは、ＳＩＭ３０７のメモリにロードされても良い。そして、電子デバイスは、上述の通信ユニット２０６を備えていて、これには、例えば、ブルートゥーストランシーバ、ＩｒＤＡポート、ＵＳＢアダプタ、ケーブルコネクタあるいはその類がある。選択的には、無線インタフェース３０５は、セルラーネットワークを介して無線でデータを受信するために使用されても良い。例えば、電子デバイスは、任意のポータブル無線通信装置であっても良い、ここで、ポータブル無線通信装置という用語は、移動電話、ページャ、コミュニケータ、即ち、電子オーガナイザー、スマート電話、パーソナルデジタルアシスタント（ＰＤＡ）、ハンドヘルドコンピュータあるいはその類のようなあらゆる装置を含んでいる。電子デバイスの別の例は、移動電話あるいはその他のタイプの電子装置用のチップセットがある、ここで、チップセットは、例えば、ブロック２０７及び２０８で示される、メモリコンポーネント及びプロセッサを備えていても良い。オプションとしては、チップセットは、図３に示される１つ以上の他のブロック、例えば、通信ユニット２０６及び無線インタフェース３０５の少なくとも一方を備えていても良い。
【００８９】
図４は、電子デバイスにソフトウェア及びデータをロードし、かつ製造プロセス中に電子デバイスをカスタマイズするためのシステムのブロック図である。このシステムは、セキュリティサーバ４０１、工場ローディング局４０２及び電子デバイス２０５を備えている。セキュリティサーバ４０１は、パーソナルコンピュータ、ワークステーション、ネットワークサーバ、ウェブサーバ等であっても良い。セキュリティサーバは、コンピュータネットワーク４０３に接続されていて、これには、例えば、インターネット、ローカルエリアネットワーク、イントラネット、エクストラネット等がある。ローディング局４０２は、コンピュータネットワーク４０３へのアクセスを持つコンピュータであり、例えば、図２で説明されるように、電子デバイス２０５にソフトウェア／データをロードするためのコンピュータプログラムを実行するように適合されている。
【００９０】
セキュリティサーバ４０１は、コンピュータネットワーク４０３を介して、コンピュータプログラム及び対応するアップデートをローディング局４０２へ配信し、かつ同様にして、他のローディング局（不図示）へ配信するように適合されていて、このコンピュータプログラムは、電子デバイス２０５及び対応する他の電子デバイス（不図示）へのソフトウェア／データをカスタマイズし、かつロードするためのローディング局上で実行させるものである。セキュリティサーバ４０１は、更に、電子デバイスへのダウンロード対象のコンピュータプログラム及びデータをローディング局によって配信し、また、セキュリティサーバは、ニュース、情報、カスタマ専用サービス等のような付加サービスを提供しても良い。選択的には、あるいはこれに加えて、セキュリティサーバは、任意の他の適切な手段を介して、フロッピー（登録商標）ディスク、ＣＤ  ＲＯＭ等のコンピュータ可読媒体に、コンピュータプログラム、データ等を配信しても良い。しかしながら、コンピュータネットワークを介する接続は、自動更新メカニズム、バージョン制御メカニズム等の実装を容易にする。
【００９１】
ローディング局４０２は、電子デバイス２０５のカスタマイズ、及び電子デバイス２０５へのソフトウェア／データのロードに関連するセキュリティサービスを提供するように適合されている。セキュリティ機能は、上述の工場プライベートキーに基づく署名の生成、上述のＩＭＥＩに関連するプロテクタブル識別子の生成を含んでいても良い。このようなセキュリティサービスの更なる例では、ローディング局と電子デバイス間の通信に関連するセキュリティ機能を含んでいる、これには、例えば、チェックサムの算出、暗号機能、圧縮等がある。電子デバイスが移動端末である実施形態では、セキュリティ機能は、ＳＩＭロックコードあるいはその類の生成及び暗号を更に備える。ローディング局は、更に、言語ファイル、カスタマ専用ソフトウェア、ゲーム等を提供することによって、電子デバイスへのロード対象のソフトウェアをカスタマイズするための機能を提供する。
【００９２】
図５ａ−ｂは、電子デバイスを再カスタマイズするためのシステムの実施形態のブロック図を示している。図１で説明したように、電子デバイスが一旦製造プロセスから離れると、即ち、ある工場パブリックキーが製品パブリックキーによって置換されると、工場ツールはそれ以上動作しない。その代わり、必要であれば、カスタマによってカスタマイズファイルをリロードするための専用ツールが使用される。
【００９３】
図５ａは、電子デバイスを再カスタマイズするためのシステムの例のブロック図である。このシステムは、図４で説明したセキュリティサーバ４０１と、カスタマツールサーバ５０１、再カスタマイズ局５０２、カスタマサーバ５０３、署名サーバ５０４及びカスタマイズ対象の電子デバイス２０５を備えている。再カスタマイズ局５０２は、専用の適合ローディング局であり、これは、図２で示される電子デバイス２０５に接続されている。カスタマツールサーバ５０１は、パーソナルコンピュータ、ワークステーション、ネットワークサーバ、ウェブサーバ等であっても良く、これは、コンピュータネットワーク４０３に接続されている。カスタマツールサーバ５０１は、コンピュータプログラム、アップデータ等を中央セキュリティツールサーバ４０１から受信し、かつこれらに対し、カスタマが所有する再カスタマイズツール５０２を利用可能にする。ここで、再カスタマイズツールは、カスタマツールサーバに接続されている場合に、それから自動的に更新されても良い。
【００９４】
カスタマサーバ５０３は、カスタマのコンピュータネットワーク５０５内の、例えば、ローカルエリアネットワーク、及びインターネットあるいはその類内のファイルサーバであっても良い。選択的には、カスタマサーバは、インターネットあるいは別の通信ネットワークを介するアクセスを提供するウェブサーバであっても良い。例えば、データ、コンパイルされたコンピュータプログラムあるいはその類を備える、任意の再カスタマイズファイルは、カスタマサーバ５０３のファイルシステムの所定位置に記憶される。このシステムは、更に、コンピュータネットワーク５０５に接続されている署名サーバ５０４を備え、かつ署名がなされていないファイルに対する上述の位置を監視するように適合されている。このようなファイルが検出される場合、署名サーバ５０４は、そのファイルを製品プライベートキーで署名して、その署名したファイルを、カスタマサーバ５０３の上述のあるいは別の所定位置に記憶するように適合されている。続いて、再カスタマイズ局５０２は、カスタマサーバから署名されたファイル（群）を検索し、かつ図１で説明されるセキュリティチェックの実行後に、そのファイル（群）を電子デバイスにロードする。
【００９５】
図５ｂは、電子デバイスのカスタマイズを再カスタマイズするためのシステムの別の例のブロック図を示している。図５ａのシステムのように、図５ｂのシステムは、セキュリティサーバ４０１と、カスタマツールサーバ５０１、再カスタマイズ局５０２、署名サーバ５０４及びカスタマイズ対象の電子デバイス２０５を備えている。この例に従えば、クライアントプログラムが、再カスタマイズ局５０２上で実行される、この再カスタマイズ局５０２は、再カスタマイズファイル（群）を直接、署名サーバ５０４へ送信する。そのファイル（群）への署名後、署名サーバ５０４は、そのファイル（群）を再カスタマイズ局５０２へ返信する、次に、再カスタマイズ局５０２は、図１で説明されるセキュリティチェックの実行後に、そのファイル（群）を電子デバイスにロードする。
【００９６】
図６は、暗号キー及び認証を管理するためのシステムのブロック図を示している。このシステムは、認証管理システム６０１、認証保管（warehouse）システム６０２、署名サーバ５０４及びローディングシステム６０３を備えている。認証管理システム６０１は、適切なプログラム化パーソナルコンピュータ、ワークステーション、ネットワークサーバ、ウェブサーバ等を備えていても良く、また、認証管理システム６０１は、コンピュータネットワーク、例えば、インターネット、ローカルエリアネットワーク、イントラネット、エクストラネット等を介して認証保管システム６０２と接続されている。認証管理システム６０１は、システムのセキュリティを向上するために、キー署名を委任し、キー識別子をキーに割り当て、かつ階層キー構造の製造業者ルートキーでキーを署名するように適合されている。
【００９７】
認証管理システム６０２は、適切なプログラム化パーソナルコンピュータ、ワークステーション、ネットワークサーバ、ウェブサーバ等を備えていても良い。認証保管システム６０２は、適切なパブリックキーメカニズムに従うパブリックキーとプライベートキーとのペアを生成するように適合されている。カスタマの認証保管システム６０２は、更に、認証管理システムからの証明を要求し、かつ認証管理システム６０１による製造業者ルートキーの署名対象である、生成されたパブリックキーを要求する。署名されたパブリックキーは、認証保管システム６０２に記憶され、かつローディングシステム６０３に送信される。ローディングシステム６０３は、そのパブリックキーを電子デバイスにロードする。
【００９８】
例えば、製品キーに関連して、ローディングシステムは、電子デバイスの生成システムで構成され、また、このローディングシステムは、図１で説明される製造プロセスの末端で製品パブリックキーをロードする。製造システムの例は、図４で説明したものがある。
【００９９】
同様に、工場キー及びプロトタイプキーの少なくとも一方を、図６に従うシステムによって配信することができる。
【０１００】
生成されたプライベートキーは、好ましくは、暗号化された形式で、カスタマの認証保管システム６０２に記憶され、また、セキュアチャネルを介して署名サーバ５０４に送信される。
【０１０１】
図７ａ−ｄは、本発明の実施形態に従う製造プロセスの例を示している。
【０１０２】
図７ａの例では、上述の図１で説明される例に従う順序で、ローディングステップが実行される、即ち、
ステップＳ７０１：工場パブリックキーのロード
ステップＳ７０２：工場ソフトウェアのロード
ステップＳ７０３：プロテクタブル識別子のロード
ステップＳ７０４：製品パブリックキーのロード
ステップＳ７０５：工場パブリックキーの無効化
となる。
【０１０３】
図７ｂの例では、製造プロセスの終了時にプロテクタブル識別子がロードされる、即ち、ローディングステップの順序は、
ステップＳ７０１：工場パブリックキーのロード
ステップＳ７０２：工場ソフトウェアのロード
ステップＳ７０４：製品パブリックキーのロード
ステップＳ７０５：工場パブリックキーの無効化
ステップＳ７０３：プロテクタブル識別子のロード
となる。
【０１０４】
図１で説明されるローディングステップＳ４に関連して、製品パブリックキーのローディングに、プロテクタブル識別子が設定されているかの検証が含まれていることに注意する。図７ｂの例では、プロテクタブル識別子が製品パブリックキーのロードの後に設定されるので、この検証は適用できないことが理解される。同様の議論が以下の例についても適用することが理解される。
【０１０５】
図７ｃの例では、工場ソフトウェアのロード前に、プロテクタブル識別子がロードされる、即ち、ローディングステップの順序は、
ステップＳ７０１：工場パブリックキーのロード
ステップＳ７０３：プロテクタブル識別子のロード
ステップＳ７０２：工場ソフトウェアのロード
ステップＳ７０４：製品パブリックキーのロード
ステップＳ７０５：工場パブリックキーの無効化
となる。
【０１０６】
図７ｄの例では、工場ソフトウェアのロード前に、プロテクタブル識別子がロードされる、即ち、ローディングステップの順序は、
ステップＳ７０３：プロテクタブル識別子のロード
ステップＳ７０１：工場パブリックキーのロード
ステップＳ７０２：工場ソフトウェアのロード
ステップＳ７０４：製品パブリックキーのロード
ステップＳ７０５：工場パブリックキーの無効化
となる。
【０１０７】
上述の例では、選択的には、他のローディングステップの順序が採用されても良いことに注意する。例えば、ステップＳ７０４及びステップＳ７０５は逆でも良く、あるいは、例えば、工場パブリックキーを製品パブリックキーに上書きすることによって、ステップＳ７０４及びステップＳ７０５が１つのステップにまとめられても良い。
【０１０８】
ここで、上述では、電子デバイスに対する製造プロセスは、ハイレベルのセキュリティを提供するものについて説明されている。
【０１０９】
本発明に従う製造プロセスは、いくつかの異なるコンテキストで使用されても良いことが理解される。例えば、電子デイバスの製造業者に対する共通の問題として、電子デバイスに対するソフトウェアの追加部分はサードパーティの企業によって開発されているというものがある。本発明の効果は、電子デバイスのプロトタイプを制御し、かつプロトタイプソフトウェアが最終製品上で実行できないことを補償するためのメカニズムを提供する。
【０１１０】
一実施形態では、プロトタイプのデバイスの製造中には、製造プロセスの終了時に、そのデバイスにロードされる製品パブリックキーは、専用のパブリックプロトタイプキーである。ここで、パブリックプロトタイプキーを有する、いくつかのプロトタイプが生成される、これによって、サードパーティソフトウェアデベロッパは、対応するプライベートプロトタイプキーで署名されたソフトウェアをロードすることが可能になる。このソフトウェアの署名は、サードパーティサプライヤーあるいは製造業者によって実行されても良い。サードパーティソフトウェアデベロッパが１つ以上存在する場合、これに対応して異なるプロトタイプキーペアを使用することができる、これによって、製造業者は、異なるサードパーティサプライヤーを区別することが可能となる。ここで、本発明に従えば、サードパーティサプライヤーは、実環境でソフトウェアをテストする機能を持っている一方で、同時に、ソフトウェアが直接、最終製品にロードできないことを補償している、これは、この製品デバイスがプロトタイプキーとは異なる製品パブリックキーで実装されているからである。ここで、対応する製品プライベートキーを知らないと、サードパーティサプライヤーは、自身のソフトウェアを製品にロードすることができない。
【０１１１】
プロトタイプパブリックキーは、対応する認証に関連していても良く、これによって、プロトタイプキーの有効性に時限を導入する機能を提供する。
【０１１２】
別の実施形態では、プロトタイプキーは、無線を介して電子デバイスに送信されるコマンドメッセージによって起動及び停止されても良い。例えば、移動端末のコンテキストでは、ショートメッセージサービス（ＳＭＳ）のメッセージが移動端末に送信されても良く、このメッセージは、所定の停止コマンドと、好ましくは、例えば、メッセージヘッダ内にデジタル署名を備えている。移動端末においては、このメッセージは各アプリケーションに転送される、このアプリケーションは署名をチェックし、プロトタイプとして使用するために移動端末を、例えば、パブリックプロトタイプキーを無効にすることによって、あるいは別の適切な方法によって停止する。
【０１１３】
好ましくは、デジタル署名は、移動端末内のプロトタイプキーに対応する、これによって、対応するプライベートプロトタイプキーの所有者のみが有効な停止メッセージを発行することを補償する。
【０１１４】
また、例えば、署名対象のデータに含まれるタイムスタンプを使用することによって、既に送信されているメッセージの再使用を防ぐことができる。
【０１１５】
メッセージが適切なデイバス識別子、例えば、移動端末のＩＭＥＩを含んでいる場合、そのメッセージはあるデバイスでのみ専用に生成されても良い。
【０１１６】
図８は、一実施形態のプロテクタブル識別子の構成を示している。８００で示される、プロテクタブル識別子は、セキュリティ管理用に使用される情報を符号化する４つの成分を備えている：カスタマ識別子（ＣＩＤ）８０３、製品状態マスク（ＰＳＭ）８０４、国際移動装置アイデンティティ（ＩＭＥＩ）８０５及びロック状態（ＯＴＰＬＳ）８０２である。図８の例では、プロテクタブル識別子は、ＣＩＤ、ＰＳＭ、ＩＭＥＩを符号化する６４ビットのＯＴＰメモリセクション８０１の情報を含んでいる。ＣＩＤは１１ビットで符号化され、ＰＳＭは単一ビット、ＩＭＥＩは、５２ビットを必要とする標準化ＩＭＥＩのコンパクト符号化として符号化される。符号化されたＩＭＥＩは、ＥＩＭＥＩと参照される。ここで、ＩＭＥＩは各移動電話に与えられる固有の番号を参照することに注意する。ＧＳＭネットワークに接続されているセルラー電話のＩＭＥＩ番号は、すべての有効な移動電話装置を含むデータベース（ＥＩＲ−装置アイデンティティレジスタ）に記憶される。電話が盗まれたことが通知された場合、あるいは電話のタイプが認可されない場合、その番号には無効のマークが付与される。この番号は、タイプ認可コード（ＴＡＣ）、国コード、アセンブリコード、製造業者識別子及びシリアル番号を備えている。ＩＭＥＩは、ｄｄｄｄｄｄ−ｄｄ−ｄｄｄｄｄｄ−ｄの形式の１８バイトの識別子であり、ここで、ｄ∈｛０，１，２，．．．，９｝である。例えば、ＩＭＥＩは、２つの６桁のグループをバイナリ表現に符号化し、かつ残りの３桁を１６進表記で符号化されるバイナリとして符号化することによって、符号化することができる。これは、５２ビット（２０＋８＋２０＋４）を必要とする。すべての桁で、５０ビットを必要とするＩＭＥＩの最小の符号化を行うことができると仮定する。ここで、上述の符号化は、最小値より２０ビット多いだけである。この多い部分は２ビットだけ多いので、上述の符号化は、移動デバイスで使用される標準の３２ビットプロセッサ上で容易に実現される。
【０１１７】
ロックフラグが、使用されるＯＴＰメモリによって提供されるロックメカニズムによって符号化される。例えば、一実施形態では、フラッシュメモリの所定の不可逆コマンドを介して、所定値を、ＯＴＰメモリセクションがロックされていることを示すロックビットに書き込むことによって、フラッシュメモリのＯＴＰメモリセクションをロックすることができる。
【０１１８】
上述のパラメータは、別の表現によって符号化されても良いことが理解される。図８の６４ビット符号化は有効である、これは、多くのこの分野でのフラッシュメモリが（コンポーネントとして関係している）、６４ビットのユーザプログラマブルＯＴＰ領域を、メモリの通常のアドレス空間外に持つことになる。これは、フラッシュメモリに対する追加のハードウェアコストを発生しない、管理システムの実現を可能にする。例えば、別の実施形態では、ＩＭＥＩは、１６進表記で符号化される１５バイナリとして符号化されても良い（つまり、固定位置を有する３つのマーカー（「−」）を省略する）。これは、記憶に６０ビットを必要とする。
【０１１９】
図９は、セキュリティ状態図を示している。９００で示される、このセキュリティ状態図は、ライフサイクルのセキュリティ状態を構成していて、これは、製造状態９０１、製品開発あるいはＲ＆Ｄ状態９０２及び消費者製品状態９０３、及びそれらの遷移を示している。別の実施形態では、セキュリティ状態図は、追加及び別の状態を含んでいても良いことが理解される。例えば、異なるＲ＆Ｄセンタ、例えば、異なるサードパーティの開発センタを区別することによって、これらのセンタのそれぞれは、開発中に専用の移動電話を使用することができる、これは、各センタが移動電話において自身の認証を使用している場合である。
【０１２０】
状態図の状態は、プロテクタブル識別子の値と、各認証カテゴリに関連付けられている。以下では、認証カテゴリ情報を含むデジタル認証のコンパクトフォーマットについて説明する。
【０１２１】
標準の認証、例えば、Ｘ５０９  Ｖ３規格に従う認証は、認証の署名者（発行者）に、パブリックキーを付加情報にバインドすること（いわゆる、拡張子によって）を可能にする、この付加情報は、認証の提示時にパブリックキーがどのような目的で使用されるかを示すものである。しかしながら、これらの認証の符号化は複雑である、なぜなら、提示しなければならないフィールドがたくさんあり、かつＩＳＯ  ＡＳＮ．１  ＤＥＲ／ＢＥＲ符号化ルールを介する専用符号化であるからである。認証を解析するために必要とされるソフトウェアは複雑であり、かつ実行時に数十キロバイトコードを必要とする。このようなコードサイズは、例えば、移動電話あるいはその類のコントローラチップにＲＯＭとして組み込む必要があるソフトウェアに対しては、たいていは大きすぎてしまう。
【０１２２】
本明細書で説明される方法に従えば、あるクラスの製品に対しては、認証は、内容が制限されたＳＷ署名で使用されるので、Ｘ５０９の認証フォーマットは複雑になるばかりか、特定用途に対しては非効率となる。上述の欠点は、例えば、以下のテーブルで示される、コンパクトな認証フォーマットを使用することによって改善される：
項目                記述
バージョン番号      認証フォーマットバージョン番号
ＣＩＤ＿Ｏ          認証所有者のＣＩＤ
ＣＩＤ＿Ｉ          認証発行者のＣＩＤ
深さ                認証チェーンの深さ
有効期限            認証の満了期限
署名日              署名の日時
ＩＳＭ              署名方法のインデックス
ＰＫＵＣ            デジタル認証のカテゴリを示す、パブリックキー使用カテゴリ
ＰＫＤＡＴＡ        パブリックキー
ＳＩＧＮ            デジタル署名（ＩＳＭで示される署名方法に従う）
一実施形態では、認証のバイナリ符号化は、自身のフィールドが、例えば、ジャバのようなアプリケーションによって、多くの変換を伴わずに容易に解析されるように実行される。ここで、より圧縮されているにも関わらず、（バイナリ）３２ビット整数値で表現されるフィールドを多く持てる。
【０１２３】
従って、上述のフォーマットは、有効でかつコンパクトな認証フォーマットを提供する。
【０１２４】
認証の提示時のパブリックキーの使用制限は、使用カテゴリコードを符号化によって効果的に処理される、この使用カテゴリコードは、識別可能な使用環境に割り当てられる。以下では、説明を簡単にするために、各使用カテゴリは色に関連付けられる。しかしながら、実際の構成では、使用カテゴリは、例えば、上述したように、デジタル値に符号化される。例えば、説明の目的のために、工場環境は、「白」色に割り当てられ、Ｒ＆Ｄ（開発）環境は「紫」色に割り当てられ、エンドユーザ（最終製品）環境は「黄」色に割り当てられる。
【０１２５】
ここで、状態図９００において、各状態９０１、９０２及び９０３のそれぞれは、異なるカテゴリのパブリック認証に対応し、それぞれのカテゴリは、「色」のラベルが付けられている。状態９０１は「白」認証に対応し、状態９０２は「紫」認証に対応し、状態９０３は「黄」認証に対応する。
【０１２６】
状態は、プロテクタブル識別子によって符号化される。一実施形態では、図８に関連して説明されるように、永久識別子が符号化される、状態図の３つの状態が以下に示されるように符号化される：
−工場状態９０１：ＯＴＰがアンロックされている。また、電子デバイスは、有効な認証あるいは工場（「白」）認証を持っていない。
【０１２７】
−Ｒ＆Ｄ状態９０２：ＯＴＰはロックされていて、かつカスタマＩＤ及び符号化されたＩＭＥＩ（オプションでは、テストＩＭＥＩ）の少なくとも一方を備える、また、製品状態マスクは、ＰＳＭ＝０に設定されている。
【０１２８】
−製品状態９０３：ＯＰＴはロックされていて、かつカスタマ識別子（ＣＩＤ）、符号化されたＩＭＥＩを備える、また、製品状態マスクは１に設定されている。更に、電子デバイスは、有効な製品（「黄」）認証を備えている。
【０１２９】
ここで、一実施形態では、プロテクタブル識別子は、カスタマＩＤとカテゴリ（「色」）の認証、即ち、セキュリティ状態図の対応する状態を示している。特に、認証のカテゴリは、プロテクタブル識別子のフィールドの組み合わせから導出することができる。
【０１３０】
いくつかの実施形態では、別のあるいは追加の状態コードが使用されても良いことに注意する。Ｒ＆Ｄ環境でのみ使用されるデバイス、例えば、初期のプロトタイプに関連して、すべてゼロのＯＴＰ値（ＯＴＰ「０００．．．００」）が、非製品状態、即ち、状態９０１及び９０２に関連付けられれているコードとして使用されても良い。この実施形態では、工場及びＲ＆Ｄ状態は、認証のカテゴリ（「色」）によって区別することができる。現在のＯＴＰメモリは、ＯＴＰビットが初期状態（即ち、ＯＴＰメモリが前もって使用のために配送されている場合）ではすべて「１」の位置に設定されているプロパティを持っている。ＯＴＰＬＳがアンロックされている限り、ゼロ（「０」）を「１」の位置に書き込むことができる。しかしながら、逆のプロセス、即ち、「１」を、以前は「０」が設定されていた位置へ書き込むことはできない。従って、一旦すべてがゼロの状態になると、ＯＴＰビットは変更できない。しかしながら、他のＯＴＰ技術は、別の形態の符号化を行うことができることが理解される。例えば、別のＯＴＰは、同様の動作をするが、０から１の遷移のみを許容している。ここで、すべてゼロのＯＴＰ値を使用し、かつそれを非製品環境に関連付けることによって、それは、Ｒ＆Ｄ環境内のデバイスハードウェアの実験時の耐性状態定義を取得する。また、それは、デバイスの状態を区別して通知し、かつ未許可の状態遷移を防止するためのリプログラミングツールによって必要とされる、Ｒ＆Ｄと製品状態（環境）とを明確に区別することを依然として維持することができる。
【０１３１】
状態９０１、９０２及び９０３間での遷移は、それぞれ矢印で示される：矢印９１２は、製造状態９０１からＲ＆Ｄ状態９０２への遷移に対応する、矢印９２１はＲ＆Ｄ状態９０２から製造状態９０１への遷移に対応する、矢印９１３は製造状態９０１から最終製品状態９０３への遷移に対応する、矢印９３１は最終製品状態９０３から製造状態９０１への遷移に対応する、矢印９２３はＲ＆Ｄ状態９０２から最終製品状態９０３への遷移に対応する、矢印９３２は最終製品状態９０３からＲ＆Ｄ状態９０２への遷移に対応する。セキュリティを補償するために、上述の遷移のすべてが許されるものではない。図９の例では、遷移９１２及び９１３だけが許され、残りの遷移の内、破線矢印で示される遷移は禁止される。従って、本実施形態では、工場だけが認証の変更を許されている。
【０１３２】
状態間の各遷移は、プロテクタブル識別子のパラメータの変更に対応する。例えば、
−遷移９１２は、ＣＩＤ及びテストＩＭＥＩの少なくとも一方をＯＴＰに記憶し、かつＯＴＰをロックすることによって示される。
【０１３３】
−遷移９１３は、ＣＩＤ及び製品ＩＭＥＩの少なくとも一方をＯＴＰに記憶し、かつ製品状態マスクをＰＳＭ＝１に設定することによって示される。
【０１３４】
ここで、ソフトウェアローダモジュールは、状態間の区別を行うために、ライフサイクル状態図内の状態の符号を利用することができる。一実施形態では、ソフトウェアローダモジュールは、ＯＴＰ内のＣＩＤが有効である場合にのみ実行するように構成されている。このローダモジュールが更に、電子デバイスにインストールされている認証で検証できるソフトウェアのみを受け入れるように構成されていて、かつ電子デバイスのブートＲＯＭだけがインストールされている認証で検証できるローダのみを受け付ける場合に、ハードウェアとソフトウェア間の効果的でかつ安全なバインドが提供される。
【０１３５】
また、リカバリローダは、例えば、ロードされたデータが破壊された後の状態図の状態を回復するために、ライフサイクル状態図内の状態の符号を利用することができる。図９では、これは、矢印９１１、９２２及び９３３によって示される。例えば、破壊されたパブリックキーを回復するためのリカバリプロセスの実施形態は、以下のように実行される：まず、リカバリローダプログラムがデバイスにロードされる。次に、リカバリローダは、有効なパブリックキーがデバイスのキーメモリに記憶されているかを判定する。このようなキーが検出される場合、リカバリプロセスが終了される。そうでない場合、リカバリローダは、上述のように、例えば、製品状態マスク等のＯＴＰ設定を検出することによって、ライフサイクル状態図の状態を判定し、かつ検出された状態に対応するパブリックキーをロードする。
【０１３６】
ここで、上述では、工場からＲ＆Ｄ及び最終エンドユーザ製品へのデバイスの様々な段階での、デバイスリプログラミング機能を安全に処理するための方法及び手段が開示されている。
【０１３７】
上述の方法の特徴は、ソフトウェアで実現されても良いし、またデータ処理システムあるいはコンピュータ拡張可能命令の実行によって発生する他の処理手段によって実行されても良いことに注意する。この命令は、記憶媒体あるいはコンピュータネットワークを介して別のコンピュータから、ＲＡＭのようなメモリにロードされるプログラムコード手段であっても良い。選択的には、上述の特徴は、ソフトウェアの代わりに配線回路によって、あるいはソフトウェアと組み合わせた配線回路によって実現されても良い。
【０１３８】
「電子デバイス」という用語は、処理手段及びメモリを備える任意のデバイスを備えるものを意図していることに注意する。処理手段という用語は、汎用あるいは専用プログラマブルマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理アレイ（ＰＬＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、専用電子回路等、あるいはそれらの組み合わせを備えている。
【０１３９】
このような電子デバイスの例は、ステーショナリかつポータブルＰＣ、ステーショナリかつポータブル無線通信装置等のコンピュータを含み、また、特に、そのコンポーネント、例えば、処理ユニット、チップセットあるいはその類を含んでいる。ポータブル無線通信装置という用語は、移動電話、ページャ、コミュニケータあるいはその類の移動無線端末を含んでいて、コミュニケータには、例えば、電子オーガナイザ、スマート電話、パーソナルデジタルアシスタント（ＰＤＡ）がある。
【０１４０】
また、「ローダモジュール」という用語は、電子デバイスにデータ及びソフトウェアの少なくとも一方をロードするように構成されている、任意のデバイスあるいは回路を備えるものを意図していることに注意する。このデバイスは、適切なプログラム化プロセッサと、データ／ソフトウェアを電子デバイス上にロードするためのインタフェースを備えていても良い。また、ローダモジュールは、コンピュータプログラムとして、あるいデータ通信リンクを介して電子デバイスとの通信を行うように適合されている通信回路を有するデータ処理システム上で実行されるように適合されているコンピュータプログラムのコンポーネントとして実現されても良い。
【０１４１】
また、「ハッシュ値」という用語は、シークレットデータ要素の一方向（one-way）の表現を参照するように意図されていることに注意する、即ち、この表現は、その表現からシークレットデータ要素をコンピュータで推論することができない表現であり、かつ２つの異なるシークレットデータ要素は２つの異なる表現を与えることになる。
【０１４２】
また、「工場ソフトウェア」という用語は、製造中の電子デバイスにロードされるコンピュータ実行可能命令を構成するものを意図していることに注意する。工場ソフトウェアは、例えば、ハードウェアコンポーネントのテスト、コンポーネントの校正、例えば、移動電話の無線回路の校正、パラメータの設定、カスタマイズ等の製造中で実行されるものであっても良い。選択的には、あるいはこれに加えて、工場ソフトウェアは、製造の完了後、例えば、プレインストールされたオペレーティングシステム等の完了後に実行される命令を構成していても良い。従って、工場ソフトウェアは、電子デバイスに永久的にあるいは一時的にロードされても良い。
【図面の簡単な説明】
【０１４３】
【図１】本発明の実施形態に従う製造プロセス及び再カスタマイズプロセスを示す図である。
【図２】電子デバイスにデータをロードするためのシステムのブロック図である。
【図３】電子デバイスの例のブロック図である。
【図４】製造プロセス中に、電子デバイスにソフトウェア及びデータをロードし、かつ電子デバイスをカスタマイズするためのシステムのブロック図である。
【図５ａ】電子デバイスを再カスタマイズするためのシステムの実施形態のブロック図である。
【図５ｂ】電子デバイスを再カスタマイズするためのシステムの実施形態のブロック図である。
【図６】暗号キー及び認証を管理するためのシステムのブロック図である。
【図７ａ】本発明の対応する実施形態に従う製造プロセスの例を示す図である。
【図７ｂ】本発明の対応する実施形態に従う製造プロセスの例を示す図である。
【図７ｃ】本発明の対応する実施形態に従う製造プロセスの例を示す図である。
【図７ｄ】本発明の対応する実施形態に従う製造プロセスの例を示す図である。
【図８】プロテクタブル識別子の実施形態の構造を示す図である。
【図９】セキュリティ状態図を示す図である。
【図１】
2005539304.tif 000003
【図２】
2005539304.tif 000004
【図３】
2005539304.tif 000005
【図４】
2005539304.tif 000006
【図５ａ】
2005539304.tif 000007
【図５ｂ】
2005539304.tif 000008
【図６】
2005539304.tif 000009
【図７ａ】
2005539304.tif 000010
【図７ｂ】
2005539304.tif 000011
【図７ｃ】
2005539304.tif 000012
【図７ｄ】
2005539304.tif 000013
【図８】
2005539304.tif 000014
【図９】
2005539304.tif 000015
【国際調査報告】
2005539304.tif 000016
2005539304.tif 000017