JP7137707B2 - キー管理方法、クライアントおよびプログラム - Google Patents

キー管理方法、クライアントおよびプログラム Download PDF

Info

Publication number
JP7137707B2
JP7137707B2 JP2021532878A JP2021532878A JP7137707B2 JP 7137707 B2 JP7137707 B2 JP 7137707B2 JP 2021532878 A JP2021532878 A JP 2021532878A JP 2021532878 A JP2021532878 A JP 2021532878A JP 7137707 B2 JP7137707 B2 JP 7137707B2
Authority
JP
Japan
Prior art keywords
key
ciphertext
client
data
elliptic curve
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021532878A
Other languages
English (en)
Other versions
JP2022534461A (ja
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 JP2022534461A publication Critical patent/JP2022534461A/ja
Application granted granted Critical
Publication of JP7137707B2 publication Critical patent/JP7137707B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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
    • 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
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

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

Description

本発明は、セキュリティ技術分野に関し、特には、キー管理方法および関連装置に関する。
本出願は、2019年5月27日に提出された出願番号が201910445155.9であり、発明名称が「キー管理方法および関連装置」である中国特許出願に基づく優先権を主張するものであり、その全ての内容が、参照により本出願に組み込まれている。
キー管理サービス(Key Management Service、KMS)は、キークラウドホスティングサービスであり、データの暗号化に必要な暗号化キーを作成および制御し、他のクラウドサーバと統合することにより、クラウドサーバが当該暗号化キーを使用して暗号化データを管理可能となることを目的とする。
本発明の実施例は、クラウドストレージキーの生成および記憶の効率を向上させることができるとともに、クラウドストレージデータの安全性を保証することができる、キー管理方法および関連装置を提供する。
本発明の実施例の第1の態様によれば、
クライアントが実行するキー管理方法であって、
クライアントが、ユーザの入力した操作指令に基づいて1つの乱数および1つのキーを選択するステップと、
前記クライアントが前記乱数、前記キー、第1の公開キーおよび第2の公開キーに基づいて、前記キーの第1の暗号文を生成するステップであり、前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定されるものであり、前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定されるものである、ステップと、
前記クライアントが前記キーおよび予め選択されたハッシュ関数に基づいて対称キーシーケンスを生成して、前記対称キーシーケンスに基づいてクラウドストレージデータを暗号化してデータ暗号文を得るステップと、
前記クライアントが前記第1の暗号文および前記データ暗号文をクラウドサーバに送信するステップと、を含む方法を提供する。
本発明の実施例の第2の態様によれば、
クラウドサーバが実行するキー管理方法であって、
クラウドサーバがクライアントから送信された第1の暗号文およびデータ暗号文を受信するステップであり、前記第1の暗号文は、乱数、キー、第1の公開キー、および第2の公開キーに基づいて生成されるものであり、前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定されるものであり、前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定されるものであり、前記データ暗号文は、対称キーシーケンスに基づいてクラウドストレージデータを暗号化して得られたものであり、前記対称キーシーケンスは、前記キーおよび予め選択されたハッシュ関数に基づいて生成されるものである、ステップと、
前記クラウドサーバが、前記第1の暗号文および前記データ暗号文を記憶するステップと、を含む方法を提供する。
本発明の実施例の第3の態様によれば、
ユーザが入力した操作指令に基づいて、1つの乱数および1つのキーを選択するための選択モジュールと、
前記乱数、前記キー、第1の公開キーおよび第2の公開キーに基づいて、前記キーの第1の暗号文を生成するための処理モジュールであり、前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定されるものであり、前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定されるものである、処理モジュールと、
クラウドサーバに前記第1の暗号文および前記データ暗号文を送信するための送信モジュールと、を備えるクライアントであって、
前記処理モジュールは、さらに、前記キーおよび予め選択されたハッシュ関数に基づいて対称キーシーケンスを生成して、前記対称キーシーケンスに基づいてクラウドストレージデータを暗号化して、データ暗号文を得るためのものである、クライアントを提供する。
本発明の実施例の第4の態様によれば、
クライアントから送信された第1の暗号文およびデータ暗号文を受信するための受信モジュールであり、前記第1の暗号文は、乱数、キー、第1の公開キーおよび第2の公開キーに基づいて生成されるものであり、前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定されるものであり、前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定されるものであり、前記データ暗号文は、対称キーシーケンスに基づいてクラウドストレージデータを暗号化して得られたものであり、前記対称キーシーケンスは前記キーおよび予め選択されたハッシュ関数に基づいて生成されるものである、受信モジュールを備える、クラウドサーバを提供する。
本発明の実施例の第5の態様によれば、プロセッサと、メモリと、通信バスとを含む別のクライアントであり、通信バスは、プロセッサとメモリとの接続通信を実現するためのものであり、プロセッサは、メモリに記憶されるプログラムを実行することによって前記の第1の方面が提供するキー管理方法のステップを実現するためのものである、別のクライアントを提供する。
1つの可能な設計では、本発明が提供するクライアントは、前記の方法の設計におけるクライアントの行為を実行するための対応するモジュールを含み得る。なお、モジュールは、ソフトウェアまたはハードウェアのうちのいずれか1つであってよい。
本発明の実施例の第6の態様によれば、プロセッサと、メモリと、通信バスとを含む別のクラウドサーバであり、通信バスは、プロセッサとメモリとの接続通信を実現するためのものであり、プロセッサは、メモリに記憶されるプログラムを実行することによって前記の第2の方面が提供するキー管理方法のステップを実現するためのものである、別のクラウドサーバを提供する。
1つの可能な設計では、本発明が提供するクラウドサーバは、前記の方法の設計におけるクラウドサーバの行為を実行するための対応するモジュールを含み得る。なお、モジュールは、ソフトウェアまたはハードウェアのうちのいずれか1つであってよい。
本発明の実施例の第7の態様によれば、命令が記憶され、コンピュータが前記命令を実行する場合、前記態様のうちいずれか一つの方法をコンピュータに実行させる、コンピュータで読取可能な記憶媒体を提供する。
本発明の実施例の第8の態様によれば、命令を含み、コンピュータが前記命令を実行する場合、前記態様のうちいずれか一つの方法をコンピュータに実行させる、コンピュータプログラム製品を提供する。
以下に、本発明の実施例の技術方案をより明瞭に説明するために、実施例の説明に必要な図面を簡単に説明するが、以下に説明する図面は、本発明のいくつかの実施例に関するものであり、当業者であれば、創作的な労力をかけることなく、これらの図面から他の図面を得られることが明らかである。
従来技術が提供する、キー管理方法を示す図である。 本発明の実施例が提供する、キー管理システムのアーキテクチャを示す図である。 本発明の実施例が提供する、キー管理方法を示すフローチャートである。 本発明の実施例が提供する、暗号文およびデータ暗号文の記憶フォーマットを示す図である。 本発明の実施例が提供する、別のキー管理方法を示すフローチャートである。 本発明の実施例が提供する、記憶負荷対比を示す図である。 本発明の実施例が提供する、クライアントの構造を示す図である。 本発明の実施例が提供する、クラウドサーバの構造を示す図である。 本発明の実施例が提供する、別のクライアントの構造を示す図である。 本発明の実施例が提供する、別のクラウドサーバの構造を示す図である。
以下に、本発明の実施例の技術方案について、図面を参照しながら明瞭にし、完全に説明するが、以下に説明する実施例は、本発明の全ての実施例ではなく、その一部の実施例に過ぎないことが明らかである。また、当業者によって本発明の実施例に基づいて、創作的な労力をかけることなく得られる他の実施例も、全てが本発明の保護範囲内に含まれる。
なお、以下に、理解を容易にするために、用語を説明する。
1.キー管理サービス(Key Management Service、KMS):安全で使用しやすいキーの生成および管理に関するサービスである。最終的な目的としては、ユーザによるデータの静的記憶データの安全性、すなわちユーザデータの機密性、完全性、および利用可能性を保護することである。クラウドサーバにキー管理サービスを配置することにより、ユーザは、データの保護およびデータの暗号化や復号化のためのキーを安全で便利に使用および管理することが可能となり、クラウドサーバの静的データの暗号化や復号化の場面に専念することができる。
2.ハードウェアセキュリティモジュール(Hardware Security Module、HSM):強力認証システムに使用されるデジタルキーを保証および管理するとともに、暗号学に関連する動作のコンピュータハードウェア装置を提供するためものである。そして、拡張カードおよび周辺装置を介して、コンピュータおよびネットワークサーバ-に対して直接的に接続されている。また、HSMは、アプリケーションプログラムに対して暗号化キーの保護や、暗号化、復号化、身元認証およびデジタル署名の配置サービスを提供することができるため、クラウドサーバのハードウェアセキュリティモジュールが、データルートキーの記憶に対して保護を提供することができる。また、HSMは、改ざん証拠保全および改ざん抵抗機能の2種類の改ざん防止機能を提供する。
3.ハッシュ関数(Hash Function):要約関数とも呼ばれ、任意の長さの入力をハッシュアルゴリズムによって固定の長さの出力に変換するためのものである。
基本的な性質:
(1)プレイメージ(Pre-image)は、その動作方向の一方向性を指す。ハッシュ値hが与えられると、対応する情報m(h=hash(m))を見つけることができない。すなわち、出力から入力を算出することができず、入力から出力を導出することのみができる。
(2)セカンドプレイメージ(Secondary pre-image):その出力結果が1つの既知の出力結果と等しいような1つの入力を見つけることができない。すなわち、入力m1が与えられると、ハッシュ値hash(m1)=hash(m2)となるような別の入力m2を見つけることができない。
(3)衝突制約:その出力結果hash(m1)とhash(m2)が完全に一致する(hash(m1)=hash(m2))2つの異なる入力m1およびm2を同時に見つけることができない。
4.楕円曲線暗号化アルゴリズム(Elliptic Curve Cryptography、ECC):楕円曲線数学に基づく公開キーの暗号化アルゴリズムである。数学的基礎は、楕円曲線上の有理点を利用してアーベル加法群における楕円離散対数の計算困難性を構成することであり、その主な利点として、ある場合に他の方法(例えばRSA暗号化アルゴリズム)よりも小さいキーを使用し、同等またはそれより高いレベルの安全を提供できることである。
5.対称暗号化(Symmetric Key Encryption、SKE):暗号化および復号化に対して同じようなキーの暗号化アルゴリズムを使用する必要がある。また、対称暗号化は、その速度が速いため、一般的にメッセージ送信側が大量のデータを暗号化する必要がある場合に用いられる。そのうち、高級暗号化標準(Advanced Encryption Standard、AES)は、対称キーの暗号化において最も流行するアルゴリズムの1つとして、SPN(Substitution Permutation Network)を利用するブロック暗号化標準である。
KMSは、主に、(1)KMSに記憶されたマスターキーを利用して、KMSのアプリケーションプログラムインタフェース(Application Program Interface、API)を呼び出すことによりデータの暗号化や復号化を行う場面と、(2)クラウドサーバにおけるデータキーを用いてデータの暗号化や復号化を行い、KMSにおけるマスターキーを利用してデータキーを保護する場面との2つの場面に使用される。また、KMSにおいて、マスターキーは、ハードウェアセキュリティモジュール(Hardware Security Module、HSM)によって保護され、キーの利用可能性、安全性、および持久性を保証できるようにHSMのみに使用することができる。また、KMSは、ユーザが自分でマスターキーを作成してHSMに導入することを支持することができる。
図1に示すように、図1は、従来技術が提供するキー管理方法を示す図である。データ暗号化キー(Data Encryption Key、DEK)は、データ暗号化キー(HSM Backing Key)によって保護され、HBKは、ドメインキー(Domain Key、DK)によって保護され、そして、ドメインキーは、永久的に記憶されたHSMマスターキー(Domain Key Encryption Key、DKEK)によって保護され、DKEKは、HSMに記憶される。表1に示すように、表1は、1種のKMSキー管理構造である。DKEKは、最外層の暗号化キーであり、DKは、最外層より一つ内側の層の暗号化キーであり、HBKは、内層の暗号化キーであり、DEKは、最内層の暗号化キーである。DK、HBK、およびDEKは、共にHSMによって生成される。
Figure 0007137707000001
従来のKMSキー管理方案に対して、以下のような技術的問題が存在している。すなわち、(1)現段階におけるデータのプライバシー保護に対するユーザの敏感度に鑑みて、データキーおよび暗号化データは共にクラウドサーバによって管理されている。クラウドサービス事業者が装置のメンテナンス管理者を厳密に制御および監督しても、内部者による秘密の漏洩やデータの盗難がよく発生する。(2)暗号化されたデータキーが暗号化されたデータと共にクラウドストレージサーバに記憶されるため、クラウドサーバによるキーの管理および暗号化キーの記憶のコストを増加させた。(3)キーが層毎にカバーされるという構造を採用しているため、HSMのキーの復号化および記憶のコストも向上させた。また、HSMの計算および記憶能力に限界があるため、クラウドサーバの装置コストを増加させた。
図2に示すように、図2は、本発明の実施例が提供するキー管理システムのアーキテクチャを示す図である。本発明の実施例におけるキー管理システムは、クラウドサーバ1、ハードウェアセキュリティモジュール2、および、クライアント3を含む。そのうち、クラウドサーバ1は、クラウドコンピューティングサービスの重要な構成部分であり、各種のインターネットユーザに向けて総合的なサービス能力を提供するサービスプラットフォームである。当該サービスプラットフォームは、従来のインターネット応用の3つのコア要素である計算、記憶、およびネットワークを統合して、ユーザに向けて公共化したインターネットインフラストラクチャサービスを提供する。クラウドサーバにおける各クラスタノードは、インターネットのバックボーンデータセンタに配置され、計算、記憶、オンラインバックアップ、ホスティング、帯域幅、などのインターネットインフラストラクチャサービスを独立して提供することができる。ハードウェアセキュリティモジュール2は、クラウドサーバのハードウェアセキュリティモジュールであり、強力認証システムに使用されるデジタルキーを保障および管理するとともに、暗号学に関連する動作のコンピュータハードウェア装置を提供するためのものであり、そして、拡張カードおよび周辺装置を介して、コンピュータおよびネットワークサーバに直接に接続される。ハードウェアセキュリティモジュール2は、アプリケーションプログラムに対して暗号化キーの保護や、暗号化、復号化、身元認証、およびデジタル署名の配置サービスを提供することができるため、データルートキーの記憶に対して保護を提供することができる。また、ハードウェアセキュリティモジュール2は、改ざん証拠保全と改ざん抵抗との2種類の改ざん防止機能を提供する。クライアント3は、スマートフォン、携帯型コンピュータ、ハンドヘルド通信装置、ハンドヘルド計算装置、衛星ラジオ装置、全地球測位システム、パームトップコンピュータ(personal digital assistant、PDA)、および/または、無線通信システムで通信するための任意の他の適切な装置、などとすることができる。クラウドサーバ1、ハードウェアセキュリティモジュール2、およびクライアント3同士は、ネットワーク接続を確立して、確立したネットワーク接続を介して通信することができる。
本発明の実施例は、クラウドストレージデータのプライバシー保護およびクラウドストレージキーの生成などの場面に応用することができる。本発明の実施例では、HSMの公開キーおよびクライアントの公開キーを用いてデータ暗号化キーを保護することにより、クライアントのクラウドストレージデータは、HSMおよびクライアントが共同で復号化する場合のみに復号化される。
図3に示すように、図3は、本発明の実施例が提供するキー管理方法を示すフローチャートである。当該フローは、キーの生成およびデータの暗号化を含む。本発明の実施例は、少なくとも以下のステップを含む。
S301において、クライアントは、ユーザの入力した操作指令に基づいて、1つの乱数および1つのキーを選択する。そのうち、前記乱数および前記キーは、共にnよりも小さく、前記nは、楕円曲線上の点のオーダーである。
具体的な実現に当たって、例えば、ユーザは、クライアントを介してクラウドサーバにおけるキーを作成するためのウェブページにアクセスすることができる。クライアントは、ユーザが前記キーを作成するためのウェブページを介して入力した操作指令(例えば、ユーザが前記ウェブページにおけるキーを生成するためのボタンをクリックする)を受信して、前記ウェブページにおけるコードを実行することによって、1からn-1までの区間内からいずれか1つの整数を乱数として選択し、1からn-1までの区間内から1つの整数をキーとして選択することができ、前記nは、楕円曲線上の点のオーダーである。例えば、楕円曲線E:y=x+ax+bに対して、楕円曲線上の点Pについて、数乗算nP=O∞となるような最小の正の整数nが存在すると、nをPのオーダーと称し、nが存在しないと、Pは無限次である。そのうち、O∞は、当該楕円曲線上の無限遠点である。
オプションとして、クライアントが1つの乱数および1つのキーを選択する前に、ハードウェアセキュリティモジュールHSMは、キー管理システムを初期化することができる。例えば、HSMは、ユーザがクラウドサーバにユーザアカウントを作成する場合、キー管理システムに対して前記初期化を行う。具体的に、HSMは、複数の素数から1つの素数qを選択し、その後、4a+27b=0modqが成立しないように、複数の整数からqより小さい2つの非負整数a、bを選択する。したがって、方程式E:y=x+ax+bを満たす全ての点(x,y)および無限遠点O∞は、1つの楕円曲線を構成し、ここで、x、yは、0~p-1の範囲内の整数である。その後、HSMは、楕円曲線に対して離散化処理を行い、例えばy=x+ax+bmodqによって全解(x,y)∈Zおよび1つの無限遠点O∞を得る。最後に、HSMは、全解から1つの点Pを楕円曲線上の任意の点として選択し、点Pのオーダーはnである。また、HSMは、複数のハッシュ関数から条件H:{0,1}*->{0,1}1024を満足する1つのハッシュ関数を選択することができる。そのうち、当該ハッシュ関数は、任意の文字列を固定長さの文字列にマッピングすることができる。
その後、HSMは、[1,n-1]から1つの整数sをHSMの秘密キーとして選択した後、HSMの秘密キーおよび楕円曲線上の点PからHSMの第1の公開キーを算出し、第1の公開キーS=sgPは、(S,P)と表すことができる。
キー管理システムの初期化において、クライアントは、HSMから送信された楕円曲線上の点Pおよびn(点Pのオーダー)を受信し、その後、ユーザから入力された選択指令(例えば、前記選択指令は、クラウドサーバまたはHSMによって提供されたウェブページを介して入力される)に基づいて、[1,n-1]から1つの整数sをクライアントの秘密キーとして選択した後、クライアントの秘密キーおよび楕円曲線上の点Pからクライアントの第2の公開キーを算出することができ、第2の公開キーS=sgPは、(S,P)と表すことができる。ユーザは、クライアントを介してクライアントの秘密キーをダウンロードして、クライアントの内部メモリに記憶することができる。そのうち、前記クライアントの公開キー、秘密キーは、ユーザの公開キー、秘密キーとも呼ばれる。
S302において、クライアントは、前記乱数、前記キー、第1の公開キー、および第2の公開キーに基づいて、前記キーの第1の暗号文を生成し、前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定され、前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定される。
具体的な実現に当たって、クライアントは、楕円曲線暗号化アルゴリズムを利用して、HSMの第1の公開キー(S,P)およびクライアントの第2の公開キー(S,P)の両者に基づいてキーKの暗号文Ek(すなわち、前記第1の暗号文)を生成することができ、Ekは、例えば、下記の式1で表すことができる。
Ek=(r・P,(S+S)・r+k),(式1)
ここで、rは乱数であり、kはキーであり、Sは第1の公開キーであり、Sは第2の公開キーである。式1から分かるように、暗号文Ekは、ハードウェアセキュリティモジュールの第1の公開キーおよびクライアントの第2の公開キーで共同して決定される。r・Pは、乱数rおよび楕円曲線上の点Pから楕円曲線上にマッピングされる点を算出することを表す。そのうち、前記ハードウェアセキュリティモジュールの秘密キーは、前記ハードウェアセキュリティモジュールが1からn-1までの区間から選択した1つの整数であり、前記クライアントの秘密キーは、前記クライアントが1からn-1までの区間から選択した1つの整数であり、前記nは、前記楕円曲線上の点のオーダーである。
S303において、クライアントは、前記キーおよび予め選択されたハッシュ関数に基づいて対称キーシーケンスを生成して、前記対称キーシーケンスに基づいてクラウドストレージデータを暗号化してデータ暗号文を得る。
具体的な実現に当たって、クライアントは、暗号化APIを呼び出して、前記キーおよび予め選択されたハッシュ関数に基づいてクラウドストレージデータを暗号化するための対称キーシーケンス(H(1||k)、H(2||k)、…、H(m||k))を生成することができ、ここで、kはキーであり、Hはハッシュ関数である。そして、対称キーアルゴリズムを利用して、対称キーシーケンス(H(1||k)、H(2||k)、…、H(m||k))に基づいて、クラウドストレージデータ(m1、m2、…、mk)を暗号化することによって、データ暗号文(Enc(m1)、…、Enc(mk))を得ることができる。
S304において、クライアントは、前記第1の暗号文および前記データ暗号文をクラウドサーバに送信する。クラウドサーバは、前記第1の暗号文および前記データ暗号文を記憶する。例えば、図4に示すように、図4は、本発明の実施例が提供する第1の暗号文およびデータ暗号文の記憶フォーマットを示す図である。前の部分は第1の暗号文であり、後の部分はデータ暗号文である。第1の暗号文によってデータ暗号文を復号化することができる。また、第1の暗号文は、ハードウェアセキュリティモジュールの第1の公開キーおよびクライアントの第2の公開キーに基づいて生成されるため、ハードウェアセキュリティモジュールおよびクライアントが共同で第1の暗号文を復号化しなければキーを得ることができない。
本発明の実施例では、クライアントにおいてHSMの公開キーおよびクライアントの公開キーに基づいて暗号化キーを生成することにより、クラウドサーバがKMSにおいてデータ暗号化キーを処理する必要がなく、クライアントがデータを同時に記憶する必要もなく、さらに、KMSの演算負荷およびクラウドのデータ記憶負荷を低減させた。HSMに対して、本方案では、層ごとにカバーされるようなキー構造を採用しないため、HSMによる層ごとのキーの生成、暗号化、および復号化の演算動作コストを大幅に低減させた。
図5に示すように、図5は、本発明の実施例が提供する別のキー管理方法を示すフローチャートである。本発明の実施例は、少なくとも以下のステップを含む。
S501において、クライアントは、ユーザの入力した操作指令に基づいて、1つの乱数および1つのキーを選択する。そのうち、前記乱数および前記キーは、共にnよりも小さく、前記nは、楕円曲線上の点のオーダーである。
具体的な実現に当たって、例えば、ユーザは、クライアントを介してクラウドサーバにおけるキーを作成するためのウェブページにアクセスすることができる。クライアントは、ユーザが前記キーを作成するためのウェブページを介して入力した操作指令(例えば、ユーザが前記ウェブページにおけるキーを生成するためのボタンをクリックする)を受信して、前記ウェブページにおけるコードを実行することによって、1からn-1までの区間内からいずれか1つの整数を乱数として選択し、1からn-1までの区間内から1つの整数をキーとして選択することができ、前記nは、楕円曲線上の点のオーダーである。例えば、楕円曲線E:y=x+ax+bに対して、楕円曲線上の点Pについて、数乗算nP=O∞となるような最小の正の整数nが存在すると、nをPのオーダーと称し、nが存在しないと、Pは無限次である。そのうち、O∞は、当該楕円曲線上の無限遠点である。
オプションとして、クライアントが1つの乱数および1つのキーを選択する前に、ハードウェアセキュリティモジュールHSMは、キー管理システムを初期化することができる。例えば、HSMは、ユーザがクラウドサーバにユーザアカウントを作成する場合、キー管理システムに対して前記初期化を行う。具体的には、HSMが、ユーザの入力した選択指令に基づいて複数の素数から1つの素数qを選択し、その後、4a+27b=0modqが成立しないように、複数の整数からqよりも小さい2つの非負整数a、bを選択することができる。したがって、方程式E:y=x+ax+bを満たす全ての点(x,y)および無限遠点O∞は、1つの楕円曲線を構成し、ここで、x、yは、0~p-1の範囲内の整数である。その後、HSMは、楕円曲線に対して離散化処理を行い、例えばy=x+ax+bmodqによって全解(x,y)∈Zおよび1つの無限遠点O∞を得る。最後に、HSMは、全解から1つの点Pを楕円曲線上の任意の点として選択し、点Pのオーダーはnである。また、HSMが、ユーザの入力した選択指令を受信して、複数のハッシュ関数から条件H:{0,1}*->{0,1}1024を満足する1つのハッシュ関数を選択することができる。そのうち、当該ハッシュ関数は、任意の文字列を固定長さの文字列にマッピングすることができる。
その後、HSMは、[1,n-1]から1つの整数sをHSMの秘密キーとして選択した後、HSMの秘密キーおよび楕円曲線上の点PからHSMの第1の公開キーを算出することができ、第1の公開キーS=sgPは、(S,P)と表すことができる。
キー管理システムの初期化において、クライアントが、HSMから送信された楕円曲線上の点Pおよびn(点Pのオーダー)を受信し、その後、ユーザの入力した選択指令(例えば、前記選択指令は、クラウドサーバまたはHSMによって提供されたウェブページを介して入力される)に基づいて、[1,n-1]から1つの整数sをクライアントの秘密キーとして選択した後、クライアントの秘密キーおよび楕円曲線上の点Pからクライアントの第2の公開キーを算出することができ、第2の公開キーS=sgPは、(S,P)と表すことができる。ユーザは、クライアントを介してクライアントの秘密キーをダウンロードして、クライアントの内部メモリに記憶することができる。そのうち、前記クライアントの公開キーや秘密キーは、ユーザの公開キーや秘密キーとも呼ばれる。
S502において、クライアントは、前記乱数、前記キー、第1の公開キー、および第2の公開キーに基づいて前記キーの第1の暗号文を生成し、前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定され、前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定される。
具体的な実現に当たって、クライアントは、楕円曲線暗号化アルゴリズムを利用して、HSMの第1の公開キー(S,P)およびクライアントの第2の公開キー(S,P)の両者からキーKの暗号文Ek(すなわち、前記第1の暗号文)を生成することができ、Ek=(r・P,(S+S)・r+k(前記の式1)となり、ここで、rは乱数であり、kはキーであり、Sは第1の公開キーであり、Sは第2の公開キーである。式1から分かるように、暗号文Ekは、ハードウェアセキュリティモジュールの第1の公開キーおよびクライアントの第2の公開キーで共同して決定される。r・Pは、乱数rおよび楕円曲線上の点Pから楕円曲線上にマッピングされる点を算出することを表す。そのうち、前記ハードウェアセキュリティモジュールの秘密キーは、前記ハードウェアセキュリティモジュールが1からn-1までの区間から選択した1つの整数であり、前記クライアントの秘密キーは、前記クライアントが1からn-1までの区間から選択した1つの整数であり、前記nは、前記楕円曲線上の点のオーダーである。
S503において、クライアントは、前記キーおよび予め選択されたハッシュ関数に基づいて対称キーシーケンスを生成して、前記対称キーシーケンスに基づいてクラウドストレージデータを暗号化してデータ暗号文を得る。
具体的な実現に当たって、クライアントは、暗号化APIを呼び出して、前記キーおよび予め選択されたハッシュ関数に基づいて、クラウドストレージデータを暗号化するための対称キーシーケンス(H(1||k)、H(2||k)、…、H(m||k))を生成することができ、ここで、kはキーであり、Hはハッシュ関数である。そして、対称キーアルゴリズムを利用して、対称キーシーケンス(H(1||k)、H(2||k)、…、H(m||k))に基づいて、クラウドストレージデータ(m1、m2、…、mk)を暗号化することによって、データ暗号文(Enc(m1)、…、Enc(mk))を得ることができる。
S504において、クライアントは、前記第1の暗号文および前記データ暗号文をクラウドサーバに送信する。クラウドサーバは、前記第1の暗号文および前記データ暗号文を記憶する。例えば、図4に示すように、図4は、本発明の実施例が提供する第1の暗号文およびデータ暗号文の記憶フォーマットを示す図である。前の部分は第1の暗号文であり、後の部分はデータ暗号文である。第1の暗号文によってデータ暗号文を復号化することができる。また、第1の暗号文は、ハードウェアセキュリティモジュールの第1の公開キーおよびクライアントの第2の公開キーに基づいて生成されるため、ハードウェアセキュリティモジュールおよびクライアントが共同で第1の暗号文を復号化しなければキーを得ることができない。
S505において、クライアントは、クラウドサーバに復号化要求を送信する。
例えば、クライアントは、ユーザがクラウドサーバにおけるウェブページを介してクラウドサーバに記憶されたクラウドストレージデータにアクセスした場合、クラウドサーバに復号化要求を送信する。前記復号要求は、例えばクラウドストレージデータのファイル名、ユーザのアカウント情報、などを含むことができる。
S506において、クラウドサーバは、ハードウェアセキュリティモジュールに前記第1の暗号文および復号化要求を送信する。
クラウドサーバは、例えば、ユーザのアカウント情報に基づいて前記第1の暗号文を得て、前記第1の暗号文を復号化要求と共にハードウェアセキュリティモジュールに送信することができる。
S507において、ハードウェアセキュリティモジュールは、ハードウェアセキュリティモジュールの秘密キー、楕円曲線上の点、および前記乱数に基づいて、前記第1の暗号文を復号化して、第2の暗号文を得る。
具体的な実現に当たって、ハードウェアセキュリティモジュールは、復号化要求を受信すると、ハードウェアセキュリティモジュールの秘密キーsを用いて前記第1の暗号文を復号化して、第2の暗号文
Figure 0007137707000002

を、算出する。
Figure 0007137707000003

は、例えば下記の式2で表すことができる。
Figure 0007137707000004
(式2)
式2から分かるように、第2の暗号文
Figure 0007137707000005

は、クライアントの第2の公開キーのみによって決定される。
オプションとして、ハードウェアセキュリティモジュールは、クラウドサーバから送信されたデータ暗号文(Enc(m1)、…、Enc(mk))を受信して、データ暗号文(Enc(m1)、…、Enc(mk))および第2の暗号文
Figure 0007137707000006

をクライアントに送信することができる。
S508において、クラウドサーバは、クライアントにデータ暗号文を送信する。好ましくは、S508は、S506の後、かつ、S507の前に実行することができる。
S509において、ハードウェアセキュリティモジュールは、クライアントに第2の暗号文を送信する。
S510において、クライアントは、前記第2の暗号文に基づいて前記データ暗号文を復号化して、前記クラウドストレージデータを得る。
具体的な実現に当たって、クライアントは、前記クライアントの秘密キー、前記乱数、および前記楕円曲線上の点に基づいて、前記第2の暗号文r・P,S・r+kを復号化して、キーS・r+k-s・r・P=kを得る。その後、復号化APIを呼び出して、前記キーkおよび前記ハッシュ関数に基づいて、前記対称キーシーケンス(H(1||k)、H(2||k)、…、H(m||k))を生成する。ここで、kはキーであり、Hはハッシュ関数である。最後に、前記対称キーシーケンス(H(1||k)、H(2||k)、…、H(m||k))に基づいて、前記データ暗号文(Enc(m1)、…、Enc(mk))を復号化して、クラウドストレージデータ(m1、m2、…、mk)を得る。
図6に示すように、図6は、本発明の実施例が提供する記憶負荷対比を示す図である。本発明の実施例では、AESのデータ暗号文の長さが256bitsであり、ECCの暗号文の長さが384bitsであるとする。従来では、層ごとにカバーされるような構造を採用しており、記憶エントリが同様である場合、本方案の記憶負荷は従来技術の負荷よりも小さいので、本発明の実施例を採用することにより、クラウドストレージデータの記憶効率を大幅に向上させることができる。
本発明の実施例では、ハードウェアセキュリティモジュールがハードウェアセキュリティモジュールの秘密キー、楕円曲線上の点、および前記乱数に基づいて復号化して第2の暗号文を得た後、クライアントがクライアントの秘密キー、前記乱数、および前記楕円曲線上の点に基づいて前記第2の暗号文を復号化してキーを得るようになっている。したがって、クライアントとハードウェアセキュリティモジュールとが共にキーを提供する場面のみでは、クライアントがクラウドサーバに記憶した暗号文を復号化することができ、さらにクラウドストレージデータのプライバシー性および完全性を保証することができる。
図7に示すように、図7は、本発明の実施例が提供するクライアントの構造を示す図である。本発明の実施例におけるクライアントは、少なくとも、選択モジュール701、処理モジュール702、および、送信モジュール703、を含む。
選択モジュール701は、ユーザの入力した操作指令に基づいて、1つの乱数および1つのキーを選択するためのものである。そのうち、前記乱数および前記キーは、共にnよりも小さく、前記nは、楕円曲線上の点のオーダーである。
具体的な実現に当たって、例えば、ユーザは、クライアントを介してクラウドサーバにおけるキーを作成するためのウェブページにアクセスすることができる。クライアントは、ユーザが前記キーを作成するためのウェブページを介して入力した操作指令(例えば、ユーザが前記ウェブページにおけるキーを生成するためのボタンをクリックする)を受信して、前記ウェブページにおけるコードを実行することによって、1からn-1までの区間内からいずれか1つの整数を乱数として選択し、かつ、1からn-1までの区間内から1つの整数をキーとして選択することができ、前記nは、楕円曲線上の点のオーダーである。例えば、楕円曲線E:y=x+ax+bに対して、楕円曲線上の点Pについて、数乗算nP=O∞となるような最小の正の整数nが存在すると、nをPのオーダーと称し、nが存在しないと、Pは無限次である。そのうち、O∞は、当該楕円曲線上の無限遠点である。
オプションとして、クライアントが1つの乱数および1つのキーを選択する前に、ハードウェアセキュリティモジュールHSMは、キー管理システムを初期化することができる。例えば、HSMは、ユーザがクラウドサーバにユーザアカウントを作成する場合、キー管理システムに対して前記初期化を行う。具体的には、HSMが、ユーザの入力した選択指令に基づいて複数の素数から1つの素数qを選択し、その後、4a+27b=0modqが成立しないように、複数の整数からqよりも小さいことを満足する2つの非負整数a、bを選択することができる。したがって、方程式E:y=x+ax+bを満たす全ての点(x,y)および無限遠点O∞は、1つの楕円曲線を構成し、ここで、x、yは、0~p-1の範囲内の整数である。その後、HSMは、楕円曲線に対して離散化処理を行い、例えば、y=x+ax+bmodqによって全解(x,y)∈Zおよび1つの無限遠点O∞を得る。最後に、HSMは、全解から1つの点Pを楕円曲線上の任意の点として選択し、点Pのオーダーはnである。また、HSMが、ユーザの入力した選択指令を受信して、複数のハッシュ関数から条件H:{0,1}*->{0,1}1024を満足する1つのハッシュ関数を選択することができる。そのうち、当該ハッシュ関数は、任意の文字列を固定長さの文字列にマッピングすることができる。
その後、HSMは、[1,n-1]から1つの整数sをHSMの秘密キーとして選択した後、HSMの秘密キーおよび楕円曲線上の点PからHSMの第1の公開キーを算出する。第1の公開キーS=sgPは、(S,P)と表す。
キー管理システムの初期化において、クライアントが、HSMから送信された楕円曲線上の点Pおよびn(点Pのオーダー)を受信し、その後、ユーザの入力した選択指令(例えば、前記選択指令は、クラウドサーバまたはHSMによって提供されたウェブページを介して入力される)に基づいて、[1,n-1]から1つの整数sをクライアントの秘密キーとして選択した後、クライアントの秘密キーおよび楕円曲線上の点Pからクライアントの第2の公開キーを算出することができる。第2の公開キーS=sgPは、(S,P)と表す。ユーザは、クライアントを介してクライアントの秘密キーをダウンロードして、クライアントの内部メモリに記憶することができる。そのうち、前記クライアントの公開キーや秘密キーは、ユーザの公開キーや秘密キーとも呼ばれる。
処理モジュール702は、前記乱数、前記キー、第1の公開キー、および第2の公開キーに基づいて、前記キーの第1の暗号文を生成するためのものであり、前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定され、前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定される。
具体的な実現に当たって、楕円曲線暗号化アルゴリズムを利用して、HSMの第1の公開キー(S,P)およびクライアントの第2の公開キー(S,P)の両者からキーKの暗号文Ek(すなわち、前記第1の暗号文)を生成することができ、Ek=(r・P,(S+S)・r+k)となり、ここで、rは乱数であり、kはキーであり、Sは第1の公開キーであり、Sは第2の公開キーである。前記の式から分かるように、暗号文Ekは、ハードウェアセキュリティモジュールの第1の公開キーおよびクライアントの第2の公開キーで共同して決定される。r・Pは、乱数rおよび楕円曲線上の点Pから楕円曲線上にマッピングされる点を算出することを表す。そのうち、前記ハードウェアセキュリティモジュールの秘密キーは、前記ハードウェアセキュリティモジュールが1からn-1までの区間から選択した1つの整数であり、前記クライアントの秘密キーは、前記クライアントが1からn-1までの区間から選択した1つの整数であり、前記nは、前記楕円曲線上の点のオーダーである。
処理モジュール702は、さらに、前記キーおよび予め選択されたハッシュ関数に基づいて対称キーシーケンスを生成して、前記対称キーシーケンスに基づいてクラウドストレージデータを暗号化してデータ暗号文を得るためのものである。
具体的な実現に当たって、処理モジュール702は、暗号化APIを呼び出して、前記キーおよび予め選択されたハッシュ関数に基づいてクラウドストレージデータを暗号化するための対称キーシーケンス(H(1||k)、H(2||k)、…、H(m||k))を生成することができ、ここで、kはキーであり、Hはハッシュ関数である。そして、対称キーアルゴリズムを利用して、対称キーシーケンス(H(1||k)、H(2||k)、…、H(m||k))に基づいてクラウドストレージデータ(m1、m2、…、mk)を暗号化することによって、データ暗号文(Enc(m1)、…、Enc(mk))を得ることができる。
送信モジュール703は、さらに、前記第1の暗号文および前記データ暗号文をクラウドサーバに送信するためのものである。クラウドサーバは、前記第1の暗号文および前記データ暗号文を記憶する。図4に示すように、図4は、本発明の実施例が提供する第1の暗号文およびデータ暗号文の記憶フォーマットを示す図である。前の部分は第1の暗号文であり、後の部分はデータ暗号文である。第1の暗号文によってデータ暗号文を復号化することができる。また、第1の暗号文は、ハードウェアセキュリティモジュールの第1の公開キーおよびクライアントの第2の公開キーに基づいて生成されるため、ハードウェアセキュリティモジュールおよびクライアントが共同で第1の暗号文を復号化しなければキーを得ることができない。
オプションとして、送信モジュール703は、さらに、前記クラウドサーバに復号化要求を送信するためのものであり、前記復号化要求は、前記クラウドサーバが前記ハードウェアセキュリティモジュールに前記第1の暗号文を送信するように指示するためのものであり、前記第1の暗号文は、前記ハードウェアセキュリティモジュールが前記ハードウェアセキュリティモジュールの秘密キー、前記楕円曲線上の点、および前記乱数に基づいて前記第1の暗号文を復号化して、第2の暗号文を得るためのものである。
オプションとして、前記クライアントは、受信モジュール704をさらに含む。
受信モジュール704は、前記ハードウェアセキュリティモジュールから送信された前記第2の暗号文を受信するとともに、前記クラウドサーバから送信された前記データ暗号文を受信するためのものである。そのうち、ハードウェアセキュリティモジュールは、復号化要求を受信した後、ハードウェアセキュリティモジュールの秘密キーを用いて第2の暗号文
Figure 0007137707000007

を、算出し、
Figure 0007137707000008
となる。式から分かるように、第2の暗号文
Figure 0007137707000009

は、クライアントの第2の公開キーのみによって決定される。
処理モジュール702は、さらに、前記第2の暗号文に基づいて前記データ暗号文を復号化して、前記クラウドストレージデータを得るためのものである。
処理モジュール702は、さらに、前記クライアントの秘密キー、前記乱数、および前記楕円曲線上の点に基づいて前記第2の暗号文を復号化して前記キーを獲得し、前記キーおよび前記ハッシュ関数に基づいて前記対称キーシーケンスを生成し、前記対称キーシーケンスに基づいて前記データ暗号文を復号化して前記クラウドストレージデータを得るためのものである。
具体的な実現に当たって、クライアントは、前記クライアントの秘密キー、前記乱数、および前記楕円曲線上の点に基づいて、前記第2の暗号文r・P,S・r+kを復号化して、キーS・r+k-s・r・P=kを得る。その後、復号化APIを呼び出して、前記キーkおよび前記ハッシュ関数に基づいて、前記対称キーシーケンス(H(1||k)、H(2||k)、…、H(m||k))を生成し、ここで、kはキーであり、Hはハッシュ関数である。最後に、前記対称キーシーケンスに基づいて、前記データ暗号文(Enc(m1)、…、Enc(mk))を復号化して、クラウドストレージデータ(m1、m2、…、mk)を得る。
さらに、本発明の実施例におけるクライアントの具体的な実現方式は、前記方法の実施例におけるクライアントの動作ステップを参照することができる。
図8に示すように、図8は、本発明の実施例が提供するクラウドサーバの構造を示す図である。本発明の実施例におけるクラウドサーバは、少なくとも受信モジュール801と、送信モジュール802とを含む。
受信モジュール801は、クライアントから送信された第1の暗号文およびデータ暗号文を受信するためのものであり、前記第1の暗号文は、乱数、キー、第1の公開キー、および第2の公開キーに基づいて生成され、前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定され、前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定され、前記データ暗号文は、対称キーシーケンスに基づいてクラウドストレージデータを暗号化して得られたものであり、前記対称キーシーケンスは、前記キーおよび予め選択されたハッシュ関数に基づいて生成される。
オプションとして、受信モジュール801は、前記クライアントから送信された復号化要求を受信するためのものである。
送信モジュール802は、前記ハードウェアセキュリティモジュールに前記第1の暗号文を送信するためのものであり、前記第1の暗号文は、前記ハードウェアセキュリティモジュールの秘密キー、前記楕円曲線上の点、および前記乱数に基づいて、前記第1の暗号文を復号化して第2の暗号文を得るように、前記ハードウェアセキュリティモジュールに指示するためのものである。
送信モジュール802は、前記クライアントに前記データ暗号文を送信するためのものであり、前記データ暗号文は、前記クライアントが前記第2の暗号文に基づいて復号化して前記クラウドストレージデータを得るためのものである。
さらに、本発明の実施例におけるクラウドサーバの具体的な実現方式は、前記の方法の実施例におけるクラウドサーバの動作ステップを参照することができる。
引き続き図9を参照すると、図9は、本発明の実施例が提供する別のクライアントの構造を示す図である。図9に示すように、当該クライアントは、少なくとも1つのプロセッサ901、少なくとも1つの通信インタフェース902、少なくとも1つのメモリ903、および、少なくとも1つの通信バス904を含む。
そのうち、プロセッサ901は、中央処理装置ユニット、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、または他のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェア部品、または、それらの任意の組み合わせであってよい。プロセッサ901は、本発明の開示内容に記載される様々な例示的な論理ブロック、モジュールおよび回路を実現するか、または実行することができる。前記プロセッサは、例えば1つまたは複数のマイクロプロセッサを含む組み合わせ、デジタルシグナルプロセッサとマイクロプロセッサとの組み合わせ、などのような計算機能を実現する組み合わせであってもよい。通信バス904は、PCIバスやEISAバスなどであってよい。前記バスは、アドレスバス、データバス、コントロールバスなどに分けることができる。なお、図9において、表示を容易にするために、1本の太線のみで示しているが、1本のバスまたは1種類のバスのみが存在することを示すものではない。通信バス904は、これらの構成要素の間の接続通信を実現するためのものである。そのうち、本発明の実施例における装置の通信インタフェース902は、他のノード装置とシグナリングまたはデータの通信を行うためのものである。メモリ903は、例えば、不揮発性ダイナミックランダムアクセスメモリ(nonvolatile random access memory、NVRAM)、相変化ランダムアクセスメモリ(phasechange RAM、PRAM)、磁気抵抗式ランダムアクセスメモリ(magetoresistive RAM、MRAM)、などの揮発性メモリを含むことができ、さらに、例えば、少なくとも1つの磁気ディスク記憶装置、電気的消去可能プログラマブルリードオンリーメモリ(electrically erasable programmable read-only memory、EEPROM)、例えば、NOR型フラッシュメモリ(NOR flash memory)またはNAND型フラッシュメモリ(NAND flash memory)、などのフラッシュメモリ、例えば、ソリッドステートドライブ(solid state disk、SSD)、などの半導体デバイス、などのような不揮発性メモリを含むことができる。好ましくは、メモリ903は、前記のプロセッサ901から離れた位置にある少なくとも1つの記憶装置であってもよい。好ましくは、メモリ903には、1組のプログラムコードが記憶されてもよく、そして、プロセッサ901は、メモリ903に記憶されたプログラムを実行してもよい。
ユーザが入力した操作指令に基づいて、1つの乱数および1つのキーを選択する。
前記乱数、前記キー、第1の公開キー、および第2の公開キーに基づいて、前記キーの第1の暗号文を生成し、前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定され、前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定される。
前記キーおよび予め選択されたハッシュ関数に基づいて対称キーシーケンスを生成して、前記対称キーシーケンスに基づいてクラウドストレージデータを暗号化してデータ暗号文を得る。
前記第1の暗号文および前記データ暗号文をクラウドサーバに送信する。
オプションとして、プロセッサ901は、さらに、以下の動作ステップを実行してもよい。
すなわち、前記クラウドサーバに復号化要求を送信し、前記復号化要求は、前記クラウドサーバが前記ハードウェアセキュリティモジュールに前記第1の暗号文を送信するように指示するためのものであり、前記第1の暗号文は、前記ハードウェアセキュリティモジュールが前記ハードウェアセキュリティモジュールの秘密キー、前記楕円曲線上の点および前記乱数に基づいて前記第1の暗号文を復号化して、第2の暗号文を得るためのものである。
前記ハードウェアセキュリティモジュールから送信された前記第2の暗号文を受信するとともに、前記クラウドサーバから送信された前記データ暗号文を受信する。
前記第2の暗号文に基づいて前記データ暗号文を復号化して、前記クラウドストレージデータを得る。
オプションとして、プロセッサ901は、さらに以下の動作ステップを実行してもよい。
すなわち、前記クライアントの秘密キー、前記乱数、および前記楕円曲線上の点に基づいて、前記第2の暗号文を復号化して前記キーを得る。
前記キーおよび前記ハッシュ関数に基づいて、前記対称キーシーケンスを生成する。
前記対称キーシーケンスに基づいて、前記データ暗号文を復号化して前記クラウドストレージデータを得る。
そのうち、前記乱数および前記キーは、共にnよりも小さく、前記nは、前記楕円曲線上の点のオーダーである。
そのうち、前記ハードウェアセキュリティモジュールの秘密キーは、前記ハードウェアセキュリティモジュールが1からn-1までの区間から選択した1つの整数であり、前記クライアントの秘密キーは、前記クライアントが1からn-1までの区間から選択した1つの整数であり、前記nは、前記楕円曲線上の点のオーダーである。
さらに、プロセッサは、メモリおよび通信インタフェースと協働して、前記の実施例におけるクライアントの動作を実行してもよい。
引き続き図10を参照すると、図10は、本発明の実施例が提供する別のクラウドサーバの構造を示す図である。図示するように、当該クラウドサーバは、少なくとも1つのプロセッサ1001、少なくとも1つの通信インタフェース1002、少なくとも1つのメモリ1003、および、少なくとも1つの通信バス1004、を含む。
そのうち、プロセッサ1001は、上述した各種のプロセッサであってよい。通信バス1004は、PCIバスやEISAバス、などであってよい。前記バスは、アドレスバス、データバス、コントロールバス、などに分けることができる。なお、図10において、表示を容易にするために、1本の太線のみで示しているが、1本のバスまたは1種類のバスのみが存在することを示すものではない。通信バス1004は、これらの構成要素の間の接続通信を実現するためのものである。そのうち、本発明の実施例における装置の通信インタフェース1002は、他のノード装置とシグナリングまたはデータの通信を行うためのものである。メモリ1003は、上述した各種のメモリであってよい。好ましくは、メモリ1003は、前記のプロセッサ1001から離れた位置にある少なくとも1つの記憶装置であってもよい。メモリ1003には、1組のプログラムコードが記憶され、そして、プロセッサ1001は、メモリ1003に記憶されたプログラムを実行する。
すなわち、クライアントから送信された第1の暗号文およびデータ暗号文を受信し、前記第1の暗号文は、乱数、キー、第1の公開キー、および第2の公開キーに基づいて生成され、前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定され、前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定され、前記データ暗号文は、対称キーシーケンスに基づいてクラウドストレージデータを暗号化して得られたものであり、前記対称キーシーケンスは、前記キーおよび予め選択されたハッシュ関数に基づいて生成される。
第1の暗号文およびデータ暗号文を記憶する。
オプションとして、プロセッサ1001は、さらに、以下の動作ステップを実行してもよい。
すなわち、前記クライアントから送信された復号化要求を受信する。
前記ハードウェアセキュリティモジュールに前記第1の暗号文を送信する。前記第1の暗号文は、前記ハードウェアセキュリティモジュールの秘密キー、前記楕円曲線上の点、および前記乱数に基づいて復号化して第2の暗号文を得るように前記ハードウェアセキュリティモジュールに指示するためのものである。
前記クライアントに前記データ暗号文を送信する。前記データ暗号文は、前記クライアントが前記第2の暗号文に基づいて復号化して前記クラウドストレージデータを得るためのものである。
さらに、プロセッサは、メモリおよび通信インタフェースと協働して、前記の実施例におけるクラウドサーバの動作を実行してもよい。
前記実施例では、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせによって、全部または部分的に実現することができる。ソフトウェアによって実現する場合、コンピュータプログラム製品として全部または部分的に実現することができる。前記コンピュータプログラム製品は、1つまたは複数のコンピュータ命令を含む。前記コンピュータプログラム命令をコンピュータにロードして実行する場合、本発明の実施例に記載されるフローまたは機能を全部または部分的に生成する。前記コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラマブル装置とすることができる。前記コンピュータ命令は、コンピュータ読取可能な記憶媒体に記憶され、または、1つのコンピュータ読取可能な記憶媒体から別のコンピュータ読取可能な記憶媒体に伝送されてもよく、例えば、前記コンピュータ命令は、1つのウェブサイト、コンピュータ、サーバまたはデータセンターから有線(例えば、同軸ケーブル、光ファイバ、デジタル加入者線(DSL))または無線(例えば、赤外線、無線、マイクロ波等)で別のウェブサイト、コンピュータ、サーバ、またはデータセンターに伝送されてもよい。前記コンピュータ読取可能な記憶媒体は、コンピュータがアクセス可能な任意の利用可能な媒体、または、1つまたは複数の利用可能な媒体を含んで構成されるサーバ、データセンター、などのデータ記憶装置であってもよい。前記利用可能な媒体は、磁性媒体(例えば、フロッピー(登録商標)ディスク、ハードディスク、磁気テープ)、光媒体(例えば、DVD)、または半導体媒体(例えば、ソリッドステートドライブ(SSD))などであってもよい。
前記のような具体的な実施形態は、本発明の目的、技術方案、および有益な効果をさらに詳細に説明している。本発明の主旨と原則の範囲内で行われるいかなる修正、均等置換、改善、なども、共に本発明の保護範囲内に含まれるべきである。

Claims (11)

  1. クライアントが実行するキー管理方法であって、
    クライアントが、ユーザの入力した操作指令に基づいて、1つの乱数および1つのキーを選択するステップと、
    前記クライアントが、前記乱数、前記キー、第1の公開キーおよび第2の公開キーに基づいて、前記キーの第1の暗号文を生成するステップであり、
    前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定されるものであり、
    前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定されるものである、
    ステップと、
    前記クライアントが、前記キーおよび予め選択されたハッシュ関数に基づいて、対称キーシーケンスを生成して、前記対称キーシーケンスに基づいてクラウドストレージデータを暗号化して、データ暗号文を得るステップと、
    前記クライアントが、前記第1の暗号文および前記データ暗号文をクラウドサーバに送信するステップと、を含む、
    ことを特徴とする、方法。
  2. 前記クライアントが前記第1の暗号文および前記データ暗号文をクラウドサーバに送信する前記ステップの後に、
    前記クライアントが、前記クラウドサーバに復号化要求を送信するステップであり、
    前記復号化要求は、前記クラウドサーバが前記ハードウェアセキュリティモジュールに前記第1の暗号文を送信するように指示するためのものであり、
    前記第1の暗号文は、前記ハードウェアセキュリティモジュールが、前記ハードウェアセキュリティモジュールの秘密キー、前記楕円曲線上の点、および前記乱数に基づいて復号化して、第2の暗号文を得るためのものである、
    ステップと、
    前記クライアントが、前記ハードウェアセキュリティモジュールから送信された前記第2の暗号文を受信するとともに、前記クラウドサーバから送信された前記データ暗号文を受信するステップと、
    前記クライアントが、前記第2の暗号文に基づいて、前記データ暗号文を復号化して、前記クラウドストレージデータを得るステップと、
    をさらに含む、
    ことを特徴とする、請求項1に記載の方法。
  3. 前記クライアントが、前記第2の暗号文に基づいて、前記データ暗号文を復号化して、前記クラウドストレージデータを得る前記ステップは、
    前記クライアントが、前記クライアントの秘密キー、前記乱数および前記楕円曲線上の点に基づいて、前記第2の暗号文を復号化して前記キーを得るステップと、
    前記クライアントが、前記キーおよび前記ハッシュ関数に基づいて、前記対称キーシーケンスを生成するステップと、
    前記クライアントが、前記対称キーシーケンスに基づいて、前記データ暗号文を復号化して前記クラウドストレージデータを得るステップと、
    を含む、
    ことを特徴とする、請求項2に記載の方法。
  4. 前記乱数および前記キーは、nよりも小さく、
    前記nは、前記楕円曲線上の点のオーダーである、
    ことを特徴とする、請求項1乃至3のいずれか一項に記載の方法。
  5. 前記ハードウェアセキュリティモジュールの秘密キーは、前記ハードウェアセキュリティモジュールが1からn-1までの区間から選択した1つの整数であり、
    前記クライアントの秘密キーは、前記クライアントが1からn-1までの区間から選択した1つの整数であり、かつ、
    前記nは、前記楕円曲線上の点のオーダーである、
    ことを特徴とする、請求項1乃至3のいずれか一項に記載の方法。
  6. クラウドサーバが実行するキー管理方法であって、
    クラウドサーバがクライアントから送信された第1の暗号文およびデータ暗号文を受信するステップであり、
    前記第1の暗号文は、乱数、キー、第1の公開キー、および第2の公開キーに基づいて生成されるものであり、
    前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定されるものであり、
    前記第2の公開キーは、前記楕円曲線上の点および前記クライアントの秘密キーに基づいて決定されるものであり、
    前記データ暗号文は、対称キーシーケンスに基づいてクラウドストレージデータを暗号化して得られたものであり、
    前記対称キーシーケンスは、前記キーおよび予め選択されたハッシュ関数に基づいて生成されるものである、
    ステップと、
    前記クラウドサーバが、前記第1の暗号文および前記データ暗号文を記憶するステップと、
    を含む、ことを特徴とする、方法。
  7. 前記クラウドサーバがクライアントから送信された第1の暗号文およびデータ暗号文を受信する前記ステップの後に、
    前記クラウドサーバが前記クライアントから送信された復号化要求を受信するステップと、
    前記クラウドサーバが前記ハードウェアセキュリティモジュールに前記第1の暗号文を送信するステップであって、前記第1の暗号文は、前記ハードウェアセキュリティモジュールが前記ハードウェアセキュリティモジュールの秘密キー、前記楕円曲線上の点および前記乱数に基づいて復号化して第2の暗号文を得るためのものである、ステップと、
    前記クラウドサーバが前記クライアントに前記データ暗号文を送信するステップであって、前記データ暗号文は、前記クライアントが前記第2の暗号文に基づいて復号化して前記クラウドストレージデータを得るためのものである、ステップと、をさらに含む、
    ことを特徴とする請求項6に記載の方法。
  8. ユーザが入力した操作指令に基づいて、1つの乱数および1つのキーを選択するための選択モジュールと、
    前記乱数、前記キー、第1の公開キーおよび第2の公開キーに基づいて、前記キーの第1の暗号文を生成するための処理モジュールであり、
    前記第1の公開キーは、楕円曲線上の点およびハードウェアセキュリティモジュールの秘密キーに基づいて決定されるものであり、
    前記第2の公開キーは、前記楕円曲線上の点およびクライアントの秘密キーに基づいて決定されるものである、
    処理モジュールと、
    クラウドサーバに前記第1の暗号文およびデータ暗号文を送信するための送信モジュールと、を備えるクライアントであって、
    前記処理モジュールは、さらに、
    前記キーおよび予め選択されたハッシュ関数に基づいて対称キーシーケンスを生成して、かつ、前記対称キーシーケンスに基づいてクラウドストレージデータを暗号化して、
    前記データ暗号文を得る、ためのものである、
    ことを特徴とする、クライアント。
  9. 前記送信モジュールは、さらに、前記クラウドサーバに復号化要求を送信するためのものであり、
    前記復号化要求は、前記クラウドサーバが前記ハードウェアセキュリティモジュールに前記第1の暗号文を送信するように指示するためのものであり、
    前記第1の暗号文は、前記ハードウェアセキュリティモジュールが前記ハードウェアセキュリティモジュールの秘密キー、前記楕円曲線上の点および前記乱数に基づいて、復号化して第2の暗号文を得るためのものであり、
    前記クライアントは、さらに、
    前記ハードウェアセキュリティモジュールから送信された前記第2の暗号文を受信するとともに、前記クラウドサーバから送信された前記データ暗号文を受信するための受信モジュールを備え、
    前記処理モジュールは、さらに、前記第2の暗号文に基づいて、前記データ暗号文を復号化して前記クラウドストレージデータを得るためのものである、
    ことを特徴とする、請求項8に記載のクライアント。
  10. 前記処理モジュールは、さらに、
    前記クライアントの秘密キー、前記乱数および前記楕円曲線上の点に基づいて、前記第2の暗号文を復号化して前記キーを取得し、かつ、前記キーおよび前記ハッシュ関数に基づいて、前記対称キーシーケンスを生成し、前記対称キーシーケンスに基づいて、前記データ暗号文を復号化して前記クラウドストレージデータを得るためのものである、
    ことを特徴とする、請求項9に記載のクライアント。
  11. 複数の命令を含むコンピュータプログラムであって、
    前記命令がプロセッサによって実行されると、
    請求項1乃至7のいずれか一項に記載の方法を前記プロセッサに実施させる、
    ことを特徴とする、コンピュータプログラム。
JP2021532878A 2019-05-27 2020-05-19 キー管理方法、クライアントおよびプログラム Active JP7137707B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910445155.9A CN110417726B (zh) 2019-05-27 2019-05-27 一种密钥管理方法及相关设备
CN201910445155.9 2019-05-27
PCT/CN2020/091002 WO2020238694A1 (zh) 2019-05-27 2020-05-19 一种密钥管理方法及相关设备

Publications (2)

Publication Number Publication Date
JP2022534461A JP2022534461A (ja) 2022-08-01
JP7137707B2 true JP7137707B2 (ja) 2022-09-14

Family

ID=68357780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021532878A Active JP7137707B2 (ja) 2019-05-27 2020-05-19 キー管理方法、クライアントおよびプログラム

Country Status (5)

Country Link
US (1) US11784801B2 (ja)
EP (1) EP3913850A4 (ja)
JP (1) JP7137707B2 (ja)
CN (1) CN110417726B (ja)
WO (1) WO2020238694A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417726B (zh) 2019-05-27 2021-08-24 腾讯科技(深圳)有限公司 一种密钥管理方法及相关设备
CN111510282A (zh) * 2020-04-28 2020-08-07 刘佳 信息加密算法、装置与信息解密算法、装置以及通讯方法
US11646871B2 (en) * 2020-08-12 2023-05-09 Intuit Inc. System and method for multitenant key derivation
CN112084523A (zh) * 2020-09-29 2020-12-15 深圳壹账通智能科技有限公司 文本加密方法及装置、终端设备、存储介质
US11601271B2 (en) * 2020-12-02 2023-03-07 Vmware, Inc. Cloud-based removable drive encryption policy enforcement and recovery key management
CN114760081A (zh) * 2020-12-28 2022-07-15 富泰华工业(深圳)有限公司 档案加密与解密方法、装置及电子设备
CN113178023A (zh) * 2021-04-25 2021-07-27 深圳市威斯登信息科技有限公司 一种自助的人-证-票核验的通道控制系统
CN113254985B (zh) * 2021-07-15 2021-12-21 北京信安世纪科技股份有限公司 数据加密方法、数据处理方法、数据解密方法及电子设备
CN114022964B (zh) * 2021-09-24 2024-05-17 北京中交国通智能交通系统技术有限公司 Etc应用秘钥更新方法、装置及系统
CN114095214B (zh) * 2021-10-29 2023-12-12 上海热线信息网络有限公司 一种基于区块链nft技术的加、解密方法及装置、设备及介质
CN114258018B (zh) * 2021-11-12 2024-04-09 中国南方电网有限责任公司 密钥管理方法、装置、计算机设备及存储介质
CN114401084B (zh) * 2021-12-10 2023-12-29 北京理工大学 一种基于密文变换的第三方随机数传递方法
CN115499250B (zh) * 2022-11-17 2023-03-31 北京搜狐新动力信息技术有限公司 一种数据加密方法及装置
CN116366283B (zh) * 2023-02-07 2023-08-18 南京模砾半导体有限责任公司 一种基于对称加密的文件安全传输方法
CN116361344A (zh) * 2023-04-03 2023-06-30 北京火山引擎科技有限公司 数据查询方法、装置、设备及介质
CN117010001B (zh) * 2023-09-28 2024-03-01 之江实验室 数据安全服务方法、装置及云存储系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015045512A1 (ja) 2013-09-26 2015-04-02 株式会社日立ソリューションズ データ暗号化装置、データ暗号化プログラム及びデータ暗号化方法
JP2016522658A (ja) 2013-06-20 2016-07-28 アマゾン テクノロジーズ インコーポレイテッド 複数許可データセキュリティ及びアクセス
US20180025167A1 (en) 2015-02-13 2018-01-25 Nec Europe Ltd. Method for storing a data file of a client on a storage entity

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9426154B2 (en) * 2013-03-14 2016-08-23 Amazon Technologies, Inc. Providing devices as a service
US9645794B2 (en) * 2014-09-23 2017-05-09 Texas Instruments Incorporated Homogeneous atomic pattern for double, add, and subtract operations for digital authentication using elliptic curve cryptography
CN105119894B (zh) * 2015-07-16 2018-05-25 上海慧银信息科技有限公司 基于硬件安全模块的通信系统及通信方法
US10637658B2 (en) * 2017-01-25 2020-04-28 Salesforce.Com, Inc. Secure internal user authentication leveraging public key cryptography and key splitting
CN107403109A (zh) * 2017-08-09 2017-11-28 苏州中科安源信息技术有限公司 加密方法及加密系统
GB201713499D0 (en) * 2017-08-23 2017-10-04 Nchain Holdings Ltd Computer-implemented system and method
US10623183B2 (en) * 2017-11-01 2020-04-14 International Business Machines Corporation Postponing entropy depletion in key management systems with hardware security modules
US10958424B1 (en) * 2017-11-02 2021-03-23 Amazon Technologies, Inc. Mechanism to allow third party to use a shared secret between two parties without revealing the secret
CN110417726B (zh) * 2019-05-27 2021-08-24 腾讯科技(深圳)有限公司 一种密钥管理方法及相关设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016522658A (ja) 2013-06-20 2016-07-28 アマゾン テクノロジーズ インコーポレイテッド 複数許可データセキュリティ及びアクセス
WO2015045512A1 (ja) 2013-09-26 2015-04-02 株式会社日立ソリューションズ データ暗号化装置、データ暗号化プログラム及びデータ暗号化方法
US20180025167A1 (en) 2015-02-13 2018-01-25 Nec Europe Ltd. Method for storing a data file of a client on a storage entity

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佐古 和恵 ほか,シャッフリングによる大規模電子投票システムの実現,情報処理,日本,社団法人情報処理学会,2001年09月15日,第42巻,第9号,pp.51-56

Also Published As

Publication number Publication date
JP2022534461A (ja) 2022-08-01
EP3913850A1 (en) 2021-11-24
CN110417726B (zh) 2021-08-24
CN110417726A (zh) 2019-11-05
US20210377010A1 (en) 2021-12-02
US11784801B2 (en) 2023-10-10
WO2020238694A1 (zh) 2020-12-03
EP3913850A4 (en) 2022-05-04

Similar Documents

Publication Publication Date Title
JP7137707B2 (ja) キー管理方法、クライアントおよびプログラム
US11146391B2 (en) Orthogonal access control for groups via multi-hop transform encryption
KR101866935B1 (ko) 연관된 개인 키 부분을 사용하는 보다 빠른 공개 키 암호화를 위한 시스템들 및 방법들
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
WO2017163140A1 (en) Privacy enhanced central data storage
US10826694B2 (en) Method for leakage-resilient distributed function evaluation with CPU-enclaves
Lenka et al. Enhancing data security in cloud computing using RSA encryption and MD5 algorithm
US20200044860A1 (en) System and method for quantum resistant digital signature
US9755832B2 (en) Password-authenticated public key encryption and decryption
CN116830523A (zh) 阈值密钥交换
Ni et al. Secure outsourced data transfer with integrity verification in cloud storage
Pawar et al. Providing security and integrity for data stored in cloud storage
US7760872B2 (en) Public key cryptographic methods and systems
Mendonca Data security in cloud using AES
WO2015008623A1 (ja) 鍵保管装置、鍵保管方法、及びそのプログラム
KR102269753B1 (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
Tawalbeh et al. Efficient software-based mobile cloud computing framework
US10892892B1 (en) Method and apparatus for end-to-end secure sharing of information with multiple recipients without maintaining a key directory
Akintoye et al. Data security scheme for cloud computing using signcryption based on hyperelliptic curves
Patel et al. A critical analysis on encryption techniques used for data security in cloud computing and IOT (internet of things) based smart cloud storage system: a survey
CN108737098A (zh) 密钥生成方法、信息加解密方法、装置、介质及电子设备
Ibtihal et al. Data Encryption as a Service in Mobile Cloud Computing.
Santhi et al. DH-CRT: A Diffie Hellman with Chinese Remainder Theorem Based Cloud Data Sharing
Patwardhan et al. Homomorphic authenticable ring signature mechanism for public auditing on shared data in the cloud
Usha et al. Multiple attribute authority based access control and anonymous authentication in decentralized cloud

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210629

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220902

R150 Certificate of patent or registration of utility model

Ref document number: 7137707

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150