JP7721073B2 - Cryptographic system, terminal, and method - Google Patents
Cryptographic system, terminal, and methodInfo
- Publication number
- JP7721073B2 JP7721073B2 JP2021163927A JP2021163927A JP7721073B2 JP 7721073 B2 JP7721073 B2 JP 7721073B2 JP 2021163927 A JP2021163927 A JP 2021163927A JP 2021163927 A JP2021163927 A JP 2021163927A JP 7721073 B2 JP7721073 B2 JP 7721073B2
- Authority
- JP
- Japan
- Prior art keywords
- private key
- identifier
- user
- terminal
- key generation
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
Description
特許法第30条第2項適用 2021年1月19日~2021年1月22日(公知日:2021年1月21日)に2021年暗号と情報セキュリティシンポジウムにて公開Article 30, paragraph 2 of the Patent Act applies. Published at the 2021 Cryptography and Information Security Symposium from January 19, 2021 to January 22, 2021 (publication date: January 21, 2021).
本発明は、暗号システム、端末、及び方法に関する。
The present invention relates to a cryptographic system, a terminal, and a method.
IDベース暗号(IBE:Identity-Based Encryption)技術は公開鍵暗号技術の一種であり、公開鍵として利用者のメールアドレスや氏名、IP(Internet Protocol)アドレス等を指定することができる暗号方式である(例えば、非特許文献1)。 Identity-Based Encryption (IBE) technology is a type of public key encryption technology, and is an encryption method that allows users to specify their email address, name, IP (Internet Protocol) address, etc. as the public key (see, for example, Non-Patent Document 1).
IDベース暗号技術により暗号化・復号を実現するシステムは、秘密鍵生成センタ(PKG:private key generator)と、利用者(受信者)端末と、送信者端末とで構成され、次のような処理を実行する。まず、秘密鍵生成センタは、システム・セットアップとして公開パラメータとマスタ秘密鍵を生成し、公開パラメータをシステムに属する利用者端末や送信者端末に公開する。利用者端末は、ある識別子IDに対する秘密鍵の生成を秘密鍵生成センタに要求する。秘密鍵生成センタは、利用者端末から識別子IDを受け取ると、この識別IDと公開パラメータ及びマスタ秘密鍵からその識別子IDに対応する秘密鍵を生成し、この秘密鍵を利用者端末に送信する。送信者端末は、利用者端末に送信したいメッセージを公開パラメータとその利用者端末の識別子IDとを用いて暗号化し、この暗号化によって得られた暗号文を当該利用者端末に送信する。暗号文を受信した利用者端末は、公開パラメータと自身の識別子IDに対応する秘密鍵とを用いて暗号文を復号する。以上によって暗号化・復号が実現される。 A system that implements encryption and decryption using ID-based encryption technology consists of a private key generation center (PKG), a user (receiver) terminal, and a sender terminal, and performs the following process. First, the private key generation center generates public parameters and a master private key as system setup and makes the public parameters public to user terminals and sender terminals belonging to the system. The user terminal requests the private key generation center to generate a private key for a certain identifier ID. Upon receiving the identifier ID from the user terminal, the private key generation center generates a private key corresponding to that identifier ID from the identifier ID, public parameters, and master private key, and sends this private key to the user terminal. The sender terminal encrypts the message it wishes to send to the user terminal using the public parameters and the identifier ID of the user terminal, and then sends the ciphertext obtained by this encryption to the user terminal. The user terminal that receives the ciphertext decrypts it using the public parameters and the private key corresponding to its own identifier ID. This completes encryption and decryption.
ところで、近年、クラウド技術の進歩に伴って、複数のデバイスから同一のサービスを享受できる機会が増加している。例えば、Webメールサービスでは、デスクトップPC、タブレットPC、スマートフォンのような様々なデバイスで同一のメールアドレスを利用することができる。 In recent years, advances in cloud technology have increased the opportunities to access the same services from multiple devices. For example, with webmail services, the same email address can be used on a variety of devices, such as desktop PCs, tablet PCs, and smartphones.
このような状況を鑑みると、IDベース暗号技術により暗号化・復号を実現するシステムにおいても同様のシナリオを考慮する必要がある。具体的には、例えば、あるクラウドサービスのアカウントを識別子IDに用いて、利用者の識別子IDに対応する秘密鍵を複数のデバイスに格納して運用し、その識別子IDによって暗号化されたデータを当該デバイスで復号して利用する、といったシナリオを考慮する必要がある。一方で、このとき、将来にわたって同一のデバイスが使用し続けられるとは限らず、デバイスの追加や破棄も想定される。また、利用者のアカウントが停止又は削除されることも想定される。したがって、例えば、デバイスが破棄された場合には、他のデバイスで利用されている秘密鍵が、破棄されたデバイスから得られない仕組みが必要である。また、利用者のアカウントが停止又は削除された場合には、そのアカウントに対応する秘密鍵を持つすべてのデバイスでデータを復号できないようにする仕組みも必要である。 Given this situation, similar scenarios must be considered in systems that implement encryption and decryption using ID-based encryption technology. Specifically, for example, a scenario must be considered in which a cloud service account is used as an identifier (ID), a private key corresponding to the user's identifier (ID) is stored and operated on multiple devices, and data encrypted using that identifier (ID) is decrypted and used on those devices. However, in this case, it is not guaranteed that the same device will continue to be used in the future; devices may be added or discarded. It is also possible that a user's account may be suspended or deleted. Therefore, for example, if a device is discarded, a mechanism is needed to prevent the private key used on other devices from being obtained from the discarded device. Furthermore, if a user's account is suspended or deleted, a mechanism is also needed to prevent data from being decrypted on any devices that have a private key corresponding to that account.
しかしながら、非特許文献1に記載されているような既存のIDベース暗号技術では、デバイスの廃棄やアカウントの停止・削除に伴って秘密鍵がデバイスから適切に削除できるとは言い難い。 However, with existing ID-based encryption technologies such as those described in Non-Patent Document 1, it is difficult to say that private keys can be properly deleted from devices when the devices are disposed of or when accounts are suspended or deleted.
既存のIDベース暗号技術では、1つの識別子IDに対応する秘密鍵を持つデバイスがあれば、その識別子IDで暗号化された暗号文をいつでも復号できる。したがって、例えば、破棄されたデバイスからその識別子IDに対応する秘密鍵が得られれば、そのデバイスが破棄された後であっても、当該識別子IDで暗号化されたメッセージを読み取ることが可能になってしまう。 With existing ID-based encryption technology, if there is a device that has a private key corresponding to an identifier ID, ciphertext encrypted with that identifier ID can be decrypted at any time. Therefore, for example, if a private key corresponding to an identifier ID is obtained from a discarded device, it would be possible to read messages encrypted with that identifier ID even after the device has been discarded.
本発明の一実施形態は、上記の点に鑑みてなされたもので、デバイスの復号可否を制御可能なIDベース暗号を実現することを目的とする。 One embodiment of the present invention has been made in light of the above points, and aims to realize ID-based encryption that can control whether a device can decrypt data.
上記目的を達成するため、一実施形態に係る暗号システムは、秘密鍵生成センタと、1以上の代表端末と、前記代表端末と同一のユーザが利用する1以上の子端末と、1以上の送信端末とが含まれる暗号システムであって、前記秘密鍵生成センタは、階層型IDベース暗号の公開パラメータと、マスタ秘密鍵とを生成するセットアップ部と、前記代表端末の識別子と、前記マスタ秘密鍵と、前記公開パラメータとを用いて、前記代表端末のユーザ秘密鍵を生成する第1のユーザ秘密鍵生成部と、を有し、前記代表端末は、自身を利用するユーザと同一のユーザが利用する子端末の識別子で構成されるデバイスリストを記憶する記憶部と、自身の識別子に対応するユーザ秘密鍵と、前記デバイスリストの更新時間を表すデバイス更新時間と、前記公開パラメータとを用いて、前記送信端末から送信される暗号文を復号するためのデバイス秘密鍵を生成するデバイス秘密鍵生成部と、前記デバイスリストに含まれる識別子が表す子端末に対して前記デバイス秘密鍵を送信する第1の送信部と、を有し、前記送信端末は、前記代表端末の識別子と、前記デバイス更新時間とを用いて、メッセージを暗号化した暗号文を生成する暗号化部と、前記代表端末又は前記子端末に前記暗号文を送信する第2の送信部と、を有する。 To achieve the above object, one embodiment of the cryptographic system includes a private key generation center, one or more representative terminals, one or more child terminals used by the same user as the representative terminal, and one or more sending terminals, wherein the private key generation center has a setup unit that generates public parameters of hierarchical ID-based encryption and a master private key, and a first user private key generation unit that generates a user private key for the representative terminal using an identifier of the representative terminal, the master private key, and the public parameters, and the representative terminal is a device configured with an identifier of a child terminal used by the same user as the user who uses the representative terminal. The device has a storage unit that stores the list, a device private key generation unit that generates a device private key for decrypting ciphertext sent from the sending terminal using a user private key corresponding to its own identifier, a device update time that indicates the update time of the device list, and the public parameters, and a first transmission unit that transmits the device private key to a child terminal represented by an identifier included in the device list, and the sending terminal has an encryption unit that generates ciphertext by encrypting a message using the identifier of the representative terminal and the device update time, and a second transmission unit that transmits the ciphertext to the representative terminal or the child terminal.
デバイスの復号可否を制御可能なIDベース暗号を実現することができる。 It is possible to realize ID-based encryption that allows control over whether a device can decrypt data.
以下、本発明の実施形態として、第一の実施形態と第二の実施形態について説明する。以下の各実施形態では、IDベース暗号によって暗号文の復号が可能な複数のデバイスをユーザが管理している状況を想定し、あるデバイスが廃棄された場合にはそのデバイスが持つ秘密鍵では復号ができないように制御したり、当該識別子IDが失効した場合にはすべてのデバイスで復号ができないように制御したりすることが可能な暗号システム1について説明する。 The following describes a first and second embodiment of the present invention. In each of the following embodiments, we will assume a situation in which a user manages multiple devices that can decrypt ciphertext using ID-based encryption, and describe an encryption system 1 that can control the device so that if a device is discarded, decryption is not possible using the private key held by that device, or if the identifier ID expires, decryption is not possible on any device.
[準備]
各実施形態を説明する前に、その準備として、階層型IDベース暗号(HIBE:Hierarchical Identity-Based Encryption)方式について説明する。
[Preparation]
Before describing each embodiment, a hierarchical identity-based encryption (HIBE) scheme will be described as a preparatory step.
ユーザの識別子はID=(ID1,・・・,IDt)のように階層的に与えられているものとする。tは階層を表し、IDtは第t階層目の識別子である。 It is assumed that user identifiers are given hierarchically, such as ID=(ID 1 , ..., ID t ), where t represents a hierarchy and ID t is the identifier for the t-th hierarchy.
2つの識別子ID,ID'に対して、ID=(ID1,・・・,IDt-1)、かつ、ID'=(ID1,・・・,IDt-1,IDt)であるとき、pa(ID)=ID'と書くことにする。なお、t=1の場合、ID'はPKGを指すものとする(つまり、第0階層目がPKGである。)。 For two identifiers ID and ID', when ID = (ID 1 , ..., ID t-1 ) and ID' = (ID 1 , ..., ID t-1 , ID t ), we write pa(ID) = ID'. Note that when t = 1, ID' refers to the PKG (that is, the 0th layer is the PKG).
このとき、階層型IDベース暗号方式は、以下の4つのアルゴリズム(HIBE.Setup,HIBE.KeyGen,HIBE.Encrypt,HIBE.Decrypt)で構成される。 In this case, the hierarchical ID-based encryption method consists of the following four algorithms (HIBE.Setup, HIBE.KeyGen, HIBE.Encrypt, HIBE.Decrypt).
(pp,msk)←HIBE.Setup(1κ):セキュリティパラメータκに対応するビット列1κ(つまり、1のκビット列)を入力として、公開パラメータppとマスタ秘密鍵mskとを生成及び出力する。 (pp, msk)←HIBE.Setup(1 κ ): Using a bit string 1 κ corresponding to security parameter κ (that is, a κ-bit string of 1s) as input, generate and output public parameter pp and master private key msk.
skID←HIBE.KeyGen(pp,skpa(ID),ID):公開パラメータppと秘密鍵skpa(ID)と識別子IDとを入力として、当該識別子IDに対応する秘密鍵skIDを生成及び出力する。なお、t=1の場合、skpa(ID)=mskである。 sk ID ←HIBE.KeyGen(pp, sk pa(ID) , ID): Public parameters pp, private key sk pa(ID) , and identifier ID are input, and a private key sk ID corresponding to the identifier ID is generated and output. Note that when t = 1, sk pa(ID) = msk.
C←HIBE.Encrypt(pp,ID,M):公開パラメータppと識別子IDと平文Mとを入力として、暗号文Cを生成及び出力する。 C←HIBE.Encrypt(pp, ID, M): Takes public parameters pp, identifier ID, and plaintext M as input and generates and outputs ciphertext C.
M'←HIBE.Decrypt(pp,ID,skID,C):公開パラメータppと識別子IDと秘密鍵skIDと暗号文Cとを入力として、平文M'を生成及び出力する。 M'←HIBE.Decrypt(pp, ID, sk ID , C): Public parameters pp, identifier ID, secret key sk ID , and ciphertext C are input, and plaintext M' is generated and output.
また、任意の(pp,msk)←HIBE.Setup(1κ)と、任意の平文Mと、任意の識別子IDと、その識別子IDに対応する秘密鍵skID←HIBE.KeyGen(pp,skpa(ID),ID)とに対して、M=HIBE.Decrypt(pp,ID,skID,HIBE.Encrypt(pp,ID,M))を満たすものとする。 Furthermore, for any (pp, msk) ← HIBE.Setup(1 κ ), any plaintext M, any identifier ID, and a secret key sk ID ← HIBE.KeyGen(pp, sk pa(ID) , ID) corresponding to the identifier ID, M = HIBE.Decrypt(pp, ID, sk ID , HIBE.Encrypt(pp, ID, M)).
上記の階層型IDベース暗号方式の一例としては、例えば、特許第5097102号公報に記載されている方式が挙げられる。 An example of the above-mentioned hierarchical ID-based encryption method is the method described in Japanese Patent No. 5097102.
[第一の実施形態]
以下では、第一の実施形態について説明する。
[First embodiment]
The first embodiment will be described below.
<暗号システム1の全体構成例>
本実施形態に係る暗号システム1の全体構成例を図1に示す。図1に示すように、本実施形態に係る暗号システム1は、インターネット等のネットワーク90を介して互いに接続される複数のエンティティで構成される。エンティティとしては、秘密鍵生成センタ10、代表端末20i(i=1,・・・,n)、子端末30i,j(i=1,・・・,n j=1,・・・,m_i)、タイムサーバ40、送信端末50が存在する。
<Example of overall configuration of cryptographic system 1>
An example of the overall configuration of an encryption system 1 according to this embodiment is shown in Fig. 1. As shown in Fig. 1, the encryption system 1 according to this embodiment is composed of multiple entities connected to each other via a network 90 such as the Internet. The entities include a private key generation center 10, representative terminals 20i (i = 1, ..., n), child terminals 30i ,j (i = 1, ..., n, j = 1, ..., m_i), a time server 40, and a transmitting terminal 50.
秘密鍵生成センタ10は、PKGとして機能するサーバである。代表端末20iは、識別子IDiに対応する秘密鍵を持つデバイスである。子端末30i,jは、代表端末20iと同じ識別子IDiに対応する秘密鍵を持つデバイスである。代表端末20iと子端末30i,j(j=1,・・・,m_i)は、同一ユーザのデバイス群を表すユーザ端末群iを構成する。nは代表端末20iの総数、m_iは識別子IDiに対応する秘密鍵を持つ子端末30i,jの総数を表す。 The private key generation center 10 is a server that functions as a PKG. The representative terminal 20 i is a device that has a private key corresponding to the identifier ID i . The child terminals 30 i,j are devices that have a private key corresponding to the same identifier ID i as the representative terminal 20 i . The representative terminal 20 i and the child terminals 30 i,j (j = 1, ..., m_i) constitute a user terminal group i that represents a device group of the same user. n represents the total number of representative terminals 20 i , and m_i represents the total number of child terminals 30 i ,j that have a private key corresponding to the identifier ID i .
ここで、代表端末20iには識別子IDiが割り当てられているものとする。識別子IDiとしては、例えば、電話番号、メールアドレス、マイナンバー、社員番号、ソーシャルメディアアカウントのユーザID、代表端末20iの製造固有番号、IPアドレス、MAC(Media Access Control)アドレス等が挙げられる。ただし、これらは一例であって、人や組織、機器等の中で一意に識別可能な情報であれば任意の情報を識別子IDiとして用いることが可能である。以下では、代表端末20iに割り当てられている識別子IDiのことをユーザ識別子IDiとも呼ぶことにする。 Here, it is assumed that an identifier ID i is assigned to the representative terminal 20 i . Examples of the identifier ID i include a telephone number, an email address, a My Number, an employee number, a user ID for a social media account, a serial number specific to the representative terminal 20 i , an IP address, and a MAC (Media Access Control) address. However, these are just examples, and any information that can be uniquely identified among people, organizations, devices, etc. can be used as the identifier ID i . Hereinafter, the identifier ID i assigned to the representative terminal 20 i will also be referred to as a user identifier ID i .
また、子端末30i,jにも識別子IDi,jが割り当てられているものとする。識別子IDi,jとしては、例えば、子端末30i,jが携帯電話やスマートフォン等であれば、IMEI(International Mobile Equipment Identity)、SIM(Subscriber Identity Module)カードに紐付いた電話番号等が挙げられる。ただし、これらは一例であって、子端末30i,jを識別可能な情報であれば任意の情報を識別子IDi,jとして用いることが可能である。以下では、子端末30i,jに割り当てられている識別子IDi,jのことをデバイス識別子IDi,jとも呼ぶことにする。 It is also assumed that an identifier ID i,j is assigned to the child terminal 30 i,j . For example, if the child terminal 30 i,j is a mobile phone, smartphone, or the like, the identifier ID i,j may be an International Mobile Equipment Identity (IMEI) or a telephone number linked to a Subscriber Identity Module (SIM) card. However, these are merely examples, and any information that can identify the child terminal 30 i,j can be used as the identifier ID i,j . Hereinafter, the identifier ID i, j assigned to the child terminal 30 i ,j will also be referred to as a device identifier ID i,j .
タイムサーバ40は、他のエンティティに時刻情報を配信するサーバである。これにより、本実施形態に係る暗号システム1を構成する各エンティティの時刻情報は同期されているものとする。この時刻情報は、後述するデバイス更新時間τやユーザ更新時間T、それらの更新間隔Δτ、ΔTの特定又は算出に用いられる。 The time server 40 is a server that distributes time information to other entities. As a result, the time information of each entity that makes up the encryption system 1 according to this embodiment is synchronized. This time information is used to identify or calculate the device update time τ and user update time T, as well as their update intervals Δτ and ΔT, which will be described later.
タイムサーバ40としては、例えば、NTP(Network Time Protocol)サーバ等が挙げられるが、これに限られるものではない。なお、図1に示す例ではタイムサーバ40が1台のみ図示されているが、互いに時刻同期されていれば、複数のタイムサーバ40が存在してもよい。 An example of a time server 40 is an NTP (Network Time Protocol) server, but it is not limited to this. Note that although only one time server 40 is shown in the example shown in Figure 1, there may be multiple time servers 40 as long as they are time-synchronized with each other.
送信端末50は、ユーザ識別子IDiを用いてメッセージ(平文)を暗号化し、代表端末20i又は子端末30i,jに送信する。なお、代表端末20i(i=1,・・・,n)及び子端末30i,j(i=1,・・・,n j=1,・・・,m_i)のいずれかが送信端末50として機能してもよい。 The transmitting terminal 50 encrypts a message (plain text) using the user identifier ID i and transmits it to the representative terminal 20 i or the child terminal 30 i,j . Note that either the representative terminal 20 i (i=1, ..., n) or the child terminal 30 i,j (i=1, ..., n j=1, ..., m_i) may function as the transmitting terminal 50.
<機能構成例>
秘密鍵生成センタ10の機能構成例を図2に示す。図2に示すように、秘密鍵生成センタ10は、セットアップ処理部101と、ユーザ秘密鍵生成部102とを有する。これら各部は、例えば、秘密鍵生成センタ10にインストールされた1以上のプログラムが、CPU(Central Processing Unit)等のプロセッサに実行させる処理により実現される。また、秘密鍵生成センタ10は、記憶部103を有する。記憶部103は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、RAM(Random Access Memory)、フラッシュメモリ等のメモリ装置により実現される。
<Example of functional configuration>
An example of the functional configuration of the private key generation center 10 is shown in Fig. 2. As shown in Fig. 2, the private key generation center 10 has a setup processing unit 101 and a user private key generation unit 102. Each of these units is realized, for example, by processing in which one or more programs installed in the private key generation center 10 are executed by a processor such as a CPU (Central Processing Unit). The private key generation center 10 also has a storage unit 103. The storage unit 103 is realized, for example, by a memory device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), a RAM (Random Access Memory), or a flash memory.
セットアップ処理部101は、HIBE.Setupアルゴリズムを実行し、公開パラメータとマスタ秘密鍵とを生成及び出力する。ユーザ秘密鍵生成部102は、HIBE.KeyGenアルゴリズムを実行し、秘密鍵を生成及び出力する。記憶部103は、各種情報(例えば、マスタ秘密鍵、時刻情報、公開パラメータ等)を記憶する。 The setup processing unit 101 executes the HIBE.Setup algorithm to generate and output public parameters and a master private key. The user private key generation unit 102 executes the HIBE.KeyGen algorithm to generate and output a private key. The storage unit 103 stores various information (e.g., master private key, time information, public parameters, etc.).
代表端末20iの機能構成例を図3に示す。図3に示すように、代表端末20iは、デバイス秘密鍵生成部201iと、復号部202iと、リスト更新部203iとを有する。これら各部は、例えば、代表端末20iにインストールされた1以上のプログラムが、プロセッサに実行させる処理により実現される。また、代表端末20iは、記憶部204iを有する。記憶部204iは、例えば、メモリ装置により実現される。 An example of the functional configuration of the representative terminal 20i is shown in Fig. 3. As shown in Fig. 3, the representative terminal 20i has a device private key generation unit 201i , a decryption unit 202i , and a list update unit 203i . Each of these units is realized, for example, by a processor executing one or more programs installed in the representative terminal 20i . The representative terminal 20i also has a storage unit 204i . The storage unit 204i is realized, for example, by a memory device.
デバイス秘密鍵生成部201iは、HIBE.KeyGenアルゴリズムを実行し、子端末30i,jの秘密鍵(以下、この秘密鍵をデバイス秘密鍵ともいう。)を生成及び出力する。復号部202iは、HIBE.Decryptアルゴリズムを実行し、送信端末50から受け取った暗号文を復号する。リスト更新部203iは、代表端末20iが持つデバイスリストListiを更新する。デバイスリストListiは、子端末30i,jのデバイス識別子IDi,jを要素として持つリスト形式のデータである。記憶部204iは、各種情報(例えば、自身のユーザ識別子IDi、このユーザ識別子IDiに対応する秘密鍵、時刻情報、公開パラメータ、デバイスリストListi等)を記憶する。 The device private key generation unit 201i executes the HIBE.KeyGen algorithm to generate and output the private key of the child terminal 30i ,j (hereinafter, this private key will also be referred to as the device private key). The decryption unit 202i executes the HIBE.Decrypt algorithm to decrypt the ciphertext received from the transmitting terminal 50. The list update unit 203i updates the device list Listi held by the representative terminal 20i . The device list Listi is list-format data having the device identifier IDi, j of the child terminal 30i ,j as an element. The storage unit 204i stores various information (e.g., its own user identifier IDi , the private key corresponding to this user identifier IDi , time information, public parameters, device list Listi , etc.).
子端末30i,jの機能構成例を図4に示す。図4に示すように、子端末30i,jは、復号部301i,jを有する。復号部301i,jは、例えば、子端末30i,jにインストールされた1以上のプログラムが、プロセッサに実行させる処理により実現される。また、子端末30i,jは、記憶部302i,jを有する。記憶部302i,jは、例えば、メモリ装置により実現される。 An example of the functional configuration of the child terminal 30i ,j is shown in Fig. 4. As shown in Fig. 4, the child terminal 30i ,j has a decoding unit 301i ,j . The decoding unit 301i ,j is realized, for example, by a process in which one or more programs installed in the child terminal 30i ,j are executed by a processor. The child terminal 30i ,j also has a storage unit 302i ,j . The storage unit 302i ,j is realized, for example, by a memory device.
復号部301i,jは、HIBE.Decryptアルゴリズムを実行し、送信端末50から受け取った暗号文を復号する。記憶部302i,jは、各種情報(例えば、自身のデバイス識別子IDi,j、デバイス秘密鍵、時刻情報、公開パラメータ等)を記憶する。 The decryption unit 301 i,j executes the HIBE.Decrypt algorithm to decrypt the ciphertext received from the transmitting terminal 50. The storage unit 302 i,j stores various information (for example, its own device identifier ID i,j , device private key, time information, public parameters, etc.).
送信端末50の機能構成例を図5に示す。図5に示すように、送信端末50は、暗号化部501を有する。暗号化部501は、例えば、送信端末50にインストールされた1以上のプログラムが、プロセッサに実行させる処理により実現される。また、送信端末50は、記憶部502を有する。記憶部502は、例えば、メモリ装置により実現される。 An example of the functional configuration of the transmitting terminal 50 is shown in Figure 5. As shown in Figure 5, the transmitting terminal 50 has an encryption unit 501. The encryption unit 501 is realized, for example, by a process executed by a processor of one or more programs installed in the transmitting terminal 50. The transmitting terminal 50 also has a storage unit 502. The storage unit 502 is realized, for example, by a memory device.
暗号化部501は、HIBE.Encryptアルゴリズムを実行し、メッセージ(平文)を暗号化する、記憶部502は、各種情報(例えば、ユーザ識別子、時刻情報、公開パラメータ等)を記憶する。 The encryption unit 501 executes the HIBE.Encrypt algorithm to encrypt the message (plain text). The storage unit 502 stores various information (e.g., user identifier, time information, public parameters, etc.).
<実施例1-1>
以下では、実施例1-1について説明する。本実施例では、ユーザ端末群iの子端末30i,jを追加・削除した場合に、その子端末30i,jの復号可否を制御する場合について説明する。
<Example 1-1>
In the following, an embodiment 1-1 will be described, which describes a case where, when a child terminal 30 i,j of a user terminal group i is added or deleted, the decryption permission of the child terminal 30 i,j is controlled.
ここで、本実施例では、代表端末20iがある更新間隔ΔτごとにデバイスリストListiの更新(デバイス識別子IDi,jの追加・削除)を行うと共にデバイス秘密鍵を生成し、自身で管理しているデバイスリストListiに含まれるデバイス識別子IDi,jを持つ子端末30i,jにそのデバイス秘密鍵を配信する。このとき、デバイス秘密鍵を生成する際には、ユーザ識別子IDiの他に、デバイス更新時間τを用いる。デバイス更新時間τは更新間隔Δτに従ったものであり、例えば、更新間隔Δτが1時間であればτ=2021032515(2021年3月25日15時)というような文字列で与えられ、更新間隔Δτが1日であればτ=20210325(2021年3月25日)というような文字列で与えられる。 In this embodiment, the representative terminal 20 i updates the device list List i (adds or deletes device identifiers ID i,j ) at every update interval Δτ, generates a device private key, and distributes the device private key to the child terminal 30 i, j having the device identifier ID i,j included in the device list List i that it manages. When generating the device private key, the device update time τ is used in addition to the user identifier ID i . The device update time τ is based on the update interval Δτ. For example, if the update interval Δτ is one hour, the time is given as a character string such as τ = 2021032515 (15:00, March 25, 2021), and if the update interval Δτ is one day, the time is given as a character string such as τ = 2021032515 (15:00, March 25, 2021).
また、送信端末50は、ユーザ識別子IDiの他に、デバイス更新時間τも用いてメッセージ(平文)を暗号化する。これにより、代表端末20iの他は、そのデバイス更新時間τにおいてデバイスリストListiに含まれているデバイス識別子IDi,jを持つ子端末IDi,jのみが復号できるようになる。したがって、例えば、ある子端末30i,jが破棄され、そのデバイス識別子IDi,jがデバイスリストListiから削除された場合には、その子端末30i,jが持つデバイス秘密鍵では、それ以降、暗号文の復号ができないように制御することができる。 Furthermore, the sending terminal 50 encrypts the message (plaintext) using the device update time τ in addition to the user identifier ID i . As a result, apart from the representative terminal 20 i , only the child terminals ID i,j having the device identifier ID i,j included in the device list List i at the device update time τ can decrypt the message. Therefore, for example, if a child terminal 30 i,j is discarded and its device identifier ID i,j is deleted from the device list List i , it is possible to control the device private key held by that child terminal 30 i,j so that the ciphertext cannot be decrypted thereafter.
なお、デバイス更新時間τは更新間隔Δτごとにτ←τ+Δτと更新され、この更新が行われるごとにデバイスリストListiの更新とデバイス秘密鍵の生成とが行われる。デバイス更新時間τは、例えば、更新間隔Δτが1時間、現在のデバイス更新時間がτ=2021032515であれば、前回の更新から1時間経過時にτ=2021032516と更新される。同様に、更新間隔Δτが1日、現在のデバイス更新時間がτ=20210325であれば、前回の更新から1日経過時にτ=20210326と更新される。 The device update time τ is updated at every update interval Δτ as τ←τ+Δτ, and each time this update is performed, the device list List i is updated and a device private key is generated. For example, if the update interval Δτ is one hour and the current device update time is τ=2021032515, the device update time τ is updated to τ=2021032516 when one hour has passed since the previous update. Similarly, if the update interval Δτ is one day and the current device update time is τ=20210325, the device update time τ is updated to τ=20210326 when one day has passed since the previous update.
以下、本実施例におけるセットアップ、ユーザ秘密鍵生成、デバイスリスト更新、デバイス秘密鍵生成、暗号化、復号の各処理について説明する。なお、セキュリティパラメータκは安全性強度を表すものであり、例えば、κ=128やκ=256等とすればよい。 The following describes the setup, user private key generation, device list update, device private key generation, encryption, and decryption processes in this embodiment. Note that the security parameter κ represents the security strength, and can be set to, for example, κ = 128 or κ = 256.
≪実施例1-1におけるセットアップ≫
秘密鍵生成センタ10のセットアップ処理部101は、(pp,msk)←HIBE.Setup(1κ)を実行し、公開パラメータppとマスタ秘密鍵mskとを生成及び出力する。公開パラメータppは記憶部103に格納されると共に、他のエンティティ(代表端末20i、子端末30i,j、送信端末50等)に配布される。マスタ秘密鍵mskは記憶部103に格納され、秘密に管理される。
<<Setup in Example 1-1>>
The setup processing unit 101 of the private key generation center 10 executes (pp, msk)←HIBE.Setup(1 κ ) to generate and output the public parameters pp and the master private key msk. The public parameters pp are stored in the storage unit 103 and are distributed to other entities (representative terminal 20 i , child terminals 30 i,j , transmitting terminal 50, etc.). The master private key msk is stored in the storage unit 103 and managed in secret.
≪実施例1-1におけるユーザ秘密鍵生成≫
秘密鍵生成センタ10のユーザ秘密鍵生成部102は、代表端末20iからの要求に応じて、この代表端末20iのユーザ識別子IDiに対応する秘密鍵skID_iを生成し、当該代表端末20iに送信する。なお、秘密鍵skID_iを代表端末20iに送信する際には、例えば、TLS(Transport Layer Security)等の技術によりセキュアな通信路を確立して送信されることが望ましい。ただし、秘密鍵skID_iの送信方法はこれに限定されるものではない。
<<User Private Key Generation in Example 1-1>>
In response to a request from a representative terminal 20 i , the user private key generation unit 102 of the private key generation center 10 generates a private key sk ID_i corresponding to the user identifier ID i of this representative terminal 20 i and transmits it to the representative terminal 20 i . When transmitting the private key sk ID_i to the representative terminal 20 i , it is desirable to establish a secure communication path using a technology such as TLS (Transport Layer Security). However, the method of transmitting the private key sk ID_i is not limited to this.
具体的には、秘密鍵生成センタ10のユーザ秘密鍵生成部102は、代表端末20iからの要求に応じて、skID_i←HIBE.KeyGen(pp,msk,IDi)を実行し、この秘密鍵skID_iを当該代表端末20iに送信する。秘密鍵skID_iは記憶部204iに格納され、秘密に管理される。 Specifically, the user private key generation unit 102 of the private key generation center 10 executes sk ID_i ←HIBE.KeyGen(pp, msk, ID i ) in response to a request from the representative terminal 20 i , and transmits this private key sk ID_i to the representative terminal 20 i . The private key sk ID_i is stored in the storage unit 204 i and managed in secret.
≪実施例1-1におけるデバイスリスト更新≫
デバイス更新時間τが更新された場合、代表端末20iのリスト更新部203iは、デバイスリストListiを更新する。ここで、デバイスリストListiに追加するデバイス識別子のリストをAddDevi、デバイスリストListiから削除するデバイス識別子のリストをDelDeviとする。なお、AddDevi及びDelDeviは代表端末20iに与えられ、いずれか一方又は両方が空のリストであってもよい。
<Device List Update in Example 1-1>
When the device update time τ is updated, the list update unit 203 i of the representative terminal 20 i updates the device list List i . Here, the list of device identifiers to be added to the device list List i is defined as AddDevi, and the list of device identifiers to be deleted from the device list List i is defined as DelDevi. Note that AddDevi and DelDevi are provided to the representative terminal 20 i , and either or both of them may be empty lists.
このとき、代表端末20iのリスト更新部203iは、Listi←(Listi\DelDevi)∪AddDeviによりデバイスリストListiを更新する。なお、更新後のデバイスリストListiは記憶部204iに格納される。 At this time, the list update unit 203 i of the representative terminal 20 i updates the device list List i by: List i ←(List i \DelDev i ) ∪ AddDev i The updated device list List i is stored in the storage unit 204 i .
≪実施例1-1におけるデバイス秘密鍵生成≫
デバイスリストListiが更新された場合、代表端末20iのデバイス秘密鍵生成部201iは、自身のユーザ識別子IDiに対応する秘密鍵skID_iとデバイス更新時間τとを用いてデバイス秘密鍵dskID_i,τを生成し、デバイスリストListiに含まれるデバイス識別子IDi,jを持つ子端末30i,jに当該デバイス秘密鍵dskID_i,τを送信する。なお、デバイス秘密鍵dskID_i,τを子端末30i,jに送信する際には、例えば、TLS等の技術によりセキュアな通信路を確立して送信されることが望ましい。ただし、デバイス秘密鍵dskID_i,τの送信方法はこれに限定されるものではない。
<Device private key generation in Example 1-1>
When the device list List i is updated, the device private key generation unit 201 i of the representative terminal 20 i generates a device private key dsk ID_i , τ using the private key sk ID_i corresponding to its own user identifier ID i and the device update time τ, and transmits the device private key dsk ID_i ,τ to the child terminal 30 i,j having the device identifier ID i,j included in the device list List i . Note that when transmitting the device private key dsk ID_i,τ to the child terminal 30 i,j , it is desirable to establish a secure communication path using technology such as TLS. However, the method of transmitting the device private key dsk ID_i,τ is not limited to this.
具体的には、代表端末20iのデバイス秘密鍵生成部201iは、IDi,τ=(IDi,τ)という形の階層的な識別子を作成した上で、dskID_i,τ←HIBE.KeyGen(pp,skID_i,IDi,τ)を実行し、デバイスリストListiに含まれるデバイス識別子IDi,jを持つ子端末30i,jに当該デバイス秘密鍵dskID_i,τを送信する。なお、デバイス秘密鍵dskID_i,τは代表端末20iの記憶部204iに格納されると共に、当該デバイス秘密鍵dskID_i,τを受け取った子端末30i,jの記憶部302i,jに格納され、秘密に管理される。 Specifically, the device private key generation unit 201 i of the representative terminal 20 i creates a hierarchical identifier in the form ID i,τ = (ID i , τ), then executes dsk ID_i,τ ←HIBE.KeyGen(pp,sk ID_i , ID i,τ ) and transmits the device private key dsk ID_i ,τ to the child terminal 30 i,j having the device identifier ID i,j included in the device list List i . Note that the device private key dsk ID_i,τ is stored in the storage unit 204 i of the representative terminal 20 i , and is also stored in the storage unit 302 i,j of the child terminal 30 i ,j that received the device private key dsk ID_i,τ , and is managed in secret.
≪実施例1-1における暗号化≫
代表端末20i又はその子端末30i,jにメッセージMの暗号文を送信する場合、送信端末50の暗号化部501は、ユーザ識別子IDiとデバイス更新時間τとを用いてメッセージMを暗号化し、その暗号文を当該代表端末20i又は子端末30i,jに送信する。
Encryption in Example 1-1
When transmitting the ciphertext of the message M to the representative terminal 20 i or its child terminal 30 i, j , the encryption unit 501 of the transmitting terminal 50 encrypts the message M using the user identifier ID i and the device update time τ, and transmits the ciphertext to the representative terminal 20 i or child terminal 30 i, j .
具体的には、送信端末50の暗号化部501は、IDi,τ=(IDi,τ)という形の階層的な識別子を作成した上で、C←HIBE.Encrypt(pp,IDi,τ,M)を実行し、代表端末20i又は子端末30i,jに暗号文Cを送信する。 Specifically, the encryption unit 501 of the sending terminal 50 creates a hierarchical identifier of the form ID i,τ = (ID i , τ), then executes C←HIBE.Encrypt(pp, ID i,τ , M), and transmits the ciphertext C to the representative terminal 20 i or the child terminal 30 i,j .
≪実施例1-1における復号≫
代表端末20iが暗号文Cを受け取った場合、当該代表端末20iの復号部202iは、M←HIBE.Decrypt(pp,IDi,τ,dskID_i,τ,C)を実行し、暗号文Cを復号する。この復号により得られたメッセージMは記憶部204iに格納される。
<Decryption in Example 1-1>
When the representative terminal 20 i receives the ciphertext C, the decryption unit 202 i of the representative terminal 20 i executes M←HIBE.Decrypt(pp, ID i, τ , dsk ID_i, τ , C) to decrypt the ciphertext C. The message M obtained by this decryption is stored in the memory unit 204 i .
同様に、子端末30i,jが暗号文Cを受け取った場合、当該子端末30i,jの復号部301i,jは、M←HIBE.Decrypt(pp,IDi,τ,dskID_i,τ,C)を実行し、暗号文Cを復号する。なお、これは、デバイス秘密鍵dskID_i,τを持つ子端末30i,jのみが実行可能である。この復号により得られたメッセージMは記憶部302i,jに格納される。 Similarly, when a child terminal 30i ,j receives the ciphertext C, the decryption unit 301i ,j of the child terminal 30i ,j executes M←HIBE.Decrypt(pp, IDi ,τ , dsk ID_i,τ , C) to decrypt the ciphertext C. Note that this can only be executed by the child terminal 30i , j that has the device private key dsk ID_i,τ . The message M obtained by this decryption is stored in the storage unit 302i ,j .
≪実施例1-1のまとめ≫
以上のように、本実施例では、ユーザ識別子IDiとデバイス更新時間τから階層的な識別子IDi,τ=(IDi,τ)を作成した上で、この識別子IDi,τに対応するデバイス秘密鍵dskID_i,τを、デバイスリストListiに含まれるデバイス識別子IDi,jを持つ子端末30i,jに配布する。また、メッセージMを暗号化する際にも同様に識別子IDi,τを作成した上で、この識別子IDi,τを用いて暗号文Cを作成する。
Summary of Example 1-1
As described above, in this embodiment, a hierarchical identifier ID i,τ = (ID i ,τ) is created from the user identifier ID i and the device update time τ, and then the device private key dsk ID_i, τ corresponding to this identifier ID i,τ is distributed to the child terminal 30 i, j having the device identifier ID i,j included in the device list List i . Similarly, when encrypting a message M, an identifier ID i,τ is created, and then a ciphertext C is created using this identifier ID i,τ .
これにより、代表端末20iの他は、デバイスリストListiに含まれているデバイス識別子IDi,jを持つ子端末30i,jのみがデバイス秘密鍵dskID_i,τによって暗号文Cを復号することができる。したがって、例えば、ある子端末30i,jが破棄され、そのデバイス識別子IDi,jがデバイスリストListiから削除された場合には、その子端末30i,jが持つデバイス秘密鍵が漏洩したとしても、そのデバイス秘密鍵により暗号文が復号されてしまう事態を防止することが可能となる。 As a result, apart from the representative terminal 20 i , only the child terminals 30 i, j having the device identifier ID i, j included in the device list List i can decrypt the ciphertext C using the device private key dsk ID_i,τ . Therefore, for example, if a certain child terminal 30 i,j is discarded and its device identifier ID i,j is deleted from the device list List i , even if the device private key held by that child terminal 30 i,j is leaked, it is possible to prevent a situation in which the ciphertext is decrypted using that device private key.
ここで、本実施例における鍵生成の際の識別子と秘密鍵の関係を図6に示す。図6に示すように、秘密鍵生成センタ10は第0階層目に相当し、代表端末20iのユーザ識別子IDiに対応する秘密鍵skID_iを生成し、当該代表端末20iに配布する。代表端末20iは第1階層目に相当し、識別子IDi,τ=(IDi,τ)に対応する秘密鍵skID_i,τを生成し、自身の子端末30i,j(ただし、デバイスリストListiに含まれるデバイス識別子IDi,jを持つ子端末30i,j)に配布する。各子端末30i,jは第2階層目に相当する。 The relationship between identifiers and private keys during key generation in this embodiment is shown in Figure 6. As shown in Figure 6, the private key generation center 10 corresponds to the 0th layer, generates a private key sk ID_i corresponding to the user identifier ID i of the representative terminal 20 i , and distributes it to the representative terminal 20 i . The representative terminal 20 i corresponds to the 1st layer, generates a private key sk ID_i,τ corresponding to the identifier ID i,τ = (ID i ,τ), and distributes it to its own child terminals 30 i,j (though child terminals 30 i, j have device identifiers ID i,j included in the device list List i ). Each child terminal 30 i,j corresponds to the 2nd layer.
<実施例1-2>
以下では、実施例1-2について説明する。本実施例では、実施例1-1に加えて、ユーザ識別子IDiが失効した場合に、ユーザ端末群iに含まれる代表端末20iとすべての子端末30i,jで復号できないように制御する場合について説明する。なお、識別子IDの失効には、その識別子ID(又は、その識別子IDに対応するアカウント)が停止又は削除された場合が含まれるものとする。
<Example 1-2>
In the following, Example 1-2 will be described. In this example, in addition to Example 1-1, a case will be described in which, when a user identifier ID i expires, control is performed so that decryption cannot be performed at the representative terminal 20 i and all child terminals 30 i, j included in a user terminal group i. Note that expiration of an identifier ID includes cases in which the identifier ID (or the account corresponding to the identifier ID) is suspended or deleted.
ここで、本実施例では、秘密鍵生成センタ10が代表端末20iの秘密鍵を生成する際に、ユーザ識別子IDiの他に、ユーザ更新時間Tも用いて、ユーザ識別子IDiに対応する秘密鍵を定期的に生成する。このとき、例えば、あるユーザ更新時間Tでユーザ識別子IDiを失効させる場合、T+ΔT以降では、ユーザ識別子IDiに対応する秘密鍵の生成を行わないようにする。ここで、ΔTはユーザ更新時間Tの更新間隔である。ユーザ更新時間Tは更新間隔ΔTごとにT←T+ΔTと更新される。 In this embodiment, when the private key generation center 10 generates a private key for the representative terminal 20i , it periodically generates a private key corresponding to the user identifier IDi using not only the user identifier IDi but also the user update time T. In this case, for example, if the user identifier IDi is to be invalidated at a certain user update time T, generation of a private key corresponding to the user identifier IDi is not performed after T+ΔT, where ΔT is the update interval for the user update time T. The user update time T is updated at each update interval ΔT as T←T+ΔT.
また、送信端末50は、ユーザ識別子IDiの他に、ユーザ更新時間Tとデバイス更新時間τも用いてメッセージ(平文)を暗号化する。これにより、あるユーザ更新時間Tでユーザ識別子IDiが失効された場合、T+ΔT以降では、代表端末20iとすべての子端末30i,jで復号ができないように制御することができる。 Furthermore, the sending terminal 50 encrypts the message (plain text) using the user update time T and the device update time τ in addition to the user identifier ID i . This makes it possible to control so that if the user identifier ID i is invalidated at a certain user update time T, the representative terminal 20 i and all the child terminals 30 i,j cannot decrypt the message after T + ΔT.
なお、ユーザ更新時間Tとデバイス更新時間τとの間には、特に依存関係はなく、互いに独立である。例えば、ユーザ更新時間Tの更新間隔ΔTを1年(例えば、T=2021、ΔT=1)、デバイス更新時間τの更新間隔Δτを1か月(例えば、τ=202103、Δτ=1)等と設定されてもよい。 There is no particular dependency between the user update time T and the device update time τ, and they are independent of each other. For example, the update interval ΔT for the user update time T may be set to one year (e.g., T = 2021, ΔT = 1), and the update interval Δτ for the device update time τ may be set to one month (e.g., τ = 202103, Δτ = 1).
以下、本実施例におけるセットアップ、ユーザ秘密鍵生成、デバイスリスト更新、デバイス秘密鍵生成、暗号化、復号の各処理について説明する。 The following describes the setup, user private key generation, device list update, device private key generation, encryption, and decryption processes in this embodiment.
≪実施例1-2におけるセットアップ≫
本実施例におけるセットアップは、実施例1-1と同様であるため、その説明を省略する。
<<Setup in Example 1-2>>
The setup in this embodiment is the same as in embodiment 1-1, so the description thereof will be omitted.
≪実施例1-2におけるユーザ秘密鍵生成≫
秘密鍵生成センタ10のユーザ秘密鍵生成部102は、代表端末20iからの要求に応じて、この代表端末20iのユーザ識別子IDiとユーザ更新時間Tとの連結文字列IDi||Tに対応する秘密鍵skID_i,Tを生成し、当該代表端末20iに送信する。なお、秘密鍵skID_i,Tを代表端末20iに送信する際には、例えば、TLS等の技術によりセキュアな通信路を確立して送信されることが望ましい。ただし、秘密鍵skID_i,Tの送信方法はこれに限定されるものではない。
<<User Private Key Generation in Example 1-2>>
In response to a request from a representative terminal 20i , the user private key generation unit 102 of the private key generation center 10 generates a private key sk ID_i, T corresponding to a concatenated character string ID i ∥T of the user identifier ID i of this representative terminal 20i and the user update time T, and transmits the private key sk ID_i, T to the representative terminal 20i. Note that when transmitting the private key sk ID_i,T to the representative terminal 20i , it is desirable to establish a secure communication path using a technology such as TLS. However, the method of transmitting the private key sk ID_i,T is not limited to this.
具体的には、秘密鍵生成センタ10のユーザ秘密鍵生成部102は、代表端末20iからの要求に応じて、skID_i,T←HIBE.KeyGen(pp,msk,IDi||T)を実行し、この秘密鍵skID_i,Tを当該代表端末20iに送信する。秘密鍵skID_i,Tは記憶部204iに格納され、秘密に管理される。 Specifically, in response to a request from the representative terminal 20i , the user private key generation unit 102 of the private key generation center 10 executes sk ID_i,T ←HIBE.KeyGen(pp, msk, ID i ∥T) and transmits this private key sk ID_i,T to the representative terminal 20i . The private key sk ID_i,T is stored in the storage unit 204i and managed in secret.
なお、上述したように、あるユーザ更新時間Tであるユーザ識別子IDi'を失効させる場合、秘密鍵生成センタ10のユーザ秘密鍵生成部102は、T+ΔT以降のユーザ更新時間T'ではそのユーザ識別子IDi'に対応する秘密鍵skID_i',T'の生成を行わないようにする。 As described above, when a user identifier ID i′ is to be invalidated at a certain user update time T, the user private key generation unit 102 of the private key generation center 10 will not generate a private key sk ID_i′,T′ corresponding to the user identifier ID i′ at a user update time T′ after T+ΔT.
≪実施例1-2におけるデバイスリスト更新≫
本実施例におけるデバイスリスト更新は、実施例1-1と同様であるため、その説明を省略する。
<Device List Update in Example 1-2>
The device list update in this embodiment is the same as in embodiment 1-1, and therefore the description thereof will be omitted.
≪実施例1-2におけるデバイス秘密鍵生成≫
デバイスリストListiが更新された場合、代表端末20iのデバイス秘密鍵生成部201iは、連結文字列IDi||Tに対応する秘密鍵skID_i,Tとデバイス更新時間τとを用いてデバイス秘密鍵dskID_i,T,τを生成し、デバイスリストListiに含まれるデバイス識別子IDi,jを持つ子端末30i,jに当該デバイス秘密鍵dskID_i,T,τを送信する。なお、デバイス秘密鍵dskID_i,T,τを子端末30i,jに送信する際には、例えば、TLS等の技術によりセキュアな通信路を確立して送信されることが望ましい。ただし、デバイス秘密鍵dskID_i,T,τの送信方法はこれに限定されるものではない。
<Device private key generation in Example 1-2>
When the device list List i is updated, the device private key generation unit 201 i of the representative terminal 20 i generates a device private key dsk ID_i,T,τ using the private key sk ID_i,T corresponding to the concatenated string ID i ∥T and the device update time τ, and transmits the device private key dsk ID_i ,T,τ to the child terminal 30 i,j having the device identifier ID i,j included in the device list List i . Note that when transmitting the device private key dsk ID_i,T,τ to the child terminal 30 i,j , it is desirable to establish a secure communication path using technology such as TLS. However, the method of transmitting the device private key dsk ID_i,T,τ is not limited to this.
具体的には、代表端末20iのデバイス秘密鍵生成部201iは、IDi,T,τ=(IDi||T,τ)という形の階層的な識別子を作成した上で、dskID_i,T,τ←HIBE.KeyGen(pp,skID_i,T,IDi,T,τ)を実行し、デバイスリストListiに含まれるデバイス識別子IDi,jを持つ子端末30i,jに当該デバイス秘密鍵dskID_i,T,τを送信する。なお、デバイス秘密鍵dskID_i,T,τは代表端末20iの記憶部204iに格納されると共に、当該デバイス秘密鍵dskID_i,T,τを受け取った子端末30i,jの記憶部302i,jに格納され、秘密に管理される。 Specifically, the device private key generation unit 201 i of the representative terminal 20 i creates a hierarchical identifier in the form ID i,T,τ = (ID i ∥T,τ), then executes dsk ID_i,T,τ ←HIBE.KeyGen(pp,sk ID_i,T , ID i,T,τ ) and transmits the device private key dsk ID_i,T,τ to the child terminal 30 i,j having the device identifier ID i,j included in the device list List i . The device private key dsk ID_i,T,τ is stored in the storage unit 204 i of the representative terminal 20 i , and is also stored in the storage unit 302 i,j of the child terminal 30 i,j that received the device private key dsk ID_i,T,τ , and is managed in secret.
≪実施例1-2における暗号化≫
代表端末20i又はその子端末30i,jにメッセージMの暗号文を送信する場合、送信端末50の暗号化部501は、ユーザ識別子IDiとユーザ更新時間Tとデバイス更新時間τとを用いてメッセージMを暗号化し、その暗号文を当該代表端末20i又は子端末30i,jに送信する。
Encryption in Example 1-2
When transmitting the ciphertext of the message M to the representative terminal 20 i or its child terminal 30 i, j , the encryption unit 501 of the transmitting terminal 50 encrypts the message M using the user identifier ID i , the user update time T, and the device update time τ, and transmits the ciphertext to the representative terminal 20 i or child terminal 30 i, j .
具体的には、送信端末50の暗号化部501は、IDi,T,τ=(IDi||T,τ)という形の階層的な識別子を作成した上で、C←HIBE.Encrypt(pp,IDi,T,τ,M)を実行し、代表端末20i又は子端末30i,jに暗号文Cを送信する。 Specifically, the encryption unit 501 of the sending terminal 50 creates a hierarchical identifier in the form of ID i,T,τ = (ID i ∥T,τ), then executes C←HIBE.Encrypt(pp,ID i,T,τ ,M) and transmits the ciphertext C to the representative terminal 20 i or the child terminal 30 i,j .
≪実施例1-2における復号≫
代表端末20iが暗号文Cを受け取った場合、当該代表端末20iの復号部202iは、M←HIBE.Decrypt(pp,IDi,T,τ,dskID_i,T,τ,C)を実行し、暗号文Cを復号する。この復号により得られたメッセージMは記憶部204iに格納される。
Decryption in Example 1-2
When the representative terminal 20 i receives the ciphertext C, the decryption unit 202 i of the representative terminal 20 i executes M←HIBE.Decrypt(pp, ID i, T, τ , dsk ID_i, T, τ , C) to decrypt the ciphertext C. The message M obtained by this decryption is stored in the memory unit 204 i .
同様に、子端末30i,jが暗号文Cを受け取った場合、当該子端末30i,jの復号部301i,jは、M←HIBE.Decrypt(pp,IDi,T,τ,dskID_i,T,τ,C)を実行し、暗号文Cを復号する。なお、これは、デバイス秘密鍵dskID_i,T,τを持つ子端末30i,jのみが実行可能である。この復号により得られたメッセージMは記憶部302i,jに格納される。 Similarly, when a child terminal 30i ,j receives the ciphertext C, the decryption unit 301i ,j of the child terminal 30i ,j executes M←HIBE.Decrypt(pp,IDi ,T,τ ,dsk ID_i,T,τ ,C) to decrypt the ciphertext C. Note that this can only be executed by the child terminal 30i ,j that has the device private key dsk ID_i,T,τ . The message M obtained by this decryption is stored in the memory unit 302i ,j .
≪実施例1-2のまとめ≫
以上のように、本実施例では、ユーザ識別子IDiとユーザ更新時間Tとの連結文字列IDi||Tに対応する秘密鍵skID_i,Tを生成し、この秘密鍵skID_i,Tを代表端末20iに配布する。そして、デバイス秘密鍵dskID_i,T,τを生成する際には、階層的な識別子IDi,T,τ=(IDi||T,τ)を作成した上で、この識別子IDi,T,τを用いて当該デバイス秘密鍵dskID_i,T,τを生成する。また、メッセージMを暗号化する際にも同様に識別子IDi,T,τを作成した上で、この識別子IDi,τを用いて暗号文Cを作成する。
Summary of Example 1-2
As described above, in this embodiment, a private key sk ID_i, T corresponding to a concatenated character string ID i ∥T of a user identifier ID i and a user update time T is generated, and this private key sk ID_i,T is distributed to the representative terminal 20 i . When generating a device private key dsk ID_i,T,τ , a hierarchical identifier ID i,T,τ = (ID i ∥T,τ) is created, and this identifier ID i,T,τ is used to generate the device private key dsk ID_i,T,τ . Similarly, when encrypting a message M, an identifier ID i,T,τ is created, and then a ciphertext C is generated using this identifier ID i,τ .
これにより、デバイス更新時間τだけでなく、ユーザ更新時間Tにも依存するデバイス秘密鍵dskID_i,T,τを生成することができる。したがって、例えば、あるユーザ更新時間Tであるユーザ識別子IDi'を失効させる場合には、T+ΔT以降のユーザ更新時間T'ではそのユーザ識別子IDi'に対応する秘密鍵skID_i',T'の生成を行わないようにすればよい。本実施例により、例えば、ユーザ更新時刻Tでユーザ識別子IDi'が失効された場合、それ以降のユーザ更新時間T'(≧T+ΔT)では、代表端末20i'及びその子端末30i',jが復号できないようにすることができる。また、仮にデバイス秘密鍵dskID_i',Tが漏洩したとしても、ユーザ更新時間T'(≧T+ΔT)では復号することができないようにすることができる。 This makes it possible to generate a device private key dsk ID_i,T,τ that depends not only on the device update time τ but also on the user update time T. Therefore, for example, when a user identifier ID i' at a certain user update time T is to be invalidated, generation of a private key sk ID_i', T' corresponding to that user identifier ID i' may be avoided at user update times T' after T+ΔT. According to this embodiment, for example, if a user identifier ID i' is invalidated at user update time T, it is possible to prevent the representative terminal 20 i' and its child terminals 30 i',j from decrypting at subsequent user update times T' (≧T+ΔT). Furthermore, even if the device private key dsk ID_i',T is leaked, it is possible to prevent decryption at the user update time T' (≧T+ΔT).
ここで、本実施例における鍵生成の際の識別子と秘密鍵の関係を図7に示す。図7に示すように、秘密鍵生成センタ10は第0階層目に相当し、代表端末20iのユーザ識別子IDiとユーザ更新時間Tに対応する秘密鍵skID_i,Tを生成し、当該代表端末20iに配布する。代表端末20iは第1階層目に相当し、識別子IDi,T,τ=(IDi||T,τ)に対応する秘密鍵skID_i,T,τを生成し、自身の子端末30i,j(ただし、デバイスリストListiに含まれるデバイス識別子IDi,jを持つ子端末30i,j)に配布する。各子端末30i,jは第2階層目に相当する。 The relationship between identifiers and private keys during key generation in this embodiment is shown in Figure 7. As shown in Figure 7, the private key generation center 10 corresponds to the 0th layer, generates a private key sk ID_i,T corresponding to the user identifier ID i and user update time T of the representative terminal 20 i , and distributes it to the representative terminal 20 i . The representative terminal 20 i corresponds to the 1st layer, generates a private key sk ID_i,T, τ corresponding to the identifier ID i,T,τ = (ID i ∥T,τ), and distributes it to its own child terminals 30 i,j (though child terminals 30 i, j have device identifiers ID i,j included in the device list List i ). Each child terminal 30 i,j corresponds to the 2nd layer.
[第二の実施形態]
以下では、第二の実施形態について説明する。本実施形態では、ユーザ識別子IDiを発行する識別子発行サーバ60が存在する場合について説明する。なお、第一の実施形態と同様の構成要素については、その説明を省略するものとする。
[Second embodiment]
The second embodiment will be described below. In this embodiment, a case where an identifier issuing server 60 that issues a user identifier ID i is provided will be described. Note that the description of the same components as those in the first embodiment will be omitted.
<暗号システム1の全体構成例>
本実施形態に係る暗号システム1の全体構成例を図8に示す。図8に示すように、本実施形態に係る暗号システム1は、エンティティとして更に識別子発行サーバ60が存在する。
<Example of overall configuration of cryptographic system 1>
An example of the overall configuration of the cryptographic system 1 according to this embodiment is shown in Fig. 8. As shown in Fig. 8, the cryptographic system 1 according to this embodiment further includes an identifier issuing server 60 as an entity.
識別子発行サーバ60は、クラウドサービス等のアプリケーションを提供するサービス事業者が持つサーバである。識別子発行サーバ60は、自身の秘密鍵と、自身が管理するユーザ識別子IDiとを用いて、そのユーザID識別子IDiを持つ代表端末20iの秘密鍵を生成する。 The identifier issuing server 60 is a server owned by a service provider that provides applications such as cloud services. The identifier issuing server 60 uses its own private key and a user identifier ID i that it manages to generate a private key for the representative terminal 20 i that has the user ID identifier ID i .
ここで、識別子発行サーバ60には識別子IDSが割り当てられているものとする。識別子IDSとしては、例えば、電話番号、メールアドレス、マイナンバー、識別子発行サーバ60の製造固有番号、IPアドレス、MACアドレス等が挙げられる。ただし、これらは一例であって、機器等の中で一意に識別可能な情報であれば任意の情報を識別子IDSとして用いることが可能である。 Here, it is assumed that an identifier ID S is assigned to the identifier issuing server 60. Examples of the identifier ID S include a telephone number, an email address, a My Number, a serial number specific to the identifier issuing server 60, an IP address, and a MAC address. However, these are just examples, and any information that can be uniquely identified within a device or the like can be used as the identifier ID S.
なお、すべてのユーザ識別子IDi(i=1,・・・,n)が識別子発行サーバ60で管理されている必要はなく、例えば、一部のユーザ識別子IDiのみ(例えば、i=1,・・・,n1のユーザ識別子IDi)が識別子発行サーバ60で管理されていてもよい。また、図8に示す例では識別子発行サーバ60が1台のみ図示されているが、複数の識別子発行サーバ60が存在してもよい。例えば、クラウドサービスAのユーザ識別子IDiを管理する識別子発行サーバ60Aと、クラウドサービスBのユーザ識別子IDiを管理する識別子発行サーバ60Bとが存在してもよい。 It should be noted that it is not necessary for all user identifiers ID i (i = 1, ..., n) to be managed by the identifier issuing server 60; for example, only some of the user identifiers ID i (for example, user identifiers ID i for i = 1, ..., n1 ) may be managed by the identifier issuing server 60. Also, although only one identifier issuing server 60 is shown in the example shown in Fig. 8, there may be multiple identifier issuing servers 60. For example, there may be an identifier issuing server 60A that manages user identifiers ID i for cloud service A and an identifier issuing server 60B that manages user identifiers ID i for cloud service B.
<機能構成例>
識別子発行サーバ60の機能構成例を図9に示す。図9に示すように、識別子発行サーバ60は、ユーザ秘密鍵生成部601を有する。ユーザ秘密鍵生成部601は、例えば、識別子発行サーバ60にインストールされた1以上のプログラムが、プロセッサに実行させる処理により実現される。また、識別子発行サーバ60は、記憶部602を有する。記憶部602は、例えば、メモリ装置により実現される。
<Example of functional configuration>
An example of the functional configuration of the identifier issuing server 60 is shown in Fig. 9. As shown in Fig. 9, the identifier issuing server 60 has a user private key generation unit 601. The user private key generation unit 601 is realized, for example, by a process in which one or more programs installed in the identifier issuing server 60 are executed by a processor. The identifier issuing server 60 also has a storage unit 602. The storage unit 602 is realized, for example, by a memory device.
ユーザ秘密鍵生成部601は、HIBE.KeyGenアルゴリズムを実行し、秘密鍵を生成及び出力する。記憶部602は、各種情報(例えば、自身の識別子IDS、このユーザ識別子IDSに対応する秘密鍵、自身が管理しているユーザ識別子IDi、時刻情報、公開パラメータ等)を記憶する。 The user private key generation unit 601 executes the HIBE.KeyGen algorithm to generate and output a private key. The storage unit 602 stores various information (e.g., the user's own identifier ID S , the private key corresponding to this user identifier ID S , the user identifier ID i managed by the user, time information, public parameters, etc.).
<実施例2-1>
以下では、実施例2-1について説明する。本実施例では、ユーザ端末群iの子端末30i,jを追加・削除した場合に、その子端末30i,jの復号可否を制御する場合について説明する。
<Example 2-1>
In the following, an embodiment 2-1 will be described, which describes a case where, when a child terminal 30 i,j of a user terminal group i is added or deleted, the decryption permission of the child terminal 30 i,j is controlled.
以下、本実施例におけるセットアップ、ユーザ秘密鍵生成、デバイスリスト更新、デバイス秘密鍵生成、暗号化、復号の各処理について説明する。 The following describes the setup, user private key generation, device list update, device private key generation, encryption, and decryption processes in this embodiment.
≪実施例2-1におけるセットアップ≫
本実施例におけるセットアップは、実施例1-1と同様であるため、その説明を省略する。
<<Setup in Example 2-1>>
The setup in this embodiment is the same as in embodiment 1-1, so the description thereof will be omitted.
≪実施例2-1におけるユーザ秘密鍵生成≫
秘密鍵生成センタ10のユーザ秘密鍵生成部102は、識別子発行サーバ60からの要求に応じて、この識別子発行サーバ60の識別子IDSに対応する秘密鍵skID_Sを生成し、当該識別子発行サーバ60に送信する。なお、秘密鍵skID_Sを識別子発行サーバ60に送信する際には、例えば、TLS等の技術によりセキュアな通信路を確立して送信されることが望ましい。ただし、秘密鍵skID_Sの送信方法はこれに限定されるものではない。
<<User Private Key Generation in Example 2-1>>
In response to a request from the identifier issuing server 60, the user private key generation unit 102 of the private key generation center 10 generates a private key sk ID_S corresponding to the identifier ID S of this identifier issuing server 60 and transmits it to the identifier issuing server 60. When transmitting the private key sk ID_S to the identifier issuing server 60, it is desirable to establish a secure communication path using technology such as TLS. However, the method of transmitting the private key sk ID_S is not limited to this.
具体的には、秘密鍵生成センタ10のユーザ秘密鍵生成部102は、識別子発行サーバ60からの要求に応じて、skID_S←HIBE.KeyGen(pp,msk,IDS)を実行し、この秘密鍵skID_Sを当該識別子発行サーバ60に送信する。秘密鍵skID_Sは記憶部602に格納され、秘密に管理される。 Specifically, in response to a request from the identifier issuing server 60, the user private key generation unit 102 of the private key generation center 10 executes sk ID_S ←HIBE.KeyGen(pp, msk, ID S ) and transmits this private key sk ID_S to the identifier issuing server 60. The private key sk ID_S is stored in the storage unit 602 and managed in secret.
次に、識別子発行サーバ60のユーザ秘密鍵生成部601は、識別子IDSと自身が管理しているユーザ識別子IDiとに対応する秘密鍵skID_iを生成し、当該ユーザ識別子IDiを持つ代表端末20iに送信する。なお、秘密鍵skID_iを代表端末20iに送信する際には、例えば、TLS等の技術によりセキュアな通信路を確立して送信されることが望ましい。ただし、秘密鍵skID_iの送信方法はこれに限定されるものではない。 Next, the user private key generation unit 601 of the identifier issuing server 60 generates a private key sk ID_i corresponding to the identifier ID S and the user identifier ID i managed by the identifier issuing server 60 itself, and transmits the private key sk ID_i to the representative terminal 20 i having the user identifier ID i . Note that when transmitting the private key sk ID_i to the representative terminal 20 i , it is desirable to establish a secure communication path using a technology such as TLS. However, the method of transmitting the private key sk ID_i is not limited to this.
具体的には、識別子発行サーバ60のユーザ秘密鍵生成部601は、skID_i←HIBE.KeyGen(pp,skID_S,(IDS,IDi))を実行し、この秘密鍵skID_iを当該代表端末20iに送信する。秘密鍵skID_iは記憶部204に格納され、秘密に管理される。 Specifically, the user private key generation unit 601 of the identifier issuing server 60 executes sk ID_i ←HIBE.KeyGen(pp, sk ID_S , (ID S , ID i )) and transmits this private key sk ID_i to the representative terminal 20 i . The private key sk ID_i is stored in the storage unit 204 and managed in secret.
≪実施例2-1におけるデバイスリスト更新≫
本実施例におけるデバイスリスト更新は、実施例1-1と同様であるため、その説明を省略する。
<Device List Update in Example 2-1>
The device list update in this embodiment is the same as in embodiment 1-1, and therefore the description thereof will be omitted.
≪実施例2-1におけるデバイス秘密鍵生成≫
本実施例におけるデバイス秘密鍵生成は、実施例1-1とほぼ同様であるが、IDi,τ=(IDS,IDi,τ)という形の階層的な識別子を作成した上で、デバイス秘密鍵dskID_i,τを生成する。その他の点については、実施例1-1と同様であるため、その説明を省略する。
<Device private key generation in Example 2-1>
The generation of the device private key in this embodiment is almost the same as in embodiment 1-1, but a hierarchical identifier of the form ID i,τ = (ID S , ID i ,τ) is created first, and then the device private key dsk ID_i,τ is generated. As the other points are the same as in embodiment 1-1, the description thereof will be omitted.
≪実施例2-1における暗号化≫
本実施例における暗号化は、実施例1-1とほぼ同様であるが、IDi,τ=(IDS,IDi,τ)という形の階層的な識別子を作成した上で、暗号文Cを生成する。その他の点については、実施例1-1と同様であるため、その説明を省略する。
Encryption in Example 2-1
The encryption in this embodiment is almost the same as that in embodiment 1-1, but a hierarchical identifier of the form ID i, τ = (ID S , ID i , τ) is created before generating the ciphertext C. Other points are the same as those in embodiment 1-1, and therefore the description thereof will be omitted.
≪実施例2-1における復号≫
本実施例における復号は、実施例1-1とほぼ同様であるが、IDi,τ=(IDS,IDi,τ)という形の階層的な識別子を作成した上で、暗号文Cを復号する。その他の点については、実施例1-1と同様であるため、その説明を省略する。
Decryption in Example 2-1
Decryption in this embodiment is almost the same as in embodiment 1-1, but a hierarchical identifier of the form ID i, τ = (ID S , ID i , τ) is created before decrypting the ciphertext C. Other points are the same as in embodiment 1-1, so a description thereof will be omitted.
≪実施例2-1のまとめ≫
以上のように、本実施例では、ユーザ識別子IDiを管理する識別子発行サーバ60が存在し、この識別子発行サーバ60が秘密鍵skID_iを生成する。
Summary of Example 2-1
As described above, in this embodiment, there is an identifier issuing server 60 that manages the user identifier ID i , and this identifier issuing server 60 generates the secret key sk ID_i .
ここで、本実施例における鍵生成の際の識別子と秘密鍵の関係を図10に示す。図10に示すように、秘密鍵生成センタ10は第0階層目に相当し、識別子発行サーバ60の識別子IDSに対応する秘密鍵skID_Sを生成し、当該識別子発行サーバ60に配布する。識別子発行サーバ60は第1階層目に相当し、識別子発行サーバ60の識別子IDSと代表端末20iのユーザ識別子IDiとに対応する秘密鍵skID_iを生成し、当該代表端末20iに配布する。代表端末20iは第2階層目に相当し、識別子IDi,τ=(IDS,IDi,τ)に対応する秘密鍵skID_i,τを生成し、自身の子端末30i,j(ただし、デバイスリストListiに含まれるデバイス識別子IDi,jを持つ子端末30i,j)に配布する。各子端末30i,jは第3階層目に相当する。 The relationship between the identifier and the private key during key generation in this embodiment is shown in Figure 10. As shown in Figure 10, the private key generation center 10 corresponds to the 0th layer, and generates a private key sk ID_S corresponding to the identifier ID S of the identifier issuing server 60 and distributes it to the identifier issuing server 60. The identifier issuing server 60 corresponds to the 1st layer, and generates a private key sk ID_i corresponding to the identifier ID S of the identifier issuing server 60 and the user identifier ID i of the representative terminal 20 i and distributes it to the representative terminal 20 i . The representative terminal 20 i corresponds to the 2nd layer, and generates a private key sk ID_i ,τ corresponding to the identifier ID i,τ = (ID S , ID i , τ) and distributes it to its own child terminals 30 i,j (however, the child terminals 30 i, j have the device identifier ID i,j included in the device list List i) . Each child terminal 30 i,j corresponds to the 3rd layer.
<実施例2-2>
以下では、実施例2-2について説明する。本実施例では、実施例2-1に加えて、ユーザ識別子IDiが失効した場合に、ユーザ端末群iに含まれる代表端末20iとすべての子端末30i,jで復号できないように制御する場合について説明する。
<Example 2-2>
In the following, Example 2-2 will be described. In this example, in addition to Example 2-1, a case will be described in which, when a user identifier ID i has expired, control is performed so that decryption cannot be performed at the representative terminal 20 i and all child terminals 30 i, j included in the user terminal group i.
以下、本実施例におけるセットアップ、ユーザ秘密鍵生成、デバイスリスト更新、デバイス秘密鍵生成、暗号化、復号の各処理について説明する。 The following describes the setup, user private key generation, device list update, device private key generation, encryption, and decryption processes in this embodiment.
≪実施例2-2におけるセットアップ≫
本実施例におけるセットアップは、実施例2-1と同様であるため、その説明を省略する。
<<Setup in Example 2-2>>
The setup in this embodiment is the same as in embodiment 2-1, so the description thereof will be omitted.
≪実施例2-2におけるユーザ秘密鍵生成≫
秘密鍵生成センタ10のユーザ秘密鍵生成部102は、識別子発行サーバ60からの要求に応じて、この識別子発行サーバ60の識別子IDSに対応する秘密鍵skID_Sを生成し、当該識別子発行サーバ60に送信する。なお、秘密鍵skID_Sを識別子発行サーバ60に送信する際には、例えば、TLS等の技術によりセキュアな通信路を確立して送信されることが望ましい。ただし、秘密鍵skID_Sの送信方法はこれに限定されるものではない。
<<User Private Key Generation in Example 2-2>>
In response to a request from the identifier issuing server 60, the user private key generation unit 102 of the private key generation center 10 generates a private key sk ID_S corresponding to the identifier ID S of this identifier issuing server 60 and transmits it to the identifier issuing server 60. When transmitting the private key sk ID_S to the identifier issuing server 60, it is desirable to establish a secure communication path using technology such as TLS. However, the method of transmitting the private key sk ID_S is not limited to this.
具体的には、秘密鍵生成センタ10のユーザ秘密鍵生成部102は、識別子発行サーバ60からの要求に応じて、skID_S←HIBE.KeyGen(pp,msk,IDS)を実行し、この秘密鍵skID_Sを当該識別子発行サーバ60に送信する。秘密鍵skID_Sは記憶部602に格納され、秘密に管理される。 Specifically, in response to a request from the identifier issuing server 60, the user private key generation unit 102 of the private key generation center 10 executes sk ID_S ←HIBE.KeyGen(pp, msk, ID S ) and transmits this private key sk ID_S to the identifier issuing server 60. The private key sk ID_S is stored in the storage unit 602 and managed in secret.
次に、識別子発行サーバ60のユーザ秘密鍵生成部601は、識別子IDSと、自身が管理しているユーザ識別子IDiとユーザ更新時間Tとの連結文字列IDi||Tとに対応する秘密鍵skID_i,Tを生成し、当該ユーザ識別子IDiを持つ代表端末20iに送信する。なお、秘密鍵skID_i,Tを代表端末20iに送信する際には、例えば、TLS等の技術によりセキュアな通信路を確立して送信されることが望ましい。ただし、秘密鍵skID_i,Tの送信方法はこれに限定されるものではない。 Next, the user private key generation unit 601 of the identifier issuing server 60 generates a private key sk ID_i,T corresponding to the identifier ID S and a concatenated character string ID i ∥T of the user identifier ID i and user update time T managed by the identifier issuing server 60, and transmits the private key sk ID_i,T to the representative terminal 20 i having the user identifier ID i . Note that when transmitting the private key sk ID_i,T to the representative terminal 20 i , it is desirable to establish a secure communication path using a technology such as TLS. However, the method of transmitting the private key sk ID_i,T is not limited to this.
具体的には、識別子発行サーバ60のユーザ秘密鍵生成部601は、skID_i,T←HIBE.KeyGen(pp,skID_S,(IDS,IDi||T))を実行し、この秘密鍵skID_i,Tを当該代表端末20iに送信する。秘密鍵skID_i,Tは記憶部204に格納され、秘密に管理される。 Specifically, the user private key generation unit 601 of the identifier issuing server 60 executes sk ID_i,T ←HIBE.KeyGen(pp, sk ID_S , (ID S , ID i ∥T)) and transmits this private key sk ID_i,T to the representative terminal 20 i . The private key sk ID_i,T is stored in the storage unit 204 and managed in secret.
なお、あるユーザ更新時間Tであるユーザ識別子IDi'を失効させる場合、秘密鍵生成センタ10のユーザ秘密鍵生成部102は、T+ΔT以降のユーザ更新時間T'ではそのユーザ識別子IDi'に対応する秘密鍵skID_i',T'の生成を行わないようにする。 When a user identifier ID i′ is to be invalidated at a certain user update time T, the user private key generation unit 102 of the private key generation center 10 will not generate a private key sk ID_i′,T ′ corresponding to the user identifier ID i′ at a user update time T′ after T+ΔT.
≪実施例2-2におけるデバイスリスト更新≫
本実施例におけるデバイスリスト更新は、実施例2-1と同様であるため、その説明を省略する。
<Device List Update in Example 2-2>
The device list update in this embodiment is the same as in embodiment 2-1, and therefore a description thereof will be omitted.
≪実施例2-2におけるデバイス秘密鍵生成≫
本実施例におけるデバイス秘密鍵生成は、実施例1-2とほぼ同様であるが、IDi,T,τ=(IDS,IDi||T,τ)という形の階層的な識別子を作成した上で、デバイス秘密鍵dskID_i,T,τを生成する。その他の点については、実施例1-2と同様であるため、その説明を省略する。
<Device private key generation in Example 2-2>
The device private key generation in this embodiment is almost the same as in embodiment 1-2, but a hierarchical identifier of the form ID i,T,τ = (ID S , ID i ∥T,τ) is created, and then the device private key dsk ID_i,T,τ is generated. As other points are the same as in embodiment 1-2, their explanation will be omitted.
≪実施例2-2における暗号化≫
本実施例における暗号化は、実施例1-2とほぼ同様であるが、IDi,T,τ=(IDS,IDi||T,τ)という形の階層的な識別子を作成した上で、暗号文Cを生成する。その他の点については、実施例1-2と同様であるため、その説明を省略する。
Encryption in Example 2-2
The encryption in this embodiment is almost the same as in embodiment 1-2, but a hierarchical identifier of the form ID i,T,τ = (ID S , ID i ∥T,τ) is created before generating the ciphertext C. As other points are the same as in embodiment 1-2, the description thereof will be omitted.
≪実施例2-2における復号≫
本実施例における復号は、実施例1-2とほぼ同様であるが、IDi,T,τ=(IDS,IDi||T,τ)という形の階層的な識別子を作成した上で、暗号文Cを復号する。その他の点については、実施例1-2と同様であるため、その説明を省略する。
Decryption in Example 2-2
Decryption in this embodiment is almost the same as in embodiment 1-2, but a hierarchical identifier of the form ID i,T,τ = (ID S , ID i ∥T,τ) is created before decrypting the ciphertext C. Other points are the same as in embodiment 1-2, so a description thereof will be omitted.
≪実施例2-2のまとめ≫
以上のように、本実施例では、ユーザ識別子IDiを管理する識別子発行サーバ60が存在し、この識別子発行サーバ60が秘密鍵skID_i,Tを生成する。これにより、本実施例では、識別子発行サーバ60がユーザ識別子IDiの失効に伴う復号可否を制御することが可能となる。
Summary of Example 2-2
As described above, in this embodiment, there is an identifier issuing server 60 that manages the user identifier ID i , and this identifier issuing server 60 generates the private key sk ID_i,T . This enables the identifier issuing server 60 to control whether or not decryption is permitted when the user identifier ID i expires.
ここで、本実施例における鍵生成の際の識別子と秘密鍵の関係を図11に示す。図11に示すように、秘密鍵生成センタ10は第0階層目に相当し、識別子発行サーバ60の識別子IDSに対応する秘密鍵skID_Sを生成し、当該識別子発行サーバ60に配布する。識別子発行サーバ60は第1階層目に相当し、(IDS,IDi||T)に対応する秘密鍵skID_i,Tを生成し、当該代表端末20iに配布する。代表端末20iは第2階層目に相当し、識別子IDi,T,τ=(IDS,IDi||T,τ)に対応する秘密鍵skID_i,T,τを生成し、自身の子端末30i,j(ただし、デバイスリストListiに含まれるデバイス識別子IDi,jを持つ子端末30i,j)に配布する。各子端末30i,jは第3階層目に相当する。 The relationship between the identifier and the private key during key generation in this embodiment is shown in Figure 11. As shown in Figure 11, the private key generation center 10 corresponds to the 0th layer, and generates a private key sk ID_S corresponding to the identifier ID S of the identifier issuing server 60 and distributes it to the identifier issuing server 60. The identifier issuing server 60 corresponds to the 1st layer, and generates a private key sk ID_i,T corresponding to (ID S , ID i ∥T) and distributes it to the representative terminal 20 i . The representative terminal 20 i corresponds to the 2nd layer, and generates a private key sk ID_i,T, τ corresponding to the identifier ID i,T,τ = (ID S , ID i ∥T,τ) and distributes it to its own child terminal 30 i,j (however, the child terminal 30 i, j has the device identifier ID i,j included in the device list List i ). Each child terminal 30 i,j corresponds to the 3rd layer.
<ハードウェア構成>
上記の各実施例における秘密鍵生成センタ10、代表端末20i、子端末30i,j、タイムサーバ40、送信端末50、識別子発行サーバ60は、例えば、図12に示すコンピュータ900のハードウェア構成で実現することが可能である。
<Hardware configuration>
The private key generation center 10, representative terminal 20 i , child terminal 30 i,j , time server 40, transmitting terminal 50, and identifier issuing server 60 in each of the above embodiments can be realized, for example, by the hardware configuration of a computer 900 shown in FIG. 12.
図12に示すコンピュータ900は、入力装置901と、表示装置902と、外部I/F903と、通信I/F904と、プロセッサ905と、メモリ装置906とを有する。これらの各ハードウェアは、それぞれがバス907により通信可能に接続される。 The computer 900 shown in FIG. 12 has an input device 901, a display device 902, an external I/F 903, a communication I/F 904, a processor 905, and a memory device 906. Each of these pieces of hardware is communicatively connected via a bus 907.
入力装置901は、例えば、キーボードやマウス、タッチパネル、各種物理ボタン等である。表示装置902は、例えば、ディスプレイや表示パネル等である。ただし、コンピュータ900は、入力装置901及び表示装置902のうちの少なくとも一方を有していなくてもよい。 The input device 901 is, for example, a keyboard, mouse, touch panel, various physical buttons, etc. The display device 902 is, for example, a display, display panel, etc. However, the computer 900 does not necessarily have to have at least one of the input device 901 and the display device 902.
外部I/F903は、記録媒体903a等の外部装置とのインタフェースである。なお、記録媒体903aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。 The external I/F 903 is an interface with external devices such as a recording medium 903a. Examples of recording media 903a include a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), and a USB (Universal Serial Bus) memory card.
通信I/F904は、インターネット等の通信ネットワークに接続するためのインタフェースである。プロセッサ905は、例えば、CPU等といった各種演算装置である。メモリ装置906は、例えば、HDD、SSD、フラッシュメモリ、RAM、ROM(Read Only Memory)等といった各種記憶装置である。 The communication I/F 904 is an interface for connecting to a communication network such as the Internet. The processor 905 is, for example, a computing device such as a CPU. The memory device 906 is, for example, a storage device such as an HDD, SSD, flash memory, RAM, or ROM (Read Only Memory).
なお、図12に示すコンピュータ900のハードウェア構成は一例であって、例えば、複数のプロセッサ905を有していてもよいし、複数のメモリ装置906を有していてもよいし、図示したハードウェア以外の様々なハードウェアを有していてもよい。 Note that the hardware configuration of the computer 900 shown in FIG. 12 is an example, and the computer may, for example, have multiple processors 905, multiple memory devices 906, or various other hardware components in addition to the hardware shown.
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。 The present invention is not limited to the specifically disclosed embodiments above, and various modifications, alterations, and combinations with known technologies are possible without departing from the scope of the claims.
1:暗号システム、10:秘密鍵生成センタ(PKG)、20i:代表端末、30i,j:子端末、40:タイムサーバ、50:送信端末、60:識別子発行サーバ、90:ネットワーク、101:セットアップ処理部、102:ユーザ秘密鍵生成部、103:記憶部、201i:デバイス秘密鍵生成部、202i:復号部、203i:リスト更新部、204i:記憶部、301i,j:復号部、302i,j:記憶部、501:暗号化部、502:記憶部、601:ユーザ秘密鍵生成部、602:記憶部、900:コンピュータ、901:入力装置、902:表示装置、903:外部I/F、903a:記録媒体、904:外部I/F、905:プロセッサ、906:メモリ装置、907:バス 1: encryption system, 10: private key generation center (PKG), 20 i : representative terminal, 30 i,j : child terminal, 40: time server, 50: transmitting terminal, 60: identifier issuing server, 90: network, 101: setup processing unit, 102: user private key generation unit, 103: storage unit, 201 i : device private key generation unit, 202 i : decryption unit, 203 i : list update unit, 204 i : storage unit, 301 i,j : decryption unit, 302 i,j : Storage unit, 501: Encryption unit, 502: Storage unit, 601: User private key generation unit, 602: Storage unit, 900: Computer, 901: Input device, 902: Display device, 903: External I/F, 903a: Recording medium, 904: External I/F, 905: Processor, 906: Memory device, 907: Bus
Claims (7)
前記秘密鍵生成センタは、
階層型IDベース暗号の公開パラメータと、マスタ秘密鍵とを生成するセットアップ部と、
前記代表端末の識別子と、前記マスタ秘密鍵と、前記公開パラメータとを用いて、前記代表端末のユーザ秘密鍵を生成する第1のユーザ秘密鍵生成部と、を有し、
前記代表端末は、
自身を利用するユーザと同一のユーザが利用する子端末の識別子で構成されるデバイスリストを記憶する記憶部と、
自身の識別子に対応するユーザ秘密鍵と、前記デバイスリストの更新時間を表すデバイス更新時間と、前記公開パラメータとを用いて、前記送信端末から送信される暗号文を復号するためのデバイス秘密鍵を生成するデバイス秘密鍵生成部と、
前記デバイスリストに含まれる識別子が表す子端末に対して前記デバイス秘密鍵を送信する第1の送信部と、を有し、
前記送信端末は、
前記代表端末の識別子と、前記デバイス更新時間とを用いて、メッセージを暗号化した暗号文を生成する暗号化部と、
前記代表端末又は前記子端末に前記暗号文を送信する第2の送信部と、
を有する暗号システム。 An encryption system including a private key generation center, one or more representative terminals, one or more slave terminals used by the same user as the representative terminal, and one or more transmitting terminals,
The private key generation center
a setup unit that generates public parameters of the hierarchical ID-based encryption and a master private key;
a first user private key generation unit that generates a user private key of the representative terminal using an identifier of the representative terminal, the master private key, and the public parameters;
The representative terminal is
a storage unit that stores a device list configured with identifiers of child terminals used by the same user as the user who uses the device;
a device private key generation unit that generates a device private key for decrypting an encrypted text transmitted from the transmitting terminal, using a user private key corresponding to its own identifier, a device update time indicating an update time of the device list, and the public parameters;
a first transmission unit that transmits the device private key to a child terminal represented by an identifier included in the device list,
The transmitting terminal
an encryption unit that generates a ciphertext by encrypting a message using the identifier of the representative terminal and the device update time;
a second transmission unit that transmits the ciphertext to the representative terminal or the child terminal;
A cryptosystem having:
前記代表端末の識別子と、前記代表端末の識別子の更新時間を表すユーザ更新時間と、前記マスタ秘密鍵と、前記公開パラメータとを用いて、前記代表端末のユーザ秘密鍵を生成し、
前記デバイス秘密鍵生成部は、
自身の識別子に対応するユーザ秘密鍵と、前記ユーザ更新時間と、前記デバイス更新時間と、前記公開パラメータとを用いて、前記デバイス秘密鍵を生成し、
前記暗号化部は、
前記代表端末の識別子と、前記ユーザ更新時間と、前記デバイス更新時間とを用いて、前記暗号文を生成する、請求項1に記載の暗号システム。 The first user private key generation unit
generating a user private key for the representative terminal using an identifier of the representative terminal, a user update time indicating an update time of the identifier of the representative terminal, the master private key, and the public parameters;
The device private key generation unit
generating the device private key using a user private key corresponding to its own identifier, the user update time, the device update time, and the public parameters;
The encryption unit
The cryptosystem according to claim 1 , wherein the ciphertext is generated using an identifier of the representative terminal, the user update time, and the device update time.
前記デバイス更新時間ごとに、前記デバイスリストの更新する更新部を有する請求項1又は2に記載の暗号システム。 The representative terminal is
3. The encryption system according to claim 1, further comprising an update unit that updates the device list at each device update time.
前記識別子発行サーバは、
前記秘密鍵生成センタによって生成された自身のユーザ秘密鍵と、自身が管理する代表端末の識別子と、前記公開パラメータとを用いて、前記代表端末のユーザ秘密鍵を生成する第2の秘密鍵生成部を有する、請求項1乃至4の何れか一項に記載の暗号システム。 the encryption system includes an identifier issuing server that issues and manages identifiers of the representative terminals,
The identifier issuing server
5. The cryptographic system according to claim 1, further comprising a second private key generation unit that generates a user private key of the representative terminal using the user's own user private key generated by the private key generation center, an identifier of a representative terminal managed by the user, and the public parameters.
前記子端末の識別子で構成されるデバイスリストを記憶する記憶部と、
前記秘密鍵生成センタで生成された、自身の識別子に対応するユーザ秘密鍵と、前記デバイスリストの更新時間を表すデバイス更新時間と、前記秘密鍵生成センタで生成された公開パラメータとを用いて、前記送信端末から送信される暗号文を復号するためのデバイス秘密鍵を生成するデバイス秘密鍵生成部と、
前記デバイスリストに含まれる識別子が表す子端末に対して前記デバイス秘密鍵を送信する送信部と、
を有する端末。 A terminal communicably connected to a secret key generation center that generates a user secret key by hierarchical ID-based encryption, one or more slave terminals used by the same user, and a transmitting terminal,
a storage unit that stores a device list configured with identifiers of the child terminals;
a device private key generation unit that generates a device private key for decrypting a ciphertext transmitted from the transmitting terminal, using a user private key corresponding to its own identifier, which is generated by the private key generation center, a device update time indicating an update time of the device list, and public parameters generated by the private key generation center;
a transmitter that transmits the device private key to a child terminal represented by an identifier included in the device list;
A terminal having:
前記秘密鍵生成センタが、
階層型IDベース暗号の公開パラメータと、マスタ秘密鍵とを生成するセットアップ手順と、
前記代表端末の識別子と、前記マスタ秘密鍵と、前記公開パラメータとを用いて、前記代表端末のユーザ秘密鍵を生成する第1のユーザ秘密鍵生成手順と、を実行し、
前記代表端末が、
自身を利用するユーザと同一のユーザが利用する子端末の識別子で構成されるデバイスリストを記憶部に記憶する記憶手順と、
自身の識別子に対応するユーザ秘密鍵と、前記デバイスリストの更新時間を表すデバイス更新時間と、前記公開パラメータとを用いて、前記送信端末から送信される暗号文を復号するためのデバイス秘密鍵を生成するデバイス秘密鍵生成手順と、
前記デバイスリストに含まれる識別子が表す子端末に対して前記デバイス秘密鍵を送信する第1の送信手順と、を実行し、
前記送信端末が、
前記代表端末の識別子と、前記デバイス更新時間とを用いて、メッセージを暗号化した暗号文を生成する暗号化手順と、
前記代表端末又は前記子端末に前記暗号文を送信する第2の送信手順と、
を実行する方法。 A method for use in an encryption system including a private key generation center, one or more representative terminals, one or more slave terminals used by the same user as the representative terminal, and one or more transmitting terminals, comprising:
The private key generation center
a setup procedure for generating public parameters and a master private key for hierarchical identity-based encryption;
executing a first user private key generation procedure for generating a user private key of the representative terminal using an identifier of the representative terminal, the master private key, and the public parameters;
The representative terminal
a storage step of storing, in a storage unit, a device list configured with identifiers of child terminals used by the same user as the user who uses the device itself;
a device private key generation step of generating a device private key for decrypting an encrypted text transmitted from the transmitting terminal, using a user private key corresponding to its own identifier, a device update time indicating an update time of the device list, and the public parameters;
a first transmission step of transmitting the device private key to a child terminal represented by an identifier included in the device list;
The transmitting terminal:
an encryption procedure for generating a ciphertext by encrypting a message using the identifier of the representative terminal and the device update time;
a second transmission procedure of transmitting the ciphertext to the representative terminal or the child terminal;
How to do it.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021163927A JP7721073B2 (en) | 2021-10-05 | 2021-10-05 | Cryptographic system, terminal, and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021163927A JP7721073B2 (en) | 2021-10-05 | 2021-10-05 | Cryptographic system, terminal, and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023054920A JP2023054920A (en) | 2023-04-17 |
| JP7721073B2 true JP7721073B2 (en) | 2025-08-12 |
Family
ID=85986218
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021163927A Active JP7721073B2 (en) | 2021-10-05 | 2021-10-05 | Cryptographic system, terminal, and method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7721073B2 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012098649A1 (en) | 2011-01-18 | 2012-07-26 | 三菱電機株式会社 | Encryption system, encryption processing method for encryption system, encryption device, encryption program, decryption device, decryption program, setup device, setup program, key generation device, key generation program, key assignment device and key assignment program |
| WO2015056601A1 (en) | 2013-10-16 | 2015-04-23 | 日本電信電話株式会社 | Key device, key cloud system, decryption method, and program |
-
2021
- 2021-10-05 JP JP2021163927A patent/JP7721073B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012098649A1 (en) | 2011-01-18 | 2012-07-26 | 三菱電機株式会社 | Encryption system, encryption processing method for encryption system, encryption device, encryption program, decryption device, decryption program, setup device, setup program, key generation device, key generation program, key assignment device and key assignment program |
| WO2015056601A1 (en) | 2013-10-16 | 2015-04-23 | 日本電信電話株式会社 | Key device, key cloud system, decryption method, and program |
Non-Patent Citations (1)
| Title |
|---|
| Nuttapong ATTRAPADUNG et al.,Multi-Input Functional Encryption with Controlled Decryption,IEICE TRANSACTIONS on Fundamentals of Electronics, Communications and Computer Sciences,2021年07月01日,Vol.E104-A, No.7,pp. 968-978 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023054920A (en) | 2023-04-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11909868B2 (en) | Orthogonal access control for groups via multi-hop transform encryption | |
| Liu et al. | Two-factor data security protection mechanism for cloud storage system | |
| JP6363032B2 (en) | Key change direction control system and key change direction control method | |
| JP5377540B2 (en) | Key management system | |
| JP2019531630A (en) | Method and system for data security based on quantum communication and trusted computing | |
| CN112966022B (en) | Information query method, device and system of data transaction platform | |
| GB2603495A (en) | Generating shared keys | |
| JP2019083447A (en) | Data transmission / reception system and data transmission / reception method | |
| CN115828310B (en) | Data query method and device based on privacy calculation and storage medium | |
| CN113918971A (en) | Block chain based message transmission method, device, equipment and readable storage medium | |
| US11177949B2 (en) | Data sharing method, data sharing system, data sharing server, communication terminal and program | |
| US20200177557A1 (en) | System and method for providing end-to-end security of data and metadata | |
| JP7721073B2 (en) | Cryptographic system, terminal, and method | |
| JP2019121999A (en) | Data sharing method, data sharing system, communication terminal, data sharing server, and program | |
| JP5643251B2 (en) | Confidential information notification system, confidential information notification method, program | |
| Pansara et al. | Chat application security: implementing blockchain-based end-to-end encryption | |
| KR101599996B1 (en) | Server and system for revocable identity based encryption | |
| CA2849174C (en) | System and method for the safe spontaneous transmission of confidential data over unsecure connections and switching computers | |
| WO2020051833A1 (en) | Information processing method, terminal device and network system | |
| CN115987526A (en) | Data sharing method, system and device based on service chain | |
| JPH11187008A (en) | Delivering method for cryptographic key | |
| Modi et al. | A Secure Communication Model for Expressive Access Control Using CP-ABE. | |
| Lloyd et al. | Key Management | |
| JP7254296B2 (en) | Key exchange system, information processing device, key exchange method and program | |
| KR101674643B1 (en) | System for unbounded hierarchical identity-based encryption with efficient revocation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20211007 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20211008 |
|
| A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20211020 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240507 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20240701 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20240702 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250131 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250204 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250401 |
|
| 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: 20250715 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250718 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7721073 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |