JP2019531673A - データ処理方法および装置 - Google Patents

データ処理方法および装置 Download PDF

Info

Publication number
JP2019531673A
JP2019531673A JP2019528015A JP2019528015A JP2019531673A JP 2019531673 A JP2019531673 A JP 2019531673A JP 2019528015 A JP2019528015 A JP 2019528015A JP 2019528015 A JP2019528015 A JP 2019528015A JP 2019531673 A JP2019531673 A JP 2019531673A
Authority
JP
Japan
Prior art keywords
key
terminal device
public key
data
kgc
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.)
Pending
Application number
JP2019528015A
Other languages
English (en)
Inventor
▲輝▼ 崔
▲輝▼ 崔
ロバート・エイチ・デン
迎九 李
迎九 李
▲貴▼林 王
▲貴▼林 王
子瀚 阮
子瀚 阮
Original Assignee
ホアウェイ インターナショナル ピーティーイー. リミテッド
ホアウェイ インターナショナル ピーティーイー. リミテッド
シンガポール・マネージメント・ユニヴァーシティ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ホアウェイ インターナショナル ピーティーイー. リミテッド, ホアウェイ インターナショナル ピーティーイー. リミテッド, シンガポール・マネージメント・ユニヴァーシティ filed Critical ホアウェイ インターナショナル ピーティーイー. リミテッド
Publication of JP2019531673A publication Critical patent/JP2019531673A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)

Abstract

本発明の実施形態はデータ処理方法および装置を開示する。方法は、端末デバイスにより、第1の公開鍵および第1の秘密鍵を生成するステップと、鍵生成センタ(KGC)に第1の公開鍵を送信するステップであって、第1の公開鍵が、変換鍵を生成するためにKGCまたはサーバによって使用され、変換鍵が、端末デバイスの属性構造に基づいて暗号化されたデータを、第1の公開鍵に基づいて暗号化されたデータに変換するためにサーバによって使用される、ステップと、サーバによって送信された第2のデータを受信するステップであって、第2のデータが、サーバが変換鍵に従って第1のデータを処理した後に生成されたデータである、ステップと、第1の秘密鍵に従って第2のデータを復号するステップとを含む。本発明の実施形態において提供されるデータ処理方法および装置によれば、主な作業は、鍵を送信するために安全なチャネルを使用する必要なしにサーバによって完了され、サーバの信頼性は必要とされず、それにより、端末デバイスの性能に対する属性ベースの暗号化(ABE)システムの要件が低減される。

Description

