JP4417952B2 - Method and system for performing tests on devices and devices - Google Patents

Method and system for performing tests on devices and devices Download PDF

Info

Publication number
JP4417952B2
JP4417952B2 JP2006500155A JP2006500155A JP4417952B2 JP 4417952 B2 JP4417952 B2 JP 4417952B2 JP 2006500155 A JP2006500155 A JP 2006500155A JP 2006500155 A JP2006500155 A JP 2006500155A JP 4417952 B2 JP4417952 B2 JP 4417952B2
Authority
JP
Japan
Prior art keywords
program
key
mode
security level
test
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.)
Expired - Fee Related
Application number
JP2006500155A
Other languages
Japanese (ja)
Other versions
JP2006517313A (en
Inventor
パーテロ,ラウリ
キーベリ,アンティ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of JP2006517313A publication Critical patent/JP2006517313A/en
Application granted granted Critical
Publication of JP4417952B2 publication Critical patent/JP4417952B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Testing Electric Properties And Detecting Electric Faults (AREA)
  • Debugging And Monitoring (AREA)
  • Selective Calling Equipment (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present invention relates to a method and a system for performing testing in a device ( 1 ), in which at least one program ( 110, 112 ) is loaded and at least one item of mode data relating to the program is determined. Furthermore, at least one key ( 111 ) is generated for use in said program. In the method, at least two different security levels are determined for the keys to be used in the device ( 1 ). In the method, said security level determined for the key and at least one mode data relating to the program are examined, and on the basis of the examination, it is decided if said key is available for use in the mode indicated in the mode data of the program. The invention also relates to a device, a mobile communication device and a storage medium.

Description

本発明はデバイスにおいてテストを行う方法に関し、この方法では少なくとも一つのプログラムがデバイスにロードされ、該プログラムに関連するモードデータの少なくとも一つの項目が決定され、該プログラムで用いる少なくとも一つの鍵が形成される。また、本発明はデバイスにおいてテストを行うシステムに関し、このシステムでは少なくとも一つのプログラムがロードされており、該プログラムに関連するモードデータの少なくとも一つの項目がシステムにおいて決定されるように構成されており、該プログラムで用いる少なくとも一つの鍵がシステムに備えられている。また、本発明はデバイスにロードされたプログラムを実行する少なくとも一つのプロセッサを含むデバイスに関し、該プログラムに関連するモードデータの少なくとも一つの項目がデバイスで決定されるように構成され、該プログラムで用いる少なくとも一つの鍵がデバイスに備えられている。さらに、本発明は記憶手段に関し、この記憶手段では、機械で実行可能なプログラムコマンドのセットがテストを行うためにデバイスに記憶されており、該デバイスには、少なくとも一つのプログラムがロードされて、該デバイスで実行されるように構成されており、該プログラムに対して、モードデータの少なくとも一つの項目が決定されており、該プログラムで用いる少なくとも一つの鍵が形成されている。   The present invention relates to a method for testing in a device, wherein at least one program is loaded into the device, at least one item of mode data associated with the program is determined, and at least one key used in the program is formed. Is done. The present invention also relates to a system for testing in a device, in which at least one program is loaded, and at least one item of mode data associated with the program is determined in the system. , At least one key used in the program is provided in the system. The present invention also relates to a device including at least one processor for executing a program loaded on the device, wherein at least one item of mode data related to the program is determined by the device and used in the program. At least one key is provided on the device. Furthermore, the present invention relates to storage means, wherein a set of program commands executable on a machine is stored in a device for testing, on which at least one program is loaded, The device is configured to be executed by the device, and at least one item of mode data is determined for the program, and at least one key used in the program is formed.

アプリケーションへのアクセス権が取得された後に、デバイスで使用できるようになる既知のアプリケーションがある。先行技術のシステムでは、例えば、ユーザはデータネットワーク経由でアプリケーションをデバイスにロードするなどの方法によって、このようなアクセス権を取得することができる。これに関連して、ユーザは自身の連絡先データを提供し、アプリケーションの提供元はアクセス権を有効にするのに必要な情報を、例えば郵便で送付する。ユーザは、アプリケーションのアクセス権の代金を自身のクレジットカード番号を提供することによって、ロードに伴って都合よく支払うことができる。したがって、支払いはクレジットカード会社を介して請求される。また一方で、支払いは代金引換で行われてもよく、ユーザは郵送されるアクセス権データを請求した場合に支払いを行う。ユーザは受け取ったアクセス権データを入力し、その後アプリケーションを使い始めることができる。このようなデータは、例えば、ユーザIDおよびパスワード、登録コードなどを含むこともできる。アクセス権はユーザのデバイスの識別情報または他の個別化情報を含むと有益であり、これによって、異なるユーザが一人のユーザのアクセス権を用いて同じアプリケーションを使用することを防いでいる。   There are known applications that can be used on the device after access to the application is obtained. In prior art systems, for example, a user can obtain such access rights by a method such as loading an application onto a device via a data network. In this connection, the user provides his / her contact data and the application provider sends the information necessary to validate the access rights, for example by mail. The user can conveniently pay for the application's access rights upon loading by providing his credit card number. Therefore, payment is charged through a credit card company. On the other hand, the payment may be made by cash on delivery, and the user pays when requesting access right data to be mailed. The user can enter the received access right data and then start using the application. Such data can also include, for example, a user ID and password, a registration code, and the like. The access rights may be beneficial to include the user's device identification information or other personalization information, thereby preventing different users from using the same application with the access rights of one user.

電子デバイスの用途が多様化するにつれて、権限を持つプログラムを介した場合にのみ、ある機能へのアクセスが行われるなどの方法で、電子デバイスの特定の機能を保護することが必要になってきている。例えば、携帯電話は多様な用途のデータ処理に適した通信デバイスに発展しており、通話するのに必要なプログラム以外のプログラムを実行することもできる。新たなプログラムを後にこれらのデバイスにインストールすることもできるし、また、既にインストール済みのプログラムを新しいバージョンに更新することもできる。しかし、例えば携帯電話の機能には特定のセキュリティが必要である。このセキュリティでは、例えば、どのプログラムでもSIMカードに記憶されている情報を判別したり、あるいは別の移動体加入者に通話料が請求されるように偽の識別データを用いて移動通信網に電話をかけたりすることができるという訳ではない。同様に、例えば、支払い手段としてのデバイスの使用など、金銭取引に関連する機能を含んでいるデバイスでは、欠陥プログラムまたは不正プログラムが金銭取引に影響を与えたり、あるいは、例えばデバイスに記憶されている金額データを変更したりすることができないように安全を確保する必要がある。さらに、デバイスでいくつかのデジタル記録情報を使用するには、制限付きのアクセス権が伴う場合もある。例えば、ユーザが音楽、ソフトウェアまたは他のデジタル記録情報を申し込み、自身のデバイスにそれらをインストールする。場合によっては、これらのデジタル記録情報のアクセス権は制限されている。例えば、デジタル記録情報が所定のデバイスだけにしかインストールできなかったり、デジタル記録情報の使用回数または使用期間が制限されている場合もあったり、あるいは、例えば、デジタル記録情報を使用する都度、支払いをしなければならない場合もある。上述の状況に関して、デバイスのソフトウェアは保護された部分を備えており、この保護された部分は必要な安全性のチェックと符号化および復号化に関連する機能とを実行する。さらに、これらのデバイスは、デバイスの機能ブロックの制御及び異なるブロック間でのデータ伝送などに用いられるオペレーティングシステムを典型的には含んでいる。オペレーティングシステムと保護された部分との間で情報を伝送するためにインターフェースが実装されている。例えば、デバイスで受け取られた暗号化メッセージを復号化するために保護された部分へ転送する。その後、さらに処理するために復号化されたメッセージをオペレーティングシステムに転送することができる。   As the use of electronic devices has diversified, it has become necessary to protect certain functions of electronic devices, such as by accessing certain functions only through authorized programs. Yes. For example, mobile phones have evolved into communication devices suitable for data processing for various purposes, and programs other than those necessary for making calls can also be executed. New programs can later be installed on these devices, and already installed programs can be updated to new versions. However, for example, the function of the mobile phone requires specific security. In this security, for example, any program can determine the information stored in the SIM card or call the mobile communication network using fake identification data so that another mobile subscriber is charged for the call. It's not that you can spend a lot of time. Similarly, in devices that include functions related to money transactions, such as the use of the device as a means of payment, a defective or fraudulent program may affect the money transaction or be stored, for example, on the device It is necessary to ensure safety so that the amount data cannot be changed. In addition, using some digitally recorded information on the device may involve limited access rights. For example, a user subscribes to music, software or other digital recording information and installs them on his device. In some cases, access rights to these digital record information are limited. For example, the digital record information can be installed only on a predetermined device, the use frequency or the use period of the digital record information may be limited, or, for example, payment is made each time the digital record information is used. You may have to do that. With respect to the situation described above, the device software comprises a protected part, which performs the necessary security checks and functions related to encoding and decoding. In addition, these devices typically include an operating system that is used to control the functional blocks of the device and to transmit data between different blocks. An interface is implemented to transmit information between the operating system and the protected part. For example, an encrypted message received at the device is forwarded to a protected part for decryption. The decrypted message can then be transferred to the operating system for further processing.

デバイスで実行されるプログラムは、種々のアクセス権レベルに分けすることができる。プログラムは、例えば、安全性が要求される機能へのアクセス権を一切持っていないようなプログラムと、安全性が要求される機能の少なくともいくつかを処理する可能性のあるようなプログラムとに分けすることができる。したがって、プログラムが始動すると、オペレーティングシステムまたは保護された部分が、そのプログラムのアクセス権をチェックし、プログラムが特定の機能へアクセスするのを防いだり、あるいは許可したりする。アクセス権を決定する動作は、例えば、プログラムの起点(origin)に基づくものであってもよい。この場合、例えば、デバイスの製造元が作成したプログラムに第三者が作成したプログラムよりも広範囲のアクセス権を与えることができる。一方で、例えば、デバイスの製造元は、特定のプログラム製造元に対して他者よりも広範囲の権限(高い信頼性)を与えることができる。この場合、信頼性の高いプログラム製造元のプログラムに対して、信頼性レベルが低いかあるいは未確定の製造元のプログラムよりも多くのアクセス権を与えることができる。   The program executed on the device can be divided into various access right levels. The program is divided into, for example, a program that does not have access to any function that requires safety and a program that may process at least some of the functions that require safety. can do. Thus, when a program starts, the operating system or protected part checks the program's access rights and prevents or allows the program to access certain functions. The operation for determining the access right may be based on the origin of the program, for example. In this case, for example, a wider range of access rights can be given to a program created by a device manufacturer than a program created by a third party. On the other hand, for example, a device manufacturer can give a wider range of authority (high reliability) to a specific program manufacturer than others. In this case, more reliable access can be given to a program of a highly reliable program manufacturer than a program of a manufacturer whose reliability level is low or undefined.

現在では、様々な使用目的の鍵が多くのデバイスに記憶されている。とりわけ、鍵は情報の確認、アクセス権のチェック、ソフトウェアの認証、および情報の暗号化と復号化に用いることができる。このような鍵は、一般的なソフトウェアがアクセスできないようなデバイスの部分に記憶されてもよいし、あるいは、鍵は暗号化された形式で記憶されてもよい。この場合、鍵を用いるプログラムはこの鍵を復号化するための別の鍵を含む。したがって、この第2の鍵は、一般的なプログラムがアクセスできないメモリに記憶されなければならない。   At present, keys for various purposes are stored in many devices. Among other things, the key can be used for information verification, access rights checking, software authentication, and information encryption and decryption. Such a key may be stored on a portion of the device that is not accessible to general software, or the key may be stored in an encrypted form. In this case, the program using the key includes another key for decrypting the key. Therefore, this second key must be stored in a memory that is not accessible to general programs.

上述のようなデバイスおける問題点の一つは、新たなプログラムを開発する場合に、あるいは既存のプログラムの開発をさらに進める場合に、できる限り信頼できる環境でプログラムのテストが可能でなければならないことである。また、テストされるプログラムは、必要な鍵を使用できるようにしておかなければならない。デバッガプログラムおよび/またはデバッガデバイスなどのプログラムのテストに使用するツールによって、上述の鍵など、秘密にしておく情報を含んでいるようなデバイスの領域を検査することができる。この情報の一部は、それを開示しても、それほど有害ではない場合もある。しかし、一部は、たとえテストの場合であっても、アクセスできないようにしておく必要のあるような鍵を含む可能性がある。これらの鍵は、例えば、種々の決済アプリケーション、デジタル記録情報へのアクセス権の管理(DRM,デジタル著作権管理)、暗号化された形式での機密情報の伝送、およびその他の類似機能に関連するものである。   One of the problems with the devices mentioned above is that when developing a new program or when further developing an existing program, it must be possible to test the program in the most reliable environment possible. It is. Also, the program being tested must have the necessary keys available. A tool used to test a program such as a debugger program and / or a debugger device can inspect areas of the device that contain information that is kept secret, such as the keys described above. Some of this information may not be as harmful if disclosed. However, some may contain keys that need to be made inaccessible, even for testing purposes. These keys are related to, for example, various payment applications, management of access rights to digital record information (DRM, digital rights management), transmission of confidential information in encrypted form, and other similar functions. Is.

先行技術のいくつかの構成では、秘密にしておく必要のある重要な鍵は少なくともそのすべてを、使用後に削除されるテスト鍵に置き換えている。このような方法では、これらのテスト鍵を用いることによってプログラムをテストすることができるが、テスト完了後には、テスト鍵をデバイスで新たな鍵に置き換える必要がある。   In some prior art arrangements, at least all important keys that need to be kept secret are replaced with test keys that are deleted after use. In such a method, a program can be tested by using these test keys. However, after the test is completed, it is necessary to replace the test key with a new key on the device.

本発明の目的は、信頼できるハードウェア環境でプログラムのテストをするための改良された方法およびシステムを提供することである。本発明は、デバイスで使用される鍵に対して少なくとも二つの異なるセキュリティレベルを規定するという考えに基づいており、これらのセキュリティレベルの一つがそれぞれの鍵に対して選択される。第1のセキュリティレベルは、低セキュリティレベルであることが好ましく、したがって、第2のセキュリティレベルは高セキュリティレベルとなる。本発明の構成において、第1のセキュリティレベルの鍵は、テスト目的でも使用することができるが、第2のセキュリティレベルの鍵はテストを行うためにテスト鍵に置き換えられる。正確に言えば、本発明による方法は主に、少なくとも二つの異なるセキュリティレベルがデバイスで使用する鍵に対して規定され、鍵に対して規定された前記セキュリティレベルとプログラムに関連するモードデータの少なくとも一つの項目とが検査され、その検査に基づいて、前記鍵がプログラムのモードデータに示されているモードで使用できるかどうか決定されることを特徴とする。本発明によるシステムは主に、少なくとも二つの異なるセキュリティレベルがデバイスで使用する鍵に対して規定され、そのシステムが、前記セキュリティレベルとプログラムに関連するモードデータの少なくとも一つの項目とを検査する検査手段と、前記鍵をプログラムのモードデータに示されているモードで使用できるかどうかを決定する決定手段とを含むことを特徴とする。本発明によるデバイスは主に、少なくとも二つの異なるセキュリティレベルがデバイスで使用する鍵に対して規定され、そのデバイスが前記セキュリティレベルとプログラムに関連するモードデータの少なくとも一つの項目とを検査する検査手段と、前記鍵をプログラムのモードデータに示されているモードで使用できるかどうかを決定する決定手段とを含むことを特徴とする。さらに、本発明による記憶手段は主に、少なくとも二つの異なるセキュリティレベルがデバイスで使用する鍵に対して規定され、その記憶手段がさらに、前記鍵に対して決定されたセキュリティレベルとプログラムに関連するモードデータの少なくとも一つの項目とを検査するプログラムコマンドと、その検査に基づいて、前記鍵をプログラムのモードデータに示されているモードで使用できるかどうかを決定するプログラムコマンドとを含むことを特徴とする。   It is an object of the present invention to provide an improved method and system for testing programs in a reliable hardware environment. The present invention is based on the idea of defining at least two different security levels for the keys used in the device, one of these security levels being selected for each key. The first security level is preferably a low security level, and therefore the second security level is a high security level. In the configuration of the present invention, the first security level key can also be used for testing purposes, but the second security level key is replaced with a test key for testing. To be precise, the method according to the invention mainly comprises at least two different security levels defined for the key used in the device, and at least of the security level defined for the key and the mode data associated with the program. An item is checked, and based on the check, it is determined whether the key can be used in the mode indicated in the mode data of the program. The system according to the invention is mainly a test in which at least two different security levels are defined for the keys used in the device, and the system checks the security level and at least one item of mode data associated with the program. And means for determining whether the key can be used in the mode indicated in the mode data of the program. The device according to the invention mainly comprises at least two different security levels defined for the keys used in the device, and the device checks the security level and at least one item of mode data associated with the program. And determining means for determining whether or not the key can be used in the mode indicated in the mode data of the program. Furthermore, the storage means according to the invention are mainly defined for a key used in the device by at least two different security levels, the storage means further relating to the security level and program determined for said key. A program command for checking at least one item of mode data; and a program command for determining whether the key can be used in a mode indicated in the mode data of the program based on the check. And

本発明は、先行技術のソリューションより優れた利点を示す。本発明によるシステムでは、できる限り実際の使用状況に則した周囲の状態および環境でプログラムをテストすることができる。したがって、エラーを検出する可能性は先行技術のソリューションよりも高くなり、完成したプログラムの信頼性も高くなる。また、重要な鍵はテストの状態では使用されないので、重要な鍵のセキュリティが確保される。一方、いくつかの鍵はテストに使用されるので、テスト鍵の必要性は先行技術のソリューションの場合よりも低くなる。   The present invention presents advantages over prior art solutions. With the system according to the invention, it is possible to test the program in ambient conditions and environments in accordance with the actual usage situation as much as possible. Therefore, the possibility of detecting errors is higher than in prior art solutions and the reliability of the completed program is also higher. In addition, since the important key is not used in the test state, the security of the important key is ensured. On the other hand, since some keys are used for testing, the need for test keys is lower than with prior art solutions.

以下、本発明を添付の図面を参照して詳細に説明する。   Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

以下、本発明の有益な実施例による方法の動作を、一例として図3aのデバイスを使用して説明する。デバイス1が、プログラムを実行したり、デバイスのオペレーティングシステムの機能を果たしたり、デバイスの異なる機能ブロックの動作を制御したりする一つまたは複数のプロセッサ2を含む。このデバイスはまた、次のような機能の大半を処理する保護されたブロック3を含む。その機能の実行が、秘密鍵の処理などの秘密にするための動作と関係する機能である。この保護されたブロックの構成の一例は、以下に詳細に説明する図3bに示す。このデバイスはまた、例えば、デバイスの動作に必要なソフトウェアと情報とを記憶するメモリ4を含む。デバイス1はまた、送信機5と受信機6とを含み、それによってデバイス1は通信網と通信することができる。送信機5と受信機6は無線通信用であることが好ましく、この場合、デバイス1を移動通信網(図示せず)などの無線通信網との通信に使用することができる。デバイス1はまた、例えば、デバイス1の周辺にあるその他のデバイス(図示せず)と通信するためのローカル通信手段7を含むことができる。これらのローカル通信手段7は、例えば、Bluetooth(登録商標)送受信機などの低電力無線伝送をベースとした送受信機を含む。このデバイスの操作システム8が、ディスプレイ8.2、キーパッド8.1、イヤホン/スピーカ8.3、およびマイクロホン8.4を含むと有益である。このデバイスはまた、二つ以上のユーザインターフェースを含むことができることは明らかであるので、一つのユーザインターフェースが、例えば、主にデータ処理機能用に構成されてもよく、また別のユーザインターフェースが、主に携帯電話機能用に構成されてもよい。このようなデバイスの一例は、Nokia 9210i Communicator(登録商標)である。さらに、デバイス1は、SIM(加入者識別モジュール)および/またはUSIM(UMTS加入者識別モジュール)などのユーザ識別カード9を含むと有益であり、このユーザ識別カード9によって、デバイス1の電源がオンにされたときにユーザは識別され、ユーザに付与される移動局の機能の特性が決定される。   In the following, the operation of the method according to an advantageous embodiment of the invention will be explained using the device of FIG. 3a as an example. The device 1 includes one or more processors 2 that execute programs, perform the functions of the device operating system, and control the operation of different functional blocks of the device. The device also includes a protected block 3 that handles most of the functions as follows. Execution of the function is a function related to an operation for keeping secret such as processing of a secret key. An example of the configuration of this protected block is shown in FIG. 3b, which will be described in detail below. The device also includes, for example, a memory 4 that stores software and information necessary for the operation of the device. Device 1 also includes a transmitter 5 and a receiver 6 so that device 1 can communicate with a communication network. The transmitter 5 and the receiver 6 are preferably for wireless communication. In this case, the device 1 can be used for communication with a wireless communication network such as a mobile communication network (not shown). The device 1 can also include local communication means 7 for communicating with other devices (not shown) around the device 1, for example. These local communication means 7 include a transceiver based on low power wireless transmission such as a Bluetooth (registered trademark) transceiver. Advantageously, the device operating system 8 includes a display 8.2, a keypad 8.1, an earphone / speaker 8.3, and a microphone 8.4. It will be appreciated that the device may also include more than one user interface, so one user interface may be configured primarily for data processing functions, for example, and another user interface may be You may be comprised mainly for a mobile telephone function. An example of such a device is the Nokia 9210i Communicator®. In addition, the device 1 advantageously includes a user identification card 9 such as a SIM (Subscriber Identity Module) and / or USIM (UMTS Subscriber Identity Module), which allows the device 1 to be turned on. The user is identified and the characteristics of the function of the mobile station granted to the user are determined.

図3bによる保護されたブロック3は、読み取り専用メモリ3.1、ランダムアクセスメモリ3.2、プロセッサ3.3、バス接続3.4、およびテスト接続3.5を含むことが好ましい。この保護されたブロックは、保護されたブロックの内部接続に外部からアクセスできないような方法で一つの集積回路として形成されることが好ましい。したがって、この保護されたブロック内で転送される信号を見つけ出すことはほとんど不可能である。読み取り専用メモリ3.1には、デバイス1の製造後に変更する必要のないような記憶された情報とソフトウェアとが含まれる。読み取り専用メモリ3.1は、例えば、保護されたブロックの識別情報(チップID)、いくつかの鍵を生成するのに使用される乱数、情報をロードする管理機能、保護されたメモリ用の管理機能、デバイスコントローラなどを含む。保護されたブロックのランダムアクセスメモリ3.2は、例えば、保護されたソフトウェアをその実行中に記憶させるのに使用され、また、ソフトウェアの実行中に必要とされかつ秘密にするべき情報の一時的な記憶にも使用される。保護されたブロックのプロセッサ3.3の機能は、例えば、保護されたソフトウェアの実行およびバス接続3.4の制御である。バス接続3.4を介して、保護されたブロック3とデバイス1の残りの部分との間で情報を転送することができる。インターフェースを介して情報を転送する必要がない場合、プロセッサ3.3は、保護されたブロックの内部信号がバス接続に転送されないような状態にバス接続3.4を設定することが好ましい。したがって、インターフェースで信号を監視したとしても保護されたブロックの内部動作を判別することはできない。   The protected block 3 according to FIG. 3b preferably comprises a read only memory 3.1, a random access memory 3.2, a processor 3.3, a bus connection 3.4, and a test connection 3.5. This protected block is preferably formed as a single integrated circuit in such a way that the internal connections of the protected block cannot be accessed from the outside. It is therefore almost impossible to find the signal transferred in this protected block. The read-only memory 3.1 contains stored information and software that do not need to be changed after the device 1 is manufactured. Read-only memory 3.1, for example, protected block identification information (chip ID), random numbers used to generate several keys, management function to load information, management for protected memory Includes functions, device controllers, etc. The protected block random access memory 3.2 is used, for example, to store the protected software during its execution, and also for temporary storage of information that is required and confidential during the execution of the software. It is also used for memory. The function of the protected block processor 3.3 is, for example, execution of protected software and control of the bus connection 3.4. Information can be transferred between the protected block 3 and the rest of the device 1 via the bus connection 3.4. If no information needs to be transferred over the interface, the processor 3.3 preferably sets the bus connection 3.4 in such a way that the internal signals of the protected block are not transferred to the bus connection. Therefore, even if the signal is monitored by the interface, the internal operation of the protected block cannot be determined.

一方、保護されたブロック3の機能ならびにその他の機能が一つのプロセッサに実装されるようにデバイス1を実装できることも明らかであろう。この場合、保護されたブロックの読み取り専用メモリ3.1、ランダムアクセスメモリ3.2、およびバス接続3.4は、プロセッサの内部ブロックとして実装され、保護されたブロックの機能をプロセッサが実行しているときに、プロセッサの接続ピンを介して内部のバス信号が監視されるのを防ぐことができる。   On the other hand, it will also be apparent that the device 1 can be implemented such that the functions of the protected block 3 as well as other functions are implemented in one processor. In this case, the protected block read-only memory 3.1, the random access memory 3.2, and the bus connection 3.4 are implemented as internal blocks of the processor and the processor performs the functions of the protected block. The internal bus signals can be prevented from being monitored via the connection pins of the processor.

さらに、保護されたブロック3を、SIMカードなどのデバイス1に接続可能なスマートカード9またはデバイス1と接続する別の適切な場所に実装することができる。   Furthermore, the protected block 3 can be implemented in a smart card 9 that can be connected to the device 1 such as a SIM card or in another suitable location that connects to the device 1.

図2は、デバイス1のソフトウェア実行環境の構成を簡略に示す。この構成は、保護された環境10と保護されていない環境11とを含む。保護された環境10は、デバイス1の保護されたブロック3に実装される。これに対応して、保護されていない環境11は、プロセッサ2およびメモリ4などのデバイスのその他の機能ブロックに実装される。保護された環境は、読み取り専用メモリ3.1、ランダムアクセスメモリ3.2、およびこれらの間に設けられる保護されたアプリケーションインターフェース(API)10.1からなる。保護されたアプリケーションは、プログラムの動作を外部から監視することができないような方法により、保護された環境下で実行されるようになっているようなプログラムに関連する。このようなプログラムは、決済取引に関するいくつかのプログラム、秘密暗号化鍵が暗号化されていないフォーマットで処理される情報の暗号化/復号化用プログラムなど、所定のセキュリティレベルを必要とするプログラムである。   FIG. 2 simply shows the configuration of the software execution environment of the device 1. This configuration includes a protected environment 10 and an unprotected environment 11. The protected environment 10 is implemented in the protected block 3 of the device 1. Correspondingly, the unprotected environment 11 is implemented in other functional blocks of the device such as the processor 2 and the memory 4. The protected environment consists of a read-only memory 3.1, a random access memory 3.2, and a protected application interface (API) 10.1 provided therebetween. A protected application is related to a program that is intended to be executed in a protected environment in such a way that the operation of the program cannot be externally monitored. Such programs are programs that require a predetermined security level, such as some programs related to payment transactions and programs for encrypting / decrypting information processed in a format in which the secret encryption key is not encrypted. is there.

三つの接続12.1、12.2、12.3が、保護された環境10と保護されていない環境11との間で形成され、上述のインターフェース3.4のバス(図示せず)によってハードウェアレベル上に実装されることが好ましい。第1の接続12.1は保護された環境からのサブルーチン呼び出し用で、このとき、呼び出されるサブルーチンが保護されていない環境に置かれる。呼び出されるサブルーチンは、例えば、メモリ割り当て、保護されたブロック外のメモリ4での保護された(暗号化された)データの記憶などのオペレーティングシステムサービス11.1を含む。第2の接続12.2は、保護されていない環境11から保護された環境10へのアプリケーションインターフェース用である。例えば、保護された環境外に秘密情報を転送する必要がない場合に保護された環境のサービスを使用するのに、この第2の接続12.2を適用することができる。保護されていない環境は、オペレーティングシステムドライバ(OSドライバ)11.2を含むことが好ましく、これらのドライバを介して上記サービスを呼び出すことができる。このようなサービスの一例として、検証されるべきデジタル署名と必要であれば公開鍵とが、保護されていない環境11から保護された環境10に転送されるデジタル署名の検証について述べることとする。この保護された環境は、検証を実行するプログラムを含む。保護された環境10と保護されていない環境11との間の第3の接続12.3は、一般的な(保護されていない)アプリケーションと保護されたアプリケーションとの間の通信用である。   Three connections 12.1, 12.2, 12.3 are formed between the protected environment 10 and the unprotected environment 11 and are hard-wired by the interface 3.4 bus (not shown) described above. It is preferably implemented on the wear level. The first connection 12.1 is for subroutine calls from a protected environment, where the called subroutine is placed in an unprotected environment. The called subroutines include, for example, operating system services 11.1 such as memory allocation and storage of protected (encrypted) data in the memory 4 outside the protected block. The second connection 12.2 is for an application interface from the unprotected environment 11 to the protected environment 10. For example, this second connection 12.2 can be applied to use services in a protected environment when there is no need to transfer confidential information outside the protected environment. The unprotected environment preferably includes operating system drivers (OS drivers) 11.2 through which the services can be invoked. As an example of such a service, the verification of a digital signature in which a digital signature to be verified and, if necessary, a public key is transferred from an unprotected environment 11 to a protected environment 10 will be described. This protected environment includes a program that performs the verification. The third connection 12.3 between the protected environment 10 and the unprotected environment 11 is for communication between a general (unprotected) application and a protected application.

図1aは、デバイス1における鍵の処理階層を簡略化した図で示す。しかし、本例は本発明に関連して利用することができる可能な実施例にすぎないことは明らかであろう。図1aの鍵の処理階層において、デバイス1のいわゆる公開鍵ヘッダ101を構成する複数の公開鍵がある。この公開鍵ヘッダ101は、デバイス1の公開鍵についての情報ならびに公開鍵102〜105を含む。ここでは、公開鍵は、例えば、デバイス固有鍵102(チップHW公開鍵)、保護されたソフトウェア用署名鍵103(安全モード公開鍵)、ソフトウェア署名鍵104(OEM1ソフトウェア署名鍵)、およびソフトウェアテスト署名鍵105(OEM2R&Dコントロール鍵)を含む。デバイス1の使用中、公開鍵をメモリ4から読み出し、保護された環境のランダムアクセスメモリ3.2に記憶させることができる。記憶に関連して、データがデバイス固有鍵102によって検証されるのが好ましい。一方、公開鍵を必要とする段階で、公開鍵をメモリ4から保護された環境のランダムアクセスメモリ3.2に読み込むことができる。この場合でも、データは検証されなければならない。   FIG. 1 a shows a simplified processing hierarchy of keys in the device 1. It will be apparent, however, that this is only a possible embodiment that can be utilized in connection with the present invention. In the key processing hierarchy of FIG. 1 a, there are a plurality of public keys that constitute a so-called public key header 101 of the device 1. The public key header 101 includes information about the public key of the device 1 and public keys 102 to 105. Here, the public key is, for example, a device unique key 102 (chip HW public key), a protected software signature key 103 (secure mode public key), a software signature key 104 (OEM1 software signature key), and a software test signature. Key 105 (OEM2R & D control key) is included. While the device 1 is in use, the public key can be read from the memory 4 and stored in the random access memory 3.2 in a protected environment. In connection with storage, the data is preferably verified by the device unique key 102. On the other hand, when the public key is required, the public key can be read from the memory 4 into the random access memory 3.2 in an environment protected. Even in this case, the data must be verified.

さらに、デバイス固有鍵102を基に計算されるハッシュ値106、チップ固有内部鍵107、および認証鍵108を、保護されたブロックを含む回路内に記憶させる。前記ハッシュ値106、チップ固有内部鍵107、および認証鍵108を、回路を製造する段階で回路に記憶させることが好ましい。この場合、これらを後になって変更することはできない。また、デバイス固有鍵102を回路の製造に関連して回路に記憶させることが好ましい。この場合、記憶後にこれを変更することはできない。また、テスト鍵をデバイスに記憶させることが好ましい。サイトR&Dコントロール公開鍵109が、テストと関連して使用される。これについては、本明細書中で以下に詳細に説明する。   Further, the hash value 106 calculated based on the device unique key 102, the chip unique internal key 107, and the authentication key 108 are stored in a circuit including the protected block. The hash value 106, the chip-specific internal key 107, and the authentication key 108 are preferably stored in the circuit at the stage of manufacturing the circuit. In this case, these cannot be changed later. The device unique key 102 is preferably stored in the circuit in connection with the manufacture of the circuit. In this case, it cannot be changed after storage. Further, it is preferable to store the test key in the device. A site R & D control public key 109 is used in connection with the test. This will be described in detail herein below.

上記で示された鍵に加えて図1aはまた、デバイスの保護に関するその他のブロックを示す。デバイスはプログラム110を含み、これらのプログラムは保護された環境で実行されるためのものであり、これらのプログラムの信頼性のチェックは、保護されたソフトウェア用署名鍵103を使用してこれらのプログラムに関連して記憶されるデジタル署名をチェックすることで行うことができる。また、これらのプログラムを内部で使用するための公開鍵111を、これらのプログラムに記憶しておいてもよく、この場合これらの公開鍵を、プログラムのロードに関連して、保護された環境のランダムアクセスメモリ3.2にロードする。さらにデバイスは保護されていない環境で実行するためのプログラム112を含み、ソフトウェア署名鍵104に対応する秘密鍵を用いてこれらのプログラムにデジタル署名しておく。テスト環境設定113が、テストに関連して使用することができる鍵115および116についての情報を含む。テスト環境設定には、サイトR&Dコントロール公開鍵109に対応する秘密鍵を用いてデジタル署名する。また、デバイスに含まれる個々のデバイス識別情報114に、デバイス固有鍵102に対応する秘密鍵を使用してデジタル署名する。   In addition to the keys shown above, FIG. 1a also shows other blocks related to device protection. The device includes programs 110 that are intended to be executed in a protected environment, and the authenticity check of these programs is performed using these protected software signing keys 103. This can be done by checking the digital signature stored in association with the. In addition, public keys 111 for using these programs internally may be stored in these programs. In this case, these public keys are stored in a protected environment in connection with loading of the programs. Load to random access memory 3.2. The device further includes a program 112 for execution in an unprotected environment, and digitally signs these programs using a private key corresponding to the software signature key 104. Test environment settings 113 include information about keys 115 and 116 that can be used in connection with the test. The test environment setting is digitally signed using a private key corresponding to the site R & D control public key 109. In addition, each device identification information 114 included in the device is digitally signed using a secret key corresponding to the device unique key 102.

図1aの図において、実線の矢印は様々なデータを検証するのに使用する鍵(信頼性チェックのチェーン)を示す。例えば、デバイス固有鍵を、保護されたソフトウェア用署名鍵103、ソフトウェア署名鍵104、およびソフトウェアテスト署名鍵105を検証するのに使用する。これに対応して、ハッシュ値106をデバイス固有鍵102の有効性(整合性)を検証するのに使用することができる。   In the diagram of FIG. 1a, solid arrows indicate keys (trust check chains) used to verify various data. For example, the device unique key is used to verify the protected software signing key 103, the software signing key 104, and the software test signing key 105. Correspondingly, the hash value 106 can be used to verify the validity (consistency) of the device unique key 102.

また、公開鍵ヘッダ101は、該ヘッダに含まれるデータを認証することができるようにデジタル署名される。   The public key header 101 is digitally signed so that data included in the header can be authenticated.

上述の公開鍵を用いてチェックすることができるデータは、デバイス1および/またはプログラムの製造段階で公開鍵に対応する秘密鍵を用いて公知の方法で署名されることが好ましい。秘密鍵に対応する公開鍵が署名またはデータの暗号化にではなく認証のみに使用される場合は、秘密鍵をデバイスまたはプログラム自体に記憶させる必要はない。   The data that can be checked using the public key described above is preferably signed in a known manner using a private key corresponding to the public key at the manufacturing stage of the device 1 and / or program. If the public key corresponding to the private key is used only for authentication and not for signature or data encryption, the private key need not be stored on the device or the program itself.

図1bは、対称鍵に関するデバイス1の鍵階層を示す。対称鍵は、知られているような方法で、同一の鍵を用いてデータを暗号化または署名したり、署名を復号化または検証したりするという事実に基づいて使用される。したがって、そのような対称鍵は部外者に開示してはならない。認証鍵108を用いて、例えば、所定のデバイス1でのみ使用するための保護されたアプリケーション110において回路を認証することができる。回路固有内部鍵107が回路固有乱数であることが好ましく、また、該鍵は情報が保護された環境の外部に記憶されるときに、信頼性および整合性を確保するために使用されるものとする。回路に関する情報を基に回路固有内部107を形成し、異なる回路用には異なる鍵であるものとする。保護された環境で実行できるプログラム110の各々は、プログラム内部でのみ使用するための一つ以上のアプリケーション固有鍵119を伴うこともできる。それに加え、アプリケーション間鍵120をプログラム用に形成することもでき、該鍵は二つのプログラム間の通信に使用されるものとする。このようなアプリケーション間鍵は、該鍵を使用することになっているプログラムのそれぞれに記憶される。 FIG. 1b shows the key hierarchy of device 1 for symmetric keys. Symmetric keys are used based on the fact that the same key is used to encrypt or sign data and the signature is decrypted or verified in a known manner. Therefore, such symmetric keys should not be disclosed to outsiders. The authentication key 108 can be used, for example, to authenticate a circuit in a protected application 110 for use only with a given device 1. The circuit specific internal key 107 is preferably a circuit specific random number, and the key is used to ensure reliability and integrity when information is stored outside of the protected environment. To do. It is assumed that the circuit specific internal key 107 is formed based on the information about the circuit, and is a different key for different circuits. Each of the programs 110 that can be executed in a protected environment can also be accompanied by one or more application-specific keys 119 for use only within the program. In addition, an inter-application key 120 can be formed for a program, and the key is used for communication between two programs. Such an inter-application key is stored in each program that is to use the key.

各プログラムは、各アプリケーションを識別するために、アプリケーション作成元IDおよびアプリケーションIDを少なくとも備えていることが好ましい。これらの識別情報を、秘密鍵を用いて識別情報を基に計算されたハッシュ値としてアプリケーションに記憶することが好ましい。この方法において、ハッシュ値の認証性は、秘密鍵に対応する公開鍵でチェックすることができる。   Each program preferably includes at least an application creator ID and an application ID in order to identify each application. These pieces of identification information are preferably stored in the application as hash values calculated based on the identification information using a secret key. In this method, the authenticity of the hash value can be checked with the public key corresponding to the secret key.

プログラムに使用可能な鍵119、120は、例えば、データの暗号化および復号化、データのデジタル署名、デジタル署名の信頼性のチェック、などに使用することができる。プログラムは、生成した鍵を開示しても基本鍵の秘密が危険にさらされないような方法で、一つの対称基本鍵から複数の鍵を形成することができる。このように、プログラムは複数の異なる目的のために同一の鍵を使わずに、異なる目的のためには異なる鍵を生成することが有益である。   The keys 119 and 120 usable for the program can be used for data encryption and decryption, data digital signature, digital signature authenticity check, and the like. The program can form a plurality of keys from one symmetric basic key in such a way that even if the generated key is disclosed, the secret of the basic key is not compromised. Thus, it is beneficial for a program to generate different keys for different purposes without using the same key for different purposes.

本発明による解決策において、アプリケーション固有鍵119およびアプリケーション間鍵120は、ソフトウェアのテストのための鍵の使用可能性を示す情報、すなわちセキュリティレベルを備える。このセキュリティレベルは、プログラムが用いる全ての鍵が同一の方法で処理されるようにプログラム固有であってもよいし、あるいは、この情報は、異なる鍵が同一のプログラム内部にあっても異なる方法で処理され得るように鍵固有であってもよい。本発明の有益な実施例による解決策において、第1のセキュリティレベルおよび第2のセキュリティレベルが決定され、第1のセキュリティレベルは低セキュリティレベルであり、第2のセキュリティレベルは高セキュリティレベルである。極めて高い信頼性を有することおよび完全に秘密に保たれることを目的とする鍵用に設定するセキュリティレベルは高セキュリティレベルであり、したがって、この鍵をテストに関連して使用することはできない。このような鍵は、通常モードとテストモードとで異なる値を有する。その他の場合において、セキュリティレベルは第1のセキュリティレベルに設定される。このような鍵は、通常モードおよびテストモードの両方で同じ値を有する。セキュリティレベルは、例えば、1ビットの値で示すことができ、したがって値は0または1であり得る。プログラムのコンパイラがこのセキュリティレベルをプログラムに、プログラム全体を対象とするようにも、または各鍵用に別々にも記憶することができる。   In the solution according to the invention, the application-specific key 119 and the inter-application key 120 comprise information indicating the availability of the key for software testing, ie a security level. This security level may be program specific so that all keys used by the program are processed in the same way, or this information may be different in different ways, even if different keys are within the same program. It may be key specific so that it can be processed. In a solution according to an advantageous embodiment of the invention, a first security level and a second security level are determined, the first security level is a low security level and the second security level is a high security level. . The security level set for a key that is intended to be extremely reliable and kept completely secret is a high security level, and therefore this key cannot be used in connection with testing. Such a key has different values in the normal mode and the test mode. In other cases, the security level is set to the first security level. Such a key has the same value in both normal mode and test mode. The security level can be indicated by a 1-bit value, for example, and thus the value can be 0 or 1. The compiler of the program can store this security level in the program, for the entire program, or separately for each key.

以下、ソフトウェアのテストに関連する鍵の使用について説明する。デバイス1の電源投入に関連して、デバイス1に記憶され、始動されるオペレーティングシステムの認証性を検証することが好ましい。この動作は、例えば、オペレーティングシステムに記憶されているデジタル署名をソフトウェア署名鍵104でチェックすることによって行う。チェックの結果、オペレーティングシステムの認証性が示されれば、オペレーティングシステムは始動することができる。このときに、デバイス1にテストモードへの移行が知らされる。テスト担当者がデバイス1のインターフェース8を用いて、どのプログラムをテスト用に始動させるかを示すことが好ましい。この情報を基に、プログラムインストールサービスが、このプログラムに対してアクセス権が付与されているかどうかをチェックする。アクセス権が未付与であった場合、プログラムインストールサービスは、アクセス権取得サービスにアクセス権取得が必要である旨を伝える。アクセス権は、例えば、以下の方法で取得される。デバイス1はデバイスの製造元のサーバ(図示せず)またはそれに類するものに、テストが実行されるデバイス1に関する情報および前記アクセス権が付与されるプログラムに関する情報を含むメッセージを送る。デバイスの情報は、デバイスIDといったデバイスの識別情報データ、ならびにテストされるプログラムの製作元に関する情報を少なくとも含む。デバイスの製造元のサーバにおいて、受け取られたメッセージからのデバイスIDを検査し、このIDを基にデバイス1に関する情報およびプログラムの製作元に関する情報をサーバのデータベースから検索する。この情報は、例えば、デバイス固有鍵102を含み、この鍵によって、デバイス1においてのみ復号化できるような形式でデータを暗号化することができる。プログラムの製作元のデータは、どのような種類のアクセス権を前記製作元のプログラムに付与することができるかを示す情報を含む。これらの権利は、例えば、デバイスの製造元とプログラムの製作元との間の合意によって決まるものであり得る。   The use of keys associated with software testing is described below. In connection with powering on the device 1, it is preferable to verify the authenticity of the operating system stored and started in the device 1. This operation is performed, for example, by checking the digital signature stored in the operating system with the software signature key 104. If the result of the check indicates that the operating system is authentic, the operating system can be started. At this time, the device 1 is informed of the transition to the test mode. The tester preferably uses the interface 8 of the device 1 to indicate which program is to be started for testing. Based on this information, the program installation service checks whether or not an access right is granted to this program. When the access right is not granted, the program installation service informs the access right acquisition service that the access right needs to be acquired. The access right is acquired by the following method, for example. The device 1 sends a message containing information about the device 1 on which the test is performed and information about the program to which the access right is granted to a device manufacturer's server (not shown) or the like. The device information includes at least device identification information data such as a device ID, as well as information on the manufacturer of the program to be tested. In the server of the device manufacturer, the device ID from the received message is checked, and information on the device 1 and information on the manufacturer of the program are retrieved from the database of the server based on this ID. This information includes, for example, the device unique key 102, and the data can be encrypted with this key in a format that can be decrypted only by the device 1. The data of the manufacturer of the program includes information indicating what kind of access right can be given to the program of the manufacturer. These rights may be determined, for example, by agreement between the device manufacturer and the program manufacturer.

デバイス1においてプログラムのテストを行うことが許可され得る場合、アクセス権を付与するメッセージがデバイス1に伝送される。デバイス1において、受け取ったアクセス権付与のメッセージを検査し、必要に応じて、デバイスの認証性および整合性を検証する。アクセス権付与のメッセージは、少なくとも以下の情報を含むと有益である。プログラムで使用することを許可される機能に関する情報を含むアクセス権パラメータ(アクセス権ベクトル)である。これらの機能は、例えば、SIMカードの取り扱いに関連する機能、特定のオペレーティングシステム機能、ユーザインターフェース機能、あるいはこれらに類する機能を含む。さらに、アクセス権付与のメッセージは、前記メッセージが関連するプログラムの識別情報を含む。したがって、ソフトウェアロードプログラム10.2が、起こり得るアクセス権の拡張/制限を正しいプログラムに割り当てることができる。この段階で、プログラムに付与されたアクセス権が認識され、これによりプログラムを始動することができ、決められたアクセス権の範囲内でプログラムの機能を制御することができる。   If the device 1 can be authorized to test the program, a message granting access rights is transmitted to the device 1. The device 1 checks the received access right grant message, and verifies the authenticity and integrity of the device as necessary. It is useful that the access right grant message includes at least the following information. This is an access right parameter (access right vector) including information on a function permitted to be used in the program. These functions include, for example, functions related to handling of the SIM card, specific operating system functions, user interface functions, or the like. Further, the access right grant message includes identification information of a program to which the message relates. Thus, the software load program 10.2 can assign possible access rights extensions / restrictions to the correct program. At this stage, the access right granted to the program is recognized, whereby the program can be started, and the function of the program can be controlled within the determined access right.

テストを行うとき、例えば保護されたブロックのテスト接続3.5が作動し、このときテスト接続の接続線(図示せず)を用いて保護されたブロック3内部の信号を見つけ出すことができる。これにより、保護されたブロック3で実行されるプログラムの手順をトレースし、プログラムのデバッグを行うことができるようになる。少なくとも二つの使用可能なテストモードを備えていることが好ましい。一つは通常のソフトウェアのテスト用モードであり、もう一つは保護されたソフトウェアのテスト用モードである。しかし、テストモードを作動させる前に、先ず前記デバイス1においてテストを行うことが許可されているかどうかをチェックする。これは、テスト環境設定113に含まれる使用され得るテストモードに関する情報をチェックすることによってわかる。   When performing the test, for example, the test connection 3.5 of the protected block is activated, at which time the connection signal (not shown) of the test connection can be used to find the signal inside the protected block 3. As a result, the procedure of the program executed in the protected block 3 can be traced and the program can be debugged. Preferably, at least two usable test modes are provided. One is a normal software test mode, and the other is a protected software test mode. However, before operating the test mode, it is first checked whether the device 1 is allowed to perform a test. This can be seen by checking information about the test modes that can be used included in the test environment settings 113.

通常のソフトウェアのテスト用モードにおいて、プログラム署名鍵104および対応するテスト鍵116を用いる。保護されたソフトウェアのテスト用モードにおいて、保護されたソフトウェアに署名するための鍵103の代わりに対応するテスト鍵115を用いる。これらのテスト鍵115、116を、例えば、テスト環境設定113に記憶する。   In the normal software test mode, the program signing key 104 and the corresponding test key 116 are used. In the protected software test mode, the corresponding test key 115 is used instead of the key 103 for signing the protected software. These test keys 115 and 116 are stored in the test environment setting 113, for example.

プログラムのテストを始動する段階で、本発明の効果的な実施例による方法において以下のステップを採用する。テストされるプログラムをデバイスの通常のメモリ4に記憶しておくことが好ましい。また、このプログラムにはデジタル署名が備えられている。テストされるプログラムのデジタル署名用に、上述のテスト鍵115および116に対応する秘密鍵が使用されている。   In starting the test of the program, the following steps are adopted in the method according to an advantageous embodiment of the invention. The program to be tested is preferably stored in the normal memory 4 of the device. The program is also provided with a digital signature. A private key corresponding to the test keys 115 and 116 described above is used for the digital signature of the program to be tested.

デバイス1がテストモードのとき、保護されたブロックのランダムアクセスメモリ3.2へのプログラムのロードが始動する。ロードプログラム10.2を保護されたブロックの読み取り専用メモリ3.1に記憶する。ロードプログラム10.2は、プログラムが始動する前に、ロードされるプログラムの認証性をソフトウェアテスト署名鍵105で検証する。さらに、プログラムに関連する鍵のセキュリティレベルをチェックする。一つの鍵がテストに使用不可能であることをセキュリティレベルが示す場合、この鍵に対応するテスト鍵を、テスト中にプログラムで使用できるように設定する。しかし、セキュリティレベルが、この鍵はテストにも使用可能であることを示す場合、この鍵を通常通りテストに使用することもできる。   When device 1 is in test mode, loading of the program to protected block random access memory 3.2 is initiated. Load program 10.2 is stored in protected block read-only memory 3.1. The load program 10.2 verifies the authenticity of the loaded program with the software test signing key 105 before the program starts. In addition, the security level of the key associated with the program is checked. If the security level indicates that one key cannot be used for the test, the test key corresponding to this key is set so that it can be used by the program during the test. However, if the security level indicates that this key can also be used for testing, this key can also be used for testing as usual.

上述の種類の構成において、テスト担当者は、第2の値、すなわち高いセキュリティレベルに設定されたセキュリティレベルを有するような鍵の内容を見つけ出すことはできない。これは、これらの鍵はテストを行っている状態では使用されず、代わりにテスト鍵が使用されるためである。   In a configuration of the type described above, the tester cannot find the contents of the key having a second value, ie a security level set to a high security level. This is because these keys are not used in the test state, and test keys are used instead.

実際のアプリケーションでは、テスト機能の多様な実装方法が存在し得る。例えば、通常モードおよびテストモードをデバイス用に規定することができる。したがって、テストモードにおいて、全てのプログラムがテストモードで動作し、全ての重要な鍵が対応するテスト鍵に置き換えられる。この実施例において、鍵を秘密に保つことを考慮する必要がある全てのプログラムに、テストモードに関する情報を伝送することが好ましい。これらのプログラムは秘密に保っておく鍵をテスト鍵に置き換えることができる。   In an actual application, there can be various ways of implementing the test function. For example, a normal mode and a test mode can be defined for the device. Accordingly, in the test mode, all programs operate in the test mode, and all important keys are replaced with corresponding test keys. In this embodiment, it is preferable to transmit information about the test mode to all programs that need to consider keeping the key secret. These programs can replace the secret key with a test key.

テスト機能はまた、プログラム固有の方法で実装することもでき、このときテストされる一つまたは複数のプログラムのみをテストモードに設定することが好ましい。この場合、その他のプログラムは通常通りに動作することができる。その結果、この実施例において、プログラムのテストはその他のプログラムに影響を与えることはなく、テストが行われているという点を除いては、デバイス1は必要に応じて通常通りに使用できる。実用面において、このようなプログラム固有テスト機能は、例えば、以下の方法で実装できる。オペレーティングシステムの保護されたカーネルあるいはそれに類するものが、テスト対象であるプログラムを前記デバイス1においてテストすることが許可されているかどうかを検査する。このカーネルあるいはそれに類するものの動作の重要な部分は、テスト状態にあってもテスト機器によって見つけられることはない。テストが許可されている場合、カーネルはテストされるプログラムをテストモードに設定する。これに対応して、テストの後、カーネルはプログラムを通常モードに設定するか、あるいはプログラムを終了させることもできる。   The test function can also be implemented in a program-specific manner, preferably setting only one or more programs to be tested at this time to the test mode. In this case, other programs can operate as usual. As a result, in this embodiment, the test of the program does not affect the other programs, and the device 1 can be used as required as required except that the test is being performed. In practical terms, such a program-specific test function can be implemented, for example, by the following method. The protected kernel of the operating system or the like checks whether it is allowed to test the program under test on the device 1. An important part of the operation of this kernel or the like is not found by the test equipment even in the test state. If testing is allowed, the kernel sets the program to be tested to test mode. Correspondingly, after testing, the kernel can either set the program to normal mode or terminate the program.

上述のプログラム固有テストの選択肢では、テストモードにあるプログラムについて他のプログラムに知らせる必要がある場合もある。このことは、テスト状態で秘密鍵を秘密にしておくことが保証できない場合に必要となる。したがって、通常モードにあるプログラムはこの鍵をテスト鍵で置き換えるか否かを決めることができる。   With the program-specific test options described above, it may be necessary to inform other programs about the program in test mode. This is necessary when it cannot be guaranteed that the secret key is kept secret in the test state. Therefore, a program in the normal mode can decide whether to replace this key with a test key.

また、プログラムへの通常のアクセス権がデバイス1で受け取られているかまたは設定されている限り、プログラムがテストモードにあるようにもテスト機能を実装することができる。   The test function can also be implemented so that the program is in the test mode as long as the normal access rights to the program are received or set at the device 1.

本発明による方法はソフトウェアによって大部分を実装することができる。この場合プログラムコマンドのセットを生成してこの方法の機能を実行する。これらのプログラムコマンドは、知られているような方法でメモリ3.1、メモリ4、CD−ROM、デジタル汎用ディスクなどの記憶手段に記憶することができる。   The method according to the invention can be implemented largely by software. In this case, a set of program commands is generated to perform the functions of this method. These program commands can be stored in a storage means such as the memory 3.1, the memory 4, a CD-ROM, or a digital general purpose disk by a known method.

本発明は上に提示された実施例のみに限定されず、添付の特許請求の範囲の範囲内で変更することができることは明らかである。   Obviously, the invention is not limited to the embodiments presented above but may be varied within the scope of the appended claims.

デバイスの鍵の処理階層を簡略に示す図である。It is a figure which shows the processing hierarchy of the key of a device simply. デバイスの鍵の処理階層を簡略に示す図である。It is a figure which shows the processing hierarchy of the key of a device simply. 本発明の有益な実施例によるデバイスに実装されるソフトウェアの実行環境の構成を略図で示す図である。FIG. 3 schematically illustrates the configuration of an execution environment for software implemented on a device according to an advantageous embodiment of the invention. 本発明の好適な実施例によるデバイスを略ブロック図で示す図である。FIG. 2 is a schematic block diagram of a device according to a preferred embodiment of the present invention. 本発明の有益な実施例によるデバイスの保護されたブロックを略ブロック図で示す図である。FIG. 5 is a schematic block diagram of a protected block of a device according to an advantageous embodiment of the invention.

Claims (12)

デバイス(1)においてテストを行う方法であって、少なくとも一つのプログラム(110、112)が前記デバイス(1)にロードされ、前記プログラムで使用する少なくとも一つの鍵(111)が前記デバイスに記憶されており、前記デバイスのプロセッサが前記プログラムを実行することによって、該プログラムのモードがテストモード又は通常モードに設定される方法において、前記デバイスのプロセッサが前記プログラムを更に実行することによって、
前記デバイス(1)で使用する鍵に対するセキュリティレベルが高セキュリティレベルか、低セキュリティレベルかが判定され、
前記鍵に対して判定された前記セキュリティレベルと前記プログラムのモードとが照合され、
該照合に基づいて、前記鍵が前記プログラムのモードで使用できるかどうか判定されることを特徴とし、更に
前記鍵が前記プログラムのモードで使用できないと判定されたときは、テスト鍵がテスト中に使用できるように設定する
ことを特徴とする方法。
A method for testing the device (1), at least one program (110, 112) is loaded the the device (1), at least one of the keys used by the program (111) stored in said device In the method in which the processor of the device executes the program , and the mode of the program is set to the test mode or the normal mode, the processor of the device further executes the program,
Security level against the key to use in the device (1) or a high security level, it is determined whether a low security level,
A mode of the security level and the program that has been determined for the key is collated,
Based on collating, characterized in that the key is determined whether used mode of the program, further
A method of setting a test key to be usable during a test when it is determined that the key cannot be used in the mode of the program .
前記セキュリティレベル前記プログラムで使用するすべての鍵に対して同一に設定されることを特徴とする、請求項に記載の方法。The security level, characterized in that it is set to the same for all keys to be used in the program, The method of claim 1. 前記セキュリティレベルは、前記プログラムで使用する鍵毎に、独立に設定されることを特徴とする、請求項に記載の方法。The method according to claim 1 , wherein the security level is set independently for each key used in the program. 前記セキュリティレベルが判定される鍵は、前記システムの内部で使用するための鍵であることを特徴とする、請求項1からのいずれか1項に記載の方法。Wherein the key security level Ru is determined, characterized in that it is a key for use within the system, method according to any one of claims 1 to 3. 前記セキュリティレベルが判定される鍵の少なくとも一つが、相互に通信し合う二つのプログラムで使用するための鍵であることを特徴とする、請求項1からのいずれか1項に記載の方法。At least one of the key security level Ru is determined, characterized in that a key for use in two programs communicate with each other, the method according to any one of claims 1 4 . 前記デバイス(1)は通常モードとテストモードとを少なくとも有し、前記プログラムは、前記デバイスのモードで動作することを特徴とする、請求項1からのいずれか1項に記載の方法。Said device (1) having at least a normal mode and a test mode, the program is characterized in that it operates in the device mode, the method according to any one of claims 1-5. デバイス(1)においてテストを行うシステムであって、少なくとも一つのプログラム(110、112)がロードされており、前記プログラムのモードがテストモード又は通常モードに設定されるように構成され、前記プログラムで使用する少なくとも一つの鍵(111)が前記システムで記憶されているシステムにおいて、
前記デバイス(1)で使用する鍵に対するセキュリティレベルが高セキュリティレベルか、低セキュリティレベルかが判定され、前記システムは、
前記鍵に対して判定された前記セキュリティレベルと前記プログラムのモードとを照合する照合手段(3.3)と、
該照合に基づいて、前記が前記プログラムのモードで使用できるかどうかを判定する判定手段(119、120)と
を備えることを特徴とし、更に
前記鍵が前記プログラムのモードで使用できないと判定されたときは、テスト鍵がテスト中に使用できるように設定する
ことを特徴とするシステム。
A system for testing in a device (1), is configured to have at least one program (110, 112) is loaded, the mode of the program is set to the test mode or the normal mode, in the program in a system in which at least one key to be used (111) is stored in said system,
Said device (1) security level against the key used is whether the high level of security, or low security level is determined, the system comprising
And matching means (3.3) to match with the determined the security level and mode of said program to said key,
Based on collating, the key is characterized in that it comprises a determining means (119, 120) to determine if it can be used with the mode of the program, further
A system, wherein when it is determined that the key cannot be used in the mode of the program, the test key is set to be usable during the test .
前記セキュリティレベルは、前記プログラムで使用するすべての鍵に対して同一に設定されていることを特徴とする、請求項に記載のシステム。The system according to claim 7 , wherein the security level is set to be the same for all keys used in the program. 前記セキュリティレベルは、前記プログラムで使用する鍵毎に、独立に設定されていることを特徴とする、請求項に記載のシステム。8. The system according to claim 7 , wherein the security level is set independently for each key used in the program. デバイス(1)であって、該デバイスにロードされたプログラム(110、112)のテストを行う少なくとも一つのプロセッサ(2、3.3)を備え、前記プログラムのモードがテストモード又は通常モードに設定されるように構成され、前記プログラム(110、112)で使用する少なくとも一つの鍵(111)が記憶されている前記デバイス(1)において、
デバイス(1)で使用する鍵に対するセキュリティレベルが高セキュリティレベルか、低セキュリティレベルかが判定され前記デバイス(1)は
前記鍵に対して判定された前記セキュリティレベルと前記プログラムのモードとを照合する照合手段(3.3)と、
該照合に基づいて、前記が前記プログラムのモードで使用できるかどうかを判定する判定手段(119、120)と
を備えることを特徴とし、更に
前記鍵が前記プログラムのモードで使用できないと判定されたときは、テスト鍵がテスト中に使用できるように設定する
ことを特徴とするデバイス。
A device (1) comprising at least one processor (2, 3.3) for testing a program (110, 112) loaded in the device , wherein the mode of the program is set to a test mode or a normal mode is configured to be, in the device in which at least one key used (111) is stored (1) in said program (110, 112),
Security level against the key used in the device (1) or a high security level, it is determined whether a low security level, the device (1),
And matching means (3.3) to match with the determined the security level and mode of said program to said key,
Based on collating, the key is characterized in that it comprises a determining means (119, 120) to determine if it can be used with the mode of the program, further
A device, wherein when it is determined that the key cannot be used in the program mode, the test key is set to be usable during the test .
前記デバイス(1)は、移動通信手段(5、6)を備えることを特徴とする、請求項10に記載のデバイス。Device according to claim 10 , characterized in that said device (1) comprises mobile communication means (5, 6). デバイス(1)においてテストを実行するための機械で実行可能なプログラムを記憶する計算機可読記憶媒体であって、少なくとも一つのプログラム(110、112)がロードされ、該プログラムで使用する少なくとも一つの鍵(111)が記憶されており前記プログラムを前記デバイスのプロセッサ(2)で実行することによって前記プログラムのモードがテストモード又は通常モードに設定される計算機可読記憶媒体において前記プログラムを前記デバイスのプロセッサ(2)で更に実行することによって、
前記デバイス(1)で使用する前記鍵に対するセキュリティレベルが高セキュリティレベルか、低セキュリティレベルかを判定し
前記鍵に対して判定された前記セキュリティレベルと前記プログラムのモードとを照合し
該照合に基づいて、前記が前記プログラムのモードで使用できるかどうかを判定することを特徴とし、更に
前記鍵が前記プログラムのモードで使用できないと判定されたときは、テスト鍵がテスト中に使用できるように設定する
ことを特徴とする計算機可読記憶媒体
A computer-readable storage medium storing a machine- executable program for executing a test in the device (1), wherein at least one program (110, 112) is loaded and at least one key used in the program (111) is stored, by executing the program in the processor (2) of the device, in a computer-readable storage medium which mode of the program is set to the test mode or the normal mode, the said program device By further executing in the processor (2) of
Security level against the key used in the device (1) or a high security level, it is determined whether a low security level,
Collating the mode of the security level and the program that has been determined for the key,
Based on collating the key features and this determines whether used mode of the program, further
A computer-readable storage medium , wherein when it is determined that the key cannot be used in the program mode, the test key is set to be usable during the test .
JP2006500155A 2003-02-03 2004-02-02 Method and system for performing tests on devices and devices Expired - Fee Related JP4417952B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20030156A FI115564B (en) 2003-02-03 2003-02-03 Method and system for performing testing of a device and device
PCT/FI2004/050010 WO2004070586A1 (en) 2003-02-03 2004-02-02 A method and a system for performing testing in a device, and a device

Publications (2)

Publication Number Publication Date
JP2006517313A JP2006517313A (en) 2006-07-20
JP4417952B2 true JP4417952B2 (en) 2010-02-17

Family

ID=8565510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006500155A Expired - Fee Related JP4417952B2 (en) 2003-02-03 2004-02-02 Method and system for performing tests on devices and devices

Country Status (8)

Country Link
US (1) US7418593B2 (en)
EP (1) EP1590722B1 (en)
JP (1) JP4417952B2 (en)
CN (1) CN100374970C (en)
AT (1) ATE408200T1 (en)
DE (1) DE602004016460D1 (en)
FI (1) FI115564B (en)
WO (1) WO2004070586A1 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US7257581B1 (en) 2000-08-04 2007-08-14 Guardian Networks, Llc Storage, management and distribution of consumer information
US8566248B1 (en) 2000-08-04 2013-10-22 Grdn. Net Solutions, Llc Initiation of an information transaction over a network via a wireless device
US9928508B2 (en) 2000-08-04 2018-03-27 Intellectual Ventures I Llc Single sign-on for access to a central data repository
WO2003104947A2 (en) 2002-06-06 2003-12-18 Hardt Dick C Distributed hierarchical identity management
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
JP4073892B2 (en) * 2004-05-10 2008-04-09 株式会社ソニー・コンピュータエンタテインメント Content reproduction apparatus, content reproduction method, and computer program
US9245266B2 (en) 2004-06-16 2016-01-26 Callahan Cellular L.L.C. Auditable privacy policies in a distributed hierarchical identity management system
US8504704B2 (en) 2004-06-16 2013-08-06 Dormarke Assets Limited Liability Company Distributed contact information management
US8527752B2 (en) 2004-06-16 2013-09-03 Dormarke Assets Limited Liability Graduated authentication in an identity management system
US7117112B2 (en) * 2004-09-22 2006-10-03 Research In Motion Limited Method and system for the interactive testing of assembled wireless communication devices
US7165003B2 (en) * 2004-09-22 2007-01-16 Research In Motion Limited Method and system for testing assembled mobile devices
US7606225B2 (en) * 2006-02-06 2009-10-20 Fortinet, Inc. Integrated security switch
US7735116B1 (en) * 2006-03-24 2010-06-08 Symantec Corporation System and method for unified threat management with a relational rules methodology
US20080148001A1 (en) * 2006-12-14 2008-06-19 Telefonaktiebolaget L M Ericsson (Publ) Virtual Secure On-Chip One Time Programming
US8205095B2 (en) * 2007-11-02 2012-06-19 Nvidia Corporation Method and system for remotely debugging a failed computer machine
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
KR20140105343A (en) * 2013-02-22 2014-09-01 삼성전자주식회사 Device and method for securing datausing a plurality of mode in the device
US9215075B1 (en) 2013-03-15 2015-12-15 Poltorak Technologies Llc System and method for secure relayed communications from an implantable medical device
EP2819057B1 (en) * 2013-06-24 2017-08-09 Nxp B.V. Data processing system, method of initializing a data processing system, and computer program product
CN104301543B (en) * 2014-10-30 2016-12-07 西安酷派软件科技有限公司 Information processing method, information processor and terminal
CN105094853A (en) * 2015-09-09 2015-11-25 广东小天才科技有限公司 Method and device for detecting mobile terminal
KR101757149B1 (en) * 2016-11-09 2017-07-12 알서포트 주식회사 Smart device application autotest method using permission booster

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4104721A (en) * 1976-12-30 1978-08-01 International Business Machines Corporation Hierarchical security mechanism for dynamically assigning security levels to object programs
US5014191A (en) * 1988-05-02 1991-05-07 Padgaonkar Ajay J Security for digital signal processor program memory
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US6141756A (en) * 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
US20020078380A1 (en) * 2000-12-20 2002-06-20 Jyh-Han Lin Method for permitting debugging and testing of software on a mobile communication device in a secure environment
JP2002341956A (en) 2001-05-21 2002-11-29 Sony Corp Information processing semiconductor device, debug permission key device and information processing semiconductor system
US6466048B1 (en) 2001-05-23 2002-10-15 Mosaid Technologies, Inc. Method and apparatus for switchably selecting an integrated circuit operating mode
CN1322385C (en) * 2002-08-13 2007-06-20 诺基亚有限公司 Computer architecture for executing a program in a secure or insecure mode

Also Published As

Publication number Publication date
ATE408200T1 (en) 2008-09-15
CN1745357A (en) 2006-03-08
US20040255117A1 (en) 2004-12-16
US7418593B2 (en) 2008-08-26
JP2006517313A (en) 2006-07-20
FI20030156A0 (en) 2003-02-03
FI115564B (en) 2005-05-31
FI20030156A (en) 2004-08-04
WO2004070586A1 (en) 2004-08-19
EP1590722B1 (en) 2008-09-10
CN100374970C (en) 2008-03-12
DE602004016460D1 (en) 2008-10-23
EP1590722A1 (en) 2005-11-02

Similar Documents

Publication Publication Date Title
JP4417952B2 (en) Method and system for performing tests on devices and devices
CN100363855C (en) Key storage administration
JP4440983B2 (en) Secure application distribution and execution in a wireless environment
JP4145118B2 (en) Application authentication system
US20040266395A1 (en) Process for securing a mobile terminal and applications of the process for executing applications requiring a high degree of security
EP2107490B9 (en) System and method for providing code signing services
US20130145455A1 (en) Method for accessing a secure storage, secure storage and system comprising the secure storage
US20070074033A1 (en) Account management in a system and method for providing code signing services
US7594108B2 (en) Operator root certificates
US20070074031A1 (en) System and method for providing code signing services
CN102043978A (en) IC chip, information processing apparatus, system, method and program
JP2008251021A (en) Application authentication system
US20140025954A1 (en) Information processing device, information processing method, and computer program product
US20030059049A1 (en) Method and apparatus for secure mobile transaction
CA2561614C (en) System and method for providing code signing services
CN102187345B (en) Midlet signing and revocation
US7287161B2 (en) Method and system for testing a program, and a device
KR100823631B1 (en) Key storage administration
KR100862389B1 (en) Method and device for controlling installation of applications using operator root certificates
JP2003271904A (en) Storage medium access device and storage medium access method, and access program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090811

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090910

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: 20091027

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: 20091126

R150 Certificate of patent or registration of utility model

Ref document number: 4417952

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131204

Year of fee payment: 4

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

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees