JP7211472B2 - Data writing method - Google Patents

Data writing method Download PDF

Info

Publication number
JP7211472B2
JP7211472B2 JP2021187073A JP2021187073A JP7211472B2 JP 7211472 B2 JP7211472 B2 JP 7211472B2 JP 2021187073 A JP2021187073 A JP 2021187073A JP 2021187073 A JP2021187073 A JP 2021187073A JP 7211472 B2 JP7211472 B2 JP 7211472B2
Authority
JP
Japan
Prior art keywords
chip
data
information
server
area
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.)
Active
Application number
JP2021187073A
Other languages
Japanese (ja)
Other versions
JP2022010365A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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
Priority claimed from JP2018005042A external-priority patent/JP7073733B2/en
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2021187073A priority Critical patent/JP7211472B2/en
Publication of JP2022010365A publication Critical patent/JP2022010365A/en
Application granted granted Critical
Publication of JP7211472B2 publication Critical patent/JP7211472B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データ書き込み方法に関する。 The present invention relates to a data writing method.

SIM(Subscriber Identity Module又はSubscriber Identification Module)等のIC(Integrated Circuit)チップに暗号鍵、PIN(Personal Identification Number)等の秘密情報を記憶させ、当該秘密情報を用いて、ICチップ内でデジタル署名、相互認証等に関わる演算処理を行わせる技術がある。例えば特許文献1では、ICチップを搭載したICカードであって、記憶されている公開鍵暗号方式の暗号鍵を自ら検証するICカードが開示されている。 An IC (Integrated Circuit) chip such as a SIM (Subscriber Identity Module or Subscriber Identification Module) stores secret information such as an encryption key and a PIN (Personal Identification Number), and uses the secret information to create a digital signature in the IC chip, There is a technique for performing arithmetic processing related to mutual authentication and the like. For example, Patent Literature 1 discloses an IC card having an IC chip mounted thereon that verifies a stored encryption key of a public key cryptosystem by itself.

SIM等のICチップでは、暗号鍵等の秘密情報を外部に出力せず、当該秘密情報を用いた演算をチップ内で行う。これにより、ICチップに記憶されている秘密情報の安全性を担保することとしている。 An IC chip such as a SIM does not output confidential information such as an encryption key to the outside, and performs calculations using the confidential information within the chip. This guarantees the security of confidential information stored in the IC chip.

特開2007-13342号公報Japanese Unexamined Patent Application Publication No. 2007-13342

しかしながら、例えばICチップのような物理的モジュールで秘密情報を管理する場合、当該モジュールはISO7816等の規約に基づいて動作する必要があり、上記の演算、及び演算に必要なデータ交換の処理速度が、SoC(System on Chip)、システムLSI等と呼ばれる汎用的な演算モジュールと比較して低い。また、ICチップ等の物理的モジュールにデータを入力、又は当該モジュールからデータを出力するバスをハッキングされ、データの搾取、改竄等が行われる虞がある。 However, when confidential information is managed by a physical module such as an IC chip, the module must operate according to regulations such as ISO7816. , SoC (System on Chip), system LSI, and other general-purpose arithmetic modules. In addition, there is a risk that a bus for inputting data to a physical module such as an IC chip or outputting data from the module may be hacked, and data may be exploited or tampered with.

一つの側面では、秘密情報を安全に保管し、かつ、秘密情報を用いた処理を高速度で実行することができる制御装置等を提供することを目的とする。 An object of one aspect of the present invention is to provide a control device or the like capable of safely storing secret information and executing processing using the secret information at high speed.

一つの側面に係る制御装置は、入出力インターフェイスと、該入出力インターフェイスを介して情報の入出力が可能な第1実行領域と、該第1実行領域からのアクセスが制限された仮想領域であって、ハイパーバイザを介して前記第1実行領域との間で情報の入出力を行う第2実行領域とを備える制御装置であって、前記第2実行領域は、前記入出力インターフェイスを介した情報の入出力が不可能に構成され、所定の秘密情報を保持し、前記第1実行領域からの要求に応じて、前記秘密情報を用いた処理を実行することを特徴とする。 A control device according to one aspect comprises an input/output interface, a first execution region capable of inputting/outputting information via the input/output interface, and a virtual region to which access from the first execution region is restricted. and a second execution region that inputs and outputs information to and from the first execution region via a hypervisor, wherein the second execution region receives information via the input/output interface. input/output is disabled, predetermined confidential information is held, and processing using the confidential information is executed in response to a request from the first execution area.

一つの側面では、秘密情報を安全に保管し、かつ、秘密情報を用いた処理を高速度で実行することができる。 In one aspect, secret information can be safely stored and processing using the secret information can be executed at high speed.

チップ発行システムの構成例を示す模式図である。1 is a schematic diagram showing a configuration example of a chip issuing system; FIG. サーバの構成例を示すブロック図である。It is a block diagram which shows the structural example of a server. チップの構成例を示すブロック図である。3 is a block diagram showing a configuration example of a chip; FIG. 製品DBのレコードレイアウトの一例を示す説明図である。It is explanatory drawing which shows an example of the record layout of product DB. コマンドテーブルのレコードレイアウトの一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a record layout of a command table; 変換テーブルのレコードレイアウトの一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a record layout of a conversion table; チップの構成例を示す機能ブロック図である。3 is a functional block diagram showing a configuration example of a chip; FIG. チップに対するデータの書き込み工程を示す説明図である。FIG. 4 is an explanatory diagram showing a process of writing data to a chip; チップ発行後のデータの書き込み処理を説明するための説明図である。FIG. 10 is an explanatory diagram for explaining data write processing after chip issuance; チップ発行段階におけるデータ書き込み処理の処理手順の一例を示すフローチャートである。FIG. 10 is a flow chart showing an example of a data write process procedure in a chip issue stage; FIG. チップ発行後のデータ書き込み処理の処理手順の一例を示すフローチャートである。FIG. 10 is a flow chart showing an example of a processing procedure of data writing processing after issuing a chip; FIG.

以下、本発明をその実施の形態を示す図面に基づいて詳述する。
(実施の形態)
図1は、チップ発行システムの構成例を示す模式図である。本実施の形態では、種々のデバイスに搭載されるチップ2に対し、秘密情報を書き込むデータ書き込み方法について説明する。本システムは、チップ(制御装置)2へのデータ書き込みを指示する情報処理装置1を含む。
Hereinafter, the present invention will be described in detail based on the drawings showing its embodiments.
(Embodiment)
FIG. 1 is a schematic diagram showing a configuration example of a chip issuing system. In the present embodiment, a data writing method for writing secret information to chips 2 mounted on various devices will be described. This system includes an information processing device 1 that instructs a chip (control device) 2 to write data.

情報処理装置1は、種々の情報処理、情報の送受信が可能な情報処理装置であり、例えばサーバ装置、パーソナルコンピュータ等である。本実施の形態で情報処理装置1はサーバ装置であるものとし、以下では簡潔のためサーバ1と読み替える。サーバ1は、不図示の発行装置に対してチップ2に書き込むべきデータを指示し、各チップ2にデータを書き込ませる。また、サーバ1はインターネット等のネットワークNに通信接続されており、チップ2が搭載されるデバイス(製品)を製造する製品メーカ、あるいはデバイスを使用するエンドユーザからの要求を受けて、ネットワークNを介してチップ2に対しデータを配信して書き込ませる遠隔操作を行う。 The information processing device 1 is an information processing device capable of various types of information processing and transmission/reception of information, and is, for example, a server device, a personal computer, or the like. In the present embodiment, the information processing device 1 is assumed to be a server device, and will be replaced with the server 1 for the sake of brevity below. The server 1 instructs an issuing device (not shown) about data to be written in the chip 2 and causes each chip 2 to write the data. In addition, the server 1 is connected to a network N such as the Internet for communication, and upon receiving a request from a product manufacturer who manufactures a device (product) on which the chip 2 is mounted, or an end user who uses the device, the network N is opened. Remote control is performed to distribute data to the chip 2 via the chip 2 and write it.

チップ2は、種々のデバイスに搭載される制御装置であって、例えばSoC(System on Chip)のように、CPU(Central Processing Unit)等の演算処理装置、RAM(Random Access Memory)、ROM(Read Only Memory)等の記憶領域などをワンチップで搭載した集積回路である。なお、チップ2はSoCといった称呼のものに限定されず、SIM等のセキュリティチップとは異なり、デバイスの汎用的な処理を実行可能な制御装置であればよい。また、本実施の形態では、秘密情報を保持する制御装置がチップであるものとして説明するが、制御装置は集積回路である必要はなく、デバイス内に分散配置された半導体回路であってもよい。 The chip 2 is a control device mounted on various devices, and includes an arithmetic processing device such as a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read It is an integrated circuit that has a storage area such as only memory) on a single chip. Note that the chip 2 is not limited to a device called SoC, and may be any control device capable of executing general-purpose processing of the device, unlike a security chip such as SIM. Further, in this embodiment, the control device that holds confidential information is described as being a chip, but the control device does not have to be an integrated circuit, and may be a semiconductor circuit that is distributed within the device. .

