JP7364241B2 - 署名生成装置、署名生成方法及び署名プログラム - Google Patents
署名生成装置、署名生成方法及び署名プログラム Download PDFInfo
- Publication number
- JP7364241B2 JP7364241B2 JP2020547830A JP2020547830A JP7364241B2 JP 7364241 B2 JP7364241 B2 JP 7364241B2 JP 2020547830 A JP2020547830 A JP 2020547830A JP 2020547830 A JP2020547830 A JP 2020547830A JP 7364241 B2 JP7364241 B2 JP 7364241B2
- Authority
- JP
- Japan
- Prior art keywords
- signature
- program
- random number
- storage area
- generation device
- 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
Links
- 238000000034 method Methods 0.000 title claims description 115
- 238000010586 diagram Methods 0.000 description 29
- 238000012545 processing Methods 0.000 description 25
- 238000012986 modification Methods 0.000 description 19
- 230000004048 modification Effects 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/10—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
<概要>
図1と図2は、本実施形態の署名生成装置2000の概要を表す図である。図1は、署名生成装置2000で動作する署名プログラム10の動作の概要を表している。署名生成装置2000は、署名プログラム10を実行する。署名プログラム10は、確率的署名生成方式で電子署名を生成する。具体的には、署名プログラム10は、メッセージ20を取得し、秘密鍵12及び乱数14を用いて、メッセージ20から電子署名30を生成する。確率的署名方式の署名アルゴリズムには、DSA などの既知のアルゴリズムを採用することができる。
本発明者は、確率的署名方式では、秘密鍵の漏洩を防ぐために、乱数を保護する必要があることを見いだした。乱数を保護しなければならない理由は、乱数やその他の公開された情報を用いて、秘密鍵を算出できてしまう恐れがあるからである。以下、DSA を例として、秘密鍵の算出方法を説明する。
<<鍵生成>>
(1)素数 p および p-1 を割り切る素数 q を生成する。
(2)乗法群 Z_{p}^{*} での位数が q となるような原始元 g を定める。
(3)集合{0,1,...,q-1}に含まれる要素xを定め、y=g^{x} mod p を計算する。
ここで、x は秘密鍵とし、p、q、g、yを公開鍵とする。
(1){0,1,...,q-1} に含まれかつ p-1 と互いに疎な要素をランダムに取り出し、乱数kとする。
(2)次のようにメッセージ m に対する署名(r,s)を計算する。
r=(g^{k} mod p) mod q
s=k^{-1}(h(m)+xr) mod q
(1)r'=(g^{h(m)s^{-1}}y^{rs^{-1}} mod p) mod q を計算する。
(2)rとr'が等しいかをチェックする。
(2-1)等しい場合、検証成功とする。
(2-2)等しくない場合、検証失敗とする。
x=(s-h(m))/r mod q
図3は、実施形態1の署名生成装置2000の機能構成を例示する図である。署名生成装置2000は、実行部2020を有する。実行部2020は、署名プログラム10を実行する。署名プログラム10のうち、乱数14を扱う処理は、セキュア記憶領域40にロードされて実行される。また、乱数14は、セキュア記憶領域40に記憶される。
署名生成装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、署名生成装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
セキュア記憶領域40は、root 権限を持つプログラムであっても自由にはアクセスできないように保護された記憶領域である。例えばセキュア記憶領域40は、TEE を構成する記憶領域である。TEE は、通常の実行環境から隔離されたセキュアな実行環境である。
図5は、実施形態1の署名生成装置2000によって実行される処理の流れを例示するフローチャートである。実行部2020は、署名プログラム10を取得する(S102)。実行部2020は、署名プログラム10をメモリにロードする(S104)。実行部2020は、メモリにロードした署名プログラム10を実行することで、メッセージ20から電子署名30を生成する(S106)。
署名プログラム10は、確率的署名方式でメッセージ20から電子署名30を生成するプログラムである。電子署名30の生成には、秘密鍵12及び乱数14が利用される。前述したように、確率的署名方式のアルゴリズムには、 DSA などの種々の既存のアルゴリズムを利用することができる。
この構成では、署名プログラム10は、その内部に複数の乱数14を予め含んでいる。言い換えると、署名プログラム10において、複数の乱数14が予め定義されている。署名プログラム10は、新たに電子署名を生成する際、複数の乱数14のうちの1つを利用する。
この場合、署名プログラム10の内部には、乱数を生成するプログラムが含まれる。このプログラムのことを、乱数生成器と呼ぶ。この場合、少なくとも乱数生成器は、セキュア記憶領域40にロードされる。また、乱数生成器によって生成される乱数は、セキュア記憶領域40に記憶される。
図8は、乱数生成器16の構成を例示する第1の図である。この例において、乱数生成器16は、一方向性を持つハッシュ関数として実現されている。この場合、乱数生成器16は、その内部に予め乱数シードを含み、外部からノンスを取得するように構成される。言い換えれば、乱数シードが予め署名プログラム10に含まれている。乱数生成器16は、乱数シードとノンスに基づくハッシュ値を算出し、そのハッシュ値を乱数14として出力する。ここで、乱数シードとノンスに基づくハッシュ値を算出するハッシュ関数には、既存の種々のハッシュ関数を利用することができる。
図9は、乱数生成器16の構成を例示する第2の図である。この例において、乱数生成器16は、内部状態を持つ疑似乱数生成器(PRNG)を用いて実現されている。具体的には、乱数生成器16は、その内部に予め乱数シードを含み、乱数シードと内部状態とに基づいて、疑似乱数を出力する。ただし、乱数生成器16から出力される乱数が決定的になるのを避けるため、乱数生成器16は、内部状態の初期値を外部から取得する。ここで、内部状態と乱数シードに基づいて疑似乱数を生成する技術には、既存の技術を利用することができる。
図10は、乱数生成器16の構成を例示する第3の図である。この例において、乱数生成器16は、外部から取得したノンスを用いて乱数シードを生成し、その乱数シードと内部状態を用いて疑似乱数を生成する疑似乱数生成器として実現される。例えば乱数生成器16は、一方向性ハッシュ関数に秘密鍵12とノンスを入力することで得られるハッシュ値を、乱数シードとして扱う。乱数生成器16は、得られた乱数シードと内部状態に基づいて、疑似乱数を出力する。ここで出力される疑似乱数が、乱数14として扱われる。
署名生成装置2000は、署名プログラム10を取得する(S102)。署名生成装置2000が署名プログラム10を取得する方法は様々である。例えば署名生成装置2000は、任意の記憶装置に記憶されている署名プログラム10を、その記憶装置から読み出すことで取得する。その他にも例えば、署名生成装置2000は、他の装置から送信される署名プログラム10を受信することで、署名プログラム10を取得する。この「他の装置」は、例えば、署名プログラム10を生成する装置(後述する署名プログラム生成装置3000)である。
署名生成装置2000は、署名プログラム10をメモリ上にロードして実行する。この際、署名プログラム10のうち、乱数14を扱う処理は、セキュア記憶領域40にロードされる。例えば TEE を利用する場合、乱数14を扱う処理は、セキュア OS によってセキュア記憶領域40にロードされることにより、TEE によって実現されるセキュアな実行環境で動作する。すなわち、乱数14を扱う処理は、前述したセキュアプログラムとして動作する。ここで、TEE を構成する記憶領域などのセキュア記憶領域40に所定のプログラムをロードする技術には、既存の技術を利用することができる。
署名プログラム10は、メッセージ20から電子署名30を生成する(S108)。ここで前述したように、署名プログラム10のうち、乱数14を扱う処理は、セキュア記憶領域40にロードして実行される。乱数14を扱う処理は、例えば、前述した乱数生成器16や、秘密鍵12や乱数14に基づいて電子署名30を算出する処理である。例えば TEE を利用する場合、これらの処理は、セキュアプログラムとして動作する。
署名プログラム10は、生成した電子署名30を出力する。ここで、電子署名を出力する方法は任意である。例えば署名プログラム10は、電子署名30を任意の記憶装置に格納する。その他にも例えば、署名プログラム10は、電子署名30を他の装置に送信してもよい。
署名プログラム10は、1)その内部の処理のうち、少なくとも、乱数14を扱う処理が、セキュア記憶領域40にロードされる、及び2)乱数14がセキュア記憶領域40に記憶されるという要件を満たす必要がある。署名プログラム10は、このような要件を満たすようにプログラム作成者によって設計・実装されることで生成されてもよいし、このような要件を満たさない署名プログラム(例えば、一般的な署名プログラム)を改変することで生成されてもよい。後者の場合、署名プログラムの改変は、人手で行われてもよいし、コンピュータによって自動で行われてもよい。
署名プログラム生成装置3000によれば、乱数14が漏洩する危険のある署名プログラムを、乱数14が漏洩されない署名プログラム(署名プログラム10)に改変することができる。よって、乱数14が保護された安全な署名生成プログラムを容易に生成することができる。
図13は、署名プログラム生成装置3000の機能構成を例示する図である。例えば署名プログラム生成装置3000は、図13に示すように、取得部3020、第1改変部3040、及び第2改変部3060を有する。取得部3020は、改変前署名プログラム60(確率的署名方式で電子署名を生成する署名プログラム)を取得する。第1改変部3040は、改変前署名プログラム60から、電子署名の生成に利用される乱数(乱数14)を記憶領域に格納する処理を検出する。さらに第1改変部3040は、検出した処理が乱数14をセキュア記憶領域40に格納するように、改変前署名プログラム60を改変する。第2改変部3060は、改変前署名プログラム60から、乱数14を扱う処理を検出する。さらに第2改変部3060は、検出した処理がセキュア記憶領域40にロードして実行されるように、改変前署名プログラム60を改変する。
署名プログラム生成装置3000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、署名プログラム生成装置3000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
図15は、署名プログラム生成装置3000が行う処理の流れを例示するフローチャートである。取得部3020は、改変前署名プログラム60を取得する(S202)。第1改変部3040は、改変前署名プログラム60から、乱数14を記憶領域に格納する処理を検出する(S204)。第1改変部3040は、検出した処理が乱数14をセキュア記憶領域40に格納するように、改変前署名プログラム60を改変する(S206)。第2改変部3060は、改変前署名プログラム60から、乱数14を扱う処理を検出する(S208)。第2改変部3060は、検出した処理がセキュア記憶領域40にロードして実行されるように、改変前署名プログラム60を改変する(S210)。
実施形態2の署名生成装置2000は、実施形態1の署名生成装置2000と同様に、署名プログラムを用い、メッセージ20について電子署名30を生成する。以降で説明する点を除き、実施形態2の署名生成装置2000は、実施形態1の署名生成装置2000と同様の機能を有する。
r=(g^{k} mod p) mod q
s=k^{-1}(h(m)+xr) mod q
本実施形態の署名生成装置2000によれば、電子署名30の生成に利用される署名プログラム70において、乱数14自体と乱数14を扱う処理が難読化されている。そのため、たとえ攻撃者に root 権限を乗っ取られても、攻撃者は乱数14を得ることができない。そのため、乱数の漏洩によって秘密鍵が算出されてしまうことを防ぐことができる。よって、秘密鍵の安全性、ひいては署名プログラムの安全性を向上させることができる。
実施形態2の署名生成装置2000の機能構成は、実施形態1の署名生成装置2000の機能構成と同様に、例えば図3で表される。実施形態2の署名生成装置2000を例示する図である。署名生成装置2000の実行部2020は、署名プログラム70を実行する。署名プログラム70は、メッセージ20を取得し、秘密鍵12及び乱数14を用いて、メッセージ20から電子署名30を生成する。ここで、署名プログラム70において、乱数14自体、及び乱数14を扱う処理は、難読化されている。
実施形態2の署名生成装置2000のハードウエア構成は、実施形態1の署名生成装置2000のハードウエア構成と同様に、例えば図4で表れる。ただし、実施形態2の署名生成装置2000のストレージデバイス1080には、実施形態2の実行部2020を実現するプログラムモジュール及び署名プログラム70が記憶されている。
実施形態2の署名生成装置2000によって実行される処理の流れは、実施形態1の署名生成装置2000によって実行される処理の流れと同様に、例えば図5で表される。
Claims (6)
- 確率的署名方式で電子署名を生成する署名プログラムを実行する実行部を有し、
前記署名プログラムは、前記実行部に、メッセージを取得して、乱数及び秘密鍵を用いて前記メッセージから電子署名を生成させるためのプログラムであり、
前記実行部は、前記署名プログラムに含まれる処理のうち、前記乱数を利用する処理を、セキュアな記憶領域にロードして実行し、
前記署名プログラムは、
複数の乱数を含み、
前記複数の乱数のうちの1つを用いて前記実行部に前記電子署名を生成させるためのプログラムであり、
前記実行部は、前記複数の乱数を前記セキュアな記憶領域にロードする、署名生成装置。 - 前記セキュアな記憶領域は、Trusted Execution Environment(TEE)を構成する記憶領
域であり、
前記実行部は、前記乱数を利用する処理を、TEEによって実現されるセキュアな実行環
境で動作させる、請求項1に記載の署名生成装置。 - コンピュータによって実行される署名生成方法であって、
前記コンピュータは、前記コンピュータに、メッセージを取得して、乱数及び秘密鍵を用いて前記メッセージから確率的署名方式で電子署名を生成させるための署名プログラムのうち、前記乱数を利用する処理と、前記署名プログラムに含まれる複数の前記乱数とを前記セキュアな記憶領域にロードして前記署名プログラムを実行する、署名生成方法。 - 前記セキュアな記憶領域は、Trusted Execution Environment(TEE)を構成する記憶領
域であり、
前記乱数を利用する処理を、TEEによって実現されるセキュアな実行環境で動作させる、請求項3に記載の署名生成方法。 - コンピュータに、メッセージを取得して、乱数及び秘密鍵を用いて前記メッセージから確率的署名方式で電子署名を生成させるための署名プログラムであって、
前記署名プログラムは、前記コンピュータによって、当該署名プログラムに含まれる処理のうち、前記乱数を利用する処理と、前記署名プログラムに含まれる複数の前記乱数とが前記セキュアな記憶領域にロードされて、実行される、署名プログラム。 - 前記セキュアな記憶領域は、Trusted Execution Environment(TEE)を構成する記憶領域であり、
前記乱数を利用する処理は、TEEによって実現されるセキュアな実行環境で動作する、請求項5に記載の署名プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/036442 WO2020065958A1 (ja) | 2018-09-28 | 2018-09-28 | 署名生成装置、署名プログラム生成装置、署名生成方法、署名プログラム生成方法、署名プログラム、及び署名生成プログラムの生成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020065958A1 JPWO2020065958A1 (ja) | 2021-08-30 |
JP7364241B2 true JP7364241B2 (ja) | 2023-10-18 |
Family
ID=69949770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020547830A Active JP7364241B2 (ja) | 2018-09-28 | 2018-09-28 | 署名生成装置、署名生成方法及び署名プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7364241B2 (ja) |
WO (1) | WO2020065958A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116318688B (zh) * | 2023-05-24 | 2023-08-15 | 北京信安世纪科技股份有限公司 | 协同签名方法、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001255816A (ja) | 2000-01-06 | 2001-09-21 | Nippon Telegr & Teleph Corp <Ntt> | 電子署名の作成装置と作成方法およびこの方法を記録した記録媒体 |
JP2004253950A (ja) | 2003-02-19 | 2004-09-09 | Toyo Commun Equip Co Ltd | 事前計算による電子署名高速生成方法および装置 |
WO2007074836A1 (ja) | 2005-12-28 | 2007-07-05 | Matsushita Electric Industrial Co., Ltd. | 署名生成装置、署名生成方法及び署名生成プログラム |
US20130117569A1 (en) | 2011-09-30 | 2013-05-09 | Nokia Corporation | Method and apparatus for improving digital signatures |
US20160350561A1 (en) | 2015-05-27 | 2016-12-01 | Google Inc. | Policies for secrets in trusted execution environments |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2369304A1 (en) * | 2002-01-30 | 2003-07-30 | Cloakware Corporation | A protocol to hide cryptographic private keys |
JP2015037298A (ja) * | 2013-08-16 | 2015-02-23 | Kddi株式会社 | 端末、id型署名暗号方法およびプログラム |
-
2018
- 2018-09-28 JP JP2020547830A patent/JP7364241B2/ja active Active
- 2018-09-28 WO PCT/JP2018/036442 patent/WO2020065958A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001255816A (ja) | 2000-01-06 | 2001-09-21 | Nippon Telegr & Teleph Corp <Ntt> | 電子署名の作成装置と作成方法およびこの方法を記録した記録媒体 |
JP2004253950A (ja) | 2003-02-19 | 2004-09-09 | Toyo Commun Equip Co Ltd | 事前計算による電子署名高速生成方法および装置 |
WO2007074836A1 (ja) | 2005-12-28 | 2007-07-05 | Matsushita Electric Industrial Co., Ltd. | 署名生成装置、署名生成方法及び署名生成プログラム |
US20130117569A1 (en) | 2011-09-30 | 2013-05-09 | Nokia Corporation | Method and apparatus for improving digital signatures |
US20160350561A1 (en) | 2015-05-27 | 2016-12-01 | Google Inc. | Policies for secrets in trusted execution environments |
Also Published As
Publication number | Publication date |
---|---|
WO2020065958A1 (ja) | 2020-04-02 |
JPWO2020065958A1 (ja) | 2021-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7870399B2 (en) | Software trusted platform module and application security wrapper | |
Lazar et al. | Why does cryptographic software fail? A case study and open problems | |
CN108632240B (zh) | Fpga代码的保密验证 | |
US11436305B2 (en) | Method and system for signing an artificial intelligence watermark using implicit data | |
JP7256862B2 (ja) | 保護されたコンテナ間のセキュア通信方法およびそのシステム | |
WO2016045458A1 (zh) | 一种安全控制方法及网络设备 | |
CN105229652A (zh) | 检测针对软件应用的利用 | |
CN109495270A (zh) | 数字签名生成中的临时乱数到消息的结合 | |
EP3641219A1 (en) | Puf based securing of device update | |
CN108369623A (zh) | 用于为设备提供安全功能的方法和安全模块 | |
Ravi et al. | Security is an architectural design constraint | |
JP7364241B2 (ja) | 署名生成装置、署名生成方法及び署名プログラム | |
US11552790B2 (en) | Method for key sharing between accelerators | |
CN112650988A (zh) | 使用内核加密数据的方法和系统 | |
Gupta et al. | Security and Cryptography | |
Aitchison et al. | On the integration of physically unclonable functions into ARM trustzone security technology | |
Hao et al. | Trusted block as a service: Towards sensitive applications on the cloud | |
Devic et al. | Securing boot of an embedded linux on FPGA | |
US20210173724A1 (en) | System and method to securely broadcast a message to accelerators using virtual channels | |
CN115081000B (zh) | 保护远程目标程序源码的方法、系统、设备和存储介质 | |
US11343083B2 (en) | Method for key sharing between accelerators in virtual channel | |
US11558357B2 (en) | Method for key sharing between accelerators with switch | |
Kim et al. | Practical effect of the predictability of android openSSL PRNG | |
Weiß et al. | Integrity verification and secure loading of remote binaries for microkernel-based runtime environments | |
Algawi et al. | In kernel implementation of rsa routines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210303 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220331 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221130 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20221130 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20221212 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20221213 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20221228 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20230110 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20230207 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20230314 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230928 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7364241 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |