[go: up one dir, main page]

JP2005524919A - セル電話などの電子デバイスのセキュリティに使用する方法およびデバイス - Google Patents

セル電話などの電子デバイスのセキュリティに使用する方法およびデバイス Download PDF

Info

Publication number
JP2005524919A
JP2005524919A JP2004504548A JP2004504548A JP2005524919A JP 2005524919 A JP2005524919 A JP 2005524919A JP 2004504548 A JP2004504548 A JP 2004504548A JP 2004504548 A JP2004504548 A JP 2004504548A JP 2005524919 A JP2005524919 A JP 2005524919A
Authority
JP
Japan
Prior art keywords
processor core
identifier
program
verification
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004504548A
Other languages
English (en)
Other versions
JP2005524919A5 (ja
JP4521269B2 (ja
Inventor
ゾーレンセン,ヨアルン
ビルク,パッレ
ボウタウド,フレデリック
Original Assignee
アナログ・デバイシズ・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アナログ・デバイシズ・インコーポレーテッド filed Critical アナログ・デバイシズ・インコーポレーテッド
Publication of JP2005524919A publication Critical patent/JP2005524919A/ja
Publication of JP2005524919A5 publication Critical patent/JP2005524919A5/ja
Application granted granted Critical
Publication of JP4521269B2 publication Critical patent/JP4521269B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)

Abstract

本発明は、電子デバイス、例えば、セル電話が、別のデバイスからコピーされた(かつそのデバイスのみに認可されている)ソフトウエアで動作するのを防止するのに使用することのできる方法およびデバイスを目的とする。本発明は、そのような方法およびデバイスを使用するデバイス、例えば、セル電話なども目的とする。本発明のいくつかの態様においては、(デバイス内に記憶されるソフトウエアに関連する)プログラム識別子と、デバイスの照合識別子とを比較することによって、ソフトウエアがそのデバイスでの使用に対して認可されているかどうかを判定する。いくつかの態様おいては、比較結果に対して実質的にハードウエア内で応答することによって、プログラム識別子と照合識別子とが互いに一致しない場合に、デバイスが動作禁止にされるのを防止する、検査中のソフトウエアの能力が低くなるようにされる。

Description

発明の詳細な説明
発明の分野
本発明は、電子デバイスに関し、より具体的には、ソフトウエアを使用するデバイスであって、そのソフトウエアが、認可されずにプログラムされているソフトウエア利用電子デバイス(例えば、セルラー電話)の使用を困難にすることが望ましいデバイスに関する。
発明の背景
セルラー電話またはセル電話は、移動電話と呼ばれることもあるが、移動通信システムにおいて一般的に使用されている。すべてではないにしても、ほとんどのセル電話は、ソフトウエア利用デバイスであり、これは、1つまたは2つ以上の内部コンピュータ、すなわちプロセッサ、およびそのようなプロセッサ(単数または複数)の動作を指示するソフトウエアを有することを意味する。この手法によれば、セル電話製造業者にいくつかの利点をもたらすことができる。第1に、セル電話がソフトウエア利用でない場合に必要とされるよりも、開発時間およびライフサイクルコストを少なくすることができる。第2に、動作特性が、おおむね電話内部に記憶されるソフトウエアの機能となる。これによって、製造業者は、電話の各モデルに対して、単に異なるバージョンのソフトウエアを1つずつ開発することによって、様々なモデルのセル電話を製造することが可能となる。
しかしながら、1つの問題は、ユーザーが、製造業者の許可または認証なしに別の電話からソフトウエアをコピーすることによって、セル電話を「再プログラム」する場合があることである。これは、2つの異なる状況において発生する。第1の状況は、ユーザーが、アップグレード費用を支払わずに、電話をアップグレードしようとする場合である。例えば、ある場合には、ハイエンド電話からローエンド電話にソフトウエアを単にコピーするだけで、ローエンド電話をハイエンド電話に変換することができる。これによって、潜在的なハイエンド電話の売上が減少し、そのために電話製造業者の利益とともに、ハイエンドソフトウエア供給業者の利益が損われる。第2の状況は、ユーザ−が盗難電話を使用しようとする場合である。この理由は、それぞれの電話には、一般にIMEI(国際携帯電話機識別(International Mobile Equipment Identity))コードと呼ばれる固有のコードが割り当てられており、これが盗難電話の使用を防止するのに用いられるからである。IMEIコードは、通常、電話ソフトウエアに埋め込まれており、ユーザーが通話を開始するときに通信ネットワークに伝送される。ネットワークは、伝送されたIMEIコードをデータベースと比較して、その電話に盗難の報告がされているかどうかを判定する。その電話に対して盗難の報告がされている場合には、ネットワークは、その電話にネットワーク上での通話を許可しない。しかしながら、盗難電話が、正当な電話(すなわち、盗難にあっていない電話)からコピーされた(IMEIコードを含む)ソフトウエアで再プログラムされている場合には、IMEIチェックが無効になるので、問題が発生する。その後に、盗難電話は、表面上は正当と思われるIMEIコードを伝送して、ネットワーク上での通話を許可される。
したがって、別の電話からコピーされた(その電話にだけ認可されている)ソフトウエアで、電話が動作するのを防止するための方法が求められている。
現在、いくつかの方法が存在する。1つの方法では、ユーザーが、電話のスイッチを入れるときに、PIN(個人識別番号)コード、またはライセンス番号を入力する必要がある。しかしながら、この方法は、盗難電話、または当初はローエンドであった電話が、コピーされたソフトウエアで動作可能にされるのを防止せず、その代わりに、ユーザーに対して、PINコードまたは、認可された電話もしくはハイエンド電話のライセンス番号を入力することを単に要求する。
第2の方法は、各電話にハードウエア識別子を与える。電話の中のソフトウエアが、このハードウエア識別子を読み出し、それをソフトウエアに記憶された照合識別子と比較して、そのハードウエア識別子が照合識別子と一致しない場合には、電話を動作禁止にする。しかしながら、この方法は、比較的容易に無効にされてしまう。デバッガーおよび/またはエミュレータを使用して、検査および動作禁止の動作を実行するソフトウエアの部分を識別することができる。次いで、そのようなソフトウエアの部分を置換するか、または変更することができる。
したがって、電話のような電子デバイスを、別のデバイスからコピーされた(そのデバイスにのみ認可されている)ソフトウエアで動作するのを防止するための、その他の方法が求められている。
発明の概要
本発明は、例えばセル電話などの電子デバイスが、別のデバイスからコピーされた(そのデバイスのみに使用が認可されている)ソフトウエアで動作するのを防止するのを支援する。
本発明の第1の側面によれば、そのようなデバイス(例えば、電話)で使用されて、そのデバイスを制御するプロセッサコア内部で使用する方法は、前記プロセッサコア内部からの照合識別子を受け取るための入力を設けること;システムメモリ内に記憶されたプログラムに関連するプログラム識別子を受け取るための入力を設けること;少なくとも所定の相互対応尺度を有する照合識別子およびプログラム識別子の受領、またはその欠如を意味するデータを生成すること;および少なくとも所定の相互対応尺度を有するプログラム識別子および照合識別子の受領を前記データが示さない限り、プロセッサコアの動作特性を動作禁止にすることを含み、受領、またはその欠如を意味するデータに、実質的にハードウエア内で応答することを含む。
比較結果に対して実質的にハードウエア内で応答することによって、プログラム識別子と照合識別子が互いに一致しない場合に、デバイスが動作禁止にされるのを防止する、検査中のソフトウエアの能力が低下することになる。
本発明の別の側面によれば、プロセッサコアは、該プロセッサコア内部からの照合識別子と、システムメモリ内に記憶されたソフトエウアに関連するプログラム識別子とを受け取り、少なくとも所定の相互対応尺度を有する照合識別子およびプログラム識別子の受領、またはその欠如を意味するデータを生成するコンパレータ;および対応尺度を示すデータに応答する動作禁止システムであって、前記プログラム識別子と前記照合識別子との間に少なくとも所定の対応尺度があることを前記データが示さない限り、プロセッサコアの動作特性を動作禁止にする信号を生成する前記動作禁止システムを含む。
本発明の別の側面によれば、プロセッサコアは、該プロセッサコア内部からの照合識別子を受け取るための入力;システムメモリ内に記憶されたソフトウエアと関連するプログラム識別子を受け取るための入力;少なくとも所定の相互対応尺度を有する照合識別子およびプログラム識別子の受領、またはその欠如を意味するデータを生成する手段;および受領、またはその欠如を意味するデータに、実質的にハードウエア内で、応答する手段であって、少なくとも所定の相互対応尺度を有するプログラム識別子および照合識別子の受領を前記データが意味しない限り、前記プロセッサコアの動作特性を動作禁止にする手段を含む応答の手段を含む。
本発明の別の側面によれば、電子デバイスは、メモリ;該メモリ内に記憶されて、プログラム識別子を含むソフトウエア;データ経路を介して前記メモリに結合されたプロセッサコアを含み、該プロセッサコアがコンパレータを含み、該コンパレータは、前記プログラム識別子と照合識別子とを受け取り、それらに応じて、前記プログラム識別子と前記照合識別子との対応尺度を示す信号を生成するとともに、前記プロセッサコアがさらに動作禁止システムを含み、該動作禁止システムは、前記コンパレータが生成する信号に応答して、前記照合識別子と前記プログラム識別子との間に少なくとも所定の対応尺度があることを前記信号が示さない限り、前記電子デバイスの動作特性を動作禁止にするように構成されている。
本発明の別の側面によれば、移動通信用のセル電話が提供される。このセル電話は、プロセッサコアとメモリとを含むプロセッサを有し、前記プロセッサコアは、データ経路を介して前記メモリに結合されており、前記メモリは、ランタイムプログラムおよびそのソフトウエアに関連する識別子を含むソフトウエアを記憶するのに使用可能であり、改良が、前記プロセッサコア内部にあるコンパレータであって、前記プロセッサコア内部からの照合識別子と、システムメモリ内に記憶されたソフトウエアに関連するプログラム識別子とを受け取り、少なくとも所定の相互対応尺度を有する照合識別子およびプログラム識別子の受領、またはその欠如を意味するデータを生成する前記コンパレータ;および前記プロセッサコア内部にあり、対応尺度を示すデータに応答する動作禁止システムであって、プログラム識別子と照合識別子との間に少なくとも所定の対応尺度があることを前記データが示さない限り、前記プロセッサコアの動作特性を動作禁止にする信号を生成する前記動作禁止システムを含む。
本発明の1または2以上の側面に従う1または2以上の態様による潜在的な有利さにも拘わらず、従来技術の欠点を解決する本発明のいずれの側面によるいずれの態様につていも必須の要件は存在しないことを理解すべきである。
詳細な説明
図1に示す、移動通信システムと接続して使用するためのセル電話50に関して本発明を以下に説明する。しかしながら、本発明は、セル電話での使用、さらに通信システムでの使用にも限定されるものではないことを認識すべきである。セル電話は、本発明を利用することのできる電子デバイスの例にすぎない。
図1を参照すると、セル電話50は、ユーザー54から入力信号52を受け取る。セル電話50は、この信号を処理して出力信号56を生成し、この出力信号が通信ネットワーク58に伝送される。この入力信号および出力信号は、通常、図に示すように、それぞれ音声信号および無線信号である。
セル電話50は、1つまたは2つ以上のプロセッサ(図1には示さず)を含む。そのようなプロセッサの1つは、ベースバンドプロセッサと呼ばれる。ベースバンドプロセッサは、(例えば、圧縮などの)信号処理動作を実行するとともに、IMEIコードを通信システムに伝送させる命令を実行する。
図2は、本発明の一態様による、ベースバンドプロセッサ60の一部分のブロック図であり、このベースバンドプロセッサは、図1のセル電話50に使用することができる。
ベースバンドプロセッサ60は、プロセッサコア80および関連するメモリ82を含む。関連するメモリ82は、本明細書においてはシステムメモリ82またはユーザメモリ82とも呼ぶ。このプロセッサコア80およびシステムメモリ82は、バス84で接続されている。バスは、通常、パラレル型インターフェイスであり、さらに、ベースバンドディジタルプロセッサ60の一部であるか、またはそうではない他のデバイス(図示せず)にも接続することができる。必須ではないが、1つまたは2つ以上の他のインターフェイス、例えばシリアル型インターフェイス85を、プロセッサコア80に接続することもできる。
システムメモリ82は、ランタイムプログラム94を記憶するのに使用する。このランタイムプログラム94は、IMEIコード96と、(IMEIコード96をセル電話からネットワークに伝送するための命令を含む(図1))電話の平常使用時にプロセッサコア80が実行する命令とを含む。ランタイムプログラム94は、システムメモリに記憶されたソフトウエアを識別するために使用することのできるプログラム識別子98をさらに含む。プログラム識別子98は、それに限定はされないが、ディジタルコードを含む、任意の形態とすることができる。このディジタルコードは、システムメモリに記憶するか、またはシステムに記憶した一連の命令に応じて生成することができる。
システムメモリ82は、それに限定はされないが、再プログラム可能型メモリコンポーネント(例えば、FLASHまたはEEPROM)、交換可能なメモリコンポーネント、および/またはそれらの組合せを含む、任意の形態とすることができる。システムメモリ82は、必須ではないが、プロセッサコア80とともに、チップ上および/または単一パッケージ中に統合することができる。
上述のように、ユーザーは、別の電話からの(その電話にのみ使用が認可されている)ソフトウエアをコピーすることによって、セル電話を「再プログラム」しようとすることがある。
これを念頭において、図2を再び参照すると、プロセッサコアのこの態様は、別の電話からコピーされた(その電話のみ使用が認可されている)ソフトウエアで電話が動作するのを防止するためのセキュリティシステム100を含む。セキュリティシステム100は、照合識別子101、コンパレータ102および動作禁止システム103を含む。上記のプログラム識別子98と同様に、照合識別子101は、それに限定はされないが、ディジタルコードの形態を含む、任意の形態とすることができる。この照合識別子101は、予め生成して不揮発性記憶場所に記憶するか、または、図4を参照として以下に記するように、セル電話の動作中に生成することができる。
動作に際しては、データ経路104、105を使用して、プログラム識別子98および照合識別子101がそれぞれコンパレータ102に供給される。このコンパレータ102は、識別子98、101を比較して、106に出力信号を供給する。この態様においては、出力信号は、ディジタル論理信号の形態である。プログラム識別子98および照合識別子101が互いに一致すれば、出力信号は、第1の(例えばロー)論理状態(すなわち、論理0)を有する。プログラム識別子98および照合識別子101が互いに一致しないか、または識別子の一方または両方を、コンパレータ102が受け取らない場合には、出力信号は第2の(例えば、ハイ)論理状態(すなわち論理1)を有することになる。
コンパレータ出力信号は、データ経路107を介して動作禁止システム103に供給される。コンパレータ出力信号が、ハイ論理状態であれば(これはこの態様においては、一致する識別子を受け取っていないことを意味する)、動作禁止システム103は、プロセッサコア80の動作特性を動作禁止にする信号(これはデータ経路108上で供給される)を生成する。コンパレータ出力信号が論理ロー状態である(この態様においては、一致する識別子を受け取ったことを意味する)場合には、動作禁止システム103は、ランタイムプログラム94は、セル電話で使用することが認可されていると仮定し、動作特性を動作禁止にする信号を生成しない。
照合識別子101は、個々のセル電話によって変わることが期待される。これは、任意特定のセル電話の照合識別子101は、そのメーカーおよびモデルによる、他のほとんどのセル電話の照合識別子101と異なるはずであることを意味するが、特定のメーカーおよびモデルのセル電話がすべて、固有の照合識別子101を有することは、必要条件ではない。
さらに、セル電話製造業者は、特定のセル電話に関連しての使用が認可されたランタイムプログラム94が、そのセル電話の照合識別子101と一致するプログラム識別子98を有することを保証するための処置をとることが期待される。これを行うための様々な態様について、以下に説明する。
本明細書において使用する場合には、プログラム識別子98および照合識別子101は、プログラム識別子98および照合識別子101が、少なくとも所定の相互対応尺度を有していれば、互いに一致することになる。この所定の対応尺度は、態様によって変えることができる。態様によっては、プログラム識別子98および照合識別子101は、それらが互いに同一である場合にのみ、その所定の対応尺度を有することになる。その他の態様においては、プログラム識別子98および照合識別子101は、それらが互いに所定の関係を有する限り、それらが互いに同一でなくても、所定の尺度を有することになる。
セキュリシステムのコンパレータ102、動作禁止システム103、およびデータ経路105、107の部分は、実質的にハードウエア内に実装するのが好ましい。ここで、「実質的にハードウエア内」という用語を用いるときには、検査中のプログラム(例えば、ランタイムプログラム94)は、一致が見られないときに、セキュリティシステムが動作特性を動作禁止にすることを防止するのに十分な制御権を、これらの部分のいずれに対しても有さないことを意味する。すなわち、検査中のプログラム(例えば、ランタイムプログラム94)による制御は行われないか、または限定された制御だけが行われる。これによって、上記した従来方法よりも、セキュリティシステムを不正変更および/または無効化するのがより難しくなる。
「実質的にハードウエア内」という用語は、排他的にハードウエア内ということを意味するものではないことを理解すべきである。例えば、「実質的にハードウエア内」とは、状態マシーン、ファームウエアおよび/または検査中のプログラムの制御下にないソフトウエアを除外するものではない。そのようなソフトウエアは、例えば、コアプロセッサ中に埋め込んで、コアプロセッサの外部からはアクセス不能とする(例えば、コアプロセッサ内部で別個のアドレス/データバス上で動作させる)ことができる。実際に、コンパレータ102および動作禁止システム103は、任意の形態、例えば、それに限定はされないが、ソフトウエア、ハードウエア、ファームウエア、またはそれらの任意の組合せの形態で実現することができる。より具体的には、1つまたは2つ以上のそのような要素の形態としては、それに限定はされないが、ルール、プロセス、ファンクション、公式、方程式、線形フィードバックシフトレジスタ、ルックアップテーブル、マッピング、その他、またはそれらの任意の組合せがある。上記にもかかわらず、態様によっては、セキュリティシステムは、ハードウエア、例えば結合式論理(combinatorial logic)や順序レジスタ(sequence register)に、排他的に実装される。
さらに、「実質的にハードウエア内」という用語は、コンパレータ102および/または動作禁止システム103が、検査中のプログラムから入力を受け取れないことを意味するものではないことを理解すべきである。例えば、検査中のプログラムは、通常、プログラム識別子98を提供する。
図3は、プロセッサコア80(図2)に使用することのできる1つのアーキテクチャを示す。このアーキテクチャにおいては、プロセッサコアは、中央プロセッサユニット(CPU)110、メモリ111、セキュリティシステム論理部112およびセキュリシステムデータレジスタ部113を含む。プロセッサコア80には、CPU110と協働する、追加のプロセッサユニット(図示せず)を含めることができる。データ経路114、115は、CPU110を外部インターフェイス84、85にそれぞれ接続する。データ経路116A〜116Eは、別個のプロセッサコア構成要素を互いに接続する。データ経路116A〜116Eは、互いに分離した状態で示してあるが、これらの1つまたは2つ以上を、互いに結合、および/またはデータ経路114、115と結合することもできることを理解すべきである。プロセッサ80は、通常、単一チップ上に配置、および/または単一パッケージ中に統合される。
メモリ111は、本明細書ではプロセッサメモリ111と呼び、通常、プロセッサコア80の製造業者により設計されて導入されている機能を提供することだけ(または少なくともほとんどそのため)に使用される。プロセッサメモリ111は、レジスタおよび/または比較的少量のメモリを含む。このメモリは、それに限定はされないが、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、およびそれらの組合せを含む、任意の種類のものでよい。メモリ111は、必須ではないが、一回だけプログラム可能な部分(one time programmable portion)を有してもよい。
プロセッサメモリ111は、ブートプログラム117Aおよびダウンロードプログラム117Bを記憶することができる。ブートプログラム117Aは、リセットまたは電源投入時に実行してもよく、ランタイムプログラム94がシステムメモリ82にロードされているかどうかを判定する命令をそれに含めることができる。ランタイムプログラム94がシステムメモリ82内にロードされているとブートプログラム117Aが判定すると、実行はランタイムプログラム94へとジャンプする。一方、ランタイムプログラム94がシステムメモリ82にロードされていないとブートプログラム117Aが判定すると、実行はダウンロードプログラムへとジャンプする。ダウンロードプログラム117Bには、ランタイムプログラム94を受け取り、システムメモリ82中にロードすることを可能にする命令が含まれる。これは、例えば、セル電話の製造段階において発生することがある。
セキュリティシステム論理部112は、照合識別子を生成して記憶するための結合式論理回路および同期レジスタ118A、118Bを含む。セキュリティシステム論理部は、また、図1のコンパレータ102、動作禁止システム103、ならびにデータ経路105、107および108の一態様を実現するための、結合式論理回路118C、118Dならびにデータ経路118E、118Fおよび118Gをそれぞれ含む。ここで、結合式論理および同期レジスタは、任意の形態かつ技術のものとすることができることを認識すべきである。
セキュリティシステムデータレジスタ部113は、以下にさらに説明する、識別子コードレジスタ119A、シードレジスタ119Bおよびアクセスキーレジスタ119Cを含む。セキュリティシステムに使用する追加のデータレジスタは、セキュリティシステムデータレジスタ部113内および/またはセキュリティシステム論理部112内、またはその他の場所に配置することができる。
ここで、図3はプロセッサコア用の1つの可能なアーキテクチャを示すにすぎないことを理解すべきである。プロセッサコアは、このアーキテクチャに限定されるものではない。任意にその他の適当なアーキテクチャを使用することもできる。
照合識別子101を読み出し、次いでソフトウエアを修正して、プログラム識別子98を照合識別子101と一致させることによって、セキュリティシステム100を不正変更および/または無効化する試みがされることが予想される。また、照合識別子101を変更して、プログラム識別子98に一致させる試みもあるかもしれない。したがって、照合識別子を、通常のユーザーから「隠す」ことが望ましい。
結果的に、照合識別子101は、セキュリシステムの外部から、直接アクセスが不可能であり、かつ直接変更も不可能とするのが望ましい。「直接アクセス不可能」とは、照合識別子101が記憶されている可能性のあるアドレスを指定する読出し命令を単に実行することによっては、読出し不可能であることを意味する。しかしながら、照合識別子101は、例えば、読出し動作を含む所定の動作順序を実行することによって、間接的にアクセス可能である。この事前設定された動作順序を秘密にするのが望ましい場合がある。「直接変更不可能」とは、照合識別子101が記憶されている可能性のあるアドレスを指定する書込み命令を単に実行するだけでは、変更不可能であることを意味する。しかしながら、照合識別子101は、それに限定はされないが、例えば、書込み動作を含む事前設定された動作順序を実行することによって、間接的に変更可能である。さらに、態様によっては、照合識別子101は、いかなる外部端子からもアクセス不可能である。
ここで認識すべきは、データ経路104、105、107は、互いに分離した状態で示してあるが、経路の1つまたは2つ以上を互いに組み合せることができることである。また、上記の論理規則(logic convention)は、論理規則の1つにすぎず、その他の論理規則を使用することもできることを認識すべきである。
態様によっては、事前設定された動作順序が実行される場合にのみ、プログラム識別子98および照合識別子101が、コンパレータ102に供給され、かつ/または互いに比較される。これによって、セキュリティシステム100を不正変更および/または無効化するのをより困難にすることができる。事前設定された動作順序は、例えば、例えば合同検査アクセスグループ(Joint Test Access Group)(JTAG)操作の一部としてよく実施されるような、事前設定された命令順序および/またはレジスタ上での事前設定された動作順序である。この特有の事前設定された動作順序は、検査順序と呼ばれる。この検査順序を秘密にするのが望ましい場合がある。また、セル電話をリセットすることなしに、照合識別子101とプログラム識別子98とを比較することのできる回数を制限するのが望ましいこともある。例えば、態様によっては、セキュリシステム100は、電力投入またはリセット後に、プログラム識別子と照合識別子とを一回だけ比較することを許可することがある。引き続き比較が試みられる場合には、コンパレータ102は、一致する識別子を受け取らなかったことを意味する出力信号を生成し、それに応答して、動作禁止システムが、電話の動作特性を動作禁止にする信号を生成する。
態様によっては、エミュレータが起動されている場合には、セキュリティシステムが動作禁止にされる。このことによって、エミュレータを使用して、セキュリティシステム100を不正変更および/または無効化するのに使用することのできる情報を発見することがより困難になる。このことを達成するには多くの方法があることは明白である。1つの方法について、図5を参照して以下に説明する。
さらに、一致する識別子が受け取られない場合には、疑似ランダムな非機能的挙動を開始し、かつ/またはセル電話の動作特性が、所定の持続時間、すなわち操作前に設定される(すなわち、事前設定される)か、または操作中に(すなわち動的に)決定される持続時間の後にだけ、動作禁止とされるように遅延を含める方法によって、動作特性を動作禁止にするのが望ましいことがある。
遅延を導入することによって、セキュリティシステム100を不正変更および/または無効化するのに使用できる、セキュリティシステムを実装する方法に関する情報の発見をさらに困難にすることができる。また、これによって、特定のセル電話に使用されている照合識別子を「推定」(すなわち、試行錯誤によって照合識別子を特定)するのに必要な時間が増加する。そして、これによって、セキュリティシステムを不正変更および/または無効化することがより困難となる。例えば、遅延が4秒であり、照合識別子が32ビットディジタルコードである場合には、照合識別子を推定するのに要する時間は、次式のように544年となる。

4秒×232=544年 式(1)
ここで認識すべきは、照合識別子に使用するビット数を変更することによって、照合識別子を推定するのに要する時間が変わることである。例えば、遅延が4秒であり、照合識別子が8ビットだけに減少すると、照合識別子を推定するのに必要な時間は、次のように17分にまで減少する。

4秒×2=17分 式(2)

態様によっては、1つまたは2つ以上の無規則に生成した、不使用のディジタルコードが、システムメモリのソフトウエアに埋め込まれて、その結果、類似のメーカーおよびモデルのセル電話間において、プログラム識別子とIMEIコードが、ソフトウエアにおける唯一の差異ではなくなる。
図4は、セル電話の動作中に照合識別子101を生成するための一態様を示す。この態様においては、各プロセッサコアは、識別子コード120を備えている。この識別子コード120は、各プロセッサコアによって変ってもよいが、すべてのプロセッサコアが、固有の識別子コード120を有することが必要条件ではない。
識別子コード120は、通常、不揮発性のレジスタまたは記憶場所(本明細書においては、識別子コードレジスタと呼ぶ)に記憶される。例えば、識別子コード120は、プロセッサコアの物理的ネットリストの一部(例えば、プロセッサコアがプロセッサメモリを含む場合には、それのROM部分内)とするか、または(プロセッサコアがそれを含む場合には)プロセッサコアの一回のみプログラム可能な部分の一部とすることもできる。
識別子コード120は、暗号化モジュール122に供給される。1つまたは2つ以上の他のコード124を、暗号化モジュール122に供給してもよい。このような他のコード124としては、それに限定はされないが、IMEIコード96、セル電話のその他の構成要素に関連する1つまたは2つ以上の識別子コード126、プロセッサによって実行された1つまたは2つ以上の命令を表わすデータ(例えば、それに限定はされないが、少なくとも1つの操作コード(op code)128、少なくとも1つのアドレス130、および少なくとも1つのデータワード132の少なくとも1つを示すデータ)、またはそれらの任意の組合せがある。別の可能なコードは、特定の時間間隔において(すべての操作コード、すべてのアドレス、およびすべてのデータワードを含む)プロセッサが実行する命令のすべてに応じて生成することができる。
暗号化モジュール122は、暗号化戦略に従って、コード120、124をシードとして使用して、照合識別子(これはデータ経路123上に出力される)を生成する。態様によっては、暗号化モジュール122は、疑似乱数発生器の形態であるが、この暗号化モジュールは、それに限定されるものではない。本明細書において使用する上では、「暗号化戦略」という用語には、任意の方法で生成される、任意の種類の暗号化戦略を含む。この暗号化戦略は、事前設定して不変とすることができるが、それに限定されない。暗号化戦略は、一般的に、ベースバンドプロセッサ60の設計者もしくはセル電話の製造業者、またはその任意の組合せによるか、またはそのために設定されることになる。さらに、暗号化戦略は、それに限定はされないが、ルール、プロセス、ファンクション、公式、方程式、線形フィードバックシフトレジスタ、ルックアップテーブル、マッピング、その他、またはそれらの任意の組合せを含む、任意の形態で実現することができる。
態様によっては、照合識別子は、本明細書では検索順序と呼ぶ事前設定された命令順序を実行しない限り、生成されない。
セキュリティシステム100を不正変更および/または無効化するのをさらに難しくするために、この態様では、制御モジュール134をさらに含み、この制御モジュール134は、(ライン136上で)リセット信号、および(ライン138上で)書込み/読出し信号を受け取り、制御信号を(ライン140上で)暗号化モジュール122に供給し、この制御信号が、リセットまたは電源投入後に照合識別子101を生成することのできる回数を制限する。
識別子コード120を読み取ることによって、セキュリティシステム100を不正変更および/または無効化する試みがされる可能性があることが予想される。したがって、照合識別子と同様に、識別子コード120は、通常のユーザーには隠しておくのが好ましい。その結果として、識別子コードは、実行されているプログラムによって直接アクセスが可能ではなく、かつ直接変更が可能ではないのが好ましい。これによって、セキュリティシステム100を不正変更および/または無効化するのがより困難となる。態様によっては、識別子コード120は、プロセッサコアのアドレスマップ内の非公共アドレス内に記憶され、それによって識別子コードを「隠す」(すなわち、発見をより難しくする)ことを容易にする。
しかしながら、上述のように、セル電話製造業者は、特定のセル電話に関連して使用するためのソフトウエアが、その特定のセル電話の照合識別子と一致するプログラム識別子を有することを保証するために対策を講じることが期待される。結果として、電話製造業者は、セル電話のプロセッサコア内部に埋め込まれている識別子コードにアクセスする必要がある場合がある。
したがって、例えば、本明細書ではアクセス順序と呼ぶ、事前設定された命令または操作の順序を使用して、識別子コードに間接アクセス可能とすることが望ましいことがある。このアクセス順序には、アクセスキー(すなわち、アクセスコード)を供給することが必要となることがある。ここで留意すべきことは、アクセス順序およびキーは、顧客専用にする(すなわち、各電話製造業者によって異なる)ことができることである。いくつかの態様では、識別子コードにアクセスできる以前に、特定のレジスタ(単数または複数)および/またはアドレス(単数または複数)に所定の値または値の列を書き込むことが要求される。このことによって、システムを不正変更および/または無効化することが、さらに難しくなる。デフォールト値(所定の値が、レジスタまたはアドレスに書き込まれない場合に受け取る値)はダミー値とすることができる。態様によっては、識別子コードは、暗号化された形態(これは、照合識別子を生成するのに使用されるものとは異なる暗号化戦略を使用する)でのみ、アクセス可能にされる。
しかしながら、ここで認識すべきことは、(暗号化されているか、またはされていない)識別子コードへの(間接的、またはそうではない)アクセスを許可するセキュリティシステムは、識別子コードへのアクセスをまったく与えないシステムほど安全ではない場合があることである。結果的に、いくつかの態様では、識別子コードを、プロセッサコアの外部から完全にアクセス不可能とすることができる。
図5は、動作禁止システム103(図2)の一態様を示す。この態様においては、動作禁止システム103は、ウォッチドッグタイマー回路150の形態である。ウォッチドッグタイマー回路は、一種の監督回路であり、マイクロプロセッサ利用回路に一般的に使用されている。ウォッチドッグタイマー回路の目的は、マイクロプロセッサが望ましくない動作をしているかどうかの判定をしやすくすることである。これは、マイクロプロセッサに望ましくない動作をさせる、様々な状況が発生しうることから、重要である。これらには、(1)命令を混乱させ、かつ/またはマイクロプロセッサを不適当なアドレスにジャンプさせる、グリッチおよび/またはハードウエア故障、(2)無限ループなどのソフトウエアエラーがある。ウォッチドッグタイマー回路は、通常、マイクロプロッセが望ましくない動作をしていないことを、ウォッチドッグタイマー回路に保証するための信号を時折アサートすることを、マイクロプロセッサに対して要求する。マイクロプロセッサが、要求どおりに信号をアサートしない場合には、ウォッチドッグタイマー回路は、マイクロプロセッサの動作順序を中断するために、リセットまたはその他の動作を開始する。
ウォッチドッグタイマー回路150は、クロック152およびカウンタ154を有する。このクロック152はクロック信号を生成し、このクロック信号が、カウンタ154上のクロック入力に供給される。カウンタ154は、他の3つの入力(リフレッシュ、リフレッシュ動作禁止、およびウォッチドッグ動作禁止)と1つの出力(タイムアウト)とを有する。クロック入力は、信号ライン156上で、クロック信号を受け取る。リフレッシュ入力は、信号ライン158上で、(プロセッサコアによって駆動される)ウォッチドッグリフレッシュ信号を受け取る。リフレッシュ動作禁止入力は、信号ライン160上で、コンパレータ出力信号を受け取る。 ウォッチドッグ動作禁止入力は、信号ライン162上で、(プロセッサコアによって駆動される)エミュレータ起動信号を受け取る。タイムアウト信号は、ライン164上に出力される。
動作は次のとおりである。カウンタ154が、クロック信号上でクロックパルスを数える。この計数が、(所定時間間隔または持続時間に対応する)所定数に達すると、回路がタイムアウト信号をアサートして、この信号が、リセットまたはその他の動作を開始して、プロセッサコアの動作順序を中断する。態様によっては、所定計数は、リセットおよび/または電源投入後、約4秒に対応させることができる。リフレッシュ入力がアサートされると、リフレッシュ動作禁止入力もアサートされない限り、カウンタ154がリセットされる。しかしながら、コンパレータ102が一致する識別子を受け取っていないことを、コンパレータ出力信号が示す限り、リフレッシュは動作禁止にされる。すなわち、カウンタ154が所定数に達する以前にコンパレータ102が一致する識別子を受け取らない限り、ウォッチドッグタイマー回路150は、タイムアウト信号をアサートする。
エミュレータ起動信号が、ウォッチドッグ動作禁止入力に供給されるので、ウォッチドッグタイマー回路150は、エミュレータが起動状態であれば、動作禁止にされる。必要条件ではないが、この配設によって、エミュレータを使用して、セキュリティシステム100を不正変更および/または無効化することのできる情報を発見することが、さらに難しくなる。
ここで理解すべきことは、別の態様においては、動作禁止システム103は、ウォッチドッグタイマー回路150の形態であっても、そうでなくてもよいことである。さらに、その他の態様では、リセットまたは電源投入後の所定持続時間内にセル電話を、動作禁止にすることも、しないこともできる。
図6は、図2のセキュリティシステムの一態様を実現するのに使用する方法/特徴を示す図である。この態様においては、照合識別子は、図4に関して上述したように、識別子コードおよびシードに基づいている。識別子コードは、アクセスキーでアクセス順序を使用して(シードに基づく暗号化形態において)間接的にアクセス可能である。図6に提示および/または説明する方法/特徴のすべてが、すべての態様に使用されるわけではないことを理解すべきである。また、いくつかの方法/特徴はプロセッサコア内部にあるとともに、そうではないものもあることを認識すべきである。
ここで図6を参照すると、170で示すように、識別子コード、シードA、シードB、およびアクセスキーが生成される。乱数発生器を使用してもよいが、それは必須要件ではない。識別子コードおよび/またはシードを、プロセッサコア毎に変えることが望ましいことがある。しかしながら、すべてのプロセッサコアが、固有の識別子コードおよび/またはシードを有することは必要条件ではない。シードおよび/またはアクセスキーは、顧客専用にする(すなわち、各電話製造業者によって異なる)ことができる。
172に示すように、識別子コード、シード(単数または複数)、およびアクセスキーが、プロセッサコア中に埋め込まれる。これは、様々な方法で実施することができる。1つの方法は、プロセスコアを構成する、物理的データ/ネットリスト内に定義を埋め込む方法である。単一のレチクルマスク(reticle mask)を使用する場合には、異なる識別子コードおよびシードの数は、レチクル上に配置することのできるダイの数、例えば8または12、によって決まることがある。異なる識別子コードの数が少ないほど、シードの便益は大きくなることに留意されたい。一定間隔、かつ/またはマスク改訂が生成される度に、識別子コードおよび/またはシードを更新するのが望ましい場合がある。識別子コードおよび/またはシードの定義を、それが必要条件ではないが、単一金属層上で実現して、そのような改訂を容易にすることができる。
第2の方法は、プロセッサコアを製造後に、プロセッサコア中に定義を埋め込む方法である。これは、プロセッサコアが1つまたは2つ以上の種類のプログラム可能要素、例えば、それに限定はされないが、プログラム可能ヒューズ(電気またはレーザ)、プログラム可能リンク、一回だけプログラム可能なFLASHメモリもしくはレジスタ、EEPROM,およびそれらの組合せを有する場合に可能である。ヒューズは、一般に、「溶断」しない限りインピーダンスが低い。プログラム可能リンクは、一般に、プログラムされていない限り、インピーダンスが高い。消去可能または再プログラム可能要素を使用する場合には、識別子を消去および/または再プログラムするのを難しくするのが望ましい場合がある。さらに、識別子コードをアクセス可能にすべきかどうかを示す、追加の、一回だけプログラム可能なコードを含めるのが望ましいことがある。識別子コードがアクセス可能でない場合には、識別子コードのデータベースを維持して、ソフトウエアに対する更新を行う能力を保持するようにするのが望ましいことがある。この対策は、例えば、プロセッサコアの製造者または電話製造者によって(すなわち、それによって、またはそれらの代理で)実行することができる。
174に示すように、セル電話製造者は、プロセッサコアへのアクセスキーを含む、アクセス順序を供給する。適当なアクセス順序およびアクセスキーが供給されていない場合には、プロセッサコアは、176で示すように、暗号化戦略MおよびシードAを使用して識別子コードを暗号化し、暗号化識別子コードをレジスタ178に記憶させる。次いで、暗号化された識別子コードは、パラレルポートまたはシリアルリンク(例えば、JTAGまたは類似のもの)を介してプロセッサコアから出力される。
セキュリティシステムを不正変更および/または無効化するのをさらに難しくするために、アクセス順序と関連して以下(およびその他の)対策の1つまたは2つ以上を講じることができる。
(1)ブートプログラムから実行していない場合には、アクセス順序を動作禁止にできるようにする。
(2)シード、アクセスキー、および識別子コードを、プロセッサコア内部の記憶場所から読み取るが、バスを使用せずに読み出し、バスはすべてゼロに駆動する。
(3)一連の書込みおよび/または読出しは、特定のレジスタ(単数または複数)および/またはアドレス(単数または複数)に/から実行しなくてはならない。
(4)アクセスキーは、識別子コードにアクセスできる以前に、どれかのレジスタまたはアドレスに書き込まなくてはならない。
(5)プロセッサコアに記憶されたアクセスキーを、アクセス順序の一部として供給されたものと比較して、それらが等しい場合に、あるサイクル数に対して、フラグを設定する。
(6)アクセス順序における動作が、適切な順序で、あるいはあるサイクル数内で実行されない場合に、アクセスレジスタ内にゼロを記憶する。
(7)あるサイクル数の後に、フラグおよびレジスタをリセットして、それによって識別子コードにアクセスしようとするさらなる試みを禁止する。
(8)リセットの後に、1つのアクセス順序だけを実行可能にする。
(9)適切なキーがアクセス順序中に供給されない場合には、識別子コード(暗号化されたもの、または暗号化されていないもの)は、アクセスレジスタ内に記憶されない。その代わりに、乱数または疑似乱数コードがアクセスレジスタ内に記憶される。
(10)アクセスレジスタ内の識別子コード(暗号化あり、またはなし)の読出し中に、メモリ出力上の値を変更するために、オンボード記憶場所(例えば、ROM)へのダミー読出しアクセスを実行する。
いくつかの態様においては、パラレルポートを介して有効な識別子コードを得るために、以下の3つの条件を満足しなくてはならない。それは、
(1)アクセス順序を形成する命令は、プロセッサコア上のメモリ(例えば、ROMまたはSRAMのいずれでも利用可能なもの)からフェッチしなくてはならない、
(2)事前設定された動作順序を、あるクロックサイクル数内に実行しなくてはならない、および
(3)割込みを動作禁止にしなくてはならない、ことである。
ここで、セル電話の他の構成要素の識別子コードから生成されるシードコードを使用することによって、暗号化された識別子コードは、セル電話内のその他の構成要素にさらに依存するようにすることができることに留意されたい。そのようなコードを生成する1つの順序が以下のようなものである。1つまたは2つ以上の他の構成要素から識別子コードを読み出し、シードコードを生成する。このシードコードをシードレジスタに書き込む。上記のように識別子コードを読み出し、この場合に、暗号化された識別子コードは、プロセッサコアの識別子コードと1つまたは2つ以上の他の構成要素の識別子コード(単数または複数)との組合せとなる。
180に示すように、セル電話製造業者は、(プロセッサコアが使用する暗号化戦略Mに対応する)解読戦略MとシードA(および暗号化に使用された、その他任意のコード)とを用いて暗号化された識別子コードを解読して、識別子コードを得る。182において、識別子コードを、(プロセッサコア内で照合識別子を生成するのに使用されるものに対応する)暗号化戦略NとシードB(およびその他任意の望ましいコード)とを使用して暗号化して、(電話の動作中に)プロセッサコア内に生成しようとする照合識別子に一致するプログラム識別子を生成する。次いで、プログラム識別子を、184に示すように、システムメモリ内のソフトウエア中に埋め込む。
この態様においては、照合識別子の生成を開始するために、事前設定された動作順序を実行しなくてはならない。この事前設定された動作順序を、本明細書においては、「検査順序」と呼ぶ。この態様においては、検索順序を実行するための命令は、プロセッサメモリ(例えば、リセットまたは電力投入時に実行される、ブートプログラム(図3))内に記憶される。プログラム識別子と照合識別子との比較を開始するためには、事前設定された動作順序も実行しなくてはならない。この事前設定された動作順序を、本明細書では検査順序と呼ぶ。この態様においては、検査順序を実行する命令は、システムメモリのソフトウエア内に埋め込まれている。
検索順序は、186で示すように、セル電話の動作中(例えば、リセットまたは電源投入時)に実行されて、照合識別子の生成が開始される。188で示すように、プロセッサコアは、暗号化戦略NとシードB(およびプロセッサコアに供給されるその他任意のコード)とを使用して、照合識別子コードを暗号化して、照合識別子を生成し、この照合識別子がレジスタ190内に記憶される。態様によっては、この検索順序は、リセットの後に一度だけ実行し、かつ/またはアクセス順序に対して上述したような1つまたは2つ以上の対策を組み込むことができる。
次いで、検査順序を実行して、192に示すように、プログラム識別子と照合識別子との比較を開始する。プログラム識別子と照合識別子とが互いに一致しない場合には、194で示すように、セル電話の動作特性を動作禁止にする禁止信号が生成される。
上述のように、図6の態様は、様々な対策を含む。これらの対策のすべてが、すべての状況において使用されるわけではない。ここで、通常、アクセス順序の定義、アクセスキー、検査順序、暗号、任意のレジスタの場所、およびセキュリティシステムに使用される任意の記憶場所は、できる限り秘密にするのが望ましいことに留意されたい。
態様によっては、事前設定された命令順序は、プロセッサコアの正常命令セットからの命令によって構成される。これらの命令は、ソフトウエアのその他の場所で頻繁に使用される命令であってもよいし、そうでなくてもよい。
図7は、セキュリティシステム204のパラメータ用に確保されたアドレススペースを含む、ROM202を備えるプロセッサメモリ200を示す。ROM202は、520のアドレスを有する。511より上のアドレスは、識別子コード、シード、およびアクセスキー用に確保されている。ROM202は、10個のアドレスビットaddr0〜9によってアドレス指定される。9個の下位アドレスビットaddr0〜8は、アドレス復号からの9個のビットが供給される。最上位ビットaddrには、セキュリティシステム論理206からライン207上のビットが供給される。確保されたアドレスは、セキュリティシステム論理206が、最上位アドレスビットaddrをアサートする場合にのみ、アクセス可能である。
ROM202からの32ビット出力は、セキュリティシステム論理206、およびマルチプレクサ208上の2つの32ビット入力の1つに供給される。セキュリティシステム論理206には、さらに、アドレス復号から4ビット、データバスから32ビットが供給される。セキュリティシステム論理206は、マルチプレクサ208上の第2の32ビット入力に32ビット信号を供給して、マルチプレクサ選択ライン209を駆動する。マルチプレクサ208は、32ビット信号を出力する。
動作は次のとおりである。セキュリティシステム論理206が、適当な順序が供給されたと判定すると、セキュリティシステム論理206は、addrおよびマルチプレクサ選択ライン209をアサートし、ROM202内に確保されたアドレスを、マルチプレクサ208からアクセスおよび出力を可能とする。適当な順序が供給されていない場合には、セキュリティシステム論理206は、addrをアサートしない。その代わりに、セキュリティシステム論理206は、乱数または疑似乱数コードを供給し、これが次いでマルチプレクサ208によって出力される。
「〜に応じて」という用語を使用するときには、「少なくとも〜に応じて」を意味し、2つ以上のものに応答することを除外するものではない。
セキュリティシステムを、セル電話に使用するベースバンドプロセッサに関して説明したが、本発明は、そのような態様または使用に限定されるものではない。むしろ、その他の態様は、それに限定はされないが、PDA(portable digital assistant)を含む、任意の電子デバイスに関連して使用することが可能である。
様々な態様を示して説明したが、当業者であれば、本発明はこのような態様に限定されるものではなく、これらの態様は例証としてのみ示したものであり、本発明の主旨と範囲から逸脱することなく様々な変更および修正を加えることができることを、理解するであろう。
セル電話およびセルラー電話ネットワークを含む、移動通信システムの一態様を示すブロック図である。 本発明の一態様によるセキュリティシステムを備えるプロセッサコアを含む、図1のセル電話で使用することのできるベースバンドプロセッサの一部のブロック図である。 図2のプロセッサコアの1つのアーキテクチャを示すブロック図である。 図2のセキュリティシステムに使用する照合識別子を生成するための一態様のブロック図である。 図2のセキュリティシステムに使用する動作禁止システムの一態様のブロック図である。 図2のセキュリティシステムの一態様を実現するのに使用する一方法/特徴を示す図である。 図2のセキュリティシステムの一態様を実現するのに使用する一方法/特徴を示す図である。 図2のセキュリティシステムの一態様の、一部分を示すブロック図である。

Claims (45)

  1. デバイスのプロセッサコア内部で使用する方法であって、
    前記プロセッサコア内部からの照合識別子を受け取るための入力を設けること;
    システムメモリ内に記憶されたソフトウエアに関連するプログラム識別子を受け取るための入力を設けること;
    少なくとも所定の相互対応尺度を有する、照合識別子およびプログラム識別子の受領、またはその欠如を意味するデータを生成すること;および
    少なくとも事前設定された所定の相互対応尺度を有するプログラム識別子および照合識別子の受領を前記データが示さない限り、前記プロセッサコアの動作特性を動作禁止にすることを含み、前記受領、またはその欠如を意味するデータに、実質的にハードウエア内で応答することを含む、前記方法。
  2. 応答することが、システムメモリ内に記憶されたソフトウエアと独立に応答することを含む、請求項1に記載の方法。
  3. 応答することが、排他的にハードウエア内で応答することを含む、請求項1に記載の方法。
  4. データに応答することが、アドレス/データバスから分離されたデータ経路を介してデータを受け取ることを含む、請求項1に記載の方法。
  5. プロセッサコア内に記憶された識別子コードを暗号化すること、および該暗号化された識別子コードに応じて照合識別子を生成することを含む、請求項1に記載の方法。
  6. 暗号化することが、暗号化戦略と、システムメモリに記憶されたソフトウエアによって供給されるシードとに応じて、識別子コードを暗号化することを含む、請求項5に記載の方法。
  7. プロセッサコア内に識別子コードを記憶すること、および前記プロセッサコアの外部から識別子コードの形態への間接アクセスを提供することをさらに含む、請求項1に記載の方法。
  8. 間接アクセスを提供することが、識別子コードの暗号化形態への間接アクセスを提供することを含む、請求項7に記載の方法。
  9. 識別子コードの形態に応じてプログラム識別子を生成すること、および該プログラム識別子をシステムメモリ内に記憶することをさらに含む、請求項7に記載の方法。
  10. 解読を用いて識別子コードを特定すること、該識別子コードおよび暗号化戦略に応じてプログラム識別子を生成すること、および該プログラム識別子をシステムメモリ内に記憶されたソフトウエア内に記憶することをさらに含む、請求項8に記載の方法。
  11. プロセッサコアの外部からの識別子コードへの直接アクセスを防止することをさらに含む、請求項6に記載の方法。
  12. 応答することが、所定の事象からの所定持続時間内に、少なくとも所定の相互対応尺度を有するプログラム識別子および照合識別子の受領をデータが示さない限り、プロセッサの動作特性を動作禁止にすることを含む、請求項1に記載の方法。
  13. エミュレータが起動状態の場合に、動作禁止にすることが禁止される、請求項1に記載の方法。
  14. 動作禁止にすることが、所定の事象からの所定持続時間内に、少なくとも所定の相互対応尺度を有するプログラム識別子および照合識別子の受領をデータが示さない限り、ウォッチドッグタイマーのリフレッシュを動作禁止にすることを含む、請求項1に記載の方法。
  15. エミュレータが起動状態である場合に、ウォッチドッグタイマーが動作禁止にされる、請求項14に記載の方法。
  16. デバイスが、セル電話である、請求項1に記載の方法。
  17. プロセッサコアであって、
    該プロセッサコア内部からの照合識別子と、システムメモリ内に記憶されたソフトエウアに関連するプログラム識別子とを受け取り、少なくとも所定の相互対応尺度を有する照合識別子およびプログラム識別子の受領、またはその欠如を意味するデータを生成するコンパレータ;および
    対応尺度を示すデータに応答する動作禁止システムであって、前記プログラム識別子と前記照合識別子との間に少なくとも所定の対応尺度があることを前記データが示さない限り、前記プロセッサコアの動作特性を動作禁止にする信号を生成する前記動作禁止システムを含む、前記プロセッサコア。
  18. 照合識別子を記憶するレジスタをさらに含み、コンパレータが、プロセッサコアとシステムメモリとを結合するデータ経路と分離されたデータ経路によって、前記レジスタに動作可能に結合されている、請求項17に記載のプロセッサコア。
  19. 動作禁止回路が、プロセッサコアとシステムメモリとを結合するデータ経路から分離されたデータ経路を介してデータを受け取る、請求項17に記載のプロセッサコア。
  20. 動作禁止回路が、プロセッサコアとシステムメモリとを結合するデータ経路から分離されたデータ経路を介してデータを受け取る、請求項18に記載のプロセッサコア。
  21. プロセッサコアに記憶された識別子コードを暗号化し、該暗号化された識別子コードに応じて照合識別子を生成する、ディジタル回路をさらに含む、請求項17に記載のプロセッサコア。
  22. プロセッサコアが、該プロセッサコアの外部から識別子コードの形態への間接アクセスを提供する、請求項21に記載のプロセッサコア。
  23. プロセッサコアが、識別子コードの暗号化された形態への間接アクセスを提供する、請求項21に記載のプロセッサコア。
  24. プロセッサコアが、該プロセッサコアの外部からの識別子コードへの直接アクセスを防止する、請求項21に記載のプロセッサコア。
  25. エミュレータが起動状態の場合には、動作禁止システムが、動作禁止の信号を生成しない、請求項17に記載のプロセッサコア。
  26. 動作禁止システムが、ウォッチドッグタイマーのリフレッシュを動作禁止にする回路を含む、請求項17に記載のプロセッサコア。
  27. エミュレータが起動状態の場合に、ウォッチドッグタイマーが、動作禁止にされる、請求項26に記載のプロセッサコア。
  28. コンパレータが、ディジタル回路である、請求項17に記載のプロセッサコア。
  29. 動作禁止システムが、回路である、請求項17に記載のプロセッサコア。
  30. 照合識別子が、プロセッサコアの外部端子を介してアクセス可能ではない、請求項17に記載のプロセッサコア。
  31. プロセッサコアであって、
    該プロセッサコア内部から照合識別子を受け取るための入力;
    システムメモリ内に記憶されたソフトウエアと関連するプログラム識別子を受け取るための入力;
    少なくとも所定の相互対応尺度を有する照合識別子およびプログラム識別子の受領、またはその欠如を意味するデータを生成する手段;および
    該受領、またはその欠如を意味するデータに、実質的にハードウエア内で、応答する手段であって、少なくとも所定の相互対応尺度を有するプログラム識別子および照合識別子の受領を前記データが意味しない限り、前記プロセッサコアの動作特性を動作禁止にする手段を含む前記応答する手段を含む、前記プロセッサコア。
  32. 電子デバイスであって、
    メモリ;
    該メモリ内に記憶されて、プログラム識別子を含むソフトウエア;
    データ経路を介して前記メモリに結合されたプロセッサコアを含み、該プロセッサコアはコンパレータを含み、該コンパレータは、前記プログラム識別子と照合識別子とを受け取り、それらに応じて、前記プログラム識別子と前記照合識別子との対応尺度を示す信号を生成するとともに、前記プロセッサコアはさらに動作禁止システムを含み、該動作禁止システムは、前記コンパレータが生成する信号に応答して、前記照合識別子と前記プログラム識別子との間に少なくとも所定の対応尺度があることを前記信号が示さない限り、前記電子デバイスの動作特性を動作禁止にするように構成されている、前記電子デバイス。
  33. コンパレータおよび動作禁止システムが、回路である、請求項32に記載の電子デバイス。
  34. 電子デバイスが、セル電話である、請求項32に記載の電子デバイス。
  35. プロセッサコアが、照合識別子を記憶するレジスタをさらに含み、コンパレータが、前記プロセッサコアとメモリとを結合するデータ経路と分離されたデータ経路によって、前記レジスタに動作可能に結合されている、請求項32に記載のデバイス。
  36. 動作禁止システムが、プロセッサコアとシステムメモリとを結合するデータ経路と分離されたデータ経路を介して、データを受け取る、請求項32に記載のデバイス。
  37. プロセッサが、該プロセッサコアに記憶された識別子コードを暗号化して、該暗号化された識別子コードに応じて照合識別子を生成する、ディジタル回路をさらに含む、請求項32に記載のデバイス。
  38. プロセッサコアが、該プロセッサコアの外部から識別子コードの形態への間接アクセスを提供する、請求項37に記載のデバイス。
  39. プロセッサコアが、識別子コードの暗号化された形態への間接アクセスを提供する、請求項37に記載のデバイス。
  40. プロセッサコアが、該プロセッサコアの外部から識別子コードへの直接アクセスを防止する、請求項37に記載のデバイス。
  41. エミュレータが起動状態の場合に、動作禁止システムが、動作禁止の信号を生成しない、請求項32に記載のデバイス。
  42. 動作禁止システムが、ウォッチドッグタイマーのリフレッシュを動作禁止にする回路を含む、請求項32に記載のデバイス。
  43. エミュレータが起動状態の場合に、ウォッチドッグタイマーを動作禁止にする回路を、動作禁止システムが含む、請求項42に記載のデバイス。
  44. 照合識別子が、プロセッサコアの外部端子を介してアクセス可能ではない、請求項32に記載のデバイス。
  45. 移動通信用のセル電話であって、
    プロセッサコアとメモリとを含むプロセッサを有し、前記プロセッサコアは、データ経路を介して前記メモリに結合されており、前記メモリは、ランタイムプログラムおよびそのソフトウエアに関連する識別子を含むソフトウエアを記憶するのに使用可能であり、
    その改良が、前記プロセッサコア内部にあるコンパレータであって、前記プロセッサコア内部からの照合識別子と、システムメモリ内に記憶された、ソフトウエアに関連するプログラム識別子とを受け取り、少なくとも所定の相互対応尺度を有する照合識別子およびプログラム識別子の受領、またはその欠如を意味するデータを生成する、前記コンパレータ;および
    前記プロセッサコア内部にあり、対応尺度を示すデータに応答する動作禁止システムであって、前記プログラム識別子と前記照合識別子との間に少なくとも所定の対応尺度があることを前記データが示さない限り、前記プロセッサコアの動作特性を動作禁止にする信号を生成する前記動作禁止システムを含む、前記セル電話。
JP2004504548A 2002-05-08 2003-05-05 セル電話などの電子デバイスのセキュリティに使用する方法およびデバイス Expired - Lifetime JP4521269B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37883302P 2002-05-08 2002-05-08
US10/208,965 US7454169B2 (en) 2002-05-08 2002-07-31 Method and apparatus for use in securing an electronic device such as a cell phone
PCT/US2003/014013 WO2003096726A2 (en) 2002-05-08 2003-05-05 Method and apparatus for use in securing an electronic device such as a cell phone

Publications (3)

Publication Number Publication Date
JP2005524919A true JP2005524919A (ja) 2005-08-18
JP2005524919A5 JP2005524919A5 (ja) 2006-06-22
JP4521269B2 JP4521269B2 (ja) 2010-08-11

Family

ID=29423158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004504548A Expired - Lifetime JP4521269B2 (ja) 2002-05-08 2003-05-05 セル電話などの電子デバイスのセキュリティに使用する方法およびデバイス

Country Status (6)

Country Link
US (1) US7454169B2 (ja)
EP (1) EP1502466B1 (ja)
JP (1) JP4521269B2 (ja)
CN (1) CN100394814C (ja)
DE (1) DE60332340D1 (ja)
WO (1) WO2003096726A2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050090239A1 (en) * 2003-10-22 2005-04-28 Chang-Hung Lee Text message based mobile phone configuration system
US20050132186A1 (en) 2003-12-11 2005-06-16 Khan Moinul H. Method and apparatus for a trust processor
US8112618B2 (en) 2004-04-08 2012-02-07 Texas Instruments Incorporated Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making
US8646107B1 (en) * 2004-06-25 2014-02-04 Altera Corporation Implementing usage limited systems
US8141118B2 (en) * 2004-07-26 2012-03-20 Microsoft Corporation Data broadcasting receiver power management
US8151110B2 (en) * 2004-08-05 2012-04-03 Digital Keystone, Inc. Methods and apparatuses for configuring products
US8095990B2 (en) * 2005-04-25 2012-01-10 Universal Entertainment Corporation Gaming machine, gaming information authentication loading device and gaming information loading device
US8437729B2 (en) 2005-05-10 2013-05-07 Mobile Communication Technologies, Llc Apparatus for and system for enabling a mobile communicator
US7590405B2 (en) * 2005-05-10 2009-09-15 Ewell Jr Robert C Apparatus for enabling a mobile communicator and methods of using the same
US20070270122A1 (en) 2005-05-10 2007-11-22 Ewell Robert C Jr Apparatus, system, and method for disabling a mobile communicator
US8385880B2 (en) * 2005-05-10 2013-02-26 Mobile Communication Technologies, Llc Apparatus for and system for enabling a mobile communicator
CN100401823C (zh) * 2006-08-25 2008-07-09 华为技术有限公司 移动终端内部软件防盗版的方法与移动终端
US7984516B2 (en) * 2006-08-31 2011-07-19 Silicon Laboratories Inc. Method and apparatus for protection of voice over internet protocol software
US20090040167A1 (en) * 2007-08-06 2009-02-12 Wein-Town Sun Programmable nonvolatile memory embedded in a timing controller for storing lookup tables
US20090055906A1 (en) * 2007-08-20 2009-02-26 Infineon Technologies Ag Method and apparatus for embedded memory security
US8250452B2 (en) * 2007-08-20 2012-08-21 Infineon Technologies Ag Method and apparatus for embedded memory security
WO2010054472A1 (en) 2008-11-17 2010-05-20 Sierra Wireless, Inc. Method and apparatus for associating identity modules and terminal equipment
WO2010097691A1 (en) * 2009-02-27 2010-09-02 Nokia Corporation Method and apparatus for providing device recovery assistance
US20110055917A1 (en) * 2009-08-28 2011-03-03 Sony Ericsson Mobile Communications Ab Valid access to mobile device application
KR101012872B1 (ko) * 2009-09-16 2011-02-08 주식회사 팬택 플랫폼 보안 장치 및 방법
RU2416885C1 (ru) * 2010-02-03 2011-04-20 Федеральное государственное образовательное учреждение высшего профессионального образования "Астраханский государственный технический университет" (АГТУ) Фазовый способ обнаружения несанкционированного подключения к телефонным линиям связи
US8510552B2 (en) 2010-04-07 2013-08-13 Apple Inc. System and method for file-level data protection
US8788842B2 (en) * 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US9026780B2 (en) 2011-04-12 2015-05-05 Mobile Communication Technologies, Llc Mobile communicator device including user attentiveness detector
US9026779B2 (en) 2011-04-12 2015-05-05 Mobile Communication Technologies, Llc Mobile communicator device including user attentiveness detector
US10139900B2 (en) 2011-04-12 2018-11-27 Mobile Communication Technologies, Llc Mobile communicator device including user attentiveness detector
US8995945B2 (en) 2011-08-30 2015-03-31 Mobile Communication Technologies, Llc Mobile communicator and system
US20130102299A1 (en) * 2011-10-19 2013-04-25 Wen-Hsiang Liu System and Method for Supporting Multiple Phone System
US9578020B2 (en) * 2015-03-19 2017-02-21 Sony Corporation Module for controlling usability of a device
US10817609B2 (en) 2015-09-30 2020-10-27 Nvidia Corporation Secure reconfiguration of hardware device operating features
US9807615B2 (en) 2016-03-17 2017-10-31 International Business Machines Corporation Disabling a mobile device that has stolen hardware components
EP4158507A1 (en) * 2020-05-28 2023-04-05 SandGrain B.V. Centralized handling of ic identification codes
US20230019995A1 (en) * 2021-07-19 2023-01-19 Sri International Trojan detection via distortions, nitrogen-vacancy diamond (nvd) sensors, and electromagnetic (em) probes

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483658A (en) * 1993-02-26 1996-01-09 Grube; Gary W. Detection of unauthorized use of software applications in processing devices
JPH08129486A (ja) * 1994-10-31 1996-05-21 Taketoshi Okamoto ソフトウェア著作権保護の方法
JPH10127915A (ja) * 1996-11-01 1998-05-19 Takasago Electric Ind Co Ltd 電子遊戯機
JPH10289105A (ja) * 1997-04-11 1998-10-27 Canon Inc 情報処理機器およびその情報保護方法ならびに記録媒体
JPH1153224A (ja) * 1997-07-30 1999-02-26 Denso Corp ウォッチドッグタイマ及びマイクロコンピュータ
JPH11345117A (ja) * 1998-05-19 1999-12-14 Internatl Business Mach Corp <Ibm> プログラムの不正実行防止機能付きプロセッサ、プロセッサが実行するインストラクション、及びプログラムの不正実行防止方法
JP2000347942A (ja) * 1999-06-04 2000-12-15 Toshiba Corp 情報処理装置
JP2002023876A (ja) * 2000-07-07 2002-01-25 Matsushita Electric Works Ltd 電子機器組み込みソフトウェアの保護方法及び電子機器

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224160A (en) * 1987-02-23 1993-06-29 Siemens Nixdorf Informationssysteme Ag Process for securing and for checking the integrity of the secured programs
US5379343A (en) * 1993-02-26 1995-01-03 Motorola, Inc. Detection of unauthorized use of software applications in communication units
US5483465A (en) * 1993-02-26 1996-01-09 Grube; Gary W. Method for reprogramming duplicated communication units
JP3052244B2 (ja) * 1993-11-10 2000-06-12 富士通株式会社 移動通信システムにおける移動機の登録方法とicカードの登録方法、及びそれらを実現するための移動機、icカード、及びicカード挿入型移動機
FR2718310B1 (fr) * 1994-03-29 1996-04-26 Alcatel Mobile Comm France Dispositif d'auto-invalidation d'un terminal portatif du type radiotéléphone mobile.
FI952146A7 (fi) * 1995-05-04 1996-11-05 Nokia Telecommunications Oy Tilaajalaitteen käyttoikeuden tarkistus
SE506584C2 (sv) * 1996-05-13 1998-01-19 Ericsson Telefon Ab L M Förfarande och anordning vid övervakning av mobilkommunikationsenhet
SE9602186D0 (sv) * 1996-05-31 1996-05-31 Christer Johansson ID-krets för elektronisk apparatur
US6167252A (en) * 1996-08-27 2000-12-26 Nec Electronics, Inc. Security for a mobile or personal communications device having an identification code
FI103469B (fi) * 1996-09-17 1999-06-30 Nokia Telecommunications Oy Kopioidun tilaajatunnuksen väärinkäytön estäminen matkaviestinjärjeste lmässä
US7503072B2 (en) * 1998-04-29 2009-03-10 Microsoft Corporation Hardware ID to prevent software piracy
US6243468B1 (en) * 1998-04-29 2001-06-05 Microsoft Corporation Software anti-piracy system that adapts to hardware upgrades
JP2000031882A (ja) * 1998-07-10 2000-01-28 Mitsubishi Electric Corp 携帯情報機器システム
FR2781951B1 (fr) * 1998-07-31 2000-09-29 Sagem Procede antivol pour telephone mobile pour reseau cellulaire et telephone mobile equipe d'une protection antivol
US6377699B1 (en) * 1998-11-25 2002-04-23 Iridian Technologies, Inc. Iris imaging telephone security module and method
US6889209B1 (en) * 2000-11-03 2005-05-03 Shieldip, Inc. Method and apparatus for protecting information and privacy
JP4249011B2 (ja) * 2001-07-18 2009-04-02 データ・トランスファー・アンド・コミュニケーションズ・リミテッド データセキュリティ装置
CN1338691A (zh) * 2001-09-29 2002-03-06 四川安盟科技有限责任公司 网络软件防盗版技术

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483658A (en) * 1993-02-26 1996-01-09 Grube; Gary W. Detection of unauthorized use of software applications in processing devices
JPH08129486A (ja) * 1994-10-31 1996-05-21 Taketoshi Okamoto ソフトウェア著作権保護の方法
JPH10127915A (ja) * 1996-11-01 1998-05-19 Takasago Electric Ind Co Ltd 電子遊戯機
JPH10289105A (ja) * 1997-04-11 1998-10-27 Canon Inc 情報処理機器およびその情報保護方法ならびに記録媒体
JPH1153224A (ja) * 1997-07-30 1999-02-26 Denso Corp ウォッチドッグタイマ及びマイクロコンピュータ
JPH11345117A (ja) * 1998-05-19 1999-12-14 Internatl Business Mach Corp <Ibm> プログラムの不正実行防止機能付きプロセッサ、プロセッサが実行するインストラクション、及びプログラムの不正実行防止方法
JP2000347942A (ja) * 1999-06-04 2000-12-15 Toshiba Corp 情報処理装置
JP2002023876A (ja) * 2000-07-07 2002-01-25 Matsushita Electric Works Ltd 電子機器組み込みソフトウェアの保護方法及び電子機器

Also Published As

Publication number Publication date
US7454169B2 (en) 2008-11-18
US20040204003A1 (en) 2004-10-14
CN100394814C (zh) 2008-06-11
EP1502466A2 (en) 2005-02-02
CN1659915A (zh) 2005-08-24
WO2003096726A2 (en) 2003-11-20
EP1502466B1 (en) 2010-04-28
DE60332340D1 (de) 2010-06-10
WO2003096726A3 (en) 2004-02-19
JP4521269B2 (ja) 2010-08-11

Similar Documents

Publication Publication Date Title
JP4521269B2 (ja) セル電話などの電子デバイスのセキュリティに使用する方法およびデバイス
JP5419776B2 (ja) 半導体装置及びデータ処理方法
US8407488B2 (en) Semiconductor device including encryption section, semiconductor device including external interface, and content reproduction method
JP6433198B2 (ja) 安全なブートromパッチのためのシステム及び方法
KR101029956B1 (ko) 이동 보안 시스템 및 방법
JP5038487B2 (ja) 電子デバイスにおいてSIMlock情報を保護する方法及び装置
KR100832589B1 (ko) 디버깅 장치, 시스템, 방법 및 머신 판독가능한 매체
US20130254906A1 (en) Hardware and Software Association and Authentication
US7257715B2 (en) Semiconductor integrated circuit
US20120060215A1 (en) Mobile terminal and method for protecting its system data
CN114065232A (zh) 用于可编程逻辑设备的基于密码的访问控制
US7512761B2 (en) Programmable processor and methods thereof having memory access locking
JP2008123106A (ja) マイクロコンピュータ及びマイクロコンピュータのデバッグ方法
US9779243B2 (en) Fuse-enabled secure BIOS mechanism in a trusted computing system
CN117708897A (zh) 用于保护嵌入式设备固件数据的方法以及嵌入式设备
US20230078058A1 (en) Computing systems employing a secure boot processing system that disallows inbound access when performing immutable boot-up tasks for enhanced security, and related methods
JP5761880B2 (ja) 自動車
CN115794136A (zh) eFUSE烧录方法、装置和电子设备及存储介质
JP5603993B2 (ja) 電装ユニット及びデータ処理方法
CN117708896A (zh) 用于保护嵌入式设备固件数据的方法以及嵌入式设备
CN117852105A (zh) 基于硬件增强的芯片安全管理方法、装置、终端及介质
JP2013073472A (ja) マイクロコンピュータ
JP2004220296A (ja) 半導体装置およびその制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060428

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060428

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091208

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100108

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100518

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100524

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4521269

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term