チップ2の記憶領域にはOS(オペレーティングシステム)、アプリケーションプログラム等のデータが記憶されており、当該OS、アプリケーションプログラムに従ってチップ2は動作する。また、チップ2の記憶領域には、所定の秘密情報が記憶されている。秘密情報は、例えば各チップ2に固有の固有情報(例えばチップ2の製造番号)、暗号演算に用いられる鍵情報(例えば公開鍵暗号方式の公開鍵又は秘密鍵、共通鍵暗号方式の共通鍵等)、個人認証等に用いられる認証情報(例えばPINコード)などである。チップ2には、サーバ1からの指示に従って各種の秘密情報が書き込まれる。 Data such as an OS (operating system) and application programs are stored in a storage area of the chip 2, and the chip 2 operates according to the OS and application programs. In addition, predetermined confidential information is stored in the storage area of the chip 2 . The secret information includes, for example, unique information unique to each chip 2 (for example, the manufacturing number of the chip 2), key information used for cryptographic operations (for example, public key or secret key in public key cryptography, common key in common key cryptography, etc.). ), authentication information (for example, a PIN code) used for personal authentication and the like. Various confidential information is written in the chip 2 according to instructions from the server 1 .

本システムの詳細について説明する前に、図1で例示するデバイスの製造工程の概略について説明する。本実施の形態では、デバイス、及び該デバイスに搭載されるチップ2の製造を、チップ2を製造するチップ製造者と、チップ2にデータを書き込むチップ発行者と、チップ2をデバイスに搭載してユーザに出荷する製品メーカとの三者が担うものとして説明する。 Before describing the details of this system, an outline of the manufacturing process of the device illustrated in FIG. 1 will be described. In this embodiment, a device and a chip 2 mounted on the device are manufactured by a chip manufacturer who manufactures the chip 2, a chip issuer who writes data to the chip 2, and a chip 2 mounted on the device. The description will be made assuming that three parties, the product manufacturer that ships the product to the user, are in charge.

チップ製造者は、半導体部品の製造業者であり、チップ2を製造して最低限必要な初期設定を行う。当該初期設定は、例えばチップ2を起動するために必要な基本OSのインストール、各チップ2を一意に識別可能な固有情報(例えば製造番号)の書き込み等である。製造元では、最低限必要な当該データをチップ2に書き込み、チップ発行者に出荷する。 The chip manufacturer is a manufacturer of semiconductor components, manufactures the chip 2, and performs the minimum necessary initial settings. The initial settings include, for example, installation of a basic OS required for booting the chips 2, writing of unique information (for example, manufacturing number) that can uniquely identify each chip 2, and the like. The manufacturer writes the minimum required data in the chip 2 and ships it to the chip issuer.

チップ発行者は、製品メーカからの受注を受けてチップ2に種々のデータを書き込んで発行する発行業者である。製品メーカから受注を受ける際、例えばチップ2にインストールするアプリケーションプログラム、チップ2に書き込む秘密情報等の指定を受ける。例えばサーバ1は、各製品メーカから指定された各種データをデータベース上に格納し、当該データベースから、各チップ2に書き込むべきデータを読み出して書き込みを指示する。チップ発行者にて各種データが書き込まれたチップ2は、各製品メーカに出荷される。 The chip issuer is an issuer that receives orders from product makers, writes various data into the chip 2, and issues the chip. When receiving an order from a product maker, for example, an application program to be installed in the chip 2, secret information to be written in the chip 2, etc. are specified. For example, the server 1 stores various data specified by each product maker in a database, reads data to be written in each chip 2 from the database, and instructs writing. The chip 2 in which various data are written by the chip issuer is shipped to each product manufacturer.

また、サーバ1はチップ2の出荷後(発行後)であっても、製品メーカ、又はエンドユーザから依頼を受けて、ネットワークNを介して遠隔でチップ2にデータを書き込む処理を行う。当該処理について詳しくは後述する。 Further, even after the chip 2 has been shipped (issued), the server 1 receives a request from the product maker or the end user and remotely writes data to the chip 2 via the network N. Details of the processing will be described later.

製品メーカは、チップ発行者から納品されたチップ2をデバイスに搭載してユーザに出荷する製造業者である。製品メーカが製造するデバイスは、種々の電子機器であり得る。例えば図1に示すスマートフォン、車両内のECU(Electronic Control Unit)、家電機器等のほか、パーソナルコンピュータ、インフラ設備装置、ウェアラブルデバイス等であり得る。製品メーカが製造するデバイスは、チップ2を搭載した電子機器であればよく、その内容は特に限定されない。 The product maker is a manufacturer that mounts the chip 2 delivered by the chip issuer in a device and ships the device to the user. Devices manufactured by product manufacturers can be various types of electronic equipment. For example, in addition to the smart phone shown in FIG. 1, an ECU (Electronic Control Unit) in a vehicle, home appliances, etc., it may be a personal computer, an infrastructure equipment, a wearable device, or the like. A device manufactured by a product maker may be an electronic device on which the chip 2 is mounted, and its content is not particularly limited.

なお、例えば図1に示すように、各デバイスはネットワークNに接続され、所謂IoT(Internet of Things)に係るモノとして機能させてよい。 For example, as shown in FIG. 1, each device may be connected to a network N and function as a thing related to the so-called IoT (Internet of Things).

図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、主記憶部12、通信部13、及び補助記憶部14を備える。
制御部11は、一又は複数のCPU、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を有し、補助記憶部14に記憶されたプログラムPを読み出して実行することにより、サーバ1に係る種々の情報処理、制御処理等を行う。主記憶部12は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の一時記憶領域であり、制御部11が演算処理を実行するために必要なデータを一時的に記憶する。通信部13は、通信に関する処理を行うための処理回路等を含み、他の装置と情報の送受信を行う。
FIG. 2 is a block diagram showing a configuration example of the server 1. As shown in FIG. The server 1 includes a control section 11 , a main storage section 12 , a communication section 13 and an auxiliary storage section 14 .
The control unit 11 has an arithmetic processing unit such as one or more CPU, MPU (Micro-Processing Unit), GPU (Graphics Processing Unit), etc., and reads and executes the program P stored in the auxiliary storage unit 14. , various information processing, control processing, and the like related to the server 1 are performed. The main storage unit 12 is a temporary storage area such as SRAM (Static Random Access Memory), DRAM (Dynamic Random Access Memory), flash memory, etc., and temporarily stores data necessary for the control unit 11 to perform arithmetic processing. Remember. The communication unit 13 includes a processing circuit and the like for performing processing related to communication, and transmits and receives information to and from other devices.

補助記憶部14は大容量メモリ、ハードディスク等であり、制御部11が処理を実行するために必要なプログラムP、その他のデータを記憶している。また、補助記憶部14は、製品DB141、コマンドテーブル142、及び変換テーブル143を記憶している。製品DB141は、製品メーカから受注した各製品(チップ2)の受注データを記憶するデータベースである。コマンドテーブル142は、サーバ1とチップ2との間でデータの送受信を行う際に用いるコマンドを格納したテーブルである。変換テーブル143は、サーバ1とチップ2との間でデータの送受信を行う際に、送受信するデータを変換する変換規則を格納したテーブルである。 The auxiliary storage unit 14 is a large-capacity memory, a hard disk, or the like, and stores programs P and other data necessary for the control unit 11 to execute processing. The auxiliary storage unit 14 also stores a product DB 141 , a command table 142 and a conversion table 143 . The product DB 141 is a database that stores order data for each product (chip 2) ordered from a product maker. The command table 142 is a table storing commands used when data is transmitted and received between the server 1 and the chip 2 . The conversion table 143 is a table storing conversion rules for converting data to be transmitted and received when data is transmitted and received between the server 1 and the chip 2 .

なお、補助記憶部14はサーバ1に接続された外部記憶装置であってもよい。また、サーバ1は複数のコンピュータからなるマルチコンピュータであってもよく、ソフトウェアによって仮想的に構築された仮想マシンであってもよい。 Incidentally, the auxiliary storage unit 14 may be an external storage device connected to the server 1 . Moreover, the server 1 may be a multicomputer consisting of a plurality of computers, or may be a virtual machine virtually constructed by software.

また、本実施の形態においてサーバ1は上記の構成に限られず、例えば可搬型記憶媒体に記憶された情報を読み取る読取部等を含んでもよい。 Further, in the present embodiment, the server 1 is not limited to the configuration described above, and may include, for example, a reading unit for reading information stored in a portable storage medium.

図3は、チップ2の構成例を示すブロック図である。チップ2は、CPU21、RAM22、入出力I/F23、不揮発性メモリ24を含む。
CPU21は、種々の演算処理を実行する演算処理装置であり、不揮発性メモリ24に記憶されている各種プログラム又はデータを読み出して演算処理を実行する。RAM22は一時記憶領域であり、CPU21が演算処理を実行するために必要なデータを一時的に記憶する。入出力I/F23は、チップ2外部との間で情報の入出力を行うためのインターフェイスである。
FIG. 3 is a block diagram showing a configuration example of the chip 2. As shown in FIG. Chip 2 includes CPU 21 , RAM 22 , input/output I/F 23 and nonvolatile memory 24 .
The CPU 21 is an arithmetic processing device that executes various kinds of arithmetic processing, and reads various programs or data stored in the nonvolatile memory 24 to execute arithmetic processing. The RAM 22 is a temporary storage area, and temporarily stores data necessary for the CPU 21 to execute arithmetic processing. The input/output I/F 23 is an interface for inputting/outputting information with the outside of the chip 2 .

不揮発性メモリ24は、例えばROM、EEPROM(Electrically Erasable Programmable ROM)等を含み、種々のデータを記憶している。具体的には、不揮発性メモリ24は、リッチOS241、当該リッチOS241の環境下で動作するアプリケーション242、セキュアOS243、当該セキュアOS243の環境下で動作するアプリケーション244、固有情報245、鍵情報246、認証情報247、コマンドテーブル142、及び変換テーブル143を記憶している。 The nonvolatile memory 24 includes, for example, ROM, EEPROM (Electrically Erasable Programmable ROM), etc., and stores various data. Specifically, the nonvolatile memory 24 contains a rich OS 241, an application 242 operating under the environment of the rich OS 241, a secure OS 243, an application 244 operating under the environment of the secure OS 243, unique information 245, key information 246, authentication Information 247, command table 142, and conversion table 143 are stored.

リッチOS241、アプリケーション242、セキュアOS243、アプリケーション244はそれぞれ、チップ2内部に構築される別々の仮想領域において動作するプログラムである。具体的には、CPU21はチップ2内部に、通常実行処理を実行するリッチ領域(第1実行領域)と、当該リッチ領域よりもセキュアな仮想領域であるセキュア領域(第2実行領域)とを構築し、各仮想領域において各種プログラムを実行する。CPU21は、リッチ領域においてリッチOS241及びアプリケーション242を実行し、セキュア領域においてセキュアOS243及びアプリケーション244を実行する。各仮想領域について、詳しくは後述する。 The rich OS 241 , application 242 , secure OS 243 , and application 244 are programs that operate in separate virtual areas built inside the chip 2 . Specifically, the CPU 21 constructs within the chip 2 a rich area (first execution area) for executing normal execution processing and a secure area (second execution area) which is a virtual area that is more secure than the rich area. Then, various programs are executed in each virtual area. The CPU 21 executes a rich OS 241 and applications 242 in the rich area, and executes a secure OS 243 and applications 244 in the secure area. Details of each virtual area will be described later.

固有情報245は、チップ2に固有の情報であり、上述の如く、例えばチップ2の製造番号等である。なお、後述するように、サーバ1は製品メーカ等からの要望に応じて固有情報245を書き換え、所望の情報を固有情報245として不揮発性メモリ24に書き込む。当該処理については後述する。 The unique information 245 is information unique to the chip 2, such as the manufacturing number of the chip 2, as described above. As will be described later, the server 1 rewrites the unique information 245 in response to a request from the product maker or the like, and writes the desired information as the unique information 245 into the nonvolatile memory 24 . The processing will be described later.

鍵情報246は、CPU21が実行する暗号演算に用いられる暗号鍵であり、例えば公開鍵暗号方式の公開鍵又は秘密鍵、共通鍵暗号方式の共通鍵等の鍵値である。 The key information 246 is a cryptographic key used for cryptographic calculations executed by the CPU 21, and is, for example, a key value such as a public key or secret key for public key cryptography, or a common key for common key cryptography.

認証情報247は、例えばユーザ認証等に用いられる認証用のデータであり、個々のユーザ向けにパーソナライズされた情報である。認証情報247は、例えばパスワード等のPINコード、生体認証を行うための生体情報などである。 The authentication information 247 is authentication data used for user authentication, for example, and is information personalized for each user. The authentication information 247 is, for example, a PIN code such as a password, biometric information for performing biometric authentication, and the like.

コマンドテーブル142、変換テーブル143は、サーバ1が保持するコマンドテーブル142、変換テーブル143と共通のテーブルであり、サーバ1との間でデータの送受信を行う際に用いるテーブルである。 The command table 142 and the conversion table 143 are tables common to the command table 142 and the conversion table 143 held by the server 1 , and are tables used when data is transmitted and received with the server 1 .

図4は、製品DB141のレコードレイアウトの一例を示す説明図である。製品DB141は、チップID列、発注元列、製品列、書き込みデータ列を含む。チップID列は、各チップ2を識別するためのIDを記憶している。発注元列は、チップIDと対応付けて、各チップ2へのデータ書き込みを発注した製品メーカの情報が記憶されている。製品列は、チップIDと対応付けて、チップ2が搭載される製品(デバイス)に関する情報を記憶している。書き込みデータ列は、チップIDと対応付けて、チップ2に書き込むデータを記憶している。チップ2に書き込むデータは、上述の如く、例えばアプリケーション242、244、固有情報245、鍵情報246等であるが、これらに限定されるものではない。 FIG. 4 is an explanatory diagram showing an example of the record layout of the product DB 141. As shown in FIG. The product DB 141 includes a chip ID column, an orderer column, a product column, and a write data column. The chip ID column stores IDs for identifying each chip 2 . The order source column stores information on the product maker that ordered data writing to each chip 2 in association with the chip ID. The product column stores information on products (devices) on which the chip 2 is mounted, in association with the chip ID. The write data string stores data to be written to the chip 2 in association with the chip ID. Data to be written to the chip 2 are, for example, applications 242 and 244, unique information 245, key information 246, etc., as described above, but are not limited to these.

図5は、コマンドテーブル142のレコードレイアウトの一例を示す説明図である。コマンドテーブル142は、コマンドコード列、コマンド内容列を含む。コマンドコード列は、サーバ1とチップ2との間でデータの送受信を行う際の各コマンドを表すコードが記憶されている。コマンド内容列は、コマンドコードと対応付けて、各コマンドの内容を記憶している。 FIG. 5 is an explanatory diagram showing an example of the record layout of the command table 142. As shown in FIG. The command table 142 includes a command code string and a command content string. The command code string stores codes representing each command when data is transmitted and received between the server 1 and the chip 2 . The command content string stores the content of each command in association with the command code.

図6は、変換テーブル143のレコードレイアウトの一例を示す説明図である。変換テーブル143は複数のコードを羅列したコード表である。例えば図6に示すように、変換テーブル143では、「00」から「FF」までの、十六進数表記の二桁のコード(文字列)が羅列されている。変換テーブル143において、奇数行のコードと偶数列のコードとが対応しており、対応するコードを相互に変換するよう規定する。例えば第1行目の第1列目のコード「00」と、第2行目の第1列目のコード「5B」とが対応しており、コード「00」が変換テーブル143に入力された場合、コード「5B」に変換して出力する。 FIG. 6 is an explanatory diagram showing an example of the record layout of the conversion table 143. As shown in FIG. The conversion table 143 is a code table listing a plurality of codes. For example, as shown in FIG. 6, the conversion table 143 lists two-digit hexadecimal codes (character strings) from "00" to "FF". In the conversion table 143, odd-numbered row codes and even-numbered column codes correspond, and it is specified that the corresponding codes are mutually converted. For example, the code "00" in the first column of the first row corresponds to the code "5B" in the first column of the second row, and the code "00" is input to the conversion table 143. If so, it is converted to code "5B" and output.

図7は、チップ2の構成例を示す機能ブロック図である。図7に基づき、チップ2内部に構築されるリッチ領域201と、セキュア領域202とについて説明する。
チップ2は、CPU21、RAM22等のハードウェアリソースを仮想化基盤として、当該基盤上に2つの仮想領域を構築する。一の仮想領域はリッチ領域201であり、一の仮想領域はセキュア領域202である。
FIG. 7 is a functional block diagram showing a configuration example of the chip 2. As shown in FIG. A rich area 201 and a secure area 202 constructed inside the chip 2 will be described with reference to FIG.
The chip 2 uses hardware resources such as the CPU 21 and the RAM 22 as a virtualization base, and constructs two virtual areas on the base. One virtual area is the rich area 201 and one virtual area is the secure area 202 .

リッチ領域201は、チップ2が搭載されるデバイスの基本的、汎用的な処理を実行する通常実行環境であり、セキュア領域202へのアクセスが制限される以外に、特段の機能制約がない実行領域である。例えばチップ2がスマートフォンに搭載される場合、CPU21はリッチ領域201において、通話、画像表示等に係る制御処理を実行する。リッチ領域201にはリッチOS241、アプリケーション242が格納され、CPU21は各プログラムを実行することで汎用的な処理を行う。 The rich area 201 is a normal execution environment for executing basic and general-purpose processing of the device on which the chip 2 is mounted. is. For example, when the chip 2 is installed in a smart phone, the CPU 21 executes control processing related to calling, image display, etc. in the rich area 201 . A rich OS 241 and an application 242 are stored in the rich area 201, and the CPU 21 performs general-purpose processing by executing each program.

図7に示すように、リッチ領域201は入出力I/F23を介して外部と情報の入出力可能に構成されている。例えばCPU21は、ユーザによる操作入力内容を入出力I/F23を介して取得し、操作入力に対する応答(例えば画面操作に対する応答)を返す。 As shown in FIG. 7, the rich area 201 is configured to be able to input/output information to/from the outside through the input/output I/F 23 . For example, the CPU 21 acquires the content of an operation input by the user via the input/output I/F 23 and returns a response to the operation input (for example, a response to screen operation).

セキュア領域202は、リッチ領域201よりもセキュアな実行環境であり、リッチ領域201からのアクセスが制限された仮想領域である。例えば図7に示すように、リッチ領域201からセキュア領域202への直接的なアクセスは禁止されており、リッチ領域201からセキュア領域202にアクセスするためには、ソフトウェア上実現されるハイパーバイザ203を経由してアクセスしなければならない。 The secure area 202 is a more secure execution environment than the rich area 201 and is a virtual area to which access from the rich area 201 is restricted. For example, as shown in FIG. 7, direct access from the rich area 201 to the secure area 202 is prohibited. must be accessed through

なお、本実施の形態ではチップ2が2つの仮想領域を有するものとして説明するが、チップ2は複数の仮想領域を有していればよく、当該仮想領域は3つ以上であってもよい。 In this embodiment, the chip 2 will be described as having two virtual areas, but the chip 2 may have a plurality of virtual areas, and may have three or more virtual areas.

セキュア領域202はリッチ領域201からのアクセスが制限されると共に、実行可能な処理も制限されている。具体的には、CPU21はセキュア領域202において、セキュリティ上重要な処理を実行する。例えば図7に示すように、セキュア領域202にはセキュアOS243、アプリケーション244等のほか、秘密情報である固有情報245、鍵情報246、認証情報247等を格納してある。CPU21はセキュア領域202において、当該秘密情報を用いた処理を行う。例えばCPU21は、セキュア領域202において鍵情報246を用いた暗号演算を行い、暗号化したデータをリッチ領域201に出力する。また、例えばCPU21は、リッチ領域201からの要求に応じ、セキュア領域202において認証情報247を用いた個人認証を行う。 Access to the secure area 202 from the rich area 201 is restricted, and executable processing is also restricted. Specifically, the CPU 21 executes security-important processing in the secure area 202 . For example, as shown in FIG. 7, the secure area 202 stores a secure OS 243, an application 244, etc., as well as unique information 245, key information 246, authentication information 247, etc., which are secret information. The CPU 21 performs processing using the confidential information in the secure area 202 . For example, the CPU 21 performs cryptographic computation using the key information 246 in the secure area 202 and outputs the encrypted data to the rich area 201 . Also, for example, the CPU 21 performs personal authentication using the authentication information 247 in the secure area 202 in response to a request from the rich area 201 .

また、セキュア領域202にはコマンドテーブル142及び変換テーブル143が格納されている。チップ2がサーバ1との間でデータの送受信を行う場合、CPU21はセキュア領域202において、各テーブルを用いて送信データの生成、及び受信データの解析を行う。 A command table 142 and a conversion table 143 are stored in the secure area 202 . When the chip 2 transmits and receives data to and from the server 1, the CPU 21 uses each table in the secure area 202 to generate transmission data and analyze reception data.

本実施の形態においてセキュア領域202は、入出力I/F23を介したチップ2外部との間の直接的な通信(情報の入出力)が不可能に構成されている。例えば図7に示すように、ハイパーバイザ203がセキュア領域202と入出力I/F23との間の接続を遮断し、セキュア領域202とチップ2外部との間の通信を禁止するよう設定してある。チップ2外部からセキュア領域202に情報を入力し、セキュア領域202から情報を取得するためには、リッチ領域201、ハイパーバイザ203を経由しなければならない。 In this embodiment, the secure area 202 is configured such that direct communication (input/output of information) with the outside of the chip 2 via the input/output I/F 23 is impossible. For example, as shown in FIG. 7, the hypervisor 203 is set to cut off the connection between the secure area 202 and the input/output I/F 23 and prohibit communication between the secure area 202 and the outside of the chip 2. . In order to input information to the secure area 202 from outside the chip 2 and obtain information from the secure area 202 , the rich area 201 and the hypervisor 203 must be passed through.

セキュア領域202は、暗号演算等のセキュリティ上の処理を、ハイパーバイザ203を介してリッチ領域201から要求を受け付けた場合のみ実行する。セキュア領域202は、当該セキュリティ処理の処理結果(例えば認証結果、暗号化したデータ等)をリッチ領域201に出力し、リッチ領域201を介してチップ2外部へと出力する。 The secure area 202 executes security processing such as cryptographic operations only when a request is received from the rich area 201 via the hypervisor 203 . The secure area 202 outputs processing results of the security processing (for example, authentication results, encrypted data, etc.) to the rich area 201 and outputs them to the outside of the chip 2 via the rich area 201 .

上述の如く、チップ2はリッチ領域201とセキュア領域202とを有し、セキュア領域202に秘密情報を保持する。セキュア領域202は入出力I/F23を介したチップ2外部との間の通信が不可能に構成され、ハイパーバイザ203を介してリッチ領域201から要求を受けた場合のみ、秘密情報を用いた種々の処理を実行する。これにより、チップ2は秘密情報を安全に保管することができる。 As described above, the chip 2 has the rich area 201 and the secure area 202, and the secure area 202 holds confidential information. The secure area 202 is configured to be unable to communicate with the outside of the chip 2 via the input/output I/F 23, and only when a request is received from the rich area 201 via the hypervisor 203, various operations using secret information are performed. process. This allows the chip 2 to safely store confidential information.

また、チップ2は、ICカードに搭載されるICチップのような物理的モジュールではなく、チップ内のセキュアなソフトウェアモジュールに秘密情報を保持し、演算を行う。これにより、秘密情報に基づく演算、及び当該演算に関連するデータ交換がCPUのバスレベルで実行可能となり、物理的モジュールを実装する場合と比較して、処理速度を高めることができる。また、ICチップ等の物理的モジュールでは、当該モジュールに繋がるバスをハッキングされ、データを搾取、又は悪意ある情報を入力される虞がある。しかし、上記のようにソフトウェアモジュールとして実装した場合、ハッキングに対する耐性を高めることができる。これにより、物理的モジュールを実装する場合と比較して安全性を高めることができる。 Also, the chip 2 is not a physical module like an IC chip mounted on an IC card, but holds secret information in a secure software module within the chip and performs calculations. As a result, operations based on secret information and data exchange related to the operations can be executed at the bus level of the CPU, and the processing speed can be increased compared to the case where physical modules are implemented. Also, in a physical module such as an IC chip, there is a risk that the bus connected to the module will be hacked, data will be exploited, or malicious information will be input. However, when implemented as a software module as described above, resistance to hacking can be enhanced. This can improve security compared to implementing a physical module.

図8は、チップ2に対するデータの書き込み工程を示す説明図である。図8では、チップ2にOS、アプリケーション、秘密情報等の各種データが書き込まれる工程を、概念的に図示している。
図8では、チップ製造者、チップ発行者、及び製品メーカそれぞれの下にチップ2がある状況で、どのデータが書き込まれるかを概念的に図示している。
FIG. 8 is an explanatory diagram showing the process of writing data to the chip 2. As shown in FIG. FIG. 8 conceptually illustrates the process of writing various data such as the OS, applications, and secret information to the chip 2 .
FIG. 8 conceptually illustrates what data is written in a situation where there are chips 2 under each of the chip manufacturer, chip issuer, and product manufacturer.

まずチップ製造者は、チップ2を動作させるために最低限必要なOS(リッチOS241及びセキュアOS243)と、チップ2の製造番号等である固有情報245とを書き込む。 First, the chip manufacturer writes the minimum required OS (rich OS 241 and secure OS 243) to operate the chip 2 and unique information 245 such as the manufacturing number of the chip 2. FIG.

次にチップ発行者は、製品メーカからの受注に従い、製品に応じてカスタマイズされた動作を行うよう、チップ2に各種データを書き込む。例えばサーバ1は製品DB141を参照して、各製品メーカから指定されたデータを、製造ラインに載せられた各チップ2に順次書き込んでいく。例えばサーバ1は、アプリケーション242、244を書き込むと共に、暗号演算に用いる鍵情報246を書き込む。 Next, the chip issuer writes various data into the chip 2 according to the order received from the product maker so that the chip 2 performs customized operations according to the product. For example, the server 1 refers to the product DB 141 and sequentially writes data specified by each product maker to each chip 2 placed on the production line. For example, the server 1 writes the applications 242 and 244 and also writes the key information 246 used for cryptographic computation.

この場合にサーバ1は、製品メーカから要望があった場合、チップ2の製造元で付された固有情報245を書き換える。 In this case, the server 1 rewrites the unique information 245 attached by the manufacturer of the chip 2 when requested by the product manufacturer.

製造元で書き込まれた固有情報245は、例えばチップ2の製造番号であり、チップ製造者が各チップ2を一意に識別可能なよう付したデータである。しかしながら、当該データ(番号)はチップ2の製造元で決めた値であり、必ずしも製品メーカ、又はエンドユーザにとって使い勝手の良い値ではない。例えばチップ2が搭載される製品がスマートフォン等の可搬型媒体と仮定した場合、当該製品を、チップ2に記憶されたデータに基づき認証を行う社員証として機能させ、ICカードのように用いたい場合がある。この場合、ユーザ(企業等)は社員番号と製造番号とを紐付けて管理し、チップ2から製造番号を読み取って社員番号を呼び出し、照合を行うという二段階の処理が必要となる。これにより、管理コストが増大する。 The unique information 245 written by the manufacturer is, for example, the serial number of the chip 2, and is data added by the chip manufacturer so that each chip 2 can be uniquely identified. However, the data (number) is a value determined by the manufacturer of the chip 2, and is not necessarily a convenient value for product manufacturers or end users. For example, if the product on which the chip 2 is installed is assumed to be a portable medium such as a smartphone, the product functions as an employee ID card that authenticates based on the data stored in the chip 2, and is used like an IC card. There is In this case, a user (company or the like) must perform a two-step process of linking and managing the employee number and the production number, reading the production number from the chip 2, calling the employee number, and performing collation. This increases management costs.

そこで、製品メーカ、又はエンドユーザによっては、固有情報245自体を所望の値に書き換えたいというニーズがある。そこでサーバ1は、製品メーカから書き換えるべき固有情報245の値(例えば社員番号)を受け付け、当該値に固有情報245を書き換える。これにより、製品メーカやエンドユーザの利便性を高めることができる。 Therefore, there is a need for some product manufacturers or end users to rewrite the unique information 245 itself to a desired value. Therefore, the server 1 accepts the value of the unique information 245 to be rewritten from the product maker (e.g. employee number) and rewrites the unique information 245 with the value. As a result, convenience for product manufacturers and end users can be enhanced.

また、サーバ1は必要に応じて、秘密情報の一部又は全部を書き換え禁止に設定する。例えばサーバ1は、固有情報245を書き換え禁止に設定する場合、固有情報245の書き換えを禁止する旨のフラグをチップ2に書き込み、セキュア領域202に保持させる。セキュア領域202はリッチ領域201から固有情報245の書き換えを要求された場合、書き換えを拒否する。これにより、悪意ある第三者による秘密情報の書き換えを防止することができる。 In addition, the server 1 sets part or all of the confidential information to be rewrite-prohibited as necessary. For example, when the server 1 sets the unique information 245 to be rewrite-prohibited, the server 1 writes a flag to the effect that the rewriting of the unique information 245 is prohibited in the chip 2 and stores it in the secure area 202 . When the secure area 202 receives a request from the rich area 201 to rewrite the unique information 245, the secure area 202 refuses to rewrite. This prevents a malicious third party from rewriting confidential information.

なお、どの秘密情報を書き換え禁止に設定するかは設計事項であり、例えば鍵情報246を書き換え禁止に設定してもよい。また、どの秘密情報を書き換え禁止に設定するか、サーバ1は製品メーカ等から指定を受け付けるようにしてもよい。 It should be noted that which secret information is set to be rewrite-prohibited is a matter of design, and for example, the key information 246 may be set to be rewrite-prohibited. Further, the server 1 may receive designation from the product maker or the like as to which confidential information is set to be prohibited from being rewritten.

上述のように、チップ発行者において各種データが書き込まれたチップ2は、製品メーカに出荷される。製品メーカではリーダ/ライタ機能を持つ所定の端末装置4を用いて、認証情報がチップ2に書き込まれる。製品メーカで書き込まれる認証情報は、例えば製品に初期設定されるパスワード等である。パスワードの初期設定が行われたチップ2は各種製品に組み込まれ、各製品がユーザの下に出荷される。ユーザは自らパスワードの変更等を行って認証情報を書き換え、個々に使用する。 As described above, the chip 2 in which various data are written by the chip issuer is shipped to the product manufacturer. The product maker writes the authentication information into the chip 2 using a predetermined terminal device 4 having a reader/writer function. The authentication information written by the product maker is, for example, a password or the like initially set in the product. The chip 2 with the password initialized is incorporated into various products, and each product is shipped to the user. The user himself/herself changes the password, rewrites the authentication information, and uses it individually.

本実施の形態でサーバ1は、チップ発行者の製造ラインでのデータ書き込みを指示するだけでなく、ネットワークNを介して通信を行い、製品メーカ等からの要望を受けて、チップ2の発行後もデータの書き込みを遠隔で行う。 In this embodiment, the server 1 not only instructs the chip issuer to write data on the production line, but also communicates via the network N, receives a request from the product manufacturer, etc., and after issuing the chip 2 also writes data remotely.

ここでは一例として、チップ発行者からチップ2が発行され、製品メーカの工場へ納品されたチップ2に対し、遠隔でデータを書き込む場合を想定して説明を行う。例えば製品メーカによっては、チップ2内のアプリケーション242、244を自社向けによりカスタマイズして更新したいという要望がある。また、図8では簡潔のため一の製品メーカしか図示していないが、チップ2を搭載した部品(例えば車両ECU)を製造する部品メーカと、各機器を搭載した全体製品(例えば車両)を製造するメーカとが存在する場合がある。この場合に、全体製品を製造するメーカは、各部品に搭載されたチップ2の固有情報245を自社の識別番号に統一したい場合などがあり得る。 Here, as an example, it is assumed that data is remotely written into the chip 2 issued by the chip issuer and delivered to the factory of the product maker. For example, some product manufacturers want to customize and update the applications 242 and 244 in the chip 2 for their company. In addition, although FIG. 8 shows only one product manufacturer for the sake of simplicity, a parts manufacturer that manufactures parts (for example, a vehicle ECU) on which the chip 2 is mounted and a whole product (for example, a vehicle) that is equipped with each device. There may be manufacturers that In this case, the maker who manufactures the whole product may wish to unify the unique information 245 of the chip 2 mounted on each part to the company's own identification number.

このような場合にサーバ1は、製品メーカから要望されたデータをチップ2に配信し、不揮発性メモリ24に書き込ませる。例えば図9に示す端末装置4がネットワークNに接続され、端末装置4を介してチップ2はサーバ1と通信を行い、所望のデータを取得する。 In such a case, the server 1 distributes the data requested by the product maker to the chip 2 and writes it into the nonvolatile memory 24 . For example, the terminal device 4 shown in FIG. 9 is connected to the network N, the chip 2 communicates with the server 1 via the terminal device 4, and acquires desired data.

しかし、チップ2へのデータ書き込みを無条件に可能とした場合、第三者によって不正にデータが書き込まれる虞がある。そこで本実施の形態では、サーバ1とチップ2との間で認証が成功したことを条件に、データの書き込みを許可する。 However, if data writing to the chip 2 is allowed unconditionally, there is a risk that data may be illegally written by a third party. Therefore, in the present embodiment, data writing is permitted on condition that authentication between the server 1 and the chip 2 is successful.

また、サーバ1からチップ2にネットワークNを介してデータを配信するため、通信路上で第三者にデータを盗聴、搾取される虞がある。そこで本実施の形態では、サーバ1がデータを暗号化した上で配信すると共に、暗号化されたデータをチップ2が元に復元し、復元後のデータをセキュア領域202に格納して書き込みを行う。 Moreover, since data is distributed from the server 1 to the chip 2 via the network N, there is a risk that the data may be tapped and exploited by a third party on the communication path. Therefore, in this embodiment, the server 1 distributes the data after encrypting it, and the chip 2 restores the encrypted data to its original state, stores the restored data in the secure area 202, and writes the data. .

具体的には、サーバ1及びチップ2はコマンドテーブル142及び変換テーブル143を用いたデータ交換を行い、上記の認証及び暗号化を行う。 Specifically, the server 1 and the chip 2 exchange data using the command table 142 and the conversion table 143, and perform the authentication and encryption described above.

図9は、チップ2発行後のデータの書き込み処理を説明するための説明図である。図9に基づき、上述の遠隔制御によるデータ書き込みについて説明する。
例えば製品メーカの作業者が端末装置4を操作し、チップ2に対して、秘密情報の書き換えを命令する所定の情報を入力する。当該情報は、リッチ領域201を介してセキュア領域202に入力される。チップ2はセキュア領域202において、入力された情報に従い、図9右上に示す送信コードを生成してリッチ領域201に出力する。
FIG. 9 is an explanatory diagram for explaining the data write processing after chip 2 is issued. Based on FIG. 9, data writing by the remote control described above will be described.
For example, an operator of a product maker operates the terminal device 4 and inputs predetermined information to the chip 2 to instruct the chip 2 to rewrite the confidential information. The information is input to secure area 202 via rich area 201 . In secure area 202 , chip 2 generates a transmission code shown in the upper right of FIG. 9 according to the input information and outputs it to rich area 201 .

当該送信コードは、命令内容に対応するコマンドコードと、書き込むべきデータ(以下、「書き込みデータ」と呼ぶ)を指定するコードとを含むデータコードである。図9では、先頭の「00」で示すコマンドコードに、書き込みデータを指定するコードが連結されている。上述の如く、コマンドコードはコマンドテーブル142において規定されている。チップ2はコマンドテーブル142から、サーバ1に対してデータの配信を要求するコマンドコードを読み出して図9の送信コードを生成する。生成した送信コードはセキュア領域202からリッチ領域201に出力され、サーバ1に送信される。 The transmission code is a data code including a command code corresponding to the instruction content and a code designating data to be written (hereinafter referred to as "write data"). In FIG. 9, a code designating write data is concatenated with the command code indicated by "00" at the beginning. As noted above, command codes are defined in command table 142 . From the command table 142, the chip 2 reads a command code for requesting data distribution to the server 1 and generates a transmission code in FIG. The generated transmission code is output from the secure area 202 to the rich area 201 and transmitted to the server 1 .