本発明は、通信分野に関し、詳細には、データ処理方法および装置に関する。
ABE(Attribute-Based Encryption、属性ベース暗号化)は、属性に基づいて暗号化が実行されるデータ処理方式である。ABEシステムは、大量のデータユーザ(簡潔にするために、以下では略して「ユーザ」と呼ばれる)にサービスすることができる。一部のユーザは、秘密鍵の暴露または会社からのユーザの退職などの理由で失効する必要がある。間接失効は、KGC(Key Generation Center、鍵生成センタ)が定期的に鍵更新作業を実行する、頻繁に使用されるABE失効方法であり、その結果、失効したユーザは、次の期間用の秘密鍵を取得することができず、したがって、データを復号することができない。
現在、ユーザは定期的にKGCに連絡して更新された鍵を入手する必要がある。したがって、鍵更新情報はユーザにとって比較的高いオーバーヘッドをもたらす。加えて、KGCは、安全なチャネルを使用してユーザに鍵情報を送信するために、常にオンラインである必要があり、鍵のサイズはシステム内のユーザ数に関係する。これは、ABEシステムの性能およびユーザ処理能力に対して比較的高い要件を課す。
これに鑑みて、本発明の実施形態はデータ処理方法および装置を提供する。信頼する必要のないサーバが従来のABEシステムにおいて使用され、そのサーバは、ユーザプロセッサの計算量を削減するために、ユーザ失効による鍵更新などの作業を実行するエージェントとして機能することができ、その結果、処理能力が限られているユーザは、クラウドプラットフォームまたは別のプラットフォームに記憶された属性ベース暗号化データに迅速にアクセスすることができる。加えて、鍵を送信するために安全なチャネルを使用する必要がなく、それにより、ABEシステムの性能要件が低減される。
一態様によれば、本発明の一実施形態はデータ処理方法を提供し、方法は、端末デバイスにより、第1の公開鍵および第1の秘密鍵を生成するステップであって、第1の公開鍵がデータを暗号化するために使用され、第1の秘密鍵が、第1の公開鍵を使用して暗号化されたデータを復号するために使用される、ステップと、端末デバイスにより、鍵生成センタKGCに第1の公開鍵を送信するステップであって、第1の公開鍵が、変換鍵を生成するためにKGCまたはサーバによって使用され、変換鍵が、端末デバイスの属性構造に基づいて暗号化されたデータを、第1の公開鍵に基づいて暗号化されたデータに変換するためにサーバによって使用され、属性構造が、データにアクセスするために満たされる必要がある条件を示すために使用される、ステップと、端末デバイスにより、サーバによって送信された第2のデータを受信するステップであって、第2のデータが、サーバが変換鍵に従って第1のデータを処理した後に生成されたデータであり、第1のデータが、端末デバイスの属性構造に基づいて暗号化され、サーバによって取得されたデータである、ステップと、端末デバイスにより、第1の秘密鍵に従って第2のデータを復号するステップとを含む。
本発明のこの実施形態において提供されるデータ処理方法によれば、端末デバイスは、第1の公開鍵および第1の秘密鍵を生成し、第1の公開鍵はデータを暗号化するために使用され、第1の秘密鍵は、第1の公開鍵を使用して暗号化されたデータを復号するために使用される。端末デバイスは、KGCに第1の公開鍵を送信し、その結果、KGCまたはサーバは、第1の公開鍵に従って変換鍵を生成し、第1の公開鍵は変換鍵の中にネストされる。したがって、サーバが、変換鍵を使用することにより、端末デバイスの属性構造に基づいて暗号化された暗号文を処理した後に生成されるものは、第1の公開鍵を使用して暗号化された暗号文である。端末デバイスは、第1の公開鍵と対にされた第1の秘密鍵を記憶する。サーバによって送信された部分的に復号された暗号文を受信した後、端末デバイスは、平文を生成するために、第1の秘密鍵および復号アルゴリズムに従って復号を実行することができる。第1の秘密鍵は常に端末デバイスに記憶され、第1の秘密鍵は別のデバイスに送信される必要がないので、本発明のこの実施形態におけるデータ処理方法では、安全なチャネルが使用される必要がない。加えて、サーバが第1のデータを処理した後に取得されるものは依然として暗号文なので、サーバが別のデバイスと共謀した場合でも、別のデバイスは最終的な平文を取得することができない。したがって、本発明のこの実施形態におけるデータ処理方法は、サーバのセキュリティ性能に要件を課さない。その上、本発明のこの実施形態における第1の秘密鍵は定数であってもよく、端末デバイスは、平文を取得するために、第1の秘密鍵に従って復号演算を実行するときに1回のべき乗演算を実行するだけでよい。これは、別の技術的解決策で大量の計算リソースが消費される双線形ペアリング演算を回避し、それにより、端末デバイスの処理能力に対する要件が低減され、端末デバイスのリソース利用率が向上する。
場合によっては、端末デバイスにより、KGCに第1の公開鍵を送信するステップは、端末デバイスにより、KGCに第1の公開鍵および認証情報を送信するステップを含み、認証情報は、端末デバイスが第1の秘密鍵を記憶することを示すために使用される。
KGCに第1の公開鍵を送信するとき、端末デバイスはKGCに認証情報をさらに送信することができ、認証情報は、端末デバイスが第1の公開鍵と対にされた第1の秘密鍵を記憶することを示すために使用される。この場合、KGCは、認証情報に従って、変換鍵を生成することを決定することができる。KGCが認証情報を受信しない場合、KGCは、第1の公開鍵が無認可の公開鍵であると見なすことができ、第1の公開鍵に対する後続の処理を終了する。これにより、ABEシステムのセキュリティ性能を向上させることができる。
場合によっては、端末デバイスにより、第1の公開鍵および第1の秘密鍵を生成するステップは、端末デバイスにより、システムパラメータおよび識別パラメータに従って第1の公開鍵および第1の秘密鍵を生成するステップを含み、システムパラメータはKGCによって生成された公開情報であり、識別パラメータは端末デバイスの識別情報である。
場合によっては、端末デバイスにより、第1の秘密鍵に従って第2のデータを復号するステップは、端末デバイスにより、システムパラメータ、識別パラメータ、および第1の秘密鍵に従って第2のデータを復号するステップを含む。
別の態様によれば、本発明の一実施形態はデータ処理方法を提供し、方法は、鍵生成センタKGCにより、端末デバイスから第1の公開鍵を受信するステップであって、第1の公開鍵がデータを暗号化するために使用される、ステップと、KGCにより、第1の公開鍵および端末デバイスの属性情報に従って第2の公開鍵を生成するステップであって、第2の公開鍵が、端末デバイスの属性構造に基づいて暗号化されたデータを、第1の公開鍵に基づいて暗号化されたデータに変換するためにサーバによって使用され、その結果、端末デバイスが、端末デバイスによって生成された第1の秘密鍵に従って、第1の公開鍵に基づいて暗号化されたデータを復号し、属性構造が、データにアクセスするために満たされる必要がある条件を示すために使用される、ステップと、KGCにより、サーバに第2の公開鍵を送信するステップとを含む。
端末デバイスによって送信された第1の公開鍵を受信した後、KGCは、第1の公開鍵および端末デバイスの属性に基づいて第2の公開鍵を生成することができる。第2の公開鍵は、端末デバイスの属性に基づく公開鍵であり、端末デバイスの属性に基づいて暗号化されたデータを復号するために使用されてもよい。第1の公開鍵は第2の公開鍵の中にネストされているので、端末デバイスの属性に基づいて暗号化されたデータが第2の公開鍵を使用して処理された後に生成されるデータは、第1の公開鍵に基づいて暗号化された暗号文である。端末デバイスは、端末デバイスに記憶された第1の秘密鍵を使用して、第1の公開鍵に基づいて暗号化された暗号文を復号することができる。第1の秘密鍵は、第1の公開鍵と対にされた鍵であり、第1の公開鍵に基づいて暗号化されたデータを復号するために使用されてもよい。本発明のこの実施形態では、端末デバイスの属性情報は端末デバイスの特定の識別情報であってもよく、KGCは、端末デバイスの第1の公開鍵および属性集合に従って第2の公開鍵をさらに生成することができる。
第1の秘密鍵は常に端末デバイスに記憶され、第1の秘密鍵は別のデバイスに送信される必要がないので、本発明のこの実施形態におけるデータ処理方法では、安全なチャネルが使用される必要がない。加えて、サーバが第1のデータを処理した後に取得されるものは依然として暗号文なので、サーバが別のデバイスと共謀した場合でも、別のデバイスは最終的な平文を取得することができない。したがって、本発明のこの実施形態におけるデータ処理方法は、サーバのセキュリティ性能に要件を課さない。その上、本発明のこの実施形態における第1の秘密鍵は定数であってもよく、端末デバイスは、平文を取得するために、第1の秘密鍵に従って復号演算を実行するときに1回のべき乗演算を実行するだけでよい。これは、別の技術的解決策で大量の計算リソースが消費される双線形ペアリング演算を回避し、それにより、端末デバイスの処理能力に対する要件が低減され、端末デバイスのリソース利用率が向上する。
場合によっては、KGCにより、第2の公開鍵を生成するステップの後に、方法は、
KGCにより、第2の公開鍵および鍵更新情報に従って変換鍵またはエラープロンプトを生成するステップであって、鍵更新情報が、端末デバイスが失効しているかどうかを示すために使用される、ステップと、端末デバイスが失効していることを鍵更新情報が示すとき、KGCにより、第2の公開鍵および鍵更新情報に従ってエラープロンプトを生成するステップ、または端末デバイスが失効していないことを鍵更新情報が示すとき、KGCにより、第2の公開鍵および鍵更新情報に従って変換鍵を生成するステップであって、変換鍵が、端末デバイスの属性構造に基づいて暗号化されたデータを、第1の公開鍵に基づいて暗号化されたデータに変換するためにサーバによって使用され、その結果、端末デバイスが、端末デバイスによって生成された第1の秘密鍵に従って、変換鍵を使用した変換の結果を復号する、ステップとをさらに含み、KGCにより、サーバに第2の公開鍵の送信するステップは、KGCにより、サーバに変換鍵を送信するステップ、またはKGCにより、サーバに第2の公開鍵および鍵更新情報を送信するステップであって、その結果、サーバが、第2の公開鍵および鍵更新情報に従って変換鍵もしくはエラープロンプトを生成する、ステップを含む。
本発明のこの実施形態におけるデータ処理方法によれば、端末デバイスが失効しているかどうかを示すために使用される鍵更新情報はKGCによって生成され、変換鍵またはエラー結果は鍵更新情報および第2の公開鍵に従って生成され、その結果、失効していない端末デバイスが暗号化データを取得することができ、失効している端末デバイスが暗号化データを取得することができないことを保証することができる。これにより、システムのセキュリティ性能が向上する。
場合によっては、KGCにより、第2の公開鍵を送信するステップの前に、方法は、KGCにより、端末デバイスから認証情報を受信するステップであって、認証情報が、端末デバイスが第1の秘密鍵を記憶することを示すために使用される、ステップと、認証情報に従って、第2の公開鍵を生成することを決定するステップとをさらに含む。
KGCに第1の公開鍵を送信するとき、端末デバイスはKGCに認証情報をさらに送信することができ、認証情報は、端末デバイスが第1の公開鍵と対にされた第1の秘密鍵を記憶することを示すために使用される。この場合、KGCは、認証情報に従って、第2の公開鍵を生成することを決定することができる。KGCが認証情報を受信しない場合、KGCは、第1の公開鍵が無認可の公開鍵であると見なすことができ、第1の公開鍵に対する後続の処理を終了する。これにより、ABEシステムのセキュリティ性能を向上させることができる。
場合によっては、KGCにより、第1の公開鍵および端末デバイスの属性情報に従って第2の公開鍵を生成するステップは、KGCにより、第1の公開鍵、端末デバイスの属性情報、システムパラメータ、マスタ鍵、およびKGCの内部状態情報に従って、第2の公開鍵および更新された内部状態情報を生成するステップであって、システムパラメータがKGCによって生成された公開情報であり、マスタ鍵がKGCによって生成された秘密鍵である、ステップを含む。
場合によっては、KGCにより、第2の公開鍵および鍵更新情報に従って変換鍵を生成するステップは、KGCにより、第2の公開鍵、鍵更新情報、システムパラメータ、および識別パラメータに従って、変換鍵を生成するステップであって、鍵更新情報が、端末デバイスが失効していないことを示す、ステップを含む。
さらに別の態様によれば、本発明の一実施形態はデータ処理方法を提供し、方法は、サーバにより、鍵生成センタKGCから第2の公開鍵を受信するステップであって、第2の公開鍵が、端末デバイスの属性構造に基づいて暗号化されたデータを、端末デバイスによって生成された第1の公開鍵に基づいて暗号化されたデータに変換するために使用され、その結果、端末デバイスが、端末デバイスによって生成された第1の秘密鍵に従って、第1の公開鍵を使用して暗号化されたデータを復号し、属性構造が、データにアクセスするために満たされる必要がある条件を示すために使用される、ステップと、サーバにより、第1のデータを取得するステップであって、第1のデータが、端末デバイスの属性構造に基づいて暗号化されたデータである、ステップと、サーバにより、第2の公開鍵に従って第1のデータを第2のデータに変換するステップであって、第2のデータが、第1の公開鍵に基づいて暗号化されたデータである、ステップと、サーバにより、端末デバイスに第2のデータを送信するステップであって、その結果、端末デバイスが第1の秘密鍵に従って第2のデータを復号する、ステップとを含む。
本発明のこの実施形態において提供されるデータ処理方法では、第2の公開鍵は、第1の公開鍵および端末デバイスの属性情報に基づいてKGCによって生成された公開鍵であり、第2の公開鍵は、端末デバイスの属性に基づく公開鍵であり、端末デバイスの属性に基づいて暗号化されたデータを復号するために使用されてもよい。第1の公開鍵は第2の公開鍵の中にネストされているので、端末デバイスの属性に基づいて暗号化されたデータが第2の公開鍵を使用して処理された後に生成されるデータは、第1の公開鍵に基づいて暗号化された暗号文である。端末デバイスは、端末デバイスに記憶された第1の秘密鍵を使用して第2のデータを復号することができる。第1の秘密鍵は、端末デバイスによって生成された鍵であり、第1の公開鍵に基づいて暗号化されたデータを復号するために使用されてもよい。
第1の秘密鍵は常に端末デバイスに記憶され、第1の秘密鍵は別のデバイスに送信される必要がないので、本発明のこの実施形態におけるデータ処理方法では、安全なチャネルが使用される必要がない。加えて、サーバが第1のデータを処理した後に取得されるものは依然として暗号文なので、サーバが別のデバイスと共謀した場合でも、別のデバイスは最終的な平文を取得することができない。したがって、本発明のこの実施形態におけるデータ処理方法は、サーバのセキュリティ性能に要件を課さない。その上、本発明のこの実施形態における第1の秘密鍵は定数であってもよく、端末デバイスは、平文を取得するために、第1の秘密鍵に従って復号演算を実行するときに1回のべき乗演算を実行するだけでよい。これは、別の技術的解決策で大量の計算リソースが消費される双線形ペアリング演算を回避し、それにより、端末デバイスの処理能力に対する要件が低減され、端末デバイスのリソース利用率が向上する。
場合によっては、サーバにより、第2の公開鍵を受信するステップの後に、方法は、サーバにより、KGCから鍵更新情報を受信するステップであって、鍵更新情報が、端末デバイスが失効しているかどうかを示すために使用される、ステップと、サーバにより、第2の公開鍵および鍵更新情報に従って、変換鍵またはエラープロンプトを生成するステップと、端末デバイスが失効していることを鍵更新情報が示すとき、サーバにより、第2の公開鍵および鍵更新情報に従ってエラープロンプトを生成するステップ、または端末デバイスが失効していないことを鍵更新情報が示すとき、サーバにより、第2の公開鍵および鍵更新情報に従って変換鍵を生成するステップであって、変換鍵が、端末デバイスの属性構造に基づいて暗号化されたデータを、第1の公開鍵に基づいて暗号化されたデータに変換するためにサーバによって使用され、その結果、端末デバイスが、端末デバイスによって生成された第1の秘密鍵に従って、第1の公開鍵を使用して暗号化されたデータを復号する、ステップとをさらに含み、サーバにより、第2の公開鍵に従って第1のデータを第2のデータに変換するステップは、サーバにより、変換鍵に従って第1のデータを第2のデータに変換するステップを含む。
本発明のこの実施形態におけるデータ処理方法によれば、端末デバイスが失効しているかどうかを示すために使用され、KGCによって生成された鍵更新情報が受信され、変換鍵またはエラー結果が鍵更新情報および第2の公開鍵に従って生成され、その結果、失効していない端末デバイスが暗号化データを取得することができ、失効している端末デバイスが暗号化データを取得することができないことを保証することができる。これにより、システムのセキュリティ性能が向上する。
場合によっては、サーバにより、第2の公開鍵および鍵更新情報に従って変換鍵を生成するステップは、サーバにより、第2の公開鍵、鍵更新情報、システムパラメータ、および識別パラメータに従って、変換鍵を生成するステップであって、システムパラメータがKGCによって生成された公開情報であり、識別パラメータが端末デバイスの識別情報である、ステップを含む。
場合によっては、サーバにより、変換鍵に従って第1のデータを第2のデータに変換するステップは、サーバにより、変換鍵、システムパラメータ、端末デバイスの属性情報、識別パラメータ、および時間パラメータに従って、第1のデータを第2のデータに変換するステップであって、システムパラメータがKGCによって生成された公開情報であり、識別パラメータが端末デバイスの識別情報であり、時間パラメータが、サーバが変換鍵を使用することを許可された時間を示すために使用される、ステップを含む。
さらに別の態様によれば、本発明の一実施形態はデータ処理装置を提供する。装置は、前述の態様の方法において端末デバイスによって実行される機能を実装することができる。機能は、ハードウェアによって実装されてもよく、ハードウェアを使用して関連ソフトウェアを実行することによって実装されてもよい。ハードウェアまたはソフトウェアは、前述の機能に対応する1つまたは複数のユニットまたはモジュールを含む。
可能な設計では、装置の構造内に、プロセッサおよび通信インターフェースが含まれる。プロセッサは、前述の方法において端末デバイスの対応する機能を実行する際に装置をサポートするように構成される。通信インターフェースは、装置と別の装置との間の通信をサポートするように構成される。装置はメモリをさらに含んでもよい。メモリは、プロセッサと結合されるように構成され、装置に必要なプログラム命令およびデータを記憶する。
さらに別の態様によれば、本発明の一実施形態はデータ処理装置を提供する。装置は、前述の態様の方法においてKGCによって実行される機能を実装することができる。機能は、ハードウェアによって実装されてもよく、ハードウェアを使用して関連ソフトウェアを実行することによって実装されてもよい。ハードウェアまたはソフトウェアは、前述の機能に対応する1つまたは複数のユニットまたはモジュールを含む。
可能な設計では、装置の構造内に、プロセッサおよび通信インターフェースが含まれる。プロセッサは、前述の方法においてKGCの対応する機能を実行する際に装置をサポートするように構成される。通信インターフェースは、装置と別の装置との間の通信をサポートするように構成される。装置はメモリをさらに含んでもよい。メモリは、プロセッサと結合されるように構成され、装置に必要なプログラム命令およびデータを記憶する。
さらに別の態様によれば、本発明の一実施形態はデータ処理装置を提供する。装置は、前述の態様の方法においてサーバによって実行される機能を実装することができる。機能は、ハードウェアによって実装されてもよく、ハードウェアを使用して関連ソフトウェアを実行することによって実装されてもよい。ハードウェアまたはソフトウェアは、前述の機能に対応する1つまたは複数のユニットまたはモジュールを含む。
可能な設計では、装置の構造内に、プロセッサおよび通信インターフェースが含まれる。プロセッサは、前述の方法においてサーバの対応する機能を実行する際に装置をサポートするように構成される。通信インターフェースは、装置と別の装置との間の通信をサポートするように構成される。装置はメモリをさらに含んでもよい。メモリは、プロセッサと結合されるように構成され、装置に必要なプログラム命令およびデータを記憶する。
さらに別の態様によれば、本発明の一実施形態はデータ処理装置を提供する。装置は、前述の態様に記載されたKGCおよびサーバを含む。
さらに別の態様によれば、本発明の一実施形態は通信システムを提供する。通信システムは、前述の態様に記載された端末デバイス、KGC、およびサーバを含む。
さらに別の態様によれば、本発明の一実施形態はコンピュータ記憶媒体を提供する。コンピュータ記憶媒体は、端末デバイスが使用するためのコンピュータソフトウェア命令を記憶するように構成され、前述の態様を実行するために設計されたプログラムを含む。
さらに別の態様によれば、本発明の一実施形態はコンピュータ記憶媒体を提供する。コンピュータ記憶媒体は、KGCが使用するためのコンピュータソフトウェア命令を記憶するように構成され、前述の態様を実行するために設計されたプログラムを含む。
さらに別の態様によれば、本発明の一実施形態はコンピュータ記憶媒体を提供する。コンピュータ記憶媒体は、サーバが使用するためのコンピュータソフトウェア命令を記憶するように構成され、前述の態様を実行するために設計されたプログラムを含む。
従来技術と比較して、本発明の実施形態において提供されるデータ処理方法によれば、端末デバイスが暗号文を完全に復号するために必要な鍵を別のデバイスに送信する必要がないので、本発明のこの実施形態におけるデータ処理方法において安全なチャネルが使用される必要がない。加えて、サーバが第1のデータを処理した後に取得されるものは依然として暗号文なので、サーバが別のデバイスと共謀した場合でも、別のデバイスは最終的な平文を取得することができない。したがって、本発明のこの実施形態におけるデータ処理方法は、サーバのセキュリティ性能に要件を課さない。その上、本発明のこの実施形態における第1の秘密鍵は定数であってもよく、端末デバイスは、平文を取得するために、第1の秘密鍵に従って復号演算を実行するときに1回のべき乗演算を実行するだけでよい。これは、別の技術的解決策で大量の計算リソースが消費される双線形ペアリング演算を回避し、それにより、端末デバイスの処理能力に対する要件が低減され、端末デバイスのリソース利用率が向上する。
本発明の実施形態における技術的解決策をより明確に記載するために、以下で、本発明の実施形態を記載するために必要とされる添付図面を簡単に記載する。当然ながら、以下の説明における添付図面は本発明のいくつかの実施形態を示すにすぎず、当業者は、創造的な努力なしに、これらの添付図面から他の図面をさらに導出することができる。
本発明の一実施形態が適用可能なシステムアーキテクチャの可能な概略図である。 本発明の一実施形態が適用可能なKUNodesアルゴリズムの概略図である。 本発明の一実施形態による、データ処理方法の概略図である。 本発明の一実施形態による、別のデータ処理方法の概略図である。 本発明の一実施形態による、さらに別のデータ処理方法の概略図である。 本発明の一実施形態が適用可能な二分木の概略図である。 本発明の一実施形態が適用可能な別の二分木の概略図である。 本発明の一実施形態による、端末デバイスの可能な概略図である。 本発明の一実施形態による、端末デバイスの別の可能な概略図である。 本発明の一実施形態による、KGCの可能な概略図である。 本発明の一実施形態による、KGCの別の可能な概略図である。 本発明の一実施形態による、サーバの可能な概略図である。 本発明の一実施形態による、サーバの別の可能な概略図である。
本発明の実施形態の目的、技術的解決策、および利点をより明確にするために、以下で、本発明の実施形態における添付図面を参照して、本発明の実施形態の技術的解決策を記載する。
本発明の実施形態に記載されたシステムアーキテクチャおよびサービスシナリオは、本発明の実施形態における技術的解決策をより明確に記載するものであり、本発明の実施形態において提供される技術的解決策に対していかなる制限も構成しない。当業者は、システムアーキテクチャの進化および新しいサービスシナリオの出現に伴い、本発明の実施形態において提供される技術的解決策が、同様の技術的問題にも適用可能であることを知ることができる。
図1は、本発明の一実施形態による、SR-ABE(Server-Aided Revocable Attribute-Based Encryption、サーバ支援取消可能属性ベース暗号化)システムアーキテクチャの概略図である。図1に示されたように、システムアーキテクチャは、端末デバイス(すなわち、データユーザ)110と、KGC120と、サーバ130と、クラウドプラットフォーム140と、データプロバイダ150とを含む。システムアーキテクチャの可能なワークフローは以下のように記載される。
ステップ1:KGC120が、システム初期化中にSetup(初期化)アルゴリズムを実行して、システム公開パラメータを生成する。
ステップ2:端末デバイス110が、UserKG(ユーザ鍵生成)アルゴリズムを実行して、ユーザ公開鍵/秘密鍵のペアを生成し、ユーザ秘密鍵は、ユーザ公開鍵を使用して暗号化されたデータを復号するために使用されてもよく、端末デバイス110は、ユーザ秘密鍵を記憶し、KGC120にユーザ公開鍵を送信する。
ステップ3:KGC120が、ユーザ公開鍵、システム公開パラメータ、端末デバイス110の属性情報、およびPubKG(公開鍵生成)アルゴリズムに従って、属性ベースの公開鍵を生成し、サーバ130に属性ベースの公開鍵を送信する。
ステップ4:KGC120が、TKeyUp(鍵更新)アルゴリズムを周期的に実行して、端末デバイス110向けの鍵更新情報を生成し、サーバ130に鍵更新情報を送信する。
ステップ5:データプロバイダ150が、指定されたアクセス構造および時間期間値に従って、Encrypt(暗号化)アルゴリズムを実行して、データプロバイダ150によって提供されたデータを暗号化し、暗号化を介して生成された暗号文をクラウドプラットフォーム140にアップロードし、アクセス構造は属性ベースのアクセス構造である。
ステップ6:端末デバイス110が、クラウドプラットフォーム140から暗号文を取得し、サーバ130に暗号文を転送する。
ステップ7:端末デバイス110が失効していないことを鍵更新情報が示す場合、サーバ130は、TranKG(変換鍵生成)アルゴリズムを使用することにより、属性ベースの公開鍵および鍵更新情報に従って変換鍵を生成することができ、変換鍵は暗号文を処理するために使用される。
ステップ8:サーバ130が、変換鍵に従ってTransform(変換)アルゴリズムを実行して、端末デバイス110から取得された暗号文を部分的に復号し、端末デバイス110に部分復号の結果を送信し、端末デバイス110の属性は、暗号文のアクセス構造の要件を満たす。
ステップ9:端末デバイス110が、記憶されたユーザ秘密鍵に従ってDecrypt(復号)アルゴリズムを実行して、部分復号の結果を完全に復号して平文を生成する。
ステップ10:端末デバイス110が失効する必要がある場合、KGC120は、Revoke(失効)アルゴリズムを実行して、更新された鍵更新情報を生成することができ、更新された鍵更新情報は端末デバイス110が失効したことを示し、その結果、サーバは、端末デバイス110の属性に基づく公開鍵に従って変換鍵を生成することができず、端末デバイス110はデータを取得し続けることができない。
図1に示されたシステムアーキテクチャでは、変換鍵は、端末デバイス110のユーザ公開鍵に基づいて生成された鍵である。したがって、サーバ130が、変換鍵を使用することにより、属性に基づいて暗号化された暗号文に対して変換処理を実行した後、生成された部分的に復号された暗号文は、ユーザ公開鍵に基づいて暗号化された暗号文であり、部分的に復号された暗号文は、端末110に記憶されたユーザ秘密鍵を使用することによってのみ復号することができる。このようにして、部分的に復号された暗号文が別のデバイスによって取得された場合でも、別のデバイスは依然として暗号文を復号することができないので、データセキュリティは保証される。
本発明のこの実施形態が適用可能な前述のシステムアーキテクチャは、説明のための例にすぎず、本発明のこの実施形態は、別のシステムアーキテクチャに適用されてもよい。たとえば、図1に示されたKGC120およびサーバ130は、いくつかのシナリオではハードウェアデバイスの異なる機能モジュールとして機能することができる。別の例を挙げると、端末デバイス110はサーバ130に指示情報を送信することができ、指示情報は、端末デバイス110によって必要とされる暗号文を示すために使用され、サーバ130は、指示情報に従ってクラウドプラットフォーム140から対応する暗号文を取得することができる。
図1に示されたデバイスまたはモジュールの数および名前は例にすぎず、本発明のこの実施形態におけるアプリケーションシナリオが、図1に示されたシナリオに限定されることを意味しないことも理解されるべきである。
本発明のこの実施形態の理解を容易にするために、以下では、最初に本発明に関連する要素を簡単に説明する。
双線形ペアリング(Bilinear Pairing):GおよびG1は次数が素数pである2つの乗法群であり、gはGの生成元である。効率的に計算可能な写像
は、以下の条件を満たす場合、双線形ペアリング写像と呼ばれる。
双線形性:任意の
について、
が成立する。
非縮退:
が成立し、1はG1の単位元である。
決定論的(q−1)仮定:任意の確率的多項式時間アルゴリズムでは、
と仮定される。
このアルゴリズムでは、
の間を区別することは困難である。ここで、qは所与の整数であり、gは群Gの生成元であり、Z∈G1であり、a、μ、b1、…、およびbqは、
に属し、独立して均一に選択される乱数であり、
は計算可能な双線形ペアリング写像である。
アクセス構造:P={P1,…,Pn}を関係者の集合とする。群
が単調であると記載されることは、群が以下の条件を満たすことを意味する:Pの任意の2つの部分集合BおよびCについて、B∈AかつB⊆Cならば、C∈Aが成立する。単調アクセス構造は、Pの空でない部分集合を含む単調群A、すなわち、
である。群A内の要素は認可集合と呼ばれ、Pの部分集合であるが群A内にない要素は無認可集合と呼ばれる。
LSSS:(Linear Secret Sharing Scheme、線形秘密分担方式):P={P1,…,Pn}を関係者の集合とし、Mをl行n列の行列とし、ρ:{1,…,l}→Pを行列Mの各行がPの関係者に写像されるラベリング関数とする。集合Pのための秘密分担方式IIは、Zp上の線形秘密分担方式であり、以下の条件を満たす:
Pの各関係者の秘密分担はZp内のベクトルであり、
x=1,…,lに対して、行列Mのx番目の行がラベリング関数ρを使用して関係者ρ(i)に対応することを真にする、l行n列を有する(秘密分担方式IIでは分担生成行列と呼ばれる)1つの行列Mが存在する。Zpに属し、分担される必要がある秘密μ、ならびにZpに属するランダムに選択された数r2、…、およびrnの場合、列ベクトルは
によって表記される。この場合、
は、秘密分担方式IIにおいて秘密μが分担された後に取得されるl個の秘密分担を示す。
は、関係者ρ(i)のために取得された分担である。
各LSSSは線形復元によって特徴付けられる。IIがアクセス構造Aに対応する線形秘密分担方式を表すと仮定する。認可集合Aに対して、インデックス集合は、I={i|ρ(i)∈A}⊂{1,…,l}と定義される。この場合、ベクトル(1,0,…,0)は、インデックス集合Iによってインデックス付けされた行列Mの行が拡張され、定数集合{wi∈Zpi∈Iが、IIに従って生成された秘密μの任意の有効な秘密分担{vi}に対して、秘密μが
に従って復元され得ることを真とした後に形成される空間内にある。加えて、これらの定数{w1}は、分担生成行列Mのサイズに相当する多項式時間内に計算することができる。
対照的に、無認可集合A'の場合、そのような定数集合{w1}は存在しない。さらに、I'を{i|ρ(i)∈A'}とすると、ベクトル
の第1の成分w1がZp内であるが<Miである任意の非ゼロ要素であり得ることを真にするベクトル
が存在し、
>は、I'に属する任意のiについて0に等しい。ここで、Miは行列Mのi番目の行である。
アクセス制御ポリシーは、単調ブール式を使用して記述されてもよい。線形秘密分担方式(LSSS)のアクセス構造はより一般化されており、ブール式から導出することができる。言い換えれば、線形秘密分担方式において任意の単調ブール式を対応する分担生成行列Mに変換するために使用される標準的な方法が存在する。加えて、ブール式は、その内部ノードがANDゲートおよびORゲートに対応し、そのリーフノードが属性に対応するアクセス制御ツリーとして記述されてもよい。LSSS秘密分担方式における分担生成行列Mの対応する行数は、アクセス制御ツリーにおけるリーフノードの数、すなわち属性の総数である。
二分木およびKUNodesアルゴリズム
図2に示されたように、BTは、N人のユーザに対応するN個のリーフノードを有する二分木を表記する。rootを二分木BTのルートノードとする。リーフノードθに対して、Path(θ)は、θからrootへの経路内の(θおよびrootを含む)すべてのノードの集合を示すために使用される。θがリーフノードでない場合、θlおよびθrは、それぞれ、θの左サブノードおよび右サブノードを示すために使用される。ツリーの中のすべてのノードは文字列として一意に符号化されていると仮定し、ツリーはツリーのノードの表現によって定義される。KUNodesアルゴリズムは、鍵の更新が実行される必要がある最小ノード集合を計算するために使用され、その結果、時間期間t内に失効しないユーザのみが時間期間内に生成された暗号文を復号することができる。二分木BT、失効リストrl、および時間期間値tがアルゴリズムに入力され、BT内の最小ノード集合が出力され、その結果、失効リストrl内の任意のノードの場合、集合内に(ノード自体を含む)ノードのいかなる祖先もなく、別のノード(すなわち、失効していないすべてのノード)の場合、(別のノード自体を含む)1つの祖先しか集合内に存在しない。時間期間tに対応する失効リストrlは、その時間期間内およびその時間期間前に失効したすべてのユーザを含む。図2は、KUNodesアルゴリズムの概略ワークフローを示す。アルゴリズムによれば、すべての失効したノードのすべての祖先ノードは、失効したノードとして最初にマークされ、次いで、これらの失効したノードの失効していないサブノードが出力される。KUNodesアルゴリズムは以下のように厳密に記述される。
以下では、図3〜図5を参照して、本発明の一実施形態によるデータ処理方法を詳述する。
図3は、本発明の一実施形態による、データ処理方法の概略フローチャートを示す。図3に示されたように、方法300は以下のステップを含む。
S310.端末デバイスが第1の公開鍵および第1の秘密鍵を生成し、第1の公開鍵はデータを暗号化するために使用され、第1の秘密鍵は、第1の公開鍵を使用して暗号化されたデータを復号するために使用される。
S320.端末デバイスが鍵生成センタKGCに第1の公開鍵を送信し、第1の公開鍵は変換鍵を生成するためにKGCまたはサーバによって使用され、変換鍵は、端末デバイスの属性構造に基づいて暗号化されたデータを、第1の公開鍵に基づいて暗号化されたデータに変換するためにサーバによって使用され、属性構造はデータにアクセスするために満たされる必要がある条件を示すために使用される。
S330.端末デバイスがサーバによって送信された第2のデータを受信し、第2のデータは、サーバが変換鍵に従って第1のデータを処理した後に生成されたデータであり、第1のデータは、端末デバイスの属性構造に基づく暗号化を介して生成され、サーバによって取得されたデータである。
S340.端末デバイスが第1の秘密鍵に従って第2のデータを復号する。
本発明のこの実施形態では、端末デバイスはモノのインターネット(Internet of Things、IoT)内の端末デバイスであってもよく、マシン間(Machine to Machine、M2M)通信システム内の端末デバイスもしくはワイヤレスセンサネットワーク(Wireless Sensor Network、WSN)内の端末デバイスであってもよく、または別のタイプの端末デバイスであってもよい。
端末デバイスによって生成された第1の公開鍵および第1の秘密鍵は対になり、第1の公開鍵はデータを暗号化するために使用され、第1の秘密鍵は、第1の公開鍵を使用して暗号化されたデータを復号するために使用され得る。端末デバイスは、KGCに第1の公開鍵を送信し、その結果、KGCまたはサーバは、第1の公開鍵に従って変換鍵を生成する。変換鍵は、端末デバイスの属性(端末デバイスの属性は端末デバイスのユーザの属性に基づき、たとえば、ユーザが失効すると、端末デバイスの属性はそれに応じて変化する)に基づく鍵であり、第1の公開鍵は変換鍵の中にネストされる。したがって、サーバが変換鍵を使用して、端末デバイスの属性構造に基づいて暗号化された暗号文(すなわち、第1のデータ)を処理した後、生成されたものは、第1の公開鍵に結び付けられた部分的に復号された暗号文(すなわち、第2のデータ)であり、実際には、部分的に復号された暗号文は、第1の公開鍵を使用して暗号化された暗号文である。端末デバイスは、第1の公開鍵と対にされた第1の秘密鍵を記憶する。サーバによって送信された部分的に復号された暗号文を受信した後、端末デバイスは、平文を取得するために、第1の秘密鍵および復号アルゴリズムに従って暗号文を復号することができる。
第1の秘密鍵は常に端末デバイスに記憶され、第1の秘密鍵は別のデバイスに送信される必要がないので、本発明のこの実施形態におけるデータ処理方法では、安全なチャネルが使用される必要がない。加えて、サーバが第1のデータを処理した後に取得されるものは依然として暗号文なので、サーバが別のデバイスと共謀した場合でも、別のデバイスは最終的な平文を取得することができない。したがって、本発明のこの実施形態におけるデータ処理方法は、サーバのセキュリティ性能に要件を課さない。その上、本発明のこの実施形態における第1の秘密鍵は定数であってもよく、端末デバイスは、平文を取得するために、第1の秘密鍵に従って復号演算を実行するときに1回のべき乗演算を実行するだけでよい。これは、別の技術的解決策で大量の計算リソースが消費される双線形ペアリング演算を回避し、それにより、端末デバイスの処理能力に対する要件が低減され、端末デバイスのリソース利用率が向上する。
場合によっては、端末デバイスにより、KGCに第1の公開鍵を送信するステップは、以下のステップを含む。
S321.端末デバイスがKGCに第1の公開鍵および認証情報を送信し、認証情報は、端末デバイスが第1の秘密鍵を記憶することを示すために使用される。
KGCに第1の公開鍵を送信するとき、端末デバイスはKGCに認証情報をさらに送信することができ、認証情報は、端末デバイスが第1の公開鍵と対にされた第1の秘密鍵を記憶することを示すために使用される。この場合、KGCは、認証情報に従って、変換鍵を生成することを決定することができる。KGCが認証情報を受信しない場合、KGCは、第1の公開鍵が無認可の公開鍵であると見なすことができ、第1の公開鍵に対する後続の処理を終了する。これにより、ABEシステムのセキュリティ性能を向上させることができる。
場合によっては、端末デバイスにより、第1の公開鍵および第1の秘密鍵を生成するステップは、以下のステップを含む。
S311.端末デバイスが、システムパラメータおよび識別パラメータに従って第1の公開鍵および第1の秘密鍵を生成し、システムパラメータはKGCによって生成された公開情報であり、識別パラメータは端末デバイスの識別情報である。
システムパラメータはKGCによって生成された公開情報であり、システム内の任意のデバイスがシステムパラメータを取得することができる。たとえば、システムパラメータは、KGCがセキュリティパラメータλを入力し、ABEのシステムセットアップアルゴリズム、すなわち、(par,msk)←ABE.Setup(1λ)を実行した後に生成されてもよく、ここで、parはシステムパラメータであり、mskはマスタ鍵であり、ABE.Setupは属性ベース暗号化のシステムセットアップアルゴリズムである。
端末デバイスは、システム公開パラメータpar、ユーザ識別情報id(すなわち、識別パラメータ)、およびElGamal鍵生成アルゴリズム、すなわち、(skid,pkid)←ElGamal.KeyGen(1λ)に従って、端末デバイス用の鍵のペア(すなわち、第1の公開鍵および第1の秘密鍵)を生成することができ、ここで、skidは第1の秘密鍵、pkidは第1の公開鍵、ElGamal.KeyGenはElGamal鍵生成アルゴリズムである。
場合によっては、端末デバイスにより、第1の秘密鍵に従って第2のデータを復号するステップは、以下のステップを含む。
S341.端末デバイスが、システムパラメータ、識別パラメータ、および第1の秘密鍵に従って第2のデータを復号し、システムパラメータはKGCによって生成された公開情報であり、識別パラメータは端末デバイスの識別情報である。
端末デバイスは、システムパラメータpar、ユーザ識別情報id、第1の秘密鍵skid、変換された暗号文CT'(すなわち、第2のデータ)、およびElGamal復号アルゴリズム、すなわち、m'←ElGamal.Dec(skid,CT')に従って、平文(すなわち、ターゲットデータ)を出力することができ、ここで、ElGamal.DecはElGamal復号アルゴリズムであり、m'は平文である。
前述の実施形態は説明のための一例にすぎず、本発明のこの実施形態はそれに限定されない。第1の公開鍵および第1の秘密鍵を生成するために使用され得る任意のアルゴリズム、および第2のデータを復号するために使用され得る任意のアルゴリズムは、本発明の保護範囲内に入るべきである。
本発明のこの実施形態におけるデータ処理方法によれば、端末デバイスは公開鍵/秘密鍵のペアを生成し、変換鍵を生成するためにKGCに公開鍵を送信し、変換鍵は、端末デバイスの属性に基づいて暗号化されたデータを、公開鍵に基づいて暗号化されたデータに変換するためにサーバによって使用され、端末デバイスのみが、端末デバイスに記憶された秘密鍵を使用することにより、公開鍵に基づいて暗号化されたデータを復号することができる。このようにして、秘密鍵を送信するために安全なチャネルが使用される必要がなく、サーバのセキュリティ性能に対して要件は課されない。加えて、端末デバイスに記憶された秘密鍵は定数であってもよいので、端末デバイスの処理能力に対する要求が低減され、端末デバイスのリソース利用率が向上する。
上記では、図3を参照して、端末デバイスの観点から本発明の実施形態によるデータ処理方法を詳述した。以下では、図4を参照して、KGCの観点から本発明の一実施形態によるデータ処理方法を詳述する。
図4は、本発明の一実施形態による、別のデータ処理方法の概略フローチャートを示す。図4に示されたように、方法400は以下のステップを含む。
S410.鍵生成センタKGCが端末デバイスから第1の公開鍵を受信し、第1の公開鍵はデータを暗号化するために使用される。
S420.KGCが、第1の公開鍵および端末デバイスの属性情報に従って第2の公開鍵を生成し、第2の公開鍵は、端末デバイスの属性構造に基づいて暗号化されたデータを、第1の公開鍵に基づいて暗号化されたデータに変換するためにサーバによって使用され、その結果、端末デバイスは、端末デバイスによって生成された第1の秘密鍵に従って、第1の公開鍵に基づいて暗号化されたデータを復号し、属性構造は、データにアクセスするために満たされる必要がある条件を示すために使用される。
S430.KGCがサーバに第2の公開鍵を送信する。
端末デバイスによって送信された第1の公開鍵を受信した後、KGCは、第1の公開鍵および端末デバイスの属性に基づいて第2の公開鍵を生成することができる。第2の公開鍵は、端末デバイスの属性に基づく公開鍵であり、端末デバイスの属性に基づいて暗号化されたデータを復号するために使用されてもよい。第1の公開鍵は第2の公開鍵の中にネストされているので、端末デバイスの属性に基づいて暗号化されたデータが第2の公開鍵を使用して処理された後に生成されるデータは、第1の公開鍵に基づいて暗号化された暗号文である。端末デバイスは、端末デバイスに記憶された第1の秘密鍵を使用して、第1の公開鍵に基づいて暗号化された暗号文を復号することができる。第1の秘密鍵は、第1の公開鍵と対にされた鍵であり、第1の公開鍵に基づいて暗号化されたデータを復号するために使用されてもよい。本発明のこの実施形態では、端末デバイスの属性情報は端末デバイスの特定の識別(id)情報であってもよく、KGCは、第1の公開鍵および端末デバイスの属性集合(すなわち、複数の属性の集合)に従って、第2の公開鍵をさらに生成することができる。
第1の秘密鍵は常に端末デバイスに記憶され、第1の秘密鍵は別のデバイスに送信される必要がないので、本発明のこの実施形態におけるデータ処理方法では、安全なチャネルが使用される必要がない。加えて、サーバが第1のデータを処理した後に取得されるものは依然として暗号文なので、サーバが別のデバイスと共謀した場合でも、別のデバイスは最終的な平文を取得することができない。したがって、本発明のこの実施形態におけるデータ処理方法は、サーバのセキュリティ性能に要件を課さない。その上、本発明のこの実施形態における第1の秘密鍵は定数であってもよく、端末デバイスは、平文を取得するために、第1の秘密鍵に従って復号演算を実行するときに1回のべき乗演算を実行するだけでよい。これは、別の技術的解決策で大量の計算リソースが消費される双線形ペアリング演算を回避し、それにより、端末デバイスの処理能力に対する要件が低減され、端末デバイスのリソース利用率が向上する。
場合によっては、KGCにより、第2の公開鍵を生成するステップの後に、方法は以下のステップをさらに含む。
S421.KGCが、第2の公開鍵および鍵更新情報に従って変換鍵またはエラープロンプトを生成し、鍵更新情報は端末デバイスが失効しているかどうかを示すために使用され、端末デバイスが失効していることを鍵更新情報が示すとき、KGCが、第2の公開鍵および鍵更新情報に従ってエラープロンプトを生成し、または端末デバイスが失効していないことを鍵更新情報が示すとき、KGCが、第2の公開鍵および鍵更新情報に従って変換鍵を生成し、変換鍵は、端末デバイスの属性に基づいて暗号化されたデータを、第1の公開鍵に基づいて暗号化されたデータに変換するためにサーバによって使用され、その結果、端末デバイスは、端末デバイスによって生成された第1の秘密鍵に従って、変換鍵を使用した変換の結果を復号し、KGCにより、サーバに第2の公開鍵の送信するステップは以下を含む。S422.KGCがサーバに変換鍵を送信する、または
S423.KGCがサーバに第2の公開鍵および鍵更新情報を送信し、その結果、サーバは、第2の公開鍵および鍵更新情報に従って変換鍵もしくはエラープロンプトを生成する。
端末デバイスが現在非失効状態にある場合、KGCは、端末デバイスが失効していないことを示す失効リストに従って鍵更新情報を生成することができ、鍵更新情報は端末が失効していないことを示すために使用され、KGCは、第2の公開鍵および鍵更新情報に従って変換鍵を生成し、変換鍵は依然として端末デバイスの属性に基づく鍵であり、その中に第1の公開鍵がネストされる。KGCはサーバに変換鍵を送信し、サーバは、変換鍵を使用することにより、端末デバイスの属性に基づいて暗号化されたデータを第1の公開鍵に基づいて暗号化されたデータに変換することができ、その結果、端末デバイスは、端末デバイスによって生成された第1の秘密鍵に従って、変換鍵を使用した変換の結果を復号する。
あるいは、KGCは、第2の公開鍵、および端末が失効していないことを示す鍵更新情報をサーバに送信でき、その結果、サーバは、第2の公開鍵および鍵更新情報に従って変換鍵を生成する。
端末デバイスが現在失効状態にある場合、KGCは、端末デバイスが失効していることを示す失効リストに従って鍵更新情報を生成することができ、鍵更新情報は端末が失効していることを示すために使用され、KGCは、鍵更新情報および第2の公開鍵に従ってエラープロンプトを生成する。
あるいは、KGCは、第2の公開鍵、および端末が失効していることを示す鍵更新情報をサーバに送信でき、その結果、サーバは、第2の公開鍵および鍵更新情報に従ってエラープロンプトを生成する。
本発明のこの実施形態におけるデータ処理方法によれば、端末デバイスが失効していないかどうかを示すために使用される鍵更新情報がKGCによって生成され、変換鍵が鍵更新情報および第2の公開鍵に従って生成され、その結果、失効していない端末デバイスが暗号化データを取得することができ、失効している端末デバイスが暗号化データを取得することができないことを保証することができる。これにより、システムのセキュリティ性能が向上する。
場合によっては、KGCにより、第2の公開鍵を生成するステップの前に、方法400は以下をさらに含む。
S411.KGCが端末デバイスから認証情報を受信し、認証情報は、端末デバイスが第1の秘密鍵を記憶することを示すために使用される。
S412.KGCが認証情報に従って第2の公開鍵を生成することを決定する。
KGCに第1の公開鍵を送信するとき、端末デバイスはKGCに認証情報をさらに送信することができ、認証情報は、端末デバイスが第1の公開鍵と対にされた第1の秘密鍵を記憶することを示すために使用される。この場合、KGCは、認証情報に従って、第2の公開鍵を生成することを決定することができる。KGCが認証情報を受信しない場合、KGCは、第1の公開鍵が無認可の公開鍵であると見なすことができ、第1の公開鍵に対する後続の処理を終了する。これにより、ABEシステムのセキュリティ性能を向上させることができる。
場合によっては、KGCにより、第1の公開鍵および端末デバイスの属性情報に従って第2の公開鍵を生成するステップは、以下のステップを含む。
S426.KGCが、第1の公開鍵、端末デバイスの属性情報、システムパラメータ、マスタ鍵、およびKGCの内部状態情報に従って、第2の公開鍵および更新された内部状態情報を生成し、システムパラメータはKGCによって生成された公開情報であり、マスタ鍵はKGCによって生成された秘密鍵である。
KGCは、初期化中にシステムパラメータparおよびマスタ鍵mskを生成することができる。たとえば、端末デバイスがセキュリティパラメータλを入力し、ABEのシステムセットアップアルゴリズム、すなわち、(par,msk)←ABE.Setup(1λ)を実行し、ここで、ABE.Setupは属性ベース暗号化のシステムセットアップアルゴリズムである。加えて、アルゴリズムは、最初に空の失効リストrlおよび状態情報stを用意し、最後に(par,msk,rl,st)を出力する。
第2の公開鍵を生成することを決定した場合、KGCは以下の方法で第2の公開鍵を生成することができる:システムパラメータpar、マスタ鍵msk、第1の公開鍵pkid、属性集合A(すなわち、端末デバイスの複数の属性情報を含む集合)、およびKGCの内部状態stを入力するステップ、中間鍵、すなわち、skA,id←ABE.KeyGen(msk,A,id,st)を取得するためにABEの鍵生成アルゴリズムを実行するステップであって、ABE.KeyGenが属性ベース暗号化の鍵生成アルゴリズムである、ステップ、ElGamal暗号化アルゴリズムを使用して中間鍵を暗号化するステップ、ならびに端末デバイスの属性ベースの鍵(すなわち、第2の公開鍵)を出力するステップ、すなわち、pkid A←ElGamal.Enc(pkid,skA,id)であって、ElGamal.EncがElGamal暗号化アルゴリズムである、ステップ。ElGamal暗号化アルゴリズムは、セキュリティ性能を向上させるために中間鍵skA,idの内容全体を暗号化するか、またはKGCの計算負荷を低減するために中間鍵skA,idの一部のみを暗号化するために使用されてもよい。
場合によっては、KGCにより、第2の公開鍵および第1の鍵更新情報に従って変換鍵を生成するステップは、以下のステップを含む。
S427:KGCが、第2の公開鍵、第1の鍵更新情報、システムパラメータ、および識別パラメータに従って変換鍵を生成し、鍵更新情報は端末デバイスが失効していないことを示す。
KGCは、以下の方法で第1の鍵更新情報を生成することができる:システムパラメータpar、マスタ鍵msk、時間期間値t、失効リストrl、および内部状態stを入力するステップ、ならびにアルゴリズムが第1の鍵更新情報を出力するためのABEの鍵更新アルゴリズムを実行するステップ、すなわち、tkut←ABE.KeyUpdate(msk,rl,t,st)であって、ABE.KeyUpdateが属性ベース暗号化の鍵更新アルゴリズムであり、失効リストrlが端末デバイスを含み、内部状態stが鍵更新アルゴリズムによって変更される、ステップ。
さらに、KGCは、以下の方法で変換鍵を生成することができる:システムパラメータpar、ユーザ識別情報id(すなわち、識別パラメータ)、第2の鍵pkid A、および第1の鍵更新情報tkutを入力するステップ、ならびに変換鍵tkid,t=(pkid A,tkut)を出力するステップ。
前述の実施形態は説明のための一例にすぎず、本発明のこの実施形態はそれに限定されない。第2の公開鍵、第1の鍵更新情報、および変換鍵を生成するために使用され得る任意のアルゴリズムは、本発明の保護範囲内に入るべきである。
本発明のこの実施形態におけるデータ処理方法によれば、KGCは、端末デバイスによって送信された第1の公開鍵を受信し、端末デバイスの属性に基づいて暗号化されたデータを、第1の公開鍵に基づいて暗号化されたデータに変換するために、第1の公開鍵に従って、端末デバイスの属性に基づく第2の公開鍵を生成し、端末デバイスのみが、端末デバイスに記憶された第1の秘密鍵を使用することにより、第1の公開鍵に基づいて暗号化されたデータを復号することができる。このようにして、秘密鍵を送信するために安全なチャネルが使用される必要がなく、サーバのセキュリティ性能に対して要件は課されない。加えて、端末デバイスに記憶された秘密鍵は定数であってもよいので、端末デバイスの処理能力に対する要求が低減され、端末デバイスのリソース利用率が向上する。
上記では、図4を参照して、KGCの観点から本発明の実施形態によるデータ処理方法を詳述した。以下では、図4を参照して、サーバの観点から本発明の一実施形態によるデータ処理方法を詳述する。
図5は、本発明の一実施形態による、さらに別のデータ処理方法の概略フローチャートを示す。図5に示されたように、方法500は以下のステップを含む。
S510.サーバが鍵生成センタKGCから第2の公開鍵を受信し、第2の公開鍵は、端末デバイスの属性構造に基づいて暗号化されたデータを、端末デバイスによって生成された第1の公開鍵に基づいて暗号化されたデータに変換するために使用され、その結果、端末デバイスは、端末デバイスによって生成された第1の秘密鍵に従って、第1の公開鍵を使用して暗号化されたデータを復号し、属性構造は、データにアクセスするために満たされる必要がある条件を示すために使用される。
S520.サーバが第1のデータを取得し、第1のデータは端末デバイスの属性構造に基づいて暗号化されたデータである。
S530.サーバが第2の公開鍵に従って第1のデータを第2のデータに変換し、第2のデータは第1の公開鍵に基づいて暗号化されたデータである。
S540.サーバが端末デバイスに第2のデータを送信し、その結果、端末デバイスは第1の秘密鍵に従って第2のデータを復号する。
本発明のこの実施形態では、第2の公開鍵は、第1の公開鍵および端末デバイスの属性情報に基づいてKGCによって生成された公開鍵であり、第2の公開鍵は、端末デバイスの属性に基づく公開鍵であり、端末デバイスの属性に基づいて暗号化されたデータを復号するために使用されてもよい。第1の公開鍵は第2の公開鍵の中にネストされているので、端末デバイスの属性に基づいて暗号化されたデータ(すなわち、第1のデータ)が第2の公開鍵を使用して処理された後、生成されたデータは第1の公開鍵に基づいて暗号化された暗号文(すなわち、第2のデータ)である。端末デバイスは、端末デバイスに記憶された第1の秘密鍵を使用して第2のデータを復号することができる。第1の秘密鍵は、第1の公開鍵と対にされ、端末デバイスによって生成された鍵であり、第1の公開鍵に基づいて暗号化されたデータを復号するために使用されてもよい。
本発明のこの実施形態では、第2の公開鍵は、第1の公開鍵および端末デバイスの属性情報に基づいてKGCによって生成された公開鍵であってもよく、または第1の公開鍵、端末デバイスの属性情報、および鍵更新情報に基づいてKGCによって生成された(「変換鍵」と呼ばれる場合がある)公開鍵であってもよく、鍵更新情報は端末デバイスが失効していないことを示すために使用される。
第1の秘密鍵は常に端末デバイスに記憶され、第1の秘密鍵は別のデバイスに送信される必要がないので、本発明のこの実施形態におけるデータ処理方法では、安全なチャネルが使用される必要がない。加えて、サーバが第1のデータを処理した後に取得されるものは依然として暗号文なので、サーバが別のデバイスと共謀した場合でも、別のデバイスは最終的な平文を取得することができない。したがって、本発明のこの実施形態におけるデータ処理方法は、サーバのセキュリティ性能に要件を課さない。その上、本発明のこの実施形態における第1の秘密鍵は定数であってもよく、端末デバイスは、平文を取得するために、第1の秘密鍵に従って復号演算を実行するときに1回のべき乗演算を実行するだけでよい。これは、別の技術的解決策で大量の計算リソースが消費される双線形ペアリング演算を回避し、それにより、端末デバイスの処理能力に対する要件が低減され、端末デバイスのリソース利用率が向上する。
場合によっては、サーバにより、第2の公開鍵を受信するステップの後に、方法500は以下をさらに含む。
S511.サーバがKGCから鍵更新情報を受信し、鍵更新情報は端末デバイスが失効しているかどうかを示すために使用される。
S512.サーバが、第2の公開鍵および鍵更新情報に従って変換鍵またはエラープロンプトを生成し、端末デバイスが失効していることを鍵更新情報が示すとき、サーバが、第2の公開鍵および鍵更新情報に従ってエラープロンプトを生成し、または端末デバイスが失効していないことを鍵更新情報が示すとき、サーバが、第2の公開鍵および鍵更新情報に従って変換鍵を生成し、変換鍵は、端末デバイスの属性構造に基づいて暗号化されたデータを、第1の公開鍵に基づいて暗号化されたデータに変換するためにサーバによって使用され、その結果、端末デバイスは、端末デバイスによって生成された第1の秘密鍵に従って、第1の公開鍵を使用して暗号化されたデータを復号する。
サーバにより、第2の公開鍵に従って第1のデータを第2のデータに変換するステップは、以下のステップを含む。
S531.サーバが変換鍵に従って第1のデータを第2のデータに変換する。
端末デバイスが現在非失効状態にある場合、KGCは、端末デバイスが失効していないことを示す失効リストに従って鍵更新情報を生成することができ、鍵更新情報は端末が失効していないことを示すために使用され、サーバは、第2の公開鍵および鍵更新情報に従って変換鍵を生成することができ、変換鍵は依然として端末デバイスの属性に基づく鍵であり、その中に第1の公開鍵がネストされる。サーバは、変換鍵を使用することにより、端末デバイスの属性に基づいて暗号化されたデータを第1の公開鍵に基づいて暗号化されたデータに変換することができ、その結果、端末デバイスは、端末デバイスによって生成された第1の秘密鍵に従って、変換鍵を使用した変換の結果を復号する。
端末デバイスが現在失効状態にある場合、KGCは、端末デバイスが失効していることを示す失効リストに従って鍵更新情報を生成することができ、鍵更新情報は端末が失効していることを示すために使用され、サーバは、鍵更新情報および第2の公開鍵に従ってエラープロンプトを生成することができる。
本発明のこの実施形態におけるデータ処理方法によれば、端末デバイスが失効していないことを示すために使用され、KGCによって生成された鍵更新情報が受信され、変換鍵が鍵更新情報および第2の公開鍵に従って生成され、その結果、失効していない端末デバイスが暗号化データを取得することができ、失効している端末デバイスが暗号化データを取得することができないことを保証することができる。これにより、システムのセキュリティ性能が向上する。
場合によっては、サーバにより、第2の公開鍵および鍵更新情報に従って変換鍵を生成するステップは、以下のステップを含む。
S515.サーバが、第2の公開鍵、鍵更新情報、システムパラメータ、および識別パラメータに従って変換鍵を生成し、システムパラメータはKGCによって生成された公開情報であり、識別パラメータは端末デバイスの識別情報である。
システムパラメータはKGCによって生成された公開情報であり、システム内の任意のデバイスがシステムパラメータを取得することができる。たとえば、システムパラメータは、KGCがセキュリティパラメータλを入力し、ABEのシステムセットアップアルゴリズム、すなわち、(par,msk)←ABE.Setup(1λ)を実行した後に生成されてもよく、ここで、parはシステムパラメータであり、mskはマスタ鍵であり、ABE.Setupは属性ベース暗号化のシステムセットアップアルゴリズムである。
サーバは、以下の方法で変換鍵を生成することができる:システムパラメータpar、ユーザ識別情報id(すなわち、識別パラメータ)、第2の鍵pkid A、および第1の鍵更新情報tkutを入力するステップ、ならびに変換鍵tkid,t=(pkid A,tkut)を出力するステップ。
場合によっては、サーバにより、変換鍵に従って第1のデータを第2のデータに変換するステップは、以下のステップを含む。
S532.サーバが、変換鍵、システムパラメータ、端末デバイスの属性情報、識別パラメータ、および時間パラメータに従って第1のデータを第2のデータに変換し、システムパラメータはKGCによって生成された公開情報であり、識別パラメータは端末デバイスの識別情報であり、時間パラメータは、端末デバイスが現時点で変換鍵を使用することを許可されたことを示すために使用される。
サーバは、以下の方法で第1のデータを第2のデータに変換することができる:システムパラメータpar、ユーザ識別情報id(すなわち、識別パラメータ)、属性集合A、変換鍵tkid,t、および暗号文(すなわち、第1のデータ)を入力するステップ、アルゴリズムが変換された暗号文を出力するためのABEの復号アルゴリズム、すなわち、CT'←ABE.Dec(pkid A,tkut,CT)を実行するステップであって、ABE.Decが属性ベース暗号化の復号アルゴリズムであり、pkid Aが変換鍵である、ステップ。
前述の実施形態は説明のための一例にすぎず、本発明のこの実施形態はそれに限定されない。変換鍵を生成するために使用され得る任意のアルゴリズム、および変換鍵に従って第1のデータを第2のデータを変換するために使用され得る任意のアルゴリズムは、本発明の保護範囲内に入るべきである。
本発明のこの実施形態におけるデータ処理方法によれば、サーバはKGCから第2の公開鍵を受信し、第2の公開鍵は、第1の鍵更新情報に基づいてKGCによって生成された公開鍵(すなわち、変換鍵)であってもよく、第1の鍵更新情報は端末デバイスが失効していないことを示すために使用され、または第2の公開鍵は、第1の鍵更新情報に基づかずにKGCによって生成された公開鍵であってもよい。サーバは、第2の公開鍵に従って、端末デバイスの属性に基づいて暗号化されたデータを第1の公開鍵に基づいて暗号化されたデータに変換することができ、端末デバイスのみが、端末デバイスに記憶された第1の秘密鍵を使用することにより、第1の公開鍵に基づいて暗号化されたデータを復号することができる。このようにして、秘密鍵を送信するために安全なチャネルが使用される必要がなく、サーバのセキュリティ性能に対して要件は課されない。加えて、端末デバイスに記憶された秘密鍵は定数であってもよいので、端末デバイスの処理能力に対する要求が低減され、端末デバイスのリソース利用率が向上する。
以下では、本発明の実施形態によるデータ処理方法の2つの具体的な実装形態を提供する。
実施形態1
Gを次数が素数pである群とする。離散対数における十分な困難性を保証するために、pが512ビットより小さくてはならないことが示唆される。
は双線形ペアリングを表記し、gはGの生成元である。本発明において提供されるサーバ支援取消可能ABEは以下のアルゴリズムを含む。
Setup.このアルゴリズムは、入力としてセキュリティパラメータ1λを受け取り、次数が素数pである群Gおよび生成元gをランダムに選択し、ここで、g∈Gである。加えて、アルゴリズムは、Gに属するu、h、u0、h0、w、およびvと、Zpに属するαとをランダムに選択する。失効したユーザを記憶するためにrlを最初に空のテーブルとし、BTを少なくともN個のリーフノードを有する二分木とする。任意の値yをGの要素に写像する2つの関数F1およびF2は以下のように定義される:F1(y)=uyhおよびF2(y)=u0 yh0、ここで、y∈Zpである。最後に、システムマスタ秘密鍵msk=α、システム公開パラメータ
、テーブルrl、および状態情報st=BTが出力される。
UserKG.このアルゴリズムは、システムパラメータparおよび識別情報idを入力として受け取り、βをランダムに選択し、ここで、β∈Zpであり、ユーザid用のユーザ秘密鍵/公開鍵のペア(skid,pkid)=(β,gβ)を出力する。
PubKG.このアルゴリズムは、システム公開パラメータpar、マスタ秘密鍵msk、識別情報id、ユーザ公開鍵pkid、ユーザ属性集合A、および状態情報stを入力として受け取る。A1、…、およびAkを属性集合Aの属性とする。アルゴリズムは、最初に二分木BTから未定義ノードθを選択し、そのノードに識別情報idを記憶する。次いで、ノードxごとに以下のステップが実行され、ここで、x∈Path(θ)である。
ノードxからgxを取り出す。この値がxに対して定義されていない場合、ランダムにgxを選択し、ノードxにgxを記憶し、ここで、gx∈Gである。次いで、gx'=pkid a/gxを計算する。
ランダムにrx、rx,1、…、およびrx,zを選択し、ここで、rx、rx,1、…、rx,k∈Zpであり、
を計算する。
最後に、このアルゴリズムはユーザ属性ベースの公開鍵
および更新されたstを出力する。
TKeyUp.このアルゴリズムは、システム公開パラメータpar、マスタ秘密鍵msk、時間期間値t、失効リストrl、および状態情報stを入力として受け取り、ノードxごとに対応するgxを取り出し、ここで、x∈KUNodes(BT,rl,t)であり、次いで、ランダムにsxを選択し、ここで、sx∈Zpであり、変換鍵更新情報tkut={x,Qx,1,Qx,2x∈KUNodes(BT,rl,t)を出力し、ここで、
である。
TranKG.このアルゴリズムは、システム公開パラメータpar、識別情報id、ユーザ属性ベースの公開鍵
および変換鍵更新情報tkutを入力として受け取る。Path(θ)をIとし、KUNodes(BT,rl,t)をJとする。アルゴリズムは、最初に

に構文解析し、tkutを{x,Qx,1,Qx,2x∈Jに構文解析する。I∩J=Φ、すなわち、IとJの交差集合が空である場合、アルゴリズムは(ユーザが失効し、変換鍵生成でエラーが発生したこと、すなわち、「エラープロンプト」を示す)⊥を返す。そうでない場合、アルゴリズムは、ノードxごとにZpに属するrx'、rx,1'、…rx,k'、およびsx'をランダムに選択し、ここで、x∈I∩Jであり、ユーザid用の変換鍵
を出力し、ここで、
である。
Encrypt.このアルゴリズムは、システム公開パラメータpar、線形秘密分担アクセス制御構造(M,ρ)、時間期間値t、およびメッセージmを入力として受け取り、ベクトル
をランダムに選択する。μはメッセージを暗号化するために使用される秘密インデックスである。1からlまでの範囲のiごとに、アルゴリズムは
を計算し、ここで、MiはMのi番目の行である。加えて、アルゴリズムはZpに属するμ1、…、およびμlをランダムに選択し、次いで、暗号文
を出力し、ここで、
である。
Transform.このアルゴリズムは、システム公開パラメータpar、識別情報id、対応するユーザ変換鍵tkid,t、ユーザ属性集合A、時間期間値t、およびアクセス制御構造(M,ρ)の暗号文CTを入力として受け取る。Aはアクセス制御構造(M,ρ)を満たし、IをI={i:ρ(i)∈A}とし、{wi∈Zpi∈Iを、{vi}が(M,ρ)に従って秘密μに対して取得される有効な秘密分担であるならば
を真とする一連の定数値とする。アルゴリズムは暗号文CTを
に構文解析する。属性集合Aおよび変換鍵tkid,tがCTで提供されたアクセス構造(M,ρ)を満たさない場合、変換が失敗したことを示すために特殊表記⊥が出力される。そうでない場合、変換された暗号文CT'=(C0',C0)(すなわち、部分的に復号された暗号文)が以下の式を使用して出力される:
Decrypt.このアルゴリズムは、システム公開パラメータpar、識別情報id、対応するユーザ秘密鍵skid、および変換された暗号文CT'=(C0',C0)を入力として受け取る。C0'またはC0が群G1に属していない場合、出力動作は失敗する。そうでない場合、以下の式を使用して平文メッセージが計算され入力される:
Revoke.このアルゴリズムは、識別値id、時間期間値t、失効リストrl、および状態情報stを入力として受け取る。識別情報idに関連するノードxごとに、アルゴリズムは、rlに(x,t)を追加し、次いで、更新された失効リストrlを出力する。
SR-ABEのセキュリティは、選ばれた平文攻撃(IND-CPA)の下で区別することがでないセキュリティモデルを定義することによって定義されてもよい。攻撃アルゴリズムおよび挑戦アルゴリズムを定義することにより、実際の潜在的なセキュリティ脅威および標準的なABEセキュリティにおける攻撃者の能力が、フォームの観点から考慮される。攻撃者は、攻撃者によって選択されたデータユーザの秘密鍵およびユーザ属性ベースの公開鍵を入手することができる。この場合、挑戦されたアクセス制御構造に関して、攻撃者は暗号化情報に関連するいかなる部分的な情報も取得しないはずである。加えて、セキュリティモデルにより、攻撃者が様々な時間期間内に定期的な鍵更新情報および変換鍵情報にアクセスし、攻撃者自身の必要に応じてユーザを失効させることが可能になる。この場合、挑戦されたアクセス制御構造を満たす属性に対応する任意の失効したユーザの場合、暗号化の時点でそのユーザがすでに失効している場合、攻撃者は暗号化情報に関連するいかなる部分的な情報も取得しないはずである。
決定論的(q−1)仮定の下では、本発明のこの実施形態において提供されるサーバ支援取消可能ABE方式は、選択的IND-CPAセキュリティの定義の下の標準モデルにおいて安全であることを証明することができる。
実施形態2
本発明のこの実施形態で使用される表記が最初に説明される。
Tt:時間期間管理は二分木を使用して実行される。Qはそのリーフノードが(上限がqである)すべてのタイムスタンプを記憶する二分木であると仮定する。たとえば、q=8であるとき、ツリーQが図6に示される。ルートノードはr-“*”と命名され、ここで、r=log2q=3である。左側のサブノードごとに、第1の*は0と置き換えられ、右側のサブノードごとに、第1の*は1と置き換えらる。ツリーのすべてのノードはそのように命名されてもよい。
各暗号文について、Ttは、時間期間tに対応するノードおよびtよりも大きいすべての時間期間の組合せのみを含む。たとえば、現在の時間期間が3(バイナリで011)である場合、Ttは{011,1**}であり、リーフノード3〜7を含む。現在の時間期間が5(バイナリで101)である場合、Ttは{101,11**}であり、リーフノード5〜7を含む。Ttの最大サイズがツリーの(log2qに等しい)高さに等しいことを容易に知ることができる。したがって、時間期間4(バイナリで100)の中のユーザの鍵は、前述の第1の暗号文(タイムスタンプ3〜7)を復号するために使用することができるが、前述の第2の暗号文(タイムスタンプ5〜7)を復号するために使用することができない。
Path(ID):失効管理はツリーUを使用して実行され、リーフノードは識別情報IDを使用してマークされる。リーフノードグループVに対して、関数U(V)はUのノードの(決定論的かつ選択的な)集合を返し、その結果、リーフノードvのいくつかの祖先は、vがVに属するときのみU(V)に含まれる。そのような関数が存在し、多項式時間(VのサイズおよびIDのサイズ)内で計算され得る。Uのルートから(ルートおよびリーフを含む)リーフのvIDまでのノードの集合を示す文字列IDは、Path(ID)として定義される。
図7に示されたように、図7に示されたツリーUはすべてのユーザを表す。V={000,011}が失効したユーザの群であると仮定すると、U(V)は{000,00*,0**,***,011,01*}(000および011の祖先を含む)である。加えて、Path(011)は{011,01*,0**,***}(ルートから011までのパスを含む)である。
ωi,b:時間期間に関連する属性はωi,bを使用して記述される。ここで、インデックスiはツリーのレベルを示すために使用される。ルートはレベル0にあり、ルートのサブノードはレベル1にあり、以下同様である。最大レベルはr=log2qである。インデックスbは0または1であり、レベルiの値を示す。たとえば、101に対応する時間期間の場合、群の関連属性は{ω1,1,ω2,0,ω3,1}である。
(By,βy):これは時間期間yに対するアクセス制御ポリシーである。Bは2r行(r+1)列を有する行列であり、対角線に沿って2×2のオール1の行列をカスケードすることによって取得されると仮定され、行列の他の要素の値は0である。以下で、r=3のときの一例を提供する。
行列Bの行は、b1,0、b1,1、b2,0、b2,1、…、br,0、およびbr,1によって表記され、降順にソートされる。行列Bのすべての行に対して、ラベルβはβ(bi,d)=ωi,dとして定義される。アクセス制御ポリシー(By,βy)は時間期間yに対して定義される。[1,…,r]に属するインデックスiごとに、レベルiでのyの対応する値(y[i]によって表記される)が*でない場合、行bi,y[i]が行列Bから削除されて、行列Byが取得される。たとえば、r=3およびy=01*である場合、(以下の矢印によって示された)行列Byおよびラベルβyは以下の通りである。
なお、属性群Sは、(1)y[i]がすべてのiに対して*に等しくないようにされる場合、ωi,y[i]がSに含まれ、(2)y[i]がすべてのiに対して*に等しいようにされる場合、ωi,0またはωi,1がSに含まれるときのみ、属性群Sが(By,βy)を満たすことに留意されたい。
(M,ρ)V(By,βy):(M,ρ)V(By,βy)という表記は、2つのLSSSポリシー(M,ρ)と(By,βy)の組合せ、すなわち、Byの行を行列Mに順次追加することによって(かつ同じ長さになるように行を埋めることによって)生成されるLSSSポリシーを表すために使用される。
実施形態2の具体的な実装形態は以下の通りである。
Setup(1λ):セキュリティパラメータλが入力され、次数がN=p1p2p3である(次数は3つのランダムな素数の積に等しく、セキュリティ強度λに達する)双線形群Gが選択され、αおよびgがランダムに選択され、ここで、α∈ZNおよびg∈Gp1であり、最初は空の失効リストrlおよび状態stが準備され、各iに対して、siおよびX3がランダムに選択され、ここで、si∈ZN、X3∈Gp3であり、msk=(α,X3)、par=(N,g,ga,e(g,g)α、および{Ti=gsi for all i})を指定し、(par,msk,rl,st)が出力される。
UserKG(par,id):システム公開パラメータparおよびユーザ識別情報idが入力され、βがランダムに選択され、ここで、β∈ZNであり、skid=βおよびpkid=gβが出力される。
PubKG(par,msk,id,pkid,A,st):システム公開パラメータpar、マスタ鍵msk、ユーザ公開鍵pkid、属性集合A、およびKGCの内部状態stが入力され、各x∈Path(id)に対して、以下の計算が実行される。
(x,αx)を求めて内部状態stを検索する。(x,αx)が存在しない場合、ランダムにαxを選択し、ここで、αx∈ZNであり、stに(x,αx)を記憶する。
ランダムにtx、V、Z、および{Wii∈Sを選択し、ここで、tx∈ZNおよびV,Z,{Wii∈S∈Gp3であり、
を計算し、
を出力する。
TKeyUp(par,msk,t,rl,st):システム公開パラメータpar、マスタ鍵msk、時間期間t、失効リストrl、および内部状態stが入力され、各x∈U(rl)(失効リストのツリー)に対して、以下の計算が実行される。
集合S={ωi,t[i]:i∈[r]}を時間関連属性として表記する。
(x,αx)を求めて内部状態stを検索する。(x,αx)が存在しない場合、ランダムにαxを選択し、ここで、αx∈ZNであり、stに(x,αx)を記憶する。
ランダムにtx、V、Z、および{Wii∈Sを選択し、ここで、tx∈ZNおよびV,Z,{Wii∈S∈Gp3であり、
を計算し、
を出力する。
TranKG(par,id,pkid A,tkut):システム公開パラメータpar、ユーザ識別情報id、属性ベースの公開鍵pkid A、および鍵更新情報tkutが入力される。ユーザ識別情報idがtkutのrlにない場合、U(rl)とPath(id)の両方に属するノードxが必ず存在する。xに対応する鍵更新情報は、
であり、
tkid,t=(SK0,SK1)が出力される。
Encrypt(par,(M,ρ),t,m):システム公開パラメータpar、アクセス制御ポリシー(M,ρ)、時間期間t、および平文mが入力され、LSSS制御ポリシー
がyごとに設定され、ここで、y∈Ttである。vおよびri(i∈[n])がランダムに選択され、ここで、v=(s,v2,…,vn)∈ZN nおよびri∈ZNであり、以下の計算が実行され、
暗号文CTt=({Cy,Cy',{Cy,i,Dy,ii∈[n]:for all y∈Tt},(M,ρ))が出力される。
Transform(par,id,A,tkid,t',CTt):システム公開パラメータpar、ユーザ識別情報id、属性集合A、変換鍵tkid,t'、および暗号文が入力される。t'がt以上である場合、t'の祖先であるyが存在し、ここで、y∈Ttである。yについて暗号文CTtから(Cy,Cy',{Cy,i,Dy,ii∈[n])が抽出される。tkid,t'が(SK0,SK1)として示され、ここで、SK0={Kx,0,{Kx,i,0:i∈A},K* x,0}およびSK1={Kx,1,{Kx,i,1:i∈A},K* x,1}である。
最初に、
となるωiが計算され、ここで、ωi∈ZNである。次いで、以下の計算が実行される:
は、前述の2つの値を使用して計算することができる。同様に、
はSK1を使用して以下の式に従って計算することができる:
CT'=(Cy,CT'0,CT'1)が最後に出力される。
Decrypt(par,id,skid,CT'):システム公開パラメータpar、ユーザ識別情報id、ユーザ秘密鍵skid=β、および変換暗号文CT'=(Cy,CT'0,CT'1)が入力され、平文
が出力される。
Revoke(id,t,rl):失効ユーザ識別情報id、時間期間t、失効リストrl、および状態情報stが出力され、{(id,t)}が追加されたrlは、更新された失効リストrlとして出力に使用される。
本発明のこの実施形態では、以下の拡張が実装されてもよい。
拡張1:これは、選ばれた暗号文攻撃(IND-CCAセキュリティ)の下で区別することができない方式である。本発明において提供された前述のSR-ABE方式は、比較的十分でないIND-CPAセキュリティのみを提供する。IND-CPAセキュリティを伴う暗号化方式をIND-CCAセキュリティを伴う暗号化方式に変換するために、いくつかの既存の普遍的な方法が使用されてもよい。
たとえば、1999年に提案されたFujisaki-Okamoto方法は、IND-CPAセキュリティを伴う属性ベースまたは識別情報ベースの暗号化方式をIND-CCAセキュリティを伴う暗号化方式にアップグレードするために使用することができる。IND-CCAが安全である対称鍵暗号化および復号方式(E,D)、ならびに2つのハッシュ関数が、以下の動作を実行するために暗号化方式で使用される:(1)メッセージmが暗号化されるとき、最初に乱数rを選択し、次いで、乱数G(r)を使用してABEを介してメッセージとして使用されるrを暗号化して、C1=ABE.Enc(r;G(r))を生成する。(2)対称鍵H(r)を使用してメッセージmを暗号化して、C2=E(H(r),m)を生成する。(3)最後に暗号文(C1,C2)を出力する。暗号文(C1,C2)を復号するための動作は以下の通りである:(1)ABEを介してC1を復号してrを取得する。(2)ABE.Enc(r;G(r)を計算し、値がC1に等しいかどうかを判定し、値がC1に等しくない場合はエラーが返される。(3)ステップ(2)が成功した場合、対称鍵H(r)を使用してC2を復号して、メッセージmを取得する。
別の例を挙げると、2011年に提案されたYamada-Attrapadung-Hanaoka-Kunihiro方法は、IND-CPAセキュリティを伴う属性ベースの暗号化方式をIND-CCAセキュリティを伴う暗号化方式にアップグレードするために使用することができる。ワンタイム署名方式(S,V)が使用される。この方法の暗号化動作は以下の通りである。(1)メッセージmが暗号化されるとき、最初にワンタイム署名方式として公開鍵/秘密鍵のペア(vk,sk)をランダムに生成する。(2)元のアクセス制御ポリシーYにvkを追加して、新しいアクセス制御ポリシーY'(たとえば、Y'=Y or vk)を取得する。(3)暗号文(C1,C2、vk)を計算し、ここで、C1は、メッセージmがアクセス制御ポリシーY'を使用してABEによって暗号化された後に取得された出力であり、C2は、ワンタイム署名がskを使用してC1に付加された後に取得された出力である。復号動作は以下の通りである:(1)vkおよびC1を使用して、ワンタイム署名が付加されたC2を検証し、検証が失敗した場合はエラーが返される。(2)ワンタイム署名が付加されたC2の検証に成功した場合、ABEを使用してC1を復号して、メッセージmを取得する。
拡張2:これはロングデータの暗号化用である。ロングデータ暗号化の効率を向上させるために、メッセージmの代わりに対称鍵kが、この特許で提案された属性ベースの暗号化方式における暗号化アルゴリズムにおいて使用されてもよく、ロングデータはkを使用して対称暗号化方式で暗号化される。このようにして、ユーザがサーバによる部分復号の結果を受信した後、対称鍵Kはユーザの長期秘密鍵を使用することによって検索することができ、ロングデータはkを使用して対称暗号化アルゴリズムによって最終的に復号される。
拡張3:これはサーバ支援取消可能鍵ポリシー属性ベース暗号化(SR-KP-ABE)方式である。文献[1](N. Attrapadung and H. Imai,Attribute-based encryption supporting direct/indirect revocation modes,In Cryptography and Coding,12th IMA International Conference,Cryptography and Coding 2009,Cirencester,UK,December 15〜17,2009,Proceedings,volume 5921 of Lecture Notes in Computer Science,pages 278〜300,Springer,2009)で提案されている間接失効KP-ABEに基づいて、前述の実施形態において使用される技術は、サーバ支援取消可能KP-ABE方式を取得するために使用されてもよい。簡単な説明は以下の通りである。
Setupアルゴリズムは文献[1]と同じであるが、パラメータaxは設定される必要がない。
前述のUserKGアルゴリズムは、文献[1]の方式に直接追加される。
文献[1]のKeyGenアルゴリズムは、
を指定することによってPubKGアルゴリズムに変更される。
KeyUpdateアルゴリズム、Encryptアルゴリズム、およびRevokeアルゴリズムは、文献[1]の中のそれらと同じである。
必要なTransformアルゴリズムとして、文献[1]の復号結果
を有するDecryptアルゴリズムが使用される。
最後に、文献[1]のDecryptアルゴリズムは、前述のSR-ABE方式のDecryptアルゴリズムと置き換えられる。
拡張4:これはサーバ支援取消可能識別情報ベース暗号化(SR-IBE)である。SR-IBE方式は、失効からもたらされる追加のユーザワークロードを削減するために、文献[2](B. Qin,R. H. Deng,Y. Li,and S. Liu,Server-aided revocable identity-based encryption,In Computer Security-ESORICS 2015-20th European Symposium on Research in Computer Security,Vienna,Austria,September 21〜25,2015,Proceedings,Part I,volume 9326 of Lecture Notes in Computer Science,pages 286〜304,Springer,2015)において提案されている。しかしながら、この方式の効率はまだそれほど望ましくない。一方では、安全なチャネルはシステム内のすべてのユーザに対して秘密鍵を送信するために必要とされるが、安全なチャネルを確立することは容易ではない。他方では、ユーザ復号のための計算量をさらに削減することができる。具体的には、文献[2]で提案されているSR-IBEは、以下のように改善されてもよい。
g1=gαであり、マスタ秘密鍵がαであるとする。
前述のSR-ABEのUserKGアルゴリズムは、文献[2]のPrivKGアルゴリズムと置き換えられる。
文献[2]のgx,1=hα/gx,2は、gx,1=pkid α/gx,2として再定義される。
拡張1および拡張2に記載された方法を使用して、本発明のこの実施形態において提供されるデータ処理方法は、IND-CCA2セキュリティに拡張され得るか、対称暗号化技法を使用することによってロングメッセージの暗号化をサポートできるか、またはIND-CCA2セキュリティを有し、ロングメッセージの暗号化をサポートすることの両方ができる。
加えて、拡張3に記載された方法は、IND-CCA2セキュリティに拡張され得るか、対称暗号化技法を使用することによってロングメッセージの暗号化をサポートできるか、またはIND-CCA2セキュリティを有し、ロングメッセージの暗号化をサポートすることの両方ができる。拡張4に記載された方法は、IND-CCA2セキュリティに拡張され得るか、対称暗号化技法を使用することによってロングメッセージの暗号化をサポートできるか、またはIND-CCA2セキュリティを有し、ロングメッセージの暗号化をサポートすることの両方ができる。
加えて、本発明のこの実施形態における方式は、以下の特徴のうちの1つを満たす任意の取消可能属性ベース暗号化と組み合わせてElGamal暗号化を使用することによって構築される:PubKGアルゴリズムはElGamalを使用することによって属性ベース鍵のうちのすべてまたはいくつかを暗号化することを含み、TransformアルゴリズムはABE.Decアルゴリズムを実行して復号を実行し、DecryptアルゴリズムはElGamal.Decアルゴリズムを実行して復号を実行する。前述の一般的な構築で使用される取消可能属性ベース暗号化は、以下の特性を満たす必要がある。
ElGamal.Dec(skid,ABE.Dec(pkid A,tkut,CT))がABE.Dec(ElGamal.Dec(skid,pkid A),tkut,CT)に等しいこれは、ElGamal復号と取消可能属性ベース復号の順序が逆であってもよいことを意味する。
前述の実施形態は、主に、装置間の相互作用の観点から、本発明の実施形態における解決策を記載した。前述の機能を実装するために、装置、たとえば端末デバイス、鍵生成センタ、およびサーバは、機能を実装するための対応するハードウェア構造および/またはソフトウェアモジュールを含むことを理解されたい。本明細書に開示された実施形態を参照して記載された例におけるユニットおよびアルゴリズムステップが、ハードウェアまたはハードウェアとコンピュータソフトウェアの組合せによって本発明に実装され得ることを、当業者なら気付いてもよい。機能がハードウェアによって実装されるか、ハードウェアを駆動するコンピュータソフトウェアによって実装されるかは、特定の用途および技術的解決策の設計制約条件に依存する。当業者は、特定の用途ごとに異なる方法を使用して、記載された機能を実装することができるが、その実装形態が本発明の範囲を超えると考えられるべきではない。
本発明の実施形態において、端末デバイス、鍵生成センタ、およびサーバは、前述の方法例に従って機能ユニットに分割されてもよく、たとえば、機能に応じて機能ユニットに分割されてもよく、または少なくとも2つの機能を1つの処理ユニットに統合してもよい。統合ユニットは、ハードウェアの形態で実装されてもよく、ソフトウェア機能ユニットの形態で実装されてもよい。本発明の実施形態におけるユニット分割は一例であり、論理的な機能分割にすぎず、実際の実装形態では他の分割であってもよいことに留意されたい。
統合ユニットが使用されるとき、図8Aは、前述の実施形態における端末デバイスの可能な概略構造図を示す。端末デバイス800は、処理ユニット802および通信ユニット803を含む。処理ユニット802は、端末デバイス800の動作を制御および管理するように構成される。たとえば、処理ユニット802は、図1のステップ2およびステップ9を実行する際に端末デバイス800をサポートするように構成される。処理ユニット802は、図3のS310およびS340を実行する際に端末デバイス800をサポートするようにさらに構成され、かつ/または本明細書に記載された技術の他のプロセスに使用されてもよい。通信ユニット803は、端末デバイス800と別のネットワークエンティティとの間の通信、たとえば、端末デバイス800と図1に示されたKGC120またはサーバ130との間の通信をサポートするように構成される。端末デバイス800は、端末デバイス500のプログラムコードおよびデータを記憶するように構成された記憶ユニット801をさらに含んでもよい。
処理ユニット802はプロセッサまたはコントローラであってもよい。たとえば、処理ユニット802は、中央処理装置(Central Processing Unit、CPU)、汎用プロセッサ、デジタル信号プロセッサ(Digital Signal Processor、DSP)、特定用途向け集積回路(Application-Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)もしくは他のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェア構成要素、またはそれらの任意の組合せであってもよい。処理ユニット802は、本発明に開示された内容を参照して記載された様々な例示的な論理ブロック、モジュール、および回路を実装または実行することができる。あるいは、プロセッサは、計算機能を実装するプロセッサの組合せ、たとえば、1つもしくは複数のマイクロプロセッサを含む組合せ、またはDSPとマイクロプロセッサの組合せであってもよい。通信ユニット803は、通信インターフェース、トランシーバ、トランシーバ回路などであってもよい。通信インターフェースは総称であり、1つまたは複数のインターフェースを含んでもよい。記憶ユニット801はメモリであってもよい。
処理ユニット802がプロセッサであり、通信ユニット803が通信インターフェースであり、記憶ユニット801がメモリであるとき、本発明のこの実施形態における端末デバイスは、図8Bに示された端末デバイスであってもよい。
図8Bを参照すると、端末デバイス810は、プロセッサ812と、通信インターフェース813と、メモリ811とを含む。場合によっては、端末デバイス810はバス814をさらに含んでもよい。通信インターフェース813、プロセッサ812、およびメモリ811は、バス814を使用して互いに接続されてもよい。バス814は、周辺構成要素相互接続(Peripheral Component Interconnect、略してPCI)バス、拡張業界標準アーキテクチャ(Extended Industry Standard Architecture、略してEISA)バスなどであってもよい。バス814は、アドレスバス、データバス、制御バスなどに分類されてもよい。表現を容易にするために、図8Bではバスはただ1つの太線を使用して表されているが、それは、ただ1つのバスまたはただ1つのタイプのバスしか存在しないことを意味しない。
便利で簡潔な説明のために、前述の装置およびユニットの詳細な動作プロセスについては、前述の方法実施形態の対応するプロセスに対して参照が行われてもよいことは、当業者なら明確に理解されよう。詳細は本明細書では再び記載されない。
したがって、本発明のこの実施形態において提供される端末デバイスは、第1の公開鍵および第1の秘密鍵を生成することができ、第1の公開鍵はデータを暗号化するために使用され、第1の秘密鍵は、第1の公開鍵を使用して暗号化されたデータを復号するために使用される。端末デバイスは、KGCに第1の公開鍵を送信し、その結果、KGCまたはサーバは、第1の公開鍵に従って変換鍵を生成し、第1の公開鍵は変換鍵の中にネストされる。したがって、サーバが、変換鍵を使用することにより、端末デバイスの属性構造に基づいて暗号化された暗号文を処理した後に生成されるものは、第1の公開鍵を使用して暗号化された暗号文である。端末デバイスは、第1の公開鍵と対にされた第1の秘密鍵を記憶する。サーバによって送信された部分的に復号された暗号文を受信した後、端末デバイスは、平文を生成するために、第1の秘密鍵および復号アルゴリズムに従って復号を実行することができる。第1の秘密鍵は常に端末デバイスに記憶され、第1の秘密鍵は別のデバイスに送信される必要がないので、本発明のこの実施形態におけるデータ処理方法では、安全なチャネルが使用される必要がない。加えて、サーバが第1のデータを処理した後に取得されるものは依然として暗号文なので、サーバが別のデバイスと共謀した場合でも、別のデバイスは最終的な平文を取得することができない。したがって、本発明のこの実施形態におけるデータ処理方法は、サーバのセキュリティ性能に要件を課さない。その上、本発明のこの実施形態における第1の秘密鍵は定数であってもよく、端末デバイスは、平文を取得するために、第1の秘密鍵に従って復号演算を実行するときに1回のべき乗演算を実行するだけでよい。これは、別の技術的解決策で大量の計算リソースが消費される双線形ペアリング演算を回避し、それにより、端末デバイスの処理能力に対する要件が低減され、端末デバイスのリソース利用率が向上する。
統合ユニットが使用されるとき、図9Aは、前述の実施形態におけるKGCの可能な概略構造図を示す。KGC900は、処理ユニット902および通信ユニット903を含む。処理ユニット902は、KGC900の動作を制御および管理するように構成される。たとえば、処理ユニット902は、図1のステップ1、ステップ3、ステップ4、およびステップ10を実行する際にKGC900をサポートするように構成される。処理ユニット902は、図4のS420を実行する際にKGC900をサポートするようにさらに構成され、かつ/または本明細書に記載された技術の他のプロセスに使用されてもよい。通信ユニット903は、KGC900と別のネットワークエンティティとの間の通信、たとえば、KGC900と図1に示された端末デバイス110またはサーバ130との間の通信をサポートするように構成される。KGC900は、KGC900のプログラムコードおよびデータを記憶するように構成された記憶ユニット901をさらに含んでもよい。
処理ユニット902はプロセッサまたはコントローラであってもよい。たとえば、処理ユニット902は、中央処理装置CPU、汎用プロセッサ、DSP、ASIC、FPGAもしくは他のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェア構成要素、またはそれらの任意の組合せであってもよい。処理ユニット902は、本発明に開示された内容を参照して記載された様々な例示的な論理ブロック、モジュール、および回路を実装または実行することができる。あるいは、プロセッサは、計算機能を実装するプロセッサの組合せ、たとえば、1つもしくは複数のマイクロプロセッサを含む組合せ、またはDSPとマイクロプロセッサの組合せであってもよい。通信ユニット903は、通信インターフェース、トランシーバ、トランシーバ回路などであってもよい。通信インターフェースは総称であり、1つまたは複数のインターフェースを含んでもよい。記憶ユニット901はメモリであってもよい。
処理ユニット902がプロセッサであり、通信ユニット903が通信インターフェースであり、記憶ユニット901がメモリであるとき、本発明のこの実施形態におけるKGCは、図9Bに示されたKGCであってもよい。
図9Bを参照すると、KGC910は、プロセッサ912と、通信インターフェース913と、メモリ911とを含む。場合によっては、KGC910はバス914をさらに含んでもよい。通信インターフェース913、プロセッサ912、およびメモリ911は、バス914を使用して互いに接続されてもよい。バス914は、PCIバス、EISAバスなどであってもよい。バス914は、アドレスバス、データバス、制御バスなどに分類されてもよい。表現を容易にするために、図9Bではバスはただ1つの太線を使用して表されているが、それは、ただ1つのバスまたはただ1つのタイプのバスしか存在しないことを意味しない。
便利で簡潔な説明のために、前述の装置およびユニットの詳細な動作プロセスについては、前述の方法実施形態の対応するプロセスに対して参照が行われてもよいことは、当業者なら明確に理解されよう。詳細は本明細書では再び記載されない。
したがって、本発明のこの実施形態において提供されるKGCは、第1の公開鍵および端末デバイスの属性に基づいて第2の公開鍵を生成することができる。第2の公開鍵は、端末デバイスの属性に基づく公開鍵であり、端末デバイスの属性に基づいて暗号化されたデータを復号するために使用されてもよい。第1の公開鍵は第2の公開鍵の中にネストされているので、端末デバイスの属性に基づいて暗号化されたデータが第2の公開鍵を使用して処理された後に生成されるデータは、第1の公開鍵に基づいて暗号化された暗号文である。端末デバイスは、端末デバイスに記憶された第1の秘密鍵を使用して、第1の公開鍵に基づいて暗号化された暗号文を復号することができる。第1の秘密鍵は、第1の公開鍵と対にされた鍵であり、第1の公開鍵に基づいて暗号化されたデータを復号するために使用されてもよい。本発明のこの実施形態では、端末デバイスの属性情報は端末デバイスの特定の識別情報であってもよく、KGCは、端末デバイスの第1の公開鍵および属性集合に従って第2の公開鍵をさらに生成することができる。
第1の秘密鍵は常に端末デバイスに記憶され、第1の秘密鍵は別のデバイスに送信される必要がないので、本発明のこの実施形態におけるデータ処理方法では、安全なチャネルが使用される必要がない。加えて、サーバが第1のデータを処理した後に取得されるものは依然として暗号文なので、サーバが別のデバイスと共謀した場合でも、別のデバイスは最終的な平文を取得することができない。したがって、本発明のこの実施形態におけるデータ処理方法は、サーバのセキュリティ性能に要件を課さない。その上、本発明のこの実施形態における第1の秘密鍵は定数であってもよく、端末デバイスは、平文を取得するために、第1の秘密鍵に従って復号演算を実行するときに1回のべき乗演算を実行するだけでよい。これは、別の技術的解決策で大量の計算リソースが消費される双線形ペアリング演算を回避し、それにより、端末デバイスの処理能力に対する要件が低減され、端末デバイスのリソース利用率が向上する。
統合ユニットが使用されるとき、図10Aは、前述の実施形態におけるサーバの可能な概略構造図を示す。サーバ1000は、処理ユニット1002および通信ユニット1003を含む。処理ユニット1002は、サーバ1000の動作を制御および管理するように構成される。たとえば、処理ユニット1002は、図1のステップ7およびステップ8を実行する際にサーバ1000をサポートするように構成される。処理ユニット1002は、図5のS530を実行する際にサーバ1000をサポートするようにさらに構成され、かつ/または本明細書に記載された技術の他のプロセスに使用されてもよい。通信ユニット1003は、サーバ1000と別のネットワークエンティティとの間の通信、たとえば、サーバ1000と図1に示された端末デバイス110またはKGC120との間の通信をサポートするように構成される。サーバ1000は、サーバ1000のプログラムコードおよびデータを記憶するように構成された記憶ユニット1001をさらに含んでもよい。
処理ユニット1002はプロセッサまたはコントローラであってもよい。たとえば、処理ユニット1002は、中央処理装置CPU、汎用プロセッサ、DSP、ASIC、FPGAもしくは他のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェア構成要素、またはそれらの任意の組合せであってもよい。処理ユニット1002は、本発明に開示された内容を参照して記載された様々な例示的な論理ブロック、モジュール、および回路を実装または実行することができる。あるいは、プロセッサは、計算機能を実装するプロセッサの組合せ、たとえば、1つもしくは複数のマイクロプロセッサを含む組合せ、またはDSPとマイクロプロセッサの組合せであってもよい。通信ユニット1003は、通信インターフェース、トランシーバ、トランシーバ回路などであってもよい。通信インターフェースは総称であり、1つまたは複数のインターフェースを含んでもよい。記憶ユニット1001はメモリであってもよい。
処理ユニット1002がプロセッサであり、通信ユニット1003が通信インターフェースであり、記憶ユニット1001がメモリであるとき、本発明のこの実施形態におけるサーバは、図10Bに示されたサーバであってもよい。
図10Bを参照すると、サーバ1010は、プロセッサ1012と、通信インターフェース1013と、メモリ1011とを含む。場合によっては、サーバ1010はバス1014をさらに含んでもよい。通信インターフェース1013、プロセッサ1012、およびメモリ1011は、バス1014を使用して互いに接続されてもよい。バス1014は、PCIバス、EISAバスなどであってもよい。バス914は、アドレスバス、データバス、制御バスなどに分類されてもよい。表現を容易にするために、図10Bではバスはただ1つの太線を使用して表されているが、それは、ただ1つのバスまたはただ1つのタイプのバスしか存在しないことを意味しない。
便利で簡潔な説明のために、前述の装置およびユニットの詳細な動作プロセスについては、前述の方法実施形態の対応するプロセスに対して参照が行われてもよいことは、当業者なら明確に理解されよう。詳細は本明細書では再び記載されない。
本発明のこの実施形態では、第2の公開鍵は、第1の公開鍵および端末デバイスの属性情報に基づいてKGCによって生成された公開鍵であり、第2の公開鍵は、端末デバイスの属性に基づく公開鍵であり、端末デバイスの属性に基づいて暗号化されたデータを復号するために使用されてもよい。第1の公開鍵は第2の公開鍵の中にネストされているので、端末デバイスの属性に基づいて暗号化されたデータが第2の公開鍵を使用して処理された後に生成されるデータは、第1の公開鍵に基づいて暗号化された暗号文である。端末デバイスは、端末デバイスに記憶された第1の秘密鍵を使用して第2のデータを復号することができる。第1の秘密鍵は、端末デバイスによって生成された鍵であり、第1の公開鍵に基づいて暗号化されたデータを復号するために使用されてもよい。
第1の秘密鍵は常に端末デバイスに記憶され、第1の秘密鍵は別のデバイスに送信される必要がないので、本発明のこの実施形態では、安全なチャネルが使用される必要がない。加えて、サーバが第1のデータを処理した後に取得されるものは依然として暗号文なので、サーバが別のデバイスと共謀した場合でも、別のデバイスは最終的な平文を取得することができない。したがって、本発明のこの実施形態は、サーバのセキュリティ性能に要件を課さない。その上、本発明のこの実施形態における第1の秘密鍵は定数であってもよく、端末デバイスは、平文を取得するために、第1の秘密鍵に従って復号演算を実行するときに1回のべき乗演算を実行するだけでよい。これは、別の技術的解決策で大量の計算リソースが消費される双線形ペアリング演算を回避し、それにより、端末デバイスの処理能力に対する要件が低減され、端末デバイスのリソース利用率が向上する。
プロセスのシーケンス番号は、本発明の実施形態における実行シーケンスを意味しない。プロセスの実行シーケンスは、プロセスの機能および内部ロジックに従って決定されるべきであり、本発明の実施形態の実装プロセスに対するいかなる制限とも解釈されるべきではない。
加えて、本明細書内の「および/または」という用語は、関連するオブジェクトを記述するための関連付け関係のみを記載し、3つの関係が存在してもよいことを表す。たとえば、Aおよび/またはBは、以下の3つのケースを表すことができる:Aのみが存在する、AとBの両方が存在する、およびBのみが存在する。加えて、本明細書内の文字「/」は、一般に、関連するオブジェクト間の「または」関係を表す。
本発明の実施形態に開示された内容を参照して記載された方法またはアルゴリズムのステップは、ハードウェアによって実施されてもよく、またはソフトウェア命令を実行するプロセッサによって実施されてもよい。ソフトウェア命令は対応するソフトウェアモジュールを含んでもよい。ソフトウェアモジュールは、ランダムアクセスメモリ(Random Access Memory、RAM)、フラッシュメモリ、読取り専用メモリ(Read Only Memory、ROM)、消去可能プログラマブル読取り専用メモリ(Erasable Programmable ROM、EPROM)、電気的消去可能プログラマブル読取り専用メモリ(Electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバルハードディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または従来技術で知られた任意の他の形態の記憶媒体に記憶されてもよい。たとえば、記憶媒体はプロセッサに結合されてもよく、その結果、プロセッサは、記憶媒体から情報を読み取るか、または記憶媒体に情報を書き込むことができる。確かに、記憶媒体は、代替としてプロセッサの構成要素であってもよい。プロセッサおよび記憶媒体はASIC内に配置されてもよい。加えて、ASICは、端末デバイス、KGC、またはサーバ内に配置されてもよい。確かに、プロセッサおよび記憶媒体は、個別の構成要素として端末デバイス、KGC、またはサーバ内に配置されてもよい。
前述の1つまたは複数の例では、本発明に記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せによって実装されてもよいことに当業者は気付くべきである。機能がソフトウェアによって実装されると、前述の機能は、コンピュータ可読媒体内に記憶されるか、またはコンピュータ可読媒体内で1つもしくは複数の命令もしくはコードとして送信されてもよい。コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体が含まれ、通信媒体には、コンピュータプログラムが1つの場所から別の場所に送信されることを可能にする任意の媒体が含まれる。記憶媒体は、汎用コンピュータまたは専用コンピュータにアクセス可能な任意の利用可能な媒体であってもよい。
本発明の目的、技術的解決策、および有益な効果は、前述の具体的な実装形態においてさらに詳細に記載された。前述の説明は、本発明の具体的な実装形態にすぎず、本発明の保護範囲を限定するものではないことを理解されたい。本発明の技術的解決策に基づいて行われるいかなる修正、均等な置換、および改善も、本発明の保護範囲内に入るべきである。
110 端末デバイス
120 鍵生成センタ(KGC)
130 サーバ
140 クラウドプラットフォーム
150 データプロバイダ
800 端末デバイス
801 記憶ユニット
802 処理ユニット
803 通信ユニット
810 端末デバイス
811 メモリ
812 プロセッサ
813 通信インターフェース
814 バス
900 KGC
901 記憶ユニット
902 処理ユニット
903 通信ユニット
910 KGC
911 メモリ
912 プロセッサ
913 通信インターフェース
914 バス
1000 サーバ
1001 記憶ユニット
1002 処理ユニット
1003 通信ユニット
1010 サーバ
1011 メモリ
1012 プロセッサ
1013 通信インターフェース
1014 バス
属性ベース暗号化(Attribute-Based Encryption、ABE)は、属性に基づいて暗号化が実行されるデータ処理方式である。ABEシステムは、大量のデータユーザにサービスすることができる。大量のデータユーザは、簡潔にするために、以下では略して「ユーザ」と呼ばれる。一部のユーザは、秘密鍵の暴露または会社からのユーザの退職などの理由で失効する必要がある。間接失効は、鍵生成センタ(Key Generation Center、KGC)が定期的に鍵更新作業を実行する、頻繁に使用されるABE失効方法であり、その結果、失効したユーザは、次の期間用の秘密鍵を取得することができず、したがって、データを復号することができない。
本発明のこの実施形態におけるデータ処理方法によれば、端末デバイスが失効しているかどうかを示すために使用される鍵更新情報はKGCによって生成され、変換鍵またはエラープロンプトは鍵更新情報および第2の公開鍵に従って生成され、その結果、失効していない端末デバイスが暗号化データを取得することができ、失効している端末デバイスが暗号化データを取得することができないことを保証することができる。これにより、システムのセキュリティ性能が向上する。
図1に示されたシステムアーキテクチャでは、変換鍵は、端末デバイス110のユーザ公開鍵に基づいて生成された鍵である。したがって、サーバ130が、変換鍵を使用することにより、属性に基づいて暗号化された暗号文に対して変換処理を実行した後、生成された部分的に復号された暗号文は、ユーザ公開鍵に基づいて暗号化された暗号文であり、部分的に復号された暗号文は、端末デバイス110に記憶されたユーザ秘密鍵を使用することによってのみ復号することができる。このようにして、部分的に復号された暗号文が別のデバイスによって取得された場合でも、別のデバイスは依然として暗号文を復号することができないので、データセキュリティは保証される。
各LSSSは線形復元によって特徴付けられる。IIがアクセス構造Aに対応する線形秘密分担方式を表すと仮定する。認可集合Aに対して、インデックス集合は、I={i|ρ(i)∈A}⊂{1,…,l}と定義される。この場合、ベクトル(1,0,…,0)は、インデックス集合Iによってインデックス付けされた行列Mの行が拡張され、定数集合{wi∈Zpi∈Iが、IIに従って生成された秘密μの任意の有効な秘密分担{vi}に対して、秘密μが
に従って復元され得ることを真とした後に形成される空間内にある。加えて、これらの定数集合{w1}は、分担生成行列Mのサイズに相当する多項式時間内に計算することができる。
端末デバイスが現在非失効状態にある場合、KGCは、端末デバイスが失効していないことを示す失効リストに従って鍵更新情報を生成することができ、鍵更新情報は端末デバイスが失効していないことを示すために使用され、KGCは、第2の公開鍵および鍵更新情報に従って変換鍵を生成し、変換鍵は依然として端末デバイスの属性に基づく鍵であり、その中に第1の公開鍵がネストされる。KGCはサーバに変換鍵を送信し、サーバは、変換鍵を使用することにより、端末デバイスの属性に基づいて暗号化されたデータを第1の公開鍵に基づいて暗号化されたデータに変換することができ、その結果、端末デバイスは、端末デバイスによって生成された第1の秘密鍵に従って、変換鍵を使用した変換の結果を復号する。
本発明のこの実施形態におけるデータ処理方法によれば、端末デバイスが失効しているかどうかを示すために使用される鍵更新情報がKGCによって生成され、変換鍵が鍵更新情報および第2の公開鍵に従って生成され、その結果、失効していない端末デバイスが暗号化データを取得することができ、失効している端末デバイスが暗号化データを取得することができないことを保証することができる。これにより、システムのセキュリティ性能が向上する。
さらに、KGCは、以下の方法で変換鍵を生成することができる:システムパラメータpar、ユーザ識別情報id(すなわち、識別パラメータ)、第2の公開鍵pkid A、および第1の鍵更新情報tkutを入力するステップ、ならびに変換鍵tkid,t=(pkid A,tkut)を出力するステップ。
上記では、図4を参照して、KGCの観点から本発明の実施形態によるデータ処理方法を詳述した。以下では、図5を参照して、サーバの観点から本発明の一実施形態によるデータ処理方法を詳述する。
Decrypt.このアルゴリズムは、システム公開パラメータpar、識別情報id、対応するユーザ秘密鍵skid、および変換された暗号文CT'=(C0',C0)を入力として受け取る。C0'またはC0が群G1に属していない場合、出力動作は失敗する。そうでない場合、以下の式を使用して平文メッセージが計算され出力される:
Path(ID):失効管理はツリーUを使用して実行され、リーフノードは識別情報IDを使用してマークされる。リーフノードグループVに対して、関数U(V)はUのノードの決定論的かつ選択的な集合を返し、その結果、リーフノードvのいくつかの祖先は、vがVに属するときのみU(V)に含まれる。そのような関数が存在し、多項式時間(VのサイズおよびIDのサイズ)内で計算され得る。Uのルートから(ルートおよびリーフを含む)リーフのvIDまでのノードの集合を示す文字列IDは、Path(ID)として定義される。
統合ユニットが使用されるとき、図8Aは、前述の実施形態における端末デバイスの可能な概略構造図を示す。端末デバイス800は、処理ユニット802および通信ユニット803を含む。処理ユニット802は、端末デバイス800の動作を制御および管理するように構成される。たとえば、処理ユニット802は、図1のステップ2およびステップ9を実行する際に端末デバイス800をサポートするように構成される。処理ユニット802は、図3のS310およびS340を実行する際に端末デバイス800をサポートするようにさらに構成され、かつ/または本明細書に記載された技術の他のプロセスに使用されてもよい。通信ユニット803は、端末デバイス800と別のネットワークエンティティとの間の通信、たとえば、端末デバイス800と図1に示されたKGC120またはサーバ130との間の通信をサポートするように構成される。端末デバイス800は、端末デバイス800のプログラムコードおよびデータを記憶するように構成された記憶ユニット801をさらに含んでもよい。

Claims (35)

  1. データ処理システムであって、
    端末デバイス、鍵生成センタKGC、およびサーバを備え、
    前記端末デバイスが、第1の公開鍵および第1の秘密鍵を生成するように構成され、
    前記端末デバイスが、前記鍵生成センタKGCに前記第1の公開鍵を送信するように構成され、
    前記KGCが、前記端末デバイスから前記第1の公開鍵を受信し、システムパラメータ、マスタ鍵、前記KGCの内部状態情報、前記第1の公開鍵、および前記端末デバイスの属性情報に従って、前記第2の公開鍵を生成するように構成され、前記システムパラメータが前記KGCに関連する公開情報であり、前記マスタ鍵が前記KGCの秘密鍵であり、
    前記KGCが、前記サーバに前記第2の公開鍵を送信するように構成され、
    前記サーバが、前記KGCによって送信された前記第2の公開鍵を受信するように構成され、
    前記サーバが、第1のデータを取得するように構成され、前記第1のデータが、前記端末デバイスの前記属性構造に基づいて暗号化されたデータであり、
    前記サーバが、前記第2の公開鍵に従って前記第1のデータを第2のデータに変換するように構成され、
    前記サーバが、前記端末デバイスに前記第2のデータを送信するようにさらに構成され、
    前記端末デバイスが、前記サーバによって送信された前記第2のデータを受信し、前記第1の秘密鍵に従って前記第2のデータを復号するようにさらに構成される、システム。
  2. 前記端末デバイスが、具体的に、前記システムパラメータおよび識別パラメータに従って前記第1の公開鍵および前記第1の秘密鍵を生成するように構成され、前記システムパラメータが前記KGCに関連する前記公開情報であり、前記識別パラメータが前記端末デバイスの識別情報である、請求項1に記載のシステム。
  3. 前記KGCが、前記第2の公開鍵および鍵更新情報に従って変換鍵を生成するようにさらに構成され、
    前記KGCが、前記端末デバイスが失効していることを前記鍵更新情報が示すとき、前記第2の公開鍵および前記鍵更新情報に従って前記エラープロンプトを生成し、前記サーバに前記エラープロンプトを送信するようにさらに構成され、または前記KGCが、前記端末デバイスが失効していないことを前記鍵更新情報が示すとき、前記第2の公開鍵および前記鍵更新情報に従って前記変換鍵を生成し、前記サーバに前記変換鍵を送信するようにさらに構成され、
    前記サーバが、具体的に、前記変換鍵に従って前記第1のデータを前記第2のデータに変換するように構成される、請求項1または2に記載のシステム。
  4. 前記サーバが、前記KGCから鍵更新情報を受信するようにさらに構成され、前記鍵更新情報が、前記端末デバイスが失効しているかどうかを示すために使用され、
    前記サーバが、前記端末デバイスが失効していることを前記鍵更新情報が示すとき、前記第2の公開鍵および前記鍵更新情報に従って前記エラープロンプトを生成するようにさらに構成され、または前記サーバが、前記端末デバイスが失効していないことを前記鍵更新情報が示すとき、前記第2の公開鍵および前記鍵更新情報に従って前記変換鍵を生成し、前記変換鍵に従って前記第1のデータを前記第2のデータに変換するようにさらに構成される、請求項1または2に記載のシステム。
  5. 前記第1の公開鍵および前記第1の秘密鍵が、公開鍵暗号化アルゴリズムにおいて互いに整合する一対の公開鍵および秘密鍵である、請求項1から4のいずれか一項に記載のシステム。
  6. データ処理方法であって、
    端末デバイスにより、第1の公開鍵および第1の秘密鍵を生成するステップと、
    前記端末デバイスにより、鍵生成センタKGCに前記第1の公開鍵を送信するステップであって、その結果、サーバまたは前記KGCが前記第1の公開鍵に従って変換鍵を生成する、ステップと、
    前記端末デバイスにより、前記サーバによって送信された第2のデータを受信するステップであって、前記第2のデータが、前記サーバが前記変換鍵に従って第1のデータを処理した後に生成されたデータであり、前記第1のデータが、前記端末デバイスの属性構造に基づいて暗号化され、前記サーバによって取得されたデータである、ステップと、
    前記端末デバイスにより、前記第1の秘密鍵に従って前記第2のデータを復号するステップと
    を含む方法。
  7. 前記端末デバイスにより、KGCに前記第1の公開鍵を送信する前記ステップが、
    前記端末デバイスにより、前記KGCに前記第1の公開鍵および認証情報を送信するステップであって、前記認証情報が、前記端末デバイスが前記第1の秘密鍵を記憶することを示すために使用される、ステップ
    を含む、請求項6に記載の方法。
  8. 端末デバイスにより、第1の公開鍵および第1の秘密鍵を生成する前記ステップが、
    前記端末デバイスにより、システムパラメータに従って前記第1の公開鍵および前記第1の秘密鍵を生成するステップであって、前記システムパラメータが前記KGCに関連する公開情報である、ステップ
    を含む、請求項6または7に記載の方法。
  9. 前記端末デバイスにより、前記第1の秘密鍵に従って前記第2のデータを復号する前記ステップが、
    前記端末デバイスにより、前記システムパラメータおよび前記第1の秘密鍵に従って前記第2のデータを復号するステップ
    を含む、請求項8に記載の方法。
  10. 前記第1の公開鍵および前記第1の秘密鍵が、公開鍵暗号化アルゴリズムにおいて互いに整合する一対の公開鍵および秘密鍵である、請求項6から9のいずれか一項に記載の方法。
  11. データ処理方法であって、
    鍵生成センタKGCにより、端末デバイスから第1の公開鍵を受信するステップと、
    前記KGCにより、システムパラメータ、マスタ鍵、前記第1の公開鍵、前記端末デバイスの属性情報、および前記KGCの内部状態情報に従って、前記第2の公開鍵を生成するステップであって、前記システムパラメータが前記KGCに関連する公開情報であり、前記マスタ鍵が前記KGCの秘密鍵である、ステップと、
    前記KGCにより、前記サーバに前記第2の公開鍵または変換鍵を送信するステップであって、前記変換鍵が前記第2の公開鍵および鍵更新情報に従って生成される、ステップと
    を含む方法。
  12. 前記KGCにより、前記第2の公開鍵を生成する前記ステップの前に、前記方法が、
    前記KGCにより、前記端末デバイスから認証情報を受信するステップであって、前記認証情報が、前記端末デバイスが前記第1の秘密鍵を記憶することを示すために使用される、ステップ
    をさらに含む、請求項11に記載の方法。
  13. 前記変換鍵が前記第2の公開鍵および鍵更新情報に従って生成されることが、
    前記KGCにより、前記第2の公開鍵、前記鍵更新情報、前記システムパラメータ、および前記識別パラメータに従って、前記変換鍵を生成することであって、前記鍵更新情報が、前記端末デバイスが失効していないことを示す、こと
    を含む、請求項11に記載の方法。
  14. 前記第1の公開鍵および前記第1の秘密鍵が、公開鍵暗号化アルゴリズムにおいて互いに整合する一対の公開鍵および秘密鍵である、請求項11から13のいずれか一項に記載の方法。
  15. データ処理方法であって、
    サーバにより、鍵生成センタKGCから第2の公開鍵を受信するステップであって、前記第2の公開鍵が、第1の公開鍵、端末デバイスの属性情報、システムパラメータ、マスタ鍵、および前記KGCの内部状態情報に従って、前記KGCによって生成され、前記システムパラメータが前記KGCに関連する公開情報であり、前記マスタ鍵が前記KGCの秘密鍵であり、前記第1の公開鍵が前記端末デバイスの公開鍵である、ステップと、
    前記サーバにより、第1のデータを取得するステップであって、前記第1のデータが、前記端末デバイスの前記属性構造に基づいて暗号化されたデータである、ステップと、
    前記サーバにより、前記第2の公開鍵に従って前記第1のデータを第2のデータに変換するステップと、
    前記サーバにより、前記端末デバイスに前記第2のデータに送信するステップであって、その結果、前記端末デバイスが前記第1の秘密鍵に従って前記第2のデータを復号する、ステップと
    を含む方法。
  16. サーバにより、第2の公開鍵を受信する前記ステップの後に、前記方法が、
    前記サーバにより、前記KGCから鍵更新情報を受信するステップであって、前記鍵更新情報が、前記端末デバイスが失効しているかどうかを示すために使用される、ステップ
    をさらに含み、
    前記サーバにより、前記第2の公開鍵に従って前記第1のデータを第2のデータに変換する前記ステップが、
    前記端末デバイスが失効していないことを前記鍵更新情報が示すとき、前記サーバにより、前記第2の公開鍵および前記鍵更新情報に従って前記変換鍵を生成するステップと、
    前記サーバにより、前記変換鍵に従って前記第1のデータを前記第2のデータに変換するステップと
    を含む、請求項15に記載の方法。
  17. 前記サーバにより、前記第2の公開鍵および前記鍵更新情報に従って前記変換鍵を生成する前記ステップが、
    前記サーバにより、前記第2の公開鍵、前記鍵更新情報、前記システムパラメータ、および識別パラメータに従って、前記変換鍵を生成するステップであって、前記システムパラメータが前記KGCに関連する前記公開情報であり、前記識別パラメータが前記端末デバイスまたは前記端末デバイスのユーザの識別情報である、ステップ
    を含む、請求項16に記載の方法。
  18. 前記サーバにより、前記変換鍵に従って前記第1のデータを前記第2のデータに変換する前記ステップが、
    前記サーバにより、前記変換鍵、前記システムパラメータ、前記端末デバイスの前記属性情報、前記識別パラメータ、または時間パラメータのうちの1つまたは複数に従って、前記第1のデータを前記第2のデータに変換するステップであって、前記システムパラメータが前記KGCに関連する前記公開情報であり、前記識別パラメータが前記端末デバイスまたは前記端末デバイスの前記ユーザの前記識別情報であり、前記時間パラメータが、前記サーバが前記変換鍵を使用することを許可された時間を示すために使用される、ステップ
    を含む、請求項17に記載の方法。
  19. 前記第1の公開鍵および前記第1の秘密鍵が、公開鍵暗号化アルゴリズムにおいて互いに整合する一対の公開鍵および秘密鍵である、請求項15から18のいずれか一項に記載の方法。
  20. データ処理装置であって、
    処理ユニットおよび通信ユニットを備え、
    前記処理ユニットが、
    第1の公開鍵および第1の秘密鍵を生成し、
    前記通信ユニットを使用して鍵生成センタKGCに前記第1の公開鍵を送信し、その結果、前記KGCまたはサーバが前記第1の公開鍵に従って第2の公開鍵または変換鍵を生成し、
    前記通信ユニットを使用して前記サーバによって送信された第2のデータを受信し、前記第2のデータが、前記サーバが前記第2の公開鍵または前記変換鍵に従って第1のデータを処理した後に生成されたデータであり、前記第1のデータが、前記端末デバイスの属性構造に基づいて暗号化され、前記サーバによって取得されたデータであり、
    前記第1の秘密鍵に従って前記第2のデータを復号するように構成される、装置。
  21. 前記通信ユニットが、前記KGCに前記第1の公開鍵および認証情報を送信するようにさらに構成され、前記認証情報が、前記端末デバイスが前記第1の秘密鍵を記憶することを示すために使用される、請求項20に記載の装置。
  22. 前記処理ユニットが、具体的に、システムパラメータに従って前記第1の公開鍵および前記第1の秘密鍵を生成するように構成され、前記システムパラメータが前記KGCに関連する公開情報である、請求項20または21に記載の装置。
  23. 前記処理ユニットが、具体的に、前記システムパラメータおよび前記第1の秘密鍵に従って前記第2のデータを復号するように構成される、請求項22に記載の装置。
  24. 前記第1の公開鍵および前記第1の秘密鍵が、公開鍵暗号化アルゴリズムにおいて互いに整合する一対の公開鍵および秘密鍵である、請求項20から23のいずれか一項に記載の装置。
  25. データ処理装置であって、
    処理ユニットおよび通信ユニットを備え、
    前記処理ユニットが、
    前記通信ユニットを使用して前記端末デバイスから第1の公開鍵を受信し、
    システムパラメータ、マスタ鍵、前記KGCの内部状態情報、前記第1の公開鍵、および前記端末デバイスの属性情報に従って、前記第2の公開鍵を生成し、前記システムパラメータが前記KGCに関連する公開情報であり、前記マスタ鍵が前記KGCの秘密鍵であり、
    前記通信ユニットを使用して前記サーバに前記第2の公開鍵を送信するように構成される、装置。
  26. 前記処理ユニットが前記第2の公開鍵を生成した後に、
    前記処理ユニットが、前記第2の公開鍵および鍵更新情報に従って変換鍵またはエラープロンプトを生成し、前記端末デバイスが失効していることを前記鍵更新情報が示すとき、前記第2の公開鍵および前記鍵更新情報に従って前記エラープロンプトを生成し、もしくは前記端末デバイスが失効していないことを前記鍵更新情報が示すとき、前記第2の公開鍵および前記鍵更新情報に従って前記変換鍵を生成し、前記通信ユニットを使用して前記サーバに前記変換鍵を送信するようにさらに構成されるか、または
    前記処理ユニットが、前記通信ユニットを使用して前記サーバに前記第2の公開鍵および前記鍵更新情報を送信し、その結果、前記サーバが、前記第2の公開鍵および前記鍵更新情報に従って前記変換鍵または前記エラープロンプトを生成する、ようにさらに構成される、請求項25に記載の装置。
  27. 前記処理ユニットが、前記通信ユニットを使用して前記端末デバイスから認証情報を受信し、前記認証情報が、前記端末デバイスが前記第1の秘密鍵を記憶することを示すために使用され、前記認証情報に従って、前記第2の公開鍵を生成することを決定するようにさらに構成される、請求項25または26に記載の装置。
  28. 前記処理ユニットが、具体的に、前記第1の公開鍵、前記端末デバイスの前記属性情報、前記システムパラメータ、前記マスタ鍵、または前記装置の前記内部状態情報のうちの1つまたは複数に従って、前記第2の公開鍵および更新された内部状態情報を生成するように構成され、前記システムパラメータが前記処理ユニットに関連する前記公開情報であり、前記マスタ鍵が前記処理ユニットの前記秘密鍵である、請求項25から27のいずれか一項に記載の装置。
  29. 前記処理ユニットが、具体的に、前記第2の公開鍵、前記鍵更新情報、前記システムパラメータ、または識別パラメータのうちの1つまたは複数に従って、前記変換鍵を生成するように構成され、前記鍵更新情報が、前記端末デバイスが失効していないことを示し、前記識別パラメータが、前記端末デバイスまたは前記端末デバイスのユーザの識別情報である、請求項28に記載の装置。
  30. 前記第1の公開鍵および前記第1の秘密鍵が、公開鍵暗号化アルゴリズムにおいて互いに整合する一対の公開鍵および秘密鍵である、請求項25から29のいずれか一項に記載の装置。
  31. データ処理装置であって、
    処理ユニットおよび通信ユニットを備え、
    前記処理ユニットが、
    前記通信ユニットを使用して鍵生成センタKGCから第2の公開鍵を受信し、前記第2の公開鍵が、システムパラメータ、マスタ鍵、前記KGCの内部状態情報、前記第1の公開鍵、および前記端末デバイスの属性情報に従って、前記KGCによって生成され、前記システムパラメータが前記KGCに関連する公開情報であり、前記マスタ鍵が前記KGCの秘密鍵であり、
    前記通信ユニットを使用して第1のデータを取得し、前記第1のデータが、前記端末デバイスの前記属性構造に基づいて暗号化されたデータであり、
    前記第2の公開鍵に従って前記第1のデータを第2のデータに変換し、
    前記通信ユニットを使用して前記端末デバイスに前記第2のデータに送信し、その結果、前記端末デバイスが前記第1の秘密鍵に従って前記第2のデータを復号する、ように構成される、装置。
  32. 前記処理ユニットが、前記通信ユニットを使用して前記第2の公開鍵を受信した後に、前記処理ユニットが、前記通信ユニットを使用して前記KGCから鍵更新情報を受信し、前記端末デバイスが失効していることを前記鍵更新情報が示すとき、前記第2の公開鍵および前記鍵更新情報に従って前記エラープロンプトを生成し、または前記端末デバイスが失効していないことを前記鍵更新情報が示すとき、前記第2の公開鍵および前記鍵更新情報に従って前記変換鍵を生成し、前記変換鍵に従って前記第1のデータを前記第2のデータに変換するようにさらに構成される、請求項31に記載の装置。
  33. 前記処理ユニットが、具体的に、前記第2の公開鍵、前記鍵更新情報、前記システムパラメータ、または識別パラメータのうちの1つまたは複数に従って、前記変換鍵を生成するように構成され、前記システムパラメータが、前記KGCによって生成された公開情報であり、前記識別パラメータが、前記端末デバイスまたは前記端末デバイスのユーザの識別情報である、請求項32に記載の装置。
  34. 前記処理ユニットが、具体的に、前記変換鍵、前記システムパラメータ、前記端末デバイスの前記属性情報、前記識別パラメータ、または時間パラメータのうちの1つまたは複数に従って、前記第1のデータを前記第2のデータに変換するように構成され、前記システムパラメータが、前記KGCに関連する前記公開情報であり、前記識別パラメータが、前記端末デバイスまたは前記端末デバイスの前記ユーザの前記識別情報であり、前記時間パラメータが、前記装置が前記変換鍵を使用することを許可された時間を示すために使用される、請求項33に記載の装置。
  35. 前記第1の公開鍵および前記第1の秘密鍵が、公開鍵暗号化アルゴリズムにおいて互いに整合する一対の公開鍵および秘密鍵である、請求項31から34のいずれか一項に記載の装置。
JP2019528015A 2016-08-05 2017-06-30 データ処理方法および装置 Pending JP2019531673A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201610640301.X 2016-08-05
CN201610640301.XA CN107689947B (zh) 2016-08-05 2016-08-05 一种数据处理的方法和装置
SGPCT/SG2017/050114 2017-03-09
PCT/SG2017/050114 WO2018026322A1 (zh) 2016-08-05 2017-03-09 一种数据处理的方法和装置
PCT/SG2017/050328 WO2018026323A1 (zh) 2016-08-05 2017-06-30 一种数据处理的方法和装置

Publications (1)

Publication Number Publication Date
JP2019531673A true JP2019531673A (ja) 2019-10-31

Family

ID=61073109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019528015A Pending JP2019531673A (ja) 2016-08-05 2017-06-30 データ処理方法および装置

Country Status (6)

Country Link
US (1) US10868670B2 (ja)
EP (1) EP3487118A4 (ja)
JP (1) JP2019531673A (ja)
KR (1) KR20190035835A (ja)
CN (1) CN107689947B (ja)
WO (2) WO2018026322A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI697807B (zh) * 2017-12-13 2020-07-01 台達電子工業股份有限公司 具安控機制的傳輸系統及方法
CN109039609A (zh) * 2018-08-24 2018-12-18 深圳美图创新科技有限公司 密钥导入终端的方法及终端
JP7097581B2 (ja) * 2018-09-25 2022-07-08 日本電信電話株式会社 通信システム、サーバ装置、通信方法、及びプログラム
CN109660381A (zh) * 2018-10-25 2019-04-19 中国平安人寿保险股份有限公司 分布式管理方法、装置、服务器及存储介质
CN109872787A (zh) * 2019-02-02 2019-06-11 上海龙健信息技术科技有限公司 一种分布式数据发布与订阅方法
CN110400164A (zh) * 2019-05-13 2019-11-01 腾讯科技(北京)有限公司 数据确定方法和装置、存储介质及电子装置
CN110278078B (zh) * 2019-06-17 2022-03-22 矩阵元技术(深圳)有限公司 一种数据处理方法、装置及系统
CN111030801A (zh) * 2019-10-25 2020-04-17 武汉大学 一种多方分布式的sm9密钥生成、密文解密方法与介质
CN111010276A (zh) * 2019-10-25 2020-04-14 武汉大学 一种多方联合sm9密钥生成、密文解密方法与介质
CN111294793A (zh) * 2019-12-30 2020-06-16 国网北京市电力公司 一种无线传感网中身份认证的数据隐私保护方法
CN112104454B (zh) * 2020-08-11 2023-04-07 东方红卫星移动通信有限公司 一种数据安全传输方法及系统
CN112039663B (zh) * 2020-08-27 2023-08-04 深圳供电局有限公司 一种数据的传输方法及系统
CN112418853A (zh) * 2020-09-22 2021-02-26 上海哔哩哔哩科技有限公司 基于区块链的交易数据加密方法及装置
US11799634B2 (en) 2020-09-30 2023-10-24 Qatar Foundation For Education, Science And Community Development Mesh network for resource-constrained devices
CN113515538B (zh) * 2021-06-08 2023-07-07 四川新网银行股份有限公司 一种基于多方安全计算的机构间隐私数据查询及预警方法
CN113489585B (zh) * 2021-07-02 2023-12-05 北京明朝万达科技股份有限公司 终端设备的身份认证方法、系统、存储介质、电子设备
CN113346997B (zh) * 2021-08-05 2021-11-02 北京紫光青藤微系统有限公司 用于物联网设备通信的方法及装置、物联网设备、服务器
CN114189339B (zh) * 2021-12-07 2024-01-26 贵州亨达集团信息安全技术有限公司 一种支持并行密钥隔离的无证书聚合签名方法及系统
KR102629617B1 (ko) * 2021-12-23 2024-01-29 재단법인대구경북과학기술원 속성 기반 접근 제어를 지원하는 실시간 IoT 데이터 공유 시스템 및 그 방법
CN114401426B (zh) * 2021-12-31 2023-05-05 珠海迈科智能科技股份有限公司 一种动态密钥的生成方法及其系统
CN117235682B (zh) * 2023-11-15 2024-05-28 张家港金典软件有限公司 一种基于智能企业管理平台的企业数据共享方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2748591B1 (fr) * 1996-05-07 1998-06-05 France Telecom Procede de realisation d'une transaction electronique securisee a double signature
EP0856968A3 (en) * 1997-01-24 2000-12-06 Nec Corporation Encryption key processing system to be incorporated into data recovery system or key setting system for generating encryption key
CA2271178A1 (en) 1999-05-06 1999-07-06 Connotech Experts-Conseils Inc. Server-side public key cryptography apparatus with private key protection and isolation from public networks
FR2866168A1 (fr) * 2004-02-11 2005-08-12 France Telecom Emission de cle publique par terminal mobile
JP5135070B2 (ja) 2008-06-12 2013-01-30 株式会社エヌ・ティ・ティ・データ 暗号文復号権限委譲システム
JP5269209B2 (ja) * 2010-01-13 2013-08-21 三菱電機株式会社 秘匿検索システム及び公開パラメータ生成装置及び暗号化装置及びユーザ秘密鍵生成装置及びクエリ発行装置及び検索装置及びコンピュータプログラム及び秘匿検索方法及び公開パラメータ生成方法及び暗号化方法及びユーザ秘密鍵生成方法及びクエリ発行方法及び検索方法
US9049023B2 (en) * 2011-05-24 2015-06-02 Zeutro Llc Outsourcing the decryption of functional encryption ciphertexts
CN102882685A (zh) * 2012-09-27 2013-01-16 东莞宇龙通信科技有限公司 身份认证系统及其方法
JP6182080B2 (ja) 2014-01-20 2017-08-16 日本電信電話株式会社 認証システム、プログラム
CN104022868A (zh) * 2014-02-18 2014-09-03 杭州师范大学 一种基于密文策略的属性基加密的外包解密方法
CN104486315B (zh) * 2014-12-08 2017-06-13 北京航空航天大学 一种基于内容属性的可撤销密钥外包解密方法
CN107251480B (zh) * 2015-02-20 2018-07-10 三菱电机株式会社 数据保管装置、数据更新系统和数据处理方法
US10498537B2 (en) * 2016-08-01 2019-12-03 Institute For Development And Research In Banking Technology (Drbt) System and method for providing secure collaborative software as a service (SaaS) attestation service for authentication in cloud computing

Also Published As

Publication number Publication date
WO2018026322A1 (zh) 2018-02-08
CN107689947B (zh) 2021-03-30
EP3487118A1 (en) 2019-05-22
US10868670B2 (en) 2020-12-15
KR20190035835A (ko) 2019-04-03
WO2018026323A1 (zh) 2018-02-08
EP3487118A4 (en) 2019-07-24
US20190173668A1 (en) 2019-06-06
CN107689947A (zh) 2018-02-13

Similar Documents

Publication Publication Date Title
JP2019531673A (ja) データ処理方法および装置
Tong et al. Cloud-assisted mobile-access of health data with privacy and auditability
EP2936731B1 (en) Managed secure computations on encrypted data
JP2019535153A (ja) トラステッドコンピューティングに基づく量子鍵配送のための方法及びシステム
JP6067932B2 (ja) 鍵共有デバイス及び方法
Jin et al. A secure and lightweight data access control scheme for mobile cloud computing
JP6194886B2 (ja) 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム
JP2018502320A (ja) 公開鍵暗号化システム
Bali et al. Lightweight authentication for MQTT to improve the security of IoT communication
WO2021098152A1 (zh) 基于区块链的数据处理方法、装置及计算机设备
JP2024506026A (ja) 閾値鍵交換
CN113726517A (zh) 一种信息共享方法及装置
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
Li et al. Multi-user searchable encryption with a designated server
JP6468567B2 (ja) 鍵交換方法、鍵交換システム
JPWO2016199507A1 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、通信装置、およびプログラム
Kanimozhi et al. Secure sharing of IOT data in cloud environment using attribute-based encryption
WO2019235102A1 (ja) 変換鍵生成装置、暗号文変換装置、復号装置、暗号文変換システム、変換鍵生成方法、暗号文変換方法、復号方法、及びプログラム
Somaiya et al. Implementation and evaluation of EMAES–A hybrid encryption algorithm for sharing multimedia files with more security and speed
WO2021010444A1 (ja) 鍵交換システム、通信装置、鍵交換方法及びプログラム
KR102526114B1 (ko) 암호화 및 복호화를 위한 장치 및 방법
CN112954388A (zh) 一种数据文件的获取方法、装置、终端设备和存储介质
KR20200131688A (ko) 비밀키 생성 장치 및 방법, 연산키 생성 장치 및 방법
JP2014017763A (ja) 暗号更新システム、暗号更新要求装置、暗号更新装置、復号装置、暗号更新方法、および、コンピュータ・プログラム
CN116866029B (zh) 随机数加密数据传输方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190314

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200706

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210104