なお、書き込みデータは固有情報245、鍵情報246等の秘密情報であってもよく、リッチOS241の下で動作するアプリケーション242のように、秘密であることが要求されないデータであってもよい。また、書き込みデータの書き込み先はセキュア領域202であってもよく、リッチ領域201であってもよい。 Note that the write data may be confidential information such as the unique information 245 and the key information 246, or may be data that does not require confidentiality, such as the application 242 operating under the rich OS 241. FIG. Also, the write destination of the write data may be the secure area 202 or the rich area 201 .

チップ2はセキュア領域202において、上記のコマンドコードを変換テーブル143に従って変換しておく。例えば図9に示すように、チップ2はコマンドコード「00」を「5B」に変換する。チップ2は、変換後のコマンドコード「5B」を認証に用いるため、当該コマンドコードを保持する。 The chip 2 converts the above command code according to the conversion table 143 in the secure area 202 . For example, as shown in FIG. 9, chip 2 converts command code "00" to "5B". Since the chip 2 uses the converted command code "5B" for authentication, it holds the command code.

チップ2から送信コードを取得した場合、サーバ1は、送信コードに含まれるコマンドコード「00」に基づき、チップ2から書き込みデータの配信要求があったことを判別する。この場合にサーバ1は、チップ2と同様に、変換テーブル143に従って当該コマンドコード「00」を「5B」に変換する。 When the transmission code is obtained from the chip 2, the server 1 determines that the chip 2 has issued a write data distribution request based on the command code "00" included in the transmission code. In this case, the server 1, like the chip 2, converts the command code "00" into "5B" according to the conversion table 143. FIG.

サーバ1は、変換後のコマンドコード「5B」と、チップ2から要求された書き込みデータとを含む送信コードを生成する。この場合にサーバ1は、変換テーブル143に基づいて書き込みデータを変換し、変換後のデータを送信コードに用いる。例えばチップ2から固有情報245の配信要求を受け付けた場合、サーバ1は、指定された固有情報245を変換テーブル143に従って変換したデータコードを生成する。これにより、チップ2に書き込むデータは暗号化され、第三者によって通信路上で盗聴、搾取された場合にも対応することができる。サーバ1は、生成した送信コードをチップ2に送信する。 The server 1 generates a transmission code including the converted command code “5B” and the write data requested by the chip 2 . In this case, the server 1 converts the write data based on the conversion table 143 and uses the converted data as the transmission code. For example, when receiving a distribution request for the unique information 245 from the chip 2 , the server 1 converts the specified unique information 245 according to the conversion table 143 to generate a data code. As a result, the data to be written in the chip 2 is encrypted, and it is possible to deal with the case where the data is tapped and exploited on the communication channel by a third party. The server 1 transmits the generated transmission code to the chip 2 .

チップ2はサーバ1から、変換後のコマンドコードと、変換後の書き込みデータとを含む送信コードを取得する。サーバ1から取得した送信コードは、リッチ領域201を介してセキュア領域202に入力される。 From the server 1, the chip 2 acquires the transmission code including the converted command code and the converted write data. A transmission code obtained from the server 1 is input to the secure area 202 via the rich area 201 .

チップ2はセキュア領域202において、送信コードに含まれるコマンドコードに基づき、送信コードの送信元(入力元)であるサーバ1の正当性を認証する認証処理を実行する。具体的には、チップ2は自身が変換しておいたコマンドコード「5B」と、サーバ1が変換したコマンドコード「5B」とを照合し、両者が一致するか否かを判定する。このように、サーバ1及びチップ2がコマンドテーブル142及び変換テーブル143を共有しておき、変換テーブル143に従って各々が同一のコマンドコードを変換したデータを照合することで、書き込みデータの送信元の認証を行う。チップ2が変換したコマンドコードとサーバ1が変換したコマンドコードとが一致しない場合、チップ2は認証が失敗したものと判定し、サーバ1から配信されたデータを破棄する。 In the secure area 202, the chip 2 executes authentication processing for authenticating the legitimacy of the server 1, which is the transmission source (input source) of the transmission code, based on the command code included in the transmission code. Specifically, the chip 2 collates the command code "5B" converted by itself with the command code "5B" converted by the server 1, and determines whether the two match. In this way, the server 1 and the chip 2 share the command table 142 and the conversion table 143, and by collating the data obtained by converting the same command code according to the conversion table 143, authentication of the transmission source of the write data is performed. I do. When the command code converted by the chip 2 and the command code converted by the server 1 do not match, the chip 2 determines that the authentication has failed and discards the data delivered from the server 1. - 特許庁

コマンドコードが一致したと判定した場合、チップ2は認証が成功したものと判定する。この場合、チップ2は、送信コードに含まれる書き込みデータを変換テーブル143に従って変換し、元のデータに復元する。チップ2は、復元後のデータをリッチ領域201又はセキュア領域202に格納することで、データの書き込みを行う。 If it is determined that the command codes match, the chip 2 determines that the authentication has succeeded. In this case, the chip 2 converts the write data included in the transmission code according to the conversion table 143 to restore the original data. The chip 2 writes data by storing the restored data in the rich area 201 or the secure area 202 .

上述の如く、サーバ1は、チップ2に対して遠隔でデータの書き込みを行う。この場合にチップ2は、発行段階でセキュア領域202に書き込まれたコマンドテーブル142、変換テーブル143等のデータを利用し、セキュア領域202において認証を行う。これにより、遠隔であっても安全にデータの書き込みを行うことができる。 As described above, the server 1 remotely writes data to the chip 2 . In this case, the chip 2 performs authentication in the secure area 202 using data such as the command table 142 and the conversion table 143 written in the secure area 202 at the issuing stage. As a result, data can be safely written even remotely.

なお、上記ではコマンドテーブル142で規定されたコマンドコードを認証に用いることにしたが、例えば固有情報245の照合、鍵情報246に基づく鍵交換等の手段で認証を行ってもよい。つまりチップ2は、セキュア領域202で保持する秘密情報を用いて書き込みデータの送信元の正当性を認証可能であればよく、用いる秘密情報はコマンドコードに限定されない。 In the above description, the command code defined in the command table 142 is used for authentication, but authentication may be performed by means of collation of unique information 245, key exchange based on key information 246, or the like. In other words, the chip 2 only needs to be able to authenticate the validity of the sender of the write data using the secret information held in the secure area 202, and the secret information to be used is not limited to the command code.

また、上記ではサーバ1がチップ2に書き込みデータを配信し、遠隔でデータの書き込みを行うことにしたが、当該データの書き込みはローカルで行ってもよい。例えば端末装置4が可搬型記憶媒体から上述の送信コードに相当するデータを読み取ってチップ2に入力するようにしてもよい。つまり、チップ2は書き込みデータの入力元の正当性を認証可能であればよく、インターネット等のネットワークNを介さずに書き込みデータを取得するようにしてもよい。 Also, in the above description, the server 1 distributes the write data to the chip 2 and writes the data remotely, but the writing of the data may be performed locally. For example, the terminal device 4 may read data corresponding to the above transmission code from a portable storage medium and input it to the chip 2 . That is, the chip 2 only needs to be able to authenticate the validity of the input source of the write data, and may acquire the write data without going through a network N such as the Internet.

また、上記では説明の便宜上、製品メーカの工場に在るチップ2に書き込みデータを配信する場合を説明したが、例えばエンドユーザが使用中のデバイスに対して書き込みデータを配信し、チップ2に認証を行わせてデータを書き込ませる場合もあり得る。これにより、例えば有効期限切れのリッチOS241やアプリケーション242、鍵情報246等の更新をおこなうことができる。このように、本実施の形態には種々の変形態様が想定される。 Also, for convenience of explanation, the case where the write data is distributed to the chip 2 in the factory of the product maker has been described above, but for example, the write data is distributed to the device in use by the end user and authenticated by the chip 2. to write data. As a result, for example, the expired rich OS 241, application 242, key information 246, etc. can be updated. In this manner, various modifications are conceivable in this embodiment.

図10は、チップ2発行段階におけるデータ書き込み処理の処理手順の一例を示すフローチャートである。図10に基づき、チップ発行者の製造ラインにおけるデータの書き込み処理について説明する。
サーバ1の制御部11は、チップ2に書き込むよう製品メーカから指定された各種データを製品DB141から読み出す(ステップS11)。チップ2に書き込むデータは、例えばリッチ領域201、セキュア領域202それぞれで動作するアプリケーション242、244、セキュア領域202に書き込む秘密情報などである。秘密情報は、チップ2のCPU21がセキュア領域202で実行する処理で用いるデータであり、例えば暗号演算に用いる鍵情報246等である。また、製品メーカから要望がある場合、チップ2に書き込む秘密情報には、チップ2の製造元で書き込まれた固有情報245の書き換えデータが含まれる。
FIG. 10 is a flow chart showing an example of the procedure of data write processing at the chip 2 issue stage. Based on FIG. 10, the data write processing in the manufacturing line of the chip issuer will be described.
The control unit 11 of the server 1 reads from the product DB 141 various data designated by the product maker to be written in the chip 2 (step S11). The data to be written to the chip 2 are, for example, applications 242 and 244 operating in the rich area 201 and the secure area 202 respectively, secret information to be written to the secure area 202, and the like. The confidential information is data used in the processing executed in the secure area 202 by the CPU 21 of the chip 2, such as the key information 246 used for cryptographic computation. In addition, the confidential information written in the chip 2 includes rewritten data of the unique information 245 written by the manufacturer of the chip 2 when requested by the product manufacturer.

制御部11は、ステップS11で読み出したデータのチップ2への書き込みを指示する(ステップS12)。例えば制御部11は、チップ2の不揮発性メモリ24に対してデータの書き込みを行う発行装置に対し、アプリケーション242、244、鍵情報246等のデータを送信し、当該データを書き込むよう要求する。また、CPU21は、チップ2に遠隔でデータの書き込みを行うためのコマンドテーブル142、変換テーブル143の書き込みを併せて行う。 The control unit 11 instructs to write the data read in step S11 to the chip 2 (step S12). For example, the control unit 11 transmits data such as the applications 242 and 244 and the key information 246 to the issuing device that writes data to the nonvolatile memory 24 of the chip 2, and requests that the data be written. The CPU 21 also writes a command table 142 and a conversion table 143 for remotely writing data to the chip 2 .

また、制御部11は、チップ2に書き込まれている秘密情報の書き換えを指示する(ステップS13)。例えば制御部11は、上述の如く、チップ2に固有の固有情報245の書き換えを指示する。 Further, the control unit 11 instructs to rewrite the secret information written in the chip 2 (step S13). For example, the control unit 11 instructs the chip 2 to rewrite the specific information 245 as described above.

制御部11は、ステップS12、S13で書き込んだ秘密情報のうち、一部又は全部の書き換え禁止をチップ2に設定する(ステップS14)。例えば制御部11は、任意の秘密情報の書き換えを禁止する旨のフラグを不揮発性メモリ24に書き込み、セキュア領域202に保持させる。制御部11は、一連の処理を終了する。 The control unit 11 sets the chip 2 to prohibit part or all of the confidential information written in steps S12 and S13 from being rewritten (step S14). For example, the control unit 11 writes a flag to the nonvolatile memory 24 to prohibit the rewriting of any confidential information, and causes the secure area 202 to hold the flag. The control unit 11 ends the series of processes.

図11は、チップ2発行後のデータ書き込み処理の処理手順の一例を示すフローチャートである。図11に基づき、遠隔でチップ2にデータを書き込む処理の処理内容について説明する。
例えばチップ2は、ネットワークNを介してサーバ1と通信可能な所定の端末装置4に接続されており、端末装置4を介してサーバ1と通信を行う。チップ2のCPU21は、サーバ1に対し、書き込みデータの配信を要求する(ステップS31)。例えばCPU21はセキュア領域202において、コマンドテーブル142で規定するコマンドコードと、書き込むべきデータを指定するデータコードとを含む送信コードを生成する。CPU21は、生成した送信コードをセキュア領域202からリッチ領域201に入力し、ネットワークNを介してサーバ1へ送信する。また、CPU21はセキュア領域202において、送信コードに含まれるコマンドコードを、変換テーブル143を用いて変換し、保持する(ステップS32)。
FIG. 11 is a flow chart showing an example of the procedure of data write processing after chip 2 is issued. Based on FIG. 11, the details of the process of remotely writing data to the chip 2 will be described.
For example, the chip 2 is connected to a predetermined terminal device 4 capable of communicating with the server 1 via the network N, and communicates with the server 1 via the terminal device 4 . The CPU 21 of the chip 2 requests the server 1 to distribute the write data (step S31). For example, in the secure area 202, the CPU 21 generates a transmission code including a command code defined by the command table 142 and a data code specifying data to be written. CPU 21 inputs the generated transmission code from secure area 202 to rich area 201 and transmits it to server 1 via network N. FIG. In addition, in the secure area 202, the CPU 21 converts the command code included in the transmission code using the conversion table 143 and stores it (step S32).

チップ2から送信コードを取得し、書き込みデータの配信要求を受け付けた場合、サーバ1の制御部11は、チップ2から受信した送信コードを参照して、チップ2から要求された書き込みデータを製品DB141から読み出す(ステップS33)。例えば制御部11は、送信コードに含まれるコマンドコードに基づいて配信要求があったことを判別し、同じく送信コードに含まれるコードから、チップ2が指定した書き込みデータを判別する。制御部11は、当該書き込みデータを製品DB141から読み出す。 When a transmission code is obtained from the chip 2 and a request for distribution of write data is received, the control unit 11 of the server 1 refers to the transmission code received from the chip 2 and stores the write data requested by the chip 2 in the product DB 141. (step S33). For example, the control unit 11 determines that there is a distribution request based on the command code included in the transmission code, and determines the write data specified by the chip 2 from the code also included in the transmission code. The control unit 11 reads the write data from the product DB 141 .

制御部11は、チップ2から取得したコマンドコードと、製品DB141から読み出した書き込みデータとを、変換テーブル143に従って変換する(ステップS34)。変換テーブル143は、データコードを変換する変換規則を定めたテーブルであり、入力コードと出力コードとを対応付けたテーブルである。制御部11は変換テーブル143に従い、チップ2から取得したコマンドコードを変換する。また、制御部11は、製品DB141から読み出した書き込みデータを変換する。制御部11は、変換後のコマンドコードと、変換後の書き込みデータとを含む送信コードを生成し、チップ2に送信する(ステップS35)。 The control unit 11 converts the command code acquired from the chip 2 and the write data read from the product DB 141 according to the conversion table 143 (step S34). The conversion table 143 is a table that defines conversion rules for converting data codes, and is a table that associates input codes and output codes. The control unit 11 converts the command code acquired from the chip 2 according to the conversion table 143 . Further, the control unit 11 converts write data read from the product DB 141 . The control unit 11 generates a transmission code including the converted command code and the converted write data, and transmits it to the chip 2 (step S35).

サーバ1からコマンドコード、書き込みデータを含む送信コードを取得した場合、チップ2のCPU21は、サーバ1から取得したコマンドコードと、ステップS32で変換済みのコマンドコードとを照合する(ステップS36)。すなわちCPU21は、自身で変換したコマンドコードと、サーバ1で変換されたコマンドコードとを比較することで、コマンドコードの真正性を確認(認証)する。これにより、CPU21は、サーバ1の正当性を認証する認証処理を行う。CPU21は、コマンドコードが一致したか否かを判定する(ステップS37)。コマンドコードが一致しないと判定した場合(S37:NO)、CPU21は取得したデータを破棄し、一連の処理を終了する。 When acquiring a command code and a transmission code including write data from the server 1, the CPU 21 of the chip 2 compares the command code acquired from the server 1 with the command code converted in step S32 (step S36). That is, the CPU 21 compares the command code converted by itself with the command code converted by the server 1 to confirm (authenticate) the authenticity of the command code. Thereby, the CPU 21 performs an authentication process for authenticating the validity of the server 1 . The CPU 21 determines whether or not the command codes match (step S37). If it is determined that the command codes do not match (S37: NO), the CPU 21 discards the acquired data and terminates the series of processes.

コマンドコードが一致したと判定した場合、CPU21は、サーバ1から取得した送信コードに含まれる書き込みデータを変換テーブル143に従い変換する(ステップS38)。すなわちCPU21は、サーバ1によって変換された書き込みデータを復元する。CPU21は、変換した書き込みデータをリッチ領域201又はセキュア領域202に格納し(ステップS39)、一連の処理を終了する。 When determining that the command codes match, the CPU 21 converts the write data included in the transmission code acquired from the server 1 according to the conversion table 143 (step S38). That is, the CPU 21 restores the write data converted by the server 1 . The CPU 21 stores the converted write data in the rich area 201 or the secure area 202 (step S39), and ends the series of processes.

なお、上記ではチップ製造者、チップ発行者、及び製品メーカに分けて一連の製造工程を説明したが、この作業主体の区別は便宜上のものであって、本実施の形態はこれに限定されるものではない。例えばチップ製造者とチップ発行者とを同一の事業者として、チップ2の製造から発行に至るまでを一の事業者が行ってもよい。また、デバイスの組み立てに至るまで、全ての製造作業を一の事業者が行ってもよい。 In the above description, a series of manufacturing processes have been described separately for the chip manufacturer, the chip issuer, and the product manufacturer. not a thing For example, the chip manufacturer and the chip issuer may be the same business operator, and one business operator may perform the steps from manufacturing the chip 2 to issuing it. Also, one business operator may perform all the manufacturing work up to the assembly of the device.

以上より、本実施の形態によれば、チップ2内のソフトウェアモジュールであるセキュア領域202に秘密情報を保持し、当該セキュア領域202にて秘密情報を用いた演算処理を行うようにすることで、秘密情報の安全性を確保することができる。特に本実施の形態では、セキュア領域202とチップ2外部との直接的な通信(情報の入出力)が不可能に構成され、セキュア領域202に情報を入力、又はセキュア領域202から情報を取得するためにはリッチ領域201を経由しなければならず、安全性をより強固にすることができる。また、セキュア領域202はソフトウェアモジュールであるため、ICチップ等の物理的モジュールよりも、演算処理能力を高めることができる。さらに、SIMのような専用の物理的モジュールをデバイスに搭載する必要がないため、省スペース化、省電力化に資する。 As described above, according to the present embodiment, confidential information is held in the secure area 202, which is a software module in the chip 2, and arithmetic processing using the confidential information is performed in the secure area 202. Security of confidential information can be ensured. In particular, in this embodiment, direct communication (input/output of information) between the secure area 202 and the outside of the chip 2 is disabled. In order to do so, it is necessary to go through the rich region 201, and safety can be further strengthened. Also, since the secure area 202 is a software module, it can have higher arithmetic processing capability than a physical module such as an IC chip. Furthermore, since there is no need to mount a dedicated physical module such as SIM on the device, it contributes to space saving and power saving.

また、本実施の形態によれば、発行段階でチップ2に書き込んだ秘密情報に対し、書き換え禁止を設定可能としてあり、発行後の秘密情報の改竄を防止することができる。 In addition, according to the present embodiment, it is possible to set prohibition of rewriting the secret information written in the chip 2 at the stage of issue, so that the secret information can be prevented from being tampered with after issuance.

また、本実施の形態によれば、発行後にデータの追加書き込み、書き換え等を行う場合、発行段階で書き込んである秘密情報(例えばコマンドテーブル142、変換テーブル143等)を用いて認証を行うことで、安全にデータの書き込みを行うことができる。 Further, according to the present embodiment, when additional writing or rewriting of data is performed after issuance, authentication is performed using secret information (for example, command table 142, conversion table 143, etc.) written at the stage of issuance. , data can be written safely.

また、本実施の形態によれば、ネットワークNを介して、遠隔でデータの書き込みを行うことができる。 Further, according to this embodiment, data can be written remotely via the network N. FIG.

また、本実施の形態によれば、遠隔でデータを書き込む際に、変換テーブル143に従い書き込みデータを変換した上で配信することで、通信路上でのデータの盗聴、搾取等に対応することができる。 Further, according to the present embodiment, when writing data remotely, by converting the written data according to the conversion table 143 and then distributing the data, it is possible to cope with data interception, exploitation, etc. on the communication channel. .

また、本実施の形態によれば、サーバ1及びチップ2でコマンドコードを共有しておき、当該コマンドコードと変換テーブル143とを組み合わせた真正性の検証(認証)を行うことで、より安全性を高めることができる。 Further, according to the present embodiment, a command code is shared between the server 1 and the chip 2, and authenticity verification (authentication) is performed by combining the command code and the conversion table 143, thereby increasing security. can increase

また、本実施の形態によれば、製品メーカ等の要望に従い固有情報245を書き換えることで、製品メーカ等におけるチップ2の管理を容易にすることができる。 Further, according to the present embodiment, by rewriting the unique information 245 according to the request of the product maker or the like, it is possible to facilitate the management of the chip 2 by the product maker or the like.

今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed this time are illustrative in all respects and should not be considered restrictive. The scope of the present invention is indicated by the scope of the claims rather than the above-described meaning, and is intended to include all modifications within the scope and meaning equivalent to the scope of the claims.

1 サーバ(情報処理装置)
11 制御部
12 主記憶部
13 通信部
14 補助記憶部
P1 プログラム
141 製品DB
142 コマンドテーブル
143 変換テーブル
2 チップ(制御装置)
21 CPU
22 RAM
23 入出力I/F
24 不揮発性メモリ
241 リッチOS
242 アプリケーション
243 セキュアOS
244 アプリケーション
245 固有情報
246 鍵情報
247 認証情報
1 server (information processing device)
11 Control Unit 12 Main Storage Unit 13 Communication Unit 14 Auxiliary Storage Unit P1 Program 141 Product DB
142 command table 143 conversion table 2 chip (control device)
21 CPUs
22 RAMs
23 input/output I/F
24 non-volatile memory 241 rich OS
242 Application 243 Secure OS
244 application 245 unique information 246 key information 247 authentication information

Claims (4)

制御装置が有する記憶領域にデータを書き込むデータ書き込み方法であって、
前記制御装置は、ハイパーバイザを介して互いに情報の入出力を行う複数の実行領域を有し、
前記複数の実行領域のうち、第1実行領域からのアクセスが制限された第2実行領域に対し、所定の秘密情報を書き込む
処理をコンピュータに実行させ
前記第2実行領域は、前記制御装置に固有の固有情報を予め保持してあり、
前記固有情報を所定の値に書き換え
ことを特徴とするデータ書き込み方法。
A data writing method for writing data to a storage area of a control device,
The control device has a plurality of execution regions that mutually input and output information via a hypervisor,
causing the computer to execute a process of writing predetermined secret information into a second execution area, of the plurality of execution areas, to which access from the first execution area is restricted ;
the second execution region holds in advance unique information unique to the control device;
A data writing method , wherein the unique information is rewritten to a predetermined value .
前記制御装置は、入出力インターフェイスを備え、
前記入出力インターフェイスを介した情報の直接的な入出力が不可能に構成された前記第2実行領域に対し、前記秘密情報を書き込む
ことを特徴とする請求項1に記載のデータ書き込み方法。
The control device comprises an input/output interface,
2. The data writing method according to claim 1, wherein said secret information is written into said second execution area configured such that direct input/output of information via said input/output interface is impossible.
ネットワークを介して、前記第2実行領域に新たに書き込むデータを該制御装置に送信する
ことを特徴とする請求項1又は請求項2に記載のデータ書き込み方法。
3. The data writing method according to claim 1 , wherein data to be newly written in the second execution area is transmitted to the control device via a network.
前記第2実行領域に対し、データコードの変換規則を規定する変換テーブルを書き込んでおき、
前記変換テーブルに従って変換した前記データを前記制御装置に送信する
ことを特徴とする請求項に記載のデータ書き込み方法。
writing a conversion table defining data code conversion rules in the second execution area;
4. The data writing method according to claim 3 , wherein said data converted according to said conversion table is transmitted to said control device.
JP2021187073A 2018-01-16 2021-11-17 Data writing method Active JP7211472B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021187073A JP7211472B2 (en) 2018-01-16 2021-11-17 Data writing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018005042A JP7073733B2 (en) 2018-01-16 2018-01-16 Control device, data writing method and program
JP2021187073A JP7211472B2 (en) 2018-01-16 2021-11-17 Data writing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018005042A Division JP7073733B2 (en) 2018-01-16 2018-01-16 Control device, data writing method and program

Publications (2)

Publication Number Publication Date
JP2022010365A JP2022010365A (en) 2022-01-14
JP7211472B2 true JP7211472B2 (en) 2023-01-24

Family

ID=87888204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021187073A Active JP7211472B2 (en) 2018-01-16 2021-11-17 Data writing method

Country Status (1)

Country Link
JP (1) JP7211472B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008009933A (en) 2006-06-30 2008-01-17 Toshiba Corp Memory device and its control method
JP2010055393A (en) 2008-08-28 2010-03-11 Nec Corp Authentication system, authentication control method, and authentication control program
JP2013242644A (en) 2012-05-18 2013-12-05 Panasonic Corp Virtual computer system, control method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008009933A (en) 2006-06-30 2008-01-17 Toshiba Corp Memory device and its control method
JP2010055393A (en) 2008-08-28 2010-03-11 Nec Corp Authentication system, authentication control method, and authentication control program
JP2013242644A (en) 2012-05-18 2013-12-05 Panasonic Corp Virtual computer system, control method, and program

Also Published As

Publication number Publication date
JP2022010365A (en) 2022-01-14

Similar Documents

Publication Publication Date Title
US11196572B2 (en) Blockchain-based content verification
CN109951489B (en) Digital identity authentication method, equipment, device, system and storage medium
KR101608510B1 (en) System and method for key management for issuer security domain using global platform specifications
US10650168B2 (en) Data processing device
CN102084373B (en) Backing up digital content that is stored in a secured storage device
CN109241726B (en) User authority control method and device
JP2006080636A (en) Information processing apparatus
EP3053081B1 (en) Systems, methods, and computer program products for securely managing data on a secure element
CN112215609B (en) House property user identity authentication method and device based on super account book and electronic equipment
KR102013983B1 (en) Method and server for authenticating an application integrity
CN111401901B (en) Authentication method and device of biological payment device, computer device and storage medium
KR20090052321A (en) Content control system and method using versatile control structure
US8328104B2 (en) Storage device management systems and methods
KR20090026357A (en) Content control system and method using certificate chains
JP7073733B2 (en) Control device, data writing method and program
JP7211472B2 (en) Data writing method
Otterbein et al. The German eID as an authentication token on android devices
WO2022100658A1 (en) Method and system for changing key in security module
JP2008176506A (en) Information processing apparatus, information processing method and management server
CN114491682A (en) Virtual subscriber identity module and virtual smart card
JP7003740B2 (en) Mobile driver's license system and mobile terminal equipment
CN111783071A (en) Password-based and privacy data-based verification method, device, equipment and system
CN106157028B (en) Financial IC card multi-time card issuing system and method based on trusted platform
JP2019047325A (en) Authentication system
WO2018017019A1 (en) Personal security device and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221226

R150 Certificate of patent or registration of utility model

Ref document number: 7211472

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150