JP2016054501A - 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、安全未確保のコンピュータ環境でキーの安全を確保する確保する方法と装置。 - Google Patents

仮想化とクラウド・コンピューティングの安全確保と管理に適用される、安全未確保のコンピュータ環境でキーの安全を確保する確保する方法と装置。 Download PDF

Info

Publication number
JP2016054501A
JP2016054501A JP2015215323A JP2015215323A JP2016054501A JP 2016054501 A JP2016054501 A JP 2016054501A JP 2015215323 A JP2015215323 A JP 2015215323A JP 2015215323 A JP2015215323 A JP 2015215323A JP 2016054501 A JP2016054501 A JP 2016054501A
Authority
JP
Japan
Prior art keywords
key
encryption
secret
unique key
computer
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.)
Granted
Application number
JP2015215323A
Other languages
English (en)
Other versions
JP2016054501A5 (ja
JP6456805B2 (ja
Inventor
パラン−ニッサニィ,ジラード
Parann-Nissany Gilad
ヤロン シェファー,
Sheffer Yaron
ヤロン シェファー,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Porticor Ltd
Original Assignee
Porticor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Porticor Ltd filed Critical Porticor Ltd
Publication of JP2016054501A publication Critical patent/JP2016054501A/ja
Publication of JP2016054501A5 publication Critical patent/JP2016054501A5/ja
Application granted granted Critical
Publication of JP6456805B2 publication Critical patent/JP6456805B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/0822Key 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 key encryption key
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】安全未確保のコンピュータ環境でキーの安全を確保する方法を提供する。
【解決手段】方法は、クライアントのコンピュータ装置から、秘密アイテムの保護を要求する暗号化要求を受領すると、前記秘密アイテムを、暗号化ロケ−ションに固有の安全確保キーである固有キーを複数個含む組の各固有キーで暗号化し、暗号化済みアイテムを生成するステップを有する。前記固有キーは予めの初期秘匿処理がなされており、前記暗号化中に前記固有キーは、前記コンピュータ環境のコンピュータ資源上で未保護の形態で知られることを防ぎ、前記複数個の固有キーを含む組の各固有キーは、それぞれの暗号化ロケ−ションにとって唯一無二のものであり、前記暗号化ロケ−ションは、個別のコンピュータ資源内に配置されたメモリの領域である。
【選択図】図1

Description

本発明は、仮想化とクラウド・コンピューティングの安全確保と管理に適用される、 安全未確保のコンピュータ環境でキーの安全を確保する方法と装置に関する。
コンピュータ・ネットワーク(ウエヴ、及びクラウド・コンピューティング)の現在の傾向は、公開された資源、グループの資源、共有された資源、そして仮想化された資源に基づいている。IT(情報技術)のマーケットは、仮想化とクラウド・コンピューティングに対し、公開方式のソリューション、秘密方式のソリューション、更に混合方式のソリューションを提供している。この傾向は、多くのレベルで即ちインフラで、プラットホームで又はソフトウエアで起きている。
このような解決方法に立ちはだかる問題点は、ネットワークに接続された、仮想化された、クラウドのソリューションは、それ自身安全未確保であり分散型である点である。リソース即ち資源は、ユーザではなく様々なエンティティにより物理的に保有され、複数のユーザ(既存の安全確保された、信頼関係を有する)間で共有されている。このことは、一法人あるいは様々なエンティティ内で起きている。
例えばファイルは、ネットワーク内の「ストレイジクラウド(storage cloud)」内に記憶されている。このストレイジクラウドは共有資源であるので、ユーザは、自分のデータを、多くの他のユーザが日常的にアクセスする資源を信頼し、そこに預けなければならない。これ等はユーザは、コントロールすることはできない。
ネットワーク、クラウド、仮想化のソリューションのベンダーは、様々なメカニズム(例、認証、批准、仮想プラべート・ネットワーク)を提供して、この種の問題を改善しようとしている。この種のアプローチは大幅に改善しているが完全ではない。このメカニズムは、様々な重要な問題(例、安全な暗号化、計算中に使用されているデータの保護、ネットワーク上の送信時の保護、安全確保したハンドリングのためのシングルポイント、暗号化キーの管理、ユーザに対しプロバイダを信頼するよう要求すること、ユーザに対しプロバイダとその構造又はそのスタッフを信頼するよう要求すること等)を解決することはできない。
安全確保を要求する消費者に対する一つのソリューション/オプションは、資源を共有しないことである。このようなオプションはユーザにとって好ましいものではない。その理由は、現在の共有資源は、多くの経済的操作上、技術上のメリットを提供しているからである。
仮想化とクラウド・コンピューティングの安全確保と管理に適用される、 安全未確保のコンピュータ環境でキー(特許請求の範囲では「局部安全確保キー」のことである)の安全を確保する方法と装置を提供することが好ましい。
本発明の目的は、仮想化とクラウド・コンピューティングの安全確保と管理に適用される、 安全未確保のコンピュータ環境でキーの安全を確保する方法と装置を提供することである。
説明を明確にするために本明細書で使用される用語について以下定義する。
用語「仮想化(virtualization)」とは、基礎となっているハードウエアの資源から分離された環境でソフトウエアを実行する手段を意味する。用語「仮想化(virtualization)」は、ハードウエア仮想化、ソフトウエア仮想化、メモリ仮想化、データベース仮想化、データ仮想化、ストレージ仮想化、アプリケーション仮想化、デスクトップ仮想化、ネットワーク仮想化を含む。
用語「コンピュータ資源」とは、データストレージ、書換え可能メモリ、永久メモリ、コンピューティング、計算能力、ネットワーク能力、アルゴリズム機能、ソフトウエア機能、ソフトウエアベースのオブジェクト、サービスプロバイダにより提供されるハードウエア又はソフトウエアにより使用されるソフトウエアベースのオブジェクトを提供するコンピュータサービスを意味する。
用語「アプライアンス」とは、ソフトウエア又はハードウエアを意味する。これは、物理的に分離したサーバ上で、ネットワークシステムのサーバ上のエージェント、仮想サーバ、追加的ソフトウエアを含む仮想サーバ上のエージェント、又はシステムに利用可能な適宜のコンピュータ資源を用いて、又は資源の暗号化又は脱暗号化に対するアクリプトグラフィックアプライアンスとして、実現される。
用語「カスタマー・アプリケーション」とは、顧客又は第三者により書かれたクラウドアプリケーションを意味し、安全確保したストレージのI/Oの操作を実行するためにアプライアンスを使用する。アプライアンスは、カスタマー・アプリケーションとしての同一のコンピュータ資源上にインストールされたソフトウエア・エージェントである。
用語「保護アイテム」とは、暗号化されるべき又は保護されるべき即ち秘密にされるべきオブジェクトを意味する。特許請求の範囲の「秘密アイテム」と同義である。
用語「準同型エージェント(homonorphic agent)」とは、ブライディング・バリューの暗号化版を保持するオプショナル・サーバ又はエージェントを意味する。ブライディングバリューは、「準同型・エージェント」により、要求により適応/採用されたり、取り除かれたりする。
本発明の一実施例により、安全確保に厳しい顧客は、プロバイダ又はベンダーから提供される公開の、秘密の、混成の、共有の資源を使用することができ、完全な安全性とその制御を享受できる。本発明の一実施例により、安全未確保の資源の安全を確保でき、資源の機能性を損なうことなく資源の安全確保ができる。本発明の一実施例によれば、安全未確保の資源の安全を確保しより安全に制御しつつ、共有資源のモデルの出現の利点を享受できる。
本発明の一実施によれば、資源は、ある環境における1つのエンティティ(即ち1つのアプライアンス)で暗号化され、別のエンティティ(即ち別のアプライアンス)で脱暗号化される。暗号化操作と脱暗号化操作を別々のエンティティで行う。
このようなアプライアンスは、保護された仮想キー・マネージャー(PVKM:Protected Virtual Key Manager )に接続されて、サービスをシステムのアプライアンスとユーザーに提供する。このサービスは、システムの暗号化キーを管理するサービスに関連するかシステムの安全性を強化する方法に関連する。この様なサービスの特徴は以下を含む。(これに限定されるわけではないが)
1.アプライアンスのデータ又はルーチン状態が危険に晒されている場合には、顧客キーの漏洩を防ぐ。
1.PVKMの状態が危険に晒されている場合には、顧客キーの漏洩を防ぐ。
1.PVKMが悪質コード又はバグを含むコードで置換された場合には、顧客キーの漏洩を防ぐ
1.アプライアンスが悪質コード又はバグを含むコードで置換された場合には、顧客キーの漏洩を防ぐ
1.攻撃者があるアプライアンス上の顧客キーを確保した場合には、別のアプライアンス上の類似のキーの漏洩を防ぐ
1.顧客キーが、ネットワーク内あるいはシステムの資源内に入り込んだ盗聴者に漏れるのを防ぐ
本発明の一実施例は、公開方式、秘密方式、混成方式に適用可能で、安全確保した資源が異なる法人に帰属する場合を例に説明する。
本発明の一実施は、コンピュータ資源の集合体内又はコンピュータ資源の群(クラスター)内のコンピュータ資源を協調動作させるために、信頼されたプロトコルを提供する。この実施例においては、エンティティの集合体(例えばアプライアンスの群あるいはカスタマー・アプリケーションの集合体)が、この集合体の各メンバーは安全未確保環境でも信頼に値することを確認する。特にこの実施例により集合体の新たなメンバーの安全が、確保され信頼足り得るものとなる。
本発明の他の実施例は、キーの保管の形態で、仮想化されたキー管理システムの安全性を提供する。このキーの保管システムは顧客により使用されるキーを記憶するが、これはこのキーの値を知ることなく且つキーの値を公開するリスクなしに行われる。
本発明の一実施例は、安全確保したアプリケーションを更新させるようなアルゴリズムを提供する。
本発明の一実施例によれば、安全未確保のコンピュータ環境においてキーの安全を確保する方法において、
(a)暗号化キー構成を用意し、前記コンピュータ環境の秘密アイテムを保護する暗号化要求を受領すると、前記秘密アイテムを、複数個の暗号化場所に固有の暗号化キーである複数個の局部暗号化キーからなる組の中の一つ局部暗号化キーで、並列にあるいは暗号化するステップと、
前記局部暗号化キーは、それぞれの暗号化場所に対応して暗号化済みアイテムを生成し、前記暗号化場所は、前記コンピュータ環境に接続されたコンピュータ資源内にあるメモリの領域であり、
(b)前記局部暗号化キーを、暗号化により秘密にするステップとを有し、
前記ステップ(b)は、
(b1)前記局部暗号化キーが、暗号化中に前記コンピュータ環境のコンピュータ資源上で秘密でない平文形態で知られることを防ぎ、
(b2)前記局部暗号化キーが秘密の状態にある間、前記ステップ(a)と前記ステップ(b)の一部として、数学的操作が実行できるようにする
前記数学的操作は、XOR論理、加算、減算、乗算、割り算、モデュラー加算、モデュラー減算、モデュラー乗算、モデュラー割り算とそれらの組み合わせからなる。
好ましくは、前記ステップ(b)は、キースプリッティング(key splitting)、キージョイニング(key joining)、ブラインド化(blinding)、準同型暗号化(homomorphic encryption)と従来公知な暗号化技術からなるグループから選択された少なくとも一つの暗号技術である。
好ましくは、前記暗号化キー構成は、コンピュータ環境の暗号化アイテムの脱暗号化要求を受領すると、前記暗号化アイテムを、複数個の局部暗号化キーからなる組の中の一つ局部暗号化キーで、並列にあるいは脱暗号化するステップ(a’)を更に有し、
前記ステップ(b)は、
(b1)前記局部暗号化キーが、脱暗号化中に前記コンピュータ環境のコンピュータ資源上で秘密でない平文形態で知られることを防ぎ、
(b2)前記局部暗号化キーが秘密の状態にある間、前記脱暗号化ステップ(a’)と前記ステップ(b)の一部として、数学的操作が実行できるようにし、
前記数学的操作は、XOR論理、加算、減算、乗算、割り算、モデュラー加算、モデュラー減算、モデュラー乗算、モデュラー割り算とそれらの組み合わせからなる。
好ましくは、前記暗号化ステップ(a)の前又は前記脱暗号化ステップ(a’)の後に、
(C)前記秘密アイテムを認証された要求者と交換し、前記交換時には、前記秘密アイテムは、前記暗号化キー構成にとっては不知であり、これにより、仮想化されたキー管理システムの安全確保を提供するステップを更に有する。
好ましくは、前記暗号化ステップ(a)と前記ステップ(b)は、前記コンピュータ環境に接続されたコンピュータ資源の集合体の内のいずれかの要素で実行され、
前記ステップ(b)は、前記要素毎に別々に実行され、これにより、秘密にされた暗号化キーの漏洩を防ぎ、他の要素を危険に晒さない。
本発明の一実施例によれば、安全未確保のコンピュータ環境において信頼されたプロトコルを確保する方法において、
(a)コンピュータ環境の信頼できないコンピュータ資源は信頼できると決定する要求を受領すると、前記信頼できないコンピュータ資源を信頼できるものとして、前記信頼できるコンピュータ資源が保障するステップと、
前記ステップ(a)は、以下からなるグループから選択された少なくとも一つの基準を満たした時に、行われ、
(i)前記信頼されたコンピュータ資源が、前記信頼できないコンピュータ資源をセットアップしたこと又は活性化したことに、直接関連し、
(ii)前記信頼されたコンピュータ資源が、前記信頼できないコンピュータ資源を信頼できると認証する信任状又は特定の情報のデータベースへアクセスすること、
(b)前記信頼されたコンピュータ資源を含む前記コンピュータ資源の何れか上に現れる必要のある秘密を隠すステップと、
前記秘密は、前記コンピュータ資源毎に異なる方法で秘密され、
(c)前記秘密を、前記ステップ(b)を変えてながら、前記信頼されたコンピュータ資源を含む前記コンピュータ資源のいずれもが前記秘密を知ることがないように、前記コンピュータ資源の何れかから他のコンピュータ資源へ送信するステップと、
を有する。
本発明の一実施例によれば、安全未確保のコンピュータ環境で暗号化キーを確保する装置において、
(a)以下を含むサーバと、
(i)計算操作を実行するCPUと、
(ii)データを記憶するメモリ・モジュールと、
(iii)ネットワークを介して通信するネットワーク接続装置と、
(b)前記サーバ上にある保護モジュールと、
を有し、
前記保護モジュールは、
(i)暗号化キー構成を用意し、前記コンピュータ環境の秘密アイテムを保護する暗号化要求を受領すると、前記秘密アイテムを、複数個の暗号化場所に固有の暗号化キー(以下、「複数個の局部暗号化キー」と称する)からなる組の中の一つ局部暗号化キーで、並列にあるいは暗号化するステップと、
前記局部暗号化キーは、それぞれの暗号化場所に対応して暗号化済みアイテムを生成し、前記暗号化場所は、前記コンピュータ環境に接続されたコンピュータ資源内にあるメモリの領域であり、
(ii)前記局部暗号化キーを、暗号化により秘密にするステップと
を実行し、
前記ステップ(ii)は、
(A)前記局部暗号化キーが、暗号化中に前記コンピュータ環境のコンピュータ資源上で秘密でない平文形態で知られることを防ぎ、
(B)前記局部暗号化キーが秘密の状態にある間、前記暗号化と前記秘密にすることの一部として、数学的操作が実行できるようにする
前記数学的操作は、XOR論理、加算、減算、乗算、割り算、モデュラー加算、モデュラー減算、モデュラー乗算、モデュラー割り算とそれらの組み合わせからなる。
好ましくは、前記ステップ(b)は、キースプリッティング(key splitting)、キージョイニング(key joining)、ブラインド化(blinding)、準同型暗号化(homomorphic encryption)と従来公知な暗号化技術からなるグループから選択された少なくとも一つの暗号技術である。
好ましくは、前記暗号化キー構成は、コンピュータ環境の暗号化アイテムの脱暗号化要求を受領すると、前記暗号化アイテムを、複数個の局部暗号化キーからなる組の中の一つ局部暗号化キーで、並列にあるいは脱暗号化するステップ(a’)を更に有し、
前記ステップ(b)は、
(b1)前記局部暗号化キーが、脱暗号化中に前記コンピュータ環境のコンピュータ資源上で秘密でない平文形態で知られることを防ぎ、
(b2)前記局部暗号化キーが秘密の状態にある間、前記脱暗号化ステップ(a’)と前記ステップ(b)の一部として、数学的操作が実行できるようにする
前記数学的操作は、XOR論理、加算、減算、乗算、割り算、モデュラー加算、モデュラー減算、モデュラー乗算、モデュラー割り算とそれらの組み合わせからなる。
好ましくは、前記暗号化ステップ(a)の前又は前記脱暗号化ステップ(a’)の後に、前記保護モジュールは、
(C)前記秘密アイテムを認証された要求者と交換し、前記交換時には前記秘密アイテムは、前記暗号化キー構成にとっては不知であり、これにより、仮想化されたキー管理システムの安全確保を提供する。
好ましくは、前記暗号化ステップ(a)と前記ステップ(b)は、前記コンピュータ環境に接続されたコンピュータ資源の集合体の内のいずれかの要素で実行され、
前記ステップ(b)は、前記要素毎に別々に実行され、これにより、秘密にされた暗号化キーの漏洩を防ぎ、他の要素を危険に晒さない。
本発明の一実施例によれば、安全未確保のコンピュータ環境で信頼できるプロトコルを確保する装置において、
(a)以下を含むサーバと、
(i)計算操作を実行するCPUと、
(ii)データを記憶するメモリ・モジュールと、
(iii)ネットワークを介して通信するネットワーク接続装置と、
(b)前記サーバ上にある保証モジュールと、
を有し、前記保証モジュールは、
(a)コンピュータ環境の信頼できないコンピュータ資源は信頼できると決定する要求を受領すると、前記信頼できないコンピュータ資源を信頼できるものとして、前記信頼できるコンピュータ資源が保障するステップと、
前記ステップ(a)は、以下からなるグループから選択された少なくとも一つの基準を満たした時に、行われ、
(i)前記信頼されたコンピュータ資源が、前記信頼できないコンピュータ資源をセットアップしたこと又は活性化したことに、直接関連し、
(ii)前記信頼されたコンピュータ資源が、前記信頼できないコンピュータ資源を信頼できると認証する信任状又は特定の情報のデータベースへアクセスすること、
(b)前記信頼されたコンピュータ資源を含む前記コンピュータ資源の何れか上に現れる必要のある秘密を隠すステップと、
前記秘密は、前記コンピュータ資源毎に異なる方法で秘密され、
(c)前記秘密を、前記ステップ(b)を変えてながら、前記信頼されたコンピュータ資源を含む前記コンピュータ資源のいずれもが前記秘密を知ることがないように、前記コンピュータ資源の何れかから他のコンピュータ資源へ送信するステップと、
を実行する。
本発明の一実施例によれば、コンピュータで読み取り可能な以下のプログラム・コードを記憶するコンピュータで読み取り可能な記憶媒体において、
(a)暗号化キー構成を用意し、前記コンピュータ環境の秘密アイテムを保護する暗号化要求を受領すると、前記秘密アイテムを、複数個の暗号化場所に固有の暗号化キーである複数個の局部暗号化キーからなる組の中の一つ局部暗号化キーで、並列にあるいは暗号化するプログラム・コードと、
前記局部暗号化キーは、それぞれの暗号化場所に対応して暗号化済みアイテムを生成し、前記暗号化場所は、前記コンピュータ環境に接続されたコンピュータ資源内にあるメモリの領域であり、
(b)前記局部暗号化キーを、暗号化により秘密にするプログラム・コードと、
を含み、前記プログラム・コード(b)は、
(b1)前記局部暗号化キーが、暗号化中に前記コンピュータ環境のコンピュータ資源上で秘密でない平文形態で知られることを防ぎ、
(b2)前記局部暗号化キーが秘密の状態にある間、前記プログラム・コード(a)と前記プログラム・コード(b)の一部として、数学的操作が実行できるようにする
前記数学的操作は、XOR論理、加算、減算、乗算、割り算、モデュラー加算、モデュラー減算、モデュラー乗算、モデュラー割り算とそれらの組み合わせからなる、
ことを特徴とするコンピュータで読み取り可能なプログラム・コードを記憶するコンピュータで読み取り可能な記憶媒体。
好ましくは、前記プログラム・コード(b)は、キースプリッティング(key splitting)、キージョイニング(key joining)、ブラインド化(blinding)、準同型暗号化(homomorphic encryption)と従来公知な暗号化技術からなるグループから選択された少なくとも一つの暗号技術である。
好ましくは、前記暗号化キー構成は、コンピュータ環境の暗号化アイテムの脱暗号化要求を受領すると、前記暗号化アイテムを、複数個の局部暗号化キーからなる組の中の一つ局部暗号化キーで、並列にあるいは脱暗号化するプログラム。コード(a’)を更に有し、前記プログラム。コード(b)は、
(b1)前記局部暗号化キーが、脱暗号化中に前記コンピュータ環境のコンピュータ資源上で秘密でない平文形態で知られることを防ぎ、
(b2)前記局部暗号化キーが秘密の状態にある間、前記脱暗号化プログラム。コード(a’)と前記プログラム。コード(b)の一部として、数学的操作が実行できるようにする
前記数学的操作は、XOR論理、加算、減算、乗算、割り算、モデュラー加算、モデュラー減算、モデュラー乗算、モデュラー割り算とそれらの組み合わせからなる。
好ましくは、前記暗号化プログラム・コード(a)の前又は前記脱暗号化プログラム・コード(a’)の後に、
(C)前記秘密アイテムを認証された要求者と交換し、前記交換時には、前記秘密アイテムは、前記暗号化キー構成にとっては不知であり、これにより、仮想化されたキー管理システムの安全確保を提供するプログラム・コードを更に有する。
好ましくは、前記暗号化プログラム・コード(a)と前記プログラム・コード(b)は、前記コンピュータ環境に接続されたコンピュータ資源の集合体の内のいずれかの要素で実行され、前記プログラム・コード(b)は、前記要素毎に別々に実行され、これにより、秘密にされた暗号化キーの漏洩を防ぎ、他の要素を危険に晒さない。
本発明の一実施例によれば、コンピュータで読み取り可能な以下のプログラム・コードを記憶するコンピュータで読み取り可能な記憶媒体において、
(a)コンピュータ環境の信頼できないコンピュータ資源は信頼できると決定する要求を受領すると、前記信頼できないコンピュータ資源を信頼できるものとして、前記信頼できるコンピュータ資源が保障するプログラム・コードと、
前記プログラム・コード(a)は、以下からなるグループから選択された少なくとも一つの基準を満たした時に、行われ、
(i)前記信頼されたコンピュータ資源が、前記信頼できないコンピュータ資源をセットアップしたこと又は活性化したことに、直接関連し、
(ii)前記信頼されたコンピュータ資源が、前記信頼できないコンピュータ資源を信頼できると認証する信任状又は特定の情報のデータベースへアクセスすること、
(b)前記信頼されたコンピュータ資源を含む前記コンピュータ資源の何れか上に現れる必要のある秘密を隠すプログラム・コードと、
前記秘密は、前記コンピュータ資源毎に異なる方法で秘密され、
(c)前記秘密を、前記プログラム・コード(b)を変えてながら、前記信頼されたコンピュータ資源を含む前記コンピュータ資源のいずれもが前記秘密を知ることがないように、前記コンピュータ資源の何れかから他のコンピュータ資源へ送信するプログラム・コードと、を有する。
本発明の一実施例による、ブラインド化されたキーを用いたスプリットキー暗号化方式を実施する主要ステップのブロック図。 本発明の一実施例による、2暗号化位置の準同型−ブラインド化の暗号化方式を実施する主要ステップのブロック図。 本発明の一実施例による、3暗号化位置の準同型−ブラインド化の暗号化方式を実施する主要ステップのブロック図。 本発明の一実施例による、プロトコル最適化を伴った2暗号化位置の準同型−ブラインド化の暗号化方式を実施する主要ステップのブロック図。
本発明の方法と装置の一実施例を図面を参照しながら以下説明する。
本発明の一実施においては、安全未確保の環境で使用されるキーの安全確保する方法と装置の一例として、仮想化又はクラウドの環境下で走るシステム(ソフトウエア・アプリケーション)を例に説明する。このシステムは、複数のコンピュータ資源(それ等はサーバとして及び記憶媒体として機能する)を有する。安全確保するシステムとして資源の一部は暗号化する必要がある。
暗号化された資源は、データを含むシステムのファイル、ディスク、他の資源である(例えばサーバー・メモリ内のデータは本明細書においては資源でもある)。資源は暗号化技術で保護される。これは対称或いは非対称の暗号化である。これ等の技術は常に暗号化と脱暗号化のクリプトグラフィック・キー(cryptographic key)の生成と使用を含む。このクリプトグラフィック・キーは後で取り出せるように記憶され、その結果システムは必要な時には、いつでも資源を暗号化したり脱暗号化することができる。
指定されたサービス(即ち資源の暗号化又は脱暗号化)を提供するために、アプライアンスはシステムのサーバーと資源に接続され又PVKMにも接続される。このPVKMは、上記のクリプトグラフィック・キーとシステムの安全確保に関連するサービスを提供する。このような接続は、ネットワーク通信、メモリ内通信或いは他の適宜のシステムに有用な通信技術を含む。このような接続は通信チャネル或いは通信とも称する。
アプライアンスの集合体(相互作用しないグループ)とクラスタ(相互作用するグループ)が、システムでも用いられ、システムの故障回復と、スケーラ・ビリティと、暗号化メカニズムを確保する。あるアプライアンスにより暗号化された資源は、別のアプライアンスにより脱暗号化されるのが有益であり、このような暗号化と脱暗号化の操作は別々のアプライアンスにより行われるのが有益である。同時にセキュリティの観点から、攻撃者があるアプライアンスを危険に曝したとしても、システム全体は危険には曝されないのが望ましい。
本発明の方法は、クラスタにおいて極めて有効であるが、1つのクラスタ(即ち単独のアプライアンス)においても有効である。クラスタの適用の一般化とシステムの特徴を強調するために、クラスタを説明するが、本発明の方法は、アプライアンスの1つのインスタンス内に存在するキーの保護にも有効である。
以下に説明する実施例と実行方法を記述する一般的な構成は 以下の「秘密」キーとキー要素がシステムの構築の説明に関連する。
ロケーションに固有な固有キーKsは、特定の保護された資源を暗号化するために用いられるキーあるいはキー群であり、従来公知の暗号化技術を使用する。システムは、この複数の資源の安全確保するために、各資源は異なる固有キーKsを有する。本発明の一実施においては、固有キー(Ks)は、暗号化されていない平文形態でどこかに永続的に記憶しておく必要はない。
固有キーKsは複数の(2つ以上)部分に分けられる。説明を簡便にするために、最も一般的なケースの実施例においては、Ksを2つの部分「マスターキー」Kmと「セカンドキー・シェア」とに分ける。「サードキー・シェア」更にはそれ以上のキー・シェアを用いることも本発明の範囲内に入る。
以下の説明において演算子Θと*(原文では黒丸である)とがある。この演算子は、適宜の演算(例;XOR、pを法とする乗算、除算、加算、減算)を表す。この演算子は、例えば;キー・ジョイニング、キー・スプリティング、キー・ブラインディングに有効である。一般的に、これ等の演算子はこれらの演算を表すのに用いられる。簡単に説明すると、Θは同一の式内では、演算とその逆算の両方を意味する。例えば、XORの逆算はXORそのものでありこれに対し、乗算の逆は割り算(除算)である。同じことは*についてもいえる。*とΘの両方が用いられるが、これ等は1つの式の中で2つの演算を表すのに有効だからである。これ等の一般化された演算子は、準同型演算、例えば
E(A)*E(B)=E(AΘB)で用いられる。
マスター・キーKmは、固有キーの1つのキー・シェアである。本発明の一実施例では、システムにおいては、マスター・キーは、コンピュータシステム内の何処かに平文形態で記憶する必要もなく、メモリ内で平文形態で存在する必要もない。
上記の実施例は、追加的なキー又はキー・シェアにまで拡張可能である。一般的なフレーム・ワークにおいては、このような態様はマスターキーにのみ適用される。
このような態様は、以下の実施例で説明するように、マスター・キー又はキー・シェアは、演算(例えばキー・スプリティング、キー・ジョイニング又は他の関連演算)で、キーの平文(未暗号)値を知ることなく、使用できる。本発明の一実施においては、ブライド化値rは、キー又はキー・シェアを揮発性メモリ内に記憶しないようにするために、用いられる。他の実施例は、準同型暗号化を、「E」として示されたキー群又は公開/秘密のキー対で示した(Ek,Dk)を用いて実行し、これによりキーとキー・シェアの安全を確保する。準同型暗号化の一例はElGamal, paillier, RSA, Goldwasser-Micaliのアルゴリズムである。本発明の他の実施例においては従来公知の暗号化技術を用いる。
本発明の一実施によれば、キーの一部(例えばマスター・キー又はキー・シェア)は、完全にコンピュータ環境外に置くことができる。その結果、それ等のキーは、コンピュータ環境内で平文(即ち未暗号化)形式で知られることはない。この実施の態様は安全確保を機能を向上させる。その理由は、重要なキーは、平文形態ではコンピュータ環境内に存在することなく使用することができるからである。
本発明の一実施においては、ブライド化値(blinding value)、キー又はキー・ペアは、システム内の各アプライアンス毎に異なっており、更には保護すべき対象の各資源内でも異なっている。本発明の一実施例により、キーは、コンピュータ環境内の様々な使用状態において別々に暗号化される。この態様により安全性が向上する。その理由は、暗号化形態でのキーの窃盗は窃盗者には役立たない。その理由は、暗号化形態のキーは、例えそれが盗まれたとしても、システムの他の部分では使用できないからである。
本発明により、十分には信頼できない環境内でも、信頼性の確立ができる。この実施例により、安全未確保の環境内でのキーの安全が確保される。
以下の説明において、PVKMは、このような環境におけるロケーション(物理的あるいは仮想的の何れの)と見ることができ、各アプライアンス又は他のセキュリティ要素も、別のロケーションとして見ることができる。しかし、PVKMそのものは、集合体あるいはクラスタとして実行され、PVKMをロケーションとも称する。
本発明の一実施においては、スプリット・キーの暗号化アプローチは、ブライド化値rを用いたブラインド・キーで実現され、これにより、マスター・キーKmが、コンピュータ・システムのアプライアンス上、PVKM上あるいは何れの場所でも、未暗号化(平文)形態になるのが阻止される。
図1−4において、全体プロセスを、別々に又は順番に、タイムライン(上から下に時間が経過する)に従って、アプライアンスAとPVKM−B(図面ではPVKM B(ハイフンが無い)で示されている)の2つの主要な要素に対し示す。これにより、各コンポーネントで別々に(独立して)起きる並列プロセスを分離して示す。
アプライアンスAは、複数のアプライアンスの一つを意味する。本発明は、このようなアプライアンスの集合体あるいはクラスタにより広く適用可能である。更にPVKM−Bは概念的なエンティティ(例;サーバ)を意図するが、実際にはPVKM−Bは複数のサーバ(例;故障からの回復保護のために用意されたサーバ)を意味する。このアプローチを一般化すると、より多くのロケーション、より多くのタイムライン(例えば準同型・サーバCと他の更なる要素用のタイムライン)が存在する。
更にこの全体プロセスは3つのサブ・プロセスに分けられる。サブ・プロセスIでは新たなアプライアンスを生成し、サブ・プロセスIIでは新たに保護すべきアイテムを生成し、サブ・プロセスIIIでは既に保護されたアイテムにアクセスする。
このブラインド・キーの実施例においては、新たなアプライアンスを創設する為(サブ・プロセスI)、PVKM−Bはキー・ペア(Ek,Dk)を生成(ステップ10)し、この公開キーEkをアプライアンスAに送信(ステップ12)し、そこに記憶(ステップ14)する。標準の暗号化技術(いわゆるサーティフィケート内に公開キーをラッピングする技術)を用いて、公開キーEkが本物(authenticity of the public key )であることを保証する。ブライド化値rを用いて、アプライアンスA上のKmの値を暗号化し、秘密に(ブラインド化)する。このブラインド・プロセスは、KmΘrとして計算される。ここでΘは適宜の演算を意味する。ブライド値(blinded value)KmΘrは、アプライアンスA上にその後記憶される(ステップ16)。この記憶はメモリ(アプライアンスA)内でのみ行われ、ディスクのストレージ又は他の永久的な記憶媒体を必要とはしない。しかしこれは他の実施例では許される場合もある。
本発明の実施に際し、アプライアンスAは、Kmの元の入力値をユーザが入力する演算を実行する。このような構成においては、ブライド化値rのコピーがPVKM−Bに送られ(ステップ18)、そこに記憶される(ステップ20)。ブライド化値rはアプライアンスAには記憶されない。ブライド化値rは、ブライド値が計算された後は、メモリから消去され、PVKM−Bは、ブライド化値rのコピーを記憶する(ステップ20)。
ここに記載したプロトコルで、ブライド化値(blinding value)rとブライド値(blinded value)KmΘrで演算を実行することにより、システムは、Ks(これ等はPVKM−Bにより知られたものである)の値を知らずに、またKm(アプライアンスA上で知られたものである)の値を知らずに、キーを、ブラインド化操作を実行した後、管理できる。
新たに保護されたアイテムを生成する為(サブ・プロセスII)、アプライアンスAはKsを生成する。このKsは、このアイテムを暗号化し保護するために用いられる固有キーである。これは従来公知の暗号化技術を用いて行われる。
KsもKmも曝す(公開する)ことなく、Ksを安全に記憶するために、PVKM−Bのキー・シェアのブラインド化であるKmΘKsΘrが生成され(ステップ22)、その後これがEkを用いて暗号化され(ステップ24)、PVKM−B(ステップ26)に送られる。PVKM−Bは、未ブラインド化のキー・シェアを、rの記憶された値を用いて計算し(ステップ28)、この未ブラインド化のキー・シェアをPVKM−Bに記憶させる(ステップ30)。
選択的事項として、ハッシュ・ベースのメッセージ認証コード(HMAC:Hash-based Message Authentication Code)を用いて、PVKM−Bのキー・シェアの修正形態をアプライアンスAに戻す(ステップ32)。HMACの有無にかかわらず、PVKM−Bの未ブラインド化のキー・シェアは、アプライアンスAに記憶することもできる(ステップ33)。これは、PVKM−Bに記憶する代わりに又はそれに加えて(ステップ30)行われる。この実施例においてHMACを使用例を以下説明する。
演算子Θは、本明細書において使用される可能性のある演算の一例である。
保護されたアイテムにアクセスするため(サブ・プロセスIII)、PVKMキー・シェアが取り出される。これはアプライアンスA上で選択的事項として行われ(ステップ34)、PVKMキー・シェアは、PVKM−Bに(HMACを用いて)送られる(ステップ36)。あるいはPVKM上で局部的に取り出してもよい。その後PVKM−Bは、暗号化されたキー・シェアを脱暗号化する(ステップ38)。PVKM−Bは、ブラインド化され脱暗号化されたキー・シェアをアプライアンスAに送る(ステップ40)。そこで脱暗号化されたキー・シェアが、アプライアンスのブラインド化されたキー・シェアKmΘrと結合されて、ストレージ・キーKsを回復する(ステップ42)。
ブライド化値を加えることにより、Kmはアプライアンス上に又はPVKM上に記憶されることはない。かくして攻撃者は、アプライアンスを破壊しても、Kmを回復/再生できない。同じく、PVKMの破壊も攻撃者に対しKmを再生させることはない。
本発明の一実施においては、準同型・ブラインディングは、準同型公開キー暗号化スキームを用いて、2つの場所で実行され、マスター・キーKmのブラインド化を達成する。
図2は、本発明の一実施例による、2(暗号化)位置の準同型ブラインド化の暗号化方式を実施する主要ステップのブロック図である。
この2位置の準同型・ブラインド化の実施例においては、新たなアプライアンスを創設する(サブ・プロセスI)ために、PVKM−Bはキー・ペア(Ek,Dk)を生成し(ステップ50)、EkをアプライアンスAに送信し(ステップ52)、そこに記憶する(ステップ54)。このキー・ペアは、部分的な準同型又は完全な準同型の暗号化スキームである。アプライアンスAは、キーを受領するとマスター・キーKm暗号化する(ステップ56)、又は既に暗号化されたマスター・キーを受領する。しかし未暗号化キーをPVKM−Bに送ることはない。
新たな保護アイテムを生成する為(サブ・プロセスII)、アプライアンスAはKsを生成する。このKsは、アイテムを暗号化し保護するのに用いられる固有のキー(局部安全確保キー)である。この暗号化は、従来公知の暗号化技術を用いて行われる。
Ksを安全に記憶する為にそしてKsのKmも露出(公開)しないために、PVKM−Bの暗号化されたキー・シェアEk(KmΘKs)が生成される(ステップ60)。暗号化されたキー・シェアは、その後PVKM−Bに送られ(ステップ62)、そこに記憶される(ステップ64)。PVKM−Bの暗号化されたキー・シェアは、アプライアンスAにも記憶され(ステップ65)、これはPVKM−Bに記憶する代わりに又はそれに加えて行って(ステップ64)もよい。
この実施例において、アプライアンスが、脱暗号化することなく暗号化テキストを乗算する準同型・プロパティを用いることもできる。これによりEk(KsΘKm)が、KsとEk(Km)から、Kmを知ることなく、計算できる。
Ek(Ks)*Ek(Km)=Ek(KsΘKm)
これはステップ60に示されている。
保護されたアイテムにアクセスする為(サブ・プロセスIII)、アプライアンスAは、まず暗号化されたキー・シェアEk(KsΘKm)を取り出す。その後アプライアンスAは、PVKM−Bに対しこのキーを脱暗号化するよう要求する必要がある。その理由はアプライアンスAは秘密キーDkを持っていないからである。PVKM−Bは固有キーKsの値とマスター・キーKmの値を決定することはできない。PVKM−Bがこれ等のキーを直接得るのを阻止するために、固有キーは、既にアプライアンスAにのみ知られている新たなランダムな値rでブラインド化(ステップ66)される。これは、脱暗号化(ステップ70)の為に、固有キーがPVKM−Bに送られる(ステップ68)毎に行われる。
準同型・プロパティを用いて、アプライアンスAが、Ek(Ks)にブライド化ステップを加えるが、これは、Ks又はKmに知らずに行う。
Ek(KsΘKm)*Ek(Km)*Ek(r)=Ek(KsΘr)
その後PVKM−Bは、ブラインド化された脱暗号化されたキー・シェアKsΘrをアプライアンスAに送る(ステップ72)、そこで脱暗号化されたキー・シェアが、アプライアンスAのキー・シェアと、Kmと、ブラインド化値と組み合わされて、記憶装置のストレージ・キーKsを回復する(ステップ74)。
同一の2位置準同型・ブラインド化プロセスを以下数式を用いて説明する。秘密にすべき資源を保護するクリプトグラフィック・キーSを考える。
S=[b1,b2,b3−−−bx]
各bxはデータのビットまたはバイトである。一部のbx又は全てのbxが権限のないエンティティに知られたものとなると、このキーは(全体又は一部が)露出されたものとなり、その結果重要な資源も露出されることになる。Sは、b要素のストリングをbxまで暗号化することにより、保護される。Sは、1回又はn回暗号化されるが、これは複数の異なる暗号化方法ε={E1...En}と適宜のエンクリプション・キーP={P1...Pn}を用いて行われる。そしてこれは次のように定義される。
C=ε(S,P)=E1(E2(...En(S,Pn),....P2),P1)
上記の表示において、P(P1からPnの順番の組である)は安全確保キー(secure-key)のセットであり、CはSの暗号化形態(即ちSの暗号文/サイファー)である。各Pxは従来公知(例えば、対称暗号化、公開−保護スキーム又はキー・シェア・スキーム)である。各Pxは、従来公知のキーで(例、対称キー、公開−秘密キー対又はキー・シェア・スキームのキー)ある。Cは適宜の脱暗号化δ()で脱暗号化される。例えば、
S=δ(C,P)=Dn(...D2(D1(C,P1),P2),...Pn);S=δ(ε(S,P))
このアプローチにおいて、DxはExの逆関数であり、δはεの逆関数である。Sは、暗号化キー・セットPが安全であり且つ暗号文CがSが使用された時間と場所の近傍で脱暗号化される場合には、安全であると見做される。言い換えると、演算δ()は、Sが実際に必要なときにのみ適用される、Sは必要とされない場合には廃棄される。
暗号化方法Ek(kは1−nの間の整数)の1つを考えてみる。Ekは上記に定義されたアプライアンス上で具体化される。アプライアンスのクラスタをサポートすることは、Ekがクラスタ内のどのアプライアンスでも具体化されるような構成を要求することになる。暗号化方法の故障回復又は拡張可能性を達成するために、Ekはクラスタ内の全てのアプライアンスで具体化されなければならない。
別の暗号化方法Ej(jはkと異なり1−nの間の整数)を考えてみる。この暗号化方法EjはPVKM上で具体化される。Ejの実施例を与える為に、アプライアンスとの通信を安全に利用できること以外に、PVKMの正確な場所や特徴に関して何も仮定しない。例えばPVKMは、サーバ又はサーバのクラスタのようなコンピュータ資源上で実現される。
Cに対する前式は次のようになる。(j<k)
C=e(S,P)=E1(E2(...Ej(...Ek(En(S,Pn),....Pk),...Pj),...,P2),P1)
S=d(C,P)=Dn(...Dk(...Dj(...D2(D1(c、P1),P2),...,Pj),...,Pk),...,Pn)
S=d(e(S,P))
j>kの場合には、EjとEkの順番は逆転し、全てのDnとPnの順番も逆転する。jとk以外の方法を無視すると、以下の議論で関連する方法は次のように定義することができる。
C=e(S,P)=Ej(Ek(S,Pk),Pj)
S=d(C,P)=Dk(Dj(C,Pj),Pk)、S=d(e(S,P))
ここで除かれた方法は推測される。
Sは、重要な資源を保護するクリプトグラフィック・キー(cryptographic key)として導入した。本発明では、このSそのものを保護しようとしている。Sは、平文状態ではアプライアンスのメモリ内でのみ入手可能であり、Sが重要な資源の暗号化又は脱暗号化で使用されている時のみ、入手可能である。Sは、アプライアンスのメモリ外では入手不可能である。例えばSは、永久メモリ例えばディスク内には記録されず、PVKM上でも入手不可能である。
PKI(Public-Key Infrustructure公開キー方式)の技術は、暗号化アルゴリズムEpkiと脱暗号化アルゴリズムDpkiを有する。PKIのキーの対は、公開キー(e,m)と秘密キー(d,m)がPKIに一般的に使用される。秘密キー(d,m)はPVKM 上でのみ見出され、脱暗号化アルゴリズムDpki(y)=Dpki(d,m)で使用される。公開キー(e,m)はPVKMとアプライアンスの両方で見出され、暗号化アルゴリズムEpki(x)=Epki(x(e,m))で使用される。
このPKI技術は、部分的に準同型または完全に準同型の環境、例えば、ElGamal, paillier, RSA, Goldwasser-Micalで基本的に使用されるPKI技術でもよい。e,d,mの実際の意味は、選択され使用された暗号技術に依存する。例えばRSA方式においてはmはmodulusで、eは暗号化の際の累乗回数で、dは脱暗号化際の累乗回数である。(e,m)は公開キーを含み(d,m)は秘密キーを含む。
便宜上マスター・キーMはKmと本明細書では交換可能に使用される。PKIで暗号化されたマスター・キーはμ=Epki(M)であり、以下の実施例に関連する特定のアプライアンス上でのみ得られる。Mはシステムの如何なる場所でも得ることができず、μのみが特定のアプライアンス上でのみ得られる。
一般化した乗算の演算子を‘*’(原文では黒丸)で定義する。演算子の実際の選択は使用されるPKI技術に依存する。この実施例で選択された演算子‘*’は、部分的準同型の演算で選択されたPKI技術に適したものである。例えばRSAにおいては演算子は乗算であり、Goldwasser-Micaliでは演算子はXOR論理回路である。部分的準同型の特性(プロパティ)は次のことを意味する。
Epki(x1)*Epki(x2)=Epki(x1*x2)
Dpki(y1*y2)=Dpki(y1)*Dpki(y2)
*の逆は割り算で‘/’で表され、選択されたpki技術に対して存在すると仮定する。このような定義を用いて、暗号化技術EjとEkと脱暗号化技術DkとDjは、以下のように記述することができる。
資源(ディスク上に記憶されたファイル)をSに依存する暗号化技術で暗号化するためには以下のステップを実行する。
1.アプライアンス上でクリプトグラフィック・キーSを得る又は生成する(ランダムに)。
2.アプライアンス上でSを用いて資源を暗号化する。
3.Sをそれ自身の値を曝すことなく記憶する必要がある。PVKMと他のアプライアンス上の何れ(システム内のエンティティ)でもSを得ることはない。その為
a.アプライアンス上で、σ=Epki(S)を計算する。
b.アプライアンス上で、κ=σ*μ=Epki(S)*Epki(M)を計算する。
c.κをPVKMに送る(これはS又はMをPVKMに曝すことにはならない)。
d.PVKM上でのみDpki(κ)を計算する。(秘密キー(d,m)はPVKM上でのみ得られる)これは準同型により以下を示唆する。
Dpki(κ)=Dpki(Epki(S)*Epki(M))=Dpki(Epki(S*M))=S*M
PVKMは、適宜の技術で、値(S*M)を安全に確保する。(例えは、安全なデータ・ベース内の記憶装置)
4.Sを廃棄し、その結果Sは、アプライアンス上ではもはや得ることができず更にはアプライアンスのメモリ内でも得ることはできない。(選択的事項としてこの値は将来一時記憶することもできるが、これは性能と利便性を引き換えに安全性を犠牲にした場合である。
アプライアンス上で起きる上記のステップはEkを記述し、PVKM上で起きる上記のステップはEjを記述する。Sが得られない場合、上記の暗号化した資源を脱暗号化するために以下のステップが行われる。
1.PVKM上でS*Mを取り出す。
2.PVKM上でκ=Epki(S*M)を計算する。
3.κをアプライアンスに送る
4.準同型暗号(homomorphism)とEpki(M)が得られることにより、アプライアンス上のκ/μを計算する。κ/μ=Epki(S*M)/Epki(M)=Epki(S)=σ
5.公知の適宜のブラインド技術を用いて、ブラインド値σblindedをσから生成する。この様な技術は乱数rとEk(r)による乗算が関連する(これは図2に記載している)。
6.σblindedをアプライアンスからPVKMに送る。
7.PVKM上でSblindedを計算する。Sblinded=Dpki(σblinded)=Dpki(Epki(Sblinded))
8.SblindedをPVKMからアプライアンスに戻す(PVKMはSを取り出すことができるが、それはPVKMがブラインディング・ステップを実行したからである)。
9.アプライアンス上でSを用いて所望の資源を脱暗号化する。
10.値Sを廃棄する。その結果Sは、アプライアンス上でも更にはアプライアンスのメモリ上でも得ることができない。選択的事項としてこの値は将来使用するために一時記憶することもできるが、これは性能と便利性のために安全性を犠牲にしたものである。
アプライアンス上の上記のステップはDkを記述し、PVKM上で起きる上記のステップはDjを記述する。Kmは、暗号化形態でのみ記憶されているので、アプライアンスを破壊しても、攻撃者はKmを回復することはできない。
本発明の一実施においては、準同型・ブラインディングは3か所で行われる。この3暗号化箇所での準同型・ブラインディングの実施例は、ブラインド化されたキーを用いるスプリット・キー暗号化に関連する上記のプロセスに以下の例外を除いて類似する。例外とは、rが、3暗号化箇所での準同型・ブラインディングの方法では、何処にも非暗号化形態で記憶されることはない場合である。その代りrの暗号化版が外部の準同型・サーバに送られる。
図3は、3暗号化箇所での準同型・ブラインディングの暗号化を実施する主要なステップのブロック図である。
この3暗号化箇所での準同型・ブラインディングの暗号化においては、新たなアプライアンスを生成する為(サブ・プロセスI)、PVKM−Bは(Ek,Dk)キーの対を生成し(ステップ80)、EkをアプライアンスAに送り(ステップ82)、そこに記憶させる(ステップ84)。アプライアンスAはブラインド化されたKmを記憶する(ステップ86)。
上記の実施例において、ブラインド化操作は、ユーザがKmの元の入力値とランダムな値r用いて行われる。この構成においては、rの暗号化版Ek(r)が計算され(ステップ88)、その後準同型・サーバCに送られ(ステップ90)、そこに記憶される(ステップ92)。ランダムな値rはアプライアンス又はPVKMには記憶されない。
新たな保護されたアイテムを生成する為(サブ・プロセスII)、アプライアンスAはKsを従来公知の暗号化技術を用いて生成する。Ksはそのアイテムを暗号化し保護するのに用いられる固有のキーである。
Ksを安全に記憶し且つKsもKmも露出しないようにするために、ブラインド化されたキーKmΘKsのPVKM−Bの暗号化されたキー・シェア(これはEκ(KsΘKmΘr)の計算を行い)を生成する(ステップ96)。その後準同型・サーバCに送信する(ステップ98)。準同型・サーバCはrの記憶された暗号化形態Ek(r)を用いて、未ブラインド化のキー・シェアを計算する(ステップ100)。その後暗号化された未ブラインド化のキーをPVKM−Bに送信し(ステップ102)、そこに記憶する(ステップ104)。
選択的事項として、HMACを用いてステップ100で計算されたキー・シェアの修正形態をアプライアンスAに戻す(ステップ106)。HMACの使用の有無に関わらず、PVKM−Bの暗号化された未ブラインド化のキー・シェアは、アプライアンス上に記憶される(ステップ107)。これはPVKM−Bに記憶する代わりに又はそれに加えて行われる(ステップ104)。
保護されたアイテムにアクセスする為に(サブ・プロセスIII)、記憶された暗号化キー・シェアが取り出され(ステップ108)、それが準同型・サーバCに送られる(ステップ110)。選択的事項として送信にはHMACを用いる。
図3は、アプライアンス上に記憶装置がある場合、アプライアンスから送信されたキー・シェアを示す(ステップ107)。キー・シェアは、PVKM−B上に記憶装置がある場合には、PVKMから送信される(ステップ104)。準同型・サーバCはその後ブラインドされ暗号化されたキー・シェアを計算し(ステップ112)、このブラインドされ暗号化されたキー・シェアをPVKM−Bに送る(ステップ114)。PVKM−Bは、最終的にブラインドされ暗号化されたキー・シェアを脱暗号化し(ステップ116)、ブラインドされ脱暗号化されたキー・シェアをアプライアンスAに送る(ステップ118)。そこで脱暗号化されたキー・シェアは、アプライアンスのブラインドされたキー・シェアKmΘrと組み合わされて、固有のキーKsを再生する(ステップ120)。
上記の暗号化方法の準同型特性は、ブライド化値は平文のrを知らずに暗号文に適用され、そこから直接取り出すことができることを意味する。その理由は、rの値は平文形態で記憶されず、PVKM又はアプライアンス(更には両方)への受動的な攻撃ではrを知ることはできない。マスター・キーを解明する唯一の方法は、3つのサーバ全てに入り込み、アプライアンスからKmΘrを、PVKMからDkを、準同型・サーバからEk(r)を取り出し、この3つのキー要素を組み合わせることである。
本発明の一実施においては、2暗号化位置準同型・ブラインド暗号化は、プロトコルの最適化を行うことで実現できる。この実施例は、図2で説明した準同型・ブラインドの2つの位置の暗号化方法に類似する。但し、プロトコルでは、ある場所ではより効率的であり、より少ない計算量とより少ない繰り返し演算で目標に達成できる。
図4は、本発明の一実施例による、プロトコル最適化を伴った2暗号化位置の準同型ブラインド化キーの暗号化方式を実施する主要ステップのブロック図である。
この実施例の2暗号化箇所での準同型・ブラインディングの暗号化においては、新たなアプライアンスを生成する為(サブ・プロセスI)、PVKM−Bは、キーの対(Ek,Dk)を生成し(ステップ130)、EkをアプライアンスAに送り(ステップ132)、そこに記憶する(ステップ134)。更に選択的事項として、Ekをユーザ(ユーザのウエブ・ブラウザ)にも送る(ステップ136)。アプライアンスAは、暗号化されたマスター・キーEk(Km)を受領すると記憶し(ステップ138)、この暗号化さたKm(生成され記憶されたブラインド化値rから)をEk(KmΘr)を計算することにより、ブラインド化する(ステップ140)。このブラインド化され暗号化されたKmをその後PVKM−Bに送り(ステップ142)、これをPVKM−Bに記憶する(ステップ144)。
上記の暗号化方法の準同型・プロパティは、Kmを知らずにブライド化ステップを加えることを意味する。Ek(KsΘr)=Ek(Km)ΘEk(r)
新たに保護されたアイテムが生成する為に(サブ・プロセスII)、新たな固有キーKs(アイテムを暗号化し保護するに用いられる固有キー)が必要とされる。これには従来公知の暗号化技術が用いられる。固有キーは以下のように生成される。
選択的事項として、アプライアンスAは、アプライアンスA上でランダムなビット形式であるエントロピー(この分野では公知技術)を集め、キー生成リクエストと共に送信する(ステップ146)。その後アプライアンスAは、キーを生成するよう要求する(ステップ148)。これは、リクエストを集められたエントロピー上を通過させて、PVKM−Bに送る(ステップ150)ことにより行われる。その後PVKM−Bは、ランダムな値を生成する。このランダムな値は、アプライアンスAのエントロピーと共に(選択的事項として)、PVKM−Bのキー・シェアKmΘKsとして機能する。
PVKM−Bは、リクエストで供給されたアプライアンス・エントロピ又はPVKMのアプライアンス・エントロピーの何れか又はその両方を用いて、新たなキーを生成する。その後このキー・シェアを用いて、ブラインド化されたキーKsΘrを生成する(ステップ154)。これをPVKM−BからアプライアンスAに送る(ステップ156)、それから、アプライアンスAは、予め記憶されたブライド化値rを用いて、キーKsを計算する(ステップ158)。
保護されたアイテムに再度アクセスする為に(サブ・プロセスIII)、アプライアンスAは、リクエストを生成(ステップ160)することにより固有キーKsを得る。その後、このリクエストをPVKM−Bに送る(ステップ162)。PVKM−Bはそのキー・シェアを取り出し(ステップ164)、このブラインド化されたキーを計算し(ステップ166)、このブラインド化されたキーをアプライアンスAに送る(ステップ168)。アプライアンスAは、その後このキーKsを計算する(ステップ170)。
本発明の一実施例においては、Nか所の暗号化プロセスが、上記の2か所又は3か所の暗号化プロセスを拡張することにより、実現できる。
本発明の一実施例においては、クラスタに関与する信頼されたプロトコルを実行して、エンティティ(即ちアプライアンス)のクラスタが、クラスタの構成要素が仮想環境又はクラウド環境で、信頼に値することを確認できる。この場合特に新たなクラスタの構成要素の安全が確保され信頼に値することが確認できる。
この実施例においては、クラスタ内のエンティティの信頼を認証するプロトコルが規定される。アプライアンスは識別チケットを具備する。これは従来公知の適宜のチケットである。アプライアンスは適宜のデータ・ベース内で信頼できるとして指定されるか又はこの様なアプライアンス内で信頼の生成を指定する。このようなチケット発行又はアプライアンスの指定は、フラグの付されたされたトラスト(Flagged trusted)としてのアプライアンスである。
アプライアンスをフラッグの付いたトラストとする前に、特定のアプライアンスにおける信頼(トラスト)が確立されなければならない。アプライアンスは、少なくとも1つの信頼されたエンティティによりトラストが発行されない限り、フラッグの付いたトラストとはならない。信頼されたエンティティは、別のアプライアンス、PVKM又は、他の信頼されたエンティティでもよい。アプライアンスは、信頼証明が発行された後のみフラッグの付されたトラストとなる。アプライアンスに対し信頼証書を発行するよう信頼されたエンティティは、以下の方法によってのみ、それ自身に信頼性があるものと見做される。
1.エンティティがトラストを得ること及びトラストのフラッグを付けることの唯一の方法は、システムのユーザが、エンティティに対し個人的に信頼状を発行することである。このような状況は、クラスタの第1のインスタンスが最初に活性化された時に、あるシチュエーションが起きるか又は他のシチュエーションが起きた時に、発生する。この様なアプローチの代表的な例として、ユーザが信頼されたトラストに対しマスター・キーのコピー又はこのマスター・キーの暗号化版を提供することにより、そのエンティティに対し信頼状を発行すること又はユーザがエンティティの信頼をPVKMに対し発行することである。
2.別の信頼されたエンティティが以下の条件の少なくとも1つが満たされたときのみ、アプライアンスに対し信頼状を発行することに同意することである。
(a)信頼されたエンティティがアプライアンスを設定する又は活性化することに直接関与したこと、そしてそれ故にアプライアンスが正しくセットアップされたこと又は安全性のリスクがないということに対し信用状を発行することである。
(b)信頼されたエンティティが識別された秘密情報又は識別された情報のデータ・ベースにアクセスすることであり、これにより信頼されたエンティティがアプライアンスが信頼に値すると認証することである。
信頼状(トラスト)を発行するある方法は、状況によっては他のものよりも好ましいが、両方のアプローチ共一般性を維持する。信頼されたエンティティがアプライアンスに対しトラストを発行すると決定すると、信頼されたエンティティは、アプライアンスに対するトラストを、クラスタの他のメンバー又はPVKMのたのメンバーに、発行する。新たに信用されたアプライアンスが、適宜の秘密を受領すると、エンティティのトラストが確立される。
上記の秘密の一例は以下のものがある。
適宜のフラッグ(例えば、チケット)
適宜に暗号化されたマスター・キー
従来用いられている秘密
このような秘密は、それを暗号化することにより安全確保される。更に好ましいのは、
秘密そのものがコンピュータ環境で平文の形態で知られていないことである。
秘密が送信側(信頼を発行する側)のエンティティとは異なる方法で受信側(信頼を要求される側)のアプライアンスに対し暗号化される。
本発明の一実施例においては、トラストを発行するエンティティは、PVKMと協働して秘密のそれ自身の暗号化を取り除くが、これはPVKM又は信頼を発行したアプライアンス側の秘密を知らず(例えば、マスター・キーを知らない)に行うことができる。秘密の新たな暗号化が、その後PVKMと共に適用されるが、PVKM又は他のアプライアンスもこの秘密を知る必要はない。この新たな暗号化は、アプライアンスを受領する(信頼が要求される)側にとって適切なものである。
このアプローチを達成する代表的な技術は以下のステップに関連する。
1.送信側のエンティティが準同型で暗号化されたEk(Km)を受信側のアプライアンスに送る。
1.受信側のアプライアンスが、このEkの準同型特性を用いてその値を知ることなくKmをブラインド化する。(例えばランダム数値tを生成しEk(KmΘt)=Ek(Km)ΘE(t)が計算される)そしてこれを送信側のアプライアンスに戻す。
1.クラスタを発行するアプライアンスはPVKMに対し暗号化Ekを取り除き、この暗号化Ejを適用する(tをブラインド化するために、PVKMとクラスタを発行するアプライアンスは両方ともKmを知ることができない)。
1.新たに暗号化された値Ej(KmΘt)を受信側アプライアンスに送られる、これにより新たなアプライアンスにKmの暗号化をどのエンティティもKmを知らずに与えられている目標を、どのエンティティはKmを知らずに達成することができる。その結果新たなアプライアンスにおける暗号化は他の何れの暗号化とも異なる。
この実施例は新たなアプライアンスに対し信頼できるのみならず、あるアプライアンスの秘密が破られたときに他のアプライアンスはそうではないということが確認できる。その理由は、アプライアンスが含む秘密は別々に暗号化されるからである。
本発明の一実施例においては、HMACはサービスの拒否(DoS)の回避で、セキュリティのために、PVKMで維持されている脱暗号化キー(Dk)の使用を制限するために実行される。HMACは、特別なチェックサム機構でPVKMにとって計算は容易ではあるが、他のエンティティがそれを作り出すことは非常に困難である。HMACを用いて、PVKMは、PVKMがデータを暗号化する毎にチケットを計算し、このデータを暗号文と共にアプライアンスに送る。PVKMは有効なチケットなしではデータを脱暗号化するのを拒否する。PVKMは暗号文からチェックサムを簡単に計算し、これによりアプライアンスが、PVKMがそのデータベース内に暗号化キーを記憶していない場合でも作業することができる。
本発明の更なる実施例において、PVKMとアプライアンスは、安全確保した仮想化したキー管理システムとして使用され、暗号化キーをAPI(Application Programming Interface)を介してユーザに送る。この実施例においては、ユーザは、実際の暗号化を実行するが、この実行システムはキーを提供するだけである。この実施例において、PVKMとアプライアンスとそれ等の間のプロトコルは上記の何れの場合でも又は一般的原理に入るようなどのプロトコルでもある。
更に実際の暗号化キーをユーザに適用することは、実行システムにとっては完全に知りえないものである(即ち、PVKMとアプライアンスに対しては完全に未知のものである)。この様な実行はプロトコルを強化することにより達成され、その結果ユーザは、ユーザに対してブラインドの値、暗号化キー、暗号化キー群、暗号化キー対を発行することを要求することによりプロセスに参加する。
この実施例において、PVKMとアプライアンスはそれ自身のキーの暗号化を切り替えてそれをユーザにより指定された暗号化で置換するが、これはキーを必要とすることなく行うことができる。この実施例は、PVKMとアプライアンスの何れもがキーに値を知ることなしに実行される。即ち、ユーザにより供給されるブライド化値を用いて更にブラインド化する。この実施例において、安全で仮想化されたキー管理システムは、キーの生成とキーの記憶システムとしてユーザのために機能するが、システムがユーザに提供するキーの値を知る必要はない。この実施例はセキュリティを確実にするために更なるセキュリティの向上が期待できる。その理由はシステムは、未知の値はシステムから盗むことができないからである。特にキーの値はシステムの一時メモリであるキャッシュから盗むことができないからである。
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するためのものではない。また同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。実施例の記載においては、「少なくとも1つ又は複数」、「と/又は」は、それらの内の1つに限定されない。例えば「A,B,Cの内の少なくとも1つ」は「A」、「B」、「C」単独のみならず「A,B又はB,C更には又A,B,C」のように複数のもの、AとBの組合せAとBとCの組合せでもよい。「A,Bと/又はC」は、A,B,C単独のみならず、AとBの2つ、又はAとBとCの全部を含んでもよい。本明細書において「Aを含む」「Aを有する」は、A以外のものを含んでもよい。特に記載のない限り、装置又は手段の数は、単数か複数かを問わない。
本PCT出願は、米国仮出願61/562,893号(2011年11月28日出願)と米国仮出願61/603,383号(2012年2月27日出願)を優先権を主張してなされたものである。
図1−4において、全体プロセスを、別々に又は順番に、タイムライン(上から下に時間が経過する)に従って、アプライアンスAとPVKM−B(図面ではPVKM B(ハイフンが無い)で示されている)の2つの主要な要素に対し示す。これにより、各コンポーネントで別々に(独立して)起きる並列プロセスを分離して示す。
図1でマスターキーKmはアプライアンスAに固有の安全確保キーである。ステップ24で、アプライアンスAで、Ksは公開キーEkとブライド化値rを用いて暗号化される。Dkは公開キーEkと対をなす秘密キー(脱暗号化キー)である。このDkはPVKM−Bに固有の安全確保キーである。Dkは、(KsΘKmΘr)と(KsΘKm)を脱暗号化するのに用いられる。秘密キーDkはより複雑な暗号化キー操作の一部であるステップ28で使用される。
図3のステップ96もマスターキーKmを用いてアプライアンスAを暗号化する。このマスターキーKmは、同じくアプライアンスAに固有の安全確保キーである。同図のステップ100において、準同型・サーバC上のブラインド化されていないキーシェアを、記憶されているrの暗号化バージョンを用いて、計算する。そしてこのrが準同型・サーバCに固有の安全確保キーである。ステップ116で脱暗号化がDkを用いてPVKM−Bで行われる。
アプライアンスAに固有の安全確保キーはKmであり、PVKM−Bに固有の安全確保キーはDkであり、準同型・サーバCに固有の安全確保キーはrである。
本発明の一実施例においては、Nか所の暗号化プロセスが、上記の2か所又は3か所の暗号化プロセスを拡張することにより、実現できる。例えば、N=3の場合は、アプライアンスAとPVKM−Bと準同型・サーバCがそれぞれ1個で構成される。Nが4以上の場合は、アプライアンスAの個数が増えるだけPVKM−Bと準同型サーバ準同型・サーバCの個数は変わらない。例えばN=6の場合は、4個のアプライアンスAと1個のPVKM−Bと1個の準同型・サーバCとから構成される。或いは5個のアプライアンスAと1個のPVKM−Bとから構成される。

Claims (18)

  1. 安全未確保のコンピュータ環境でキーの安全を確保する方法において、
    (a)クライアントのコンピュータ装置から、秘密アイテムの保護を要求する暗号化要求を受領すると、前記秘密アイテムを、暗号化ロケ−ションに固有の安全確保キー(以下「固有キー」と称する)を複数個含む組の各固有キーで暗号化し、暗号化済みアイテムを生成するステップを有し、
    前記少なくとも1個の固有キーは予めの初期秘匿処理がなされており、
    (i)これにより、前記暗号化中に前記少なくとも1個の固有キーは、前記コンピュータ環境のコンピュータ資源上で未保護の形態で知られることを防ぎ、
    前記複数個の固有キーを含む組の各固有キーは、それぞれの暗号化ロケ−ションにとって唯一無二のものであり、前記暗号化ロケ−ションは、前記コンピュータ環境に動作可能に接続され物理的に個別のコンピュータ資源内に配置されたメモリの領域であり、
    前記少なくとも1個の固有キーは、前記予めの初期秘匿処理の間に、所定のグループから選択された少なくとも1個のエンティティから、秘匿された形態で最初に送信され、
    前記所定のグループは、初期化段階の間前記少なくとも1個の固有キーの平文を最初に暗号化するユーザ装置と信頼のおけるコンピュータ資源を含む
    ことを特徴とする安全未確保のコンピュータ環境においてキーの安全を確保する方法。
  2. 前記少なくとも1つの固有キーを秘匿状態におくことは、ブラインド化暗号化技術と準同型暗号化技術を含むグループから選択された少なくとも一つの暗号技術で行われる
    ことを特徴とする請求項1記載の方法。
  3. (b)クライアントのコンピュータ装置から、前記暗号化済みアイテムの脱暗号化を要求する脱暗号化要求を受領すると、前記暗号化済みアイテムを、複数個の固有キーを含む組の各固有キーで脱暗号化するステップを更に有し、
    前記少なくとも1個の固有キーは予めの初期秘匿処理がなされており、
    (i)これにより、前記脱暗号化中に前記少なくとも1個の固有キーが前記コンピュータ環境のコンピュータ資源上で平文の形態で知られることを防ぐ
    ことを特徴とする請求項1記載の方法。
  4. 前記ステップ(a)の前又は前記ステップ(b)の後に、
    (c)前記秘密アイテムを認証された要求者と交換するステップを更に有し、
    前記秘密アイテムは前記コンピュータ環境にとっては不知であり、これにより仮想化されたキー管理システムを提供する
    ことを特徴とする請求項3記載の方法。
  5. 前記暗号化と前記少なくとも1つの固有キーを予め秘匿状態にすることは、前記コンピュータ環境に接続されたコンピュータ資源の集合体の内のいずれかの要素で実行され、
    前記固有キーを予め秘匿状態にすることは、前記要素毎に別々に実行され、秘匿状態にあるキー漏洩が前記他の要素を危険に晒さない
    ことを特徴とする請求項1記載の方法。
  6. 安全未確保のコンピュータ環境でキーの安全を確保する装置において、
    (a)以下を含むサーバーと、
    (i)計算操作を実行するCPUと、
    (ii)データを記憶するメモリ・モジュールと、
    (iii)ネットワークを介して通信するネットワーク接続装置と、
    (b)前記サーバー上にある保護モジュールと、
    を有し、前記保護モジュールは、
    (a)クライアントのコンピュータ装置から、秘密アイテムの保護を要求する暗号化要求を受領すると、前記秘密アイテムを、複数個の固有キーを含む組の各固有キーで暗号化し、暗号化済みアイテムを生成し、
    前記少なくとも1個の固有キーは予めの初期秘匿処理がなされており、
    (i)これにより、前記暗号化中に前記少なくとも1個の固有キーが、前記コンピュータ環境のコンピュータ資源上で平文の形態で知られることを防ぎ、
    前記複数個の固有キーを含む組の各固有キーは、それぞれの暗号化ロケ−ションにとって唯一無二のものであり、前記暗号化ロケ−ションは、前記コンピュータ環境に動作可能に接続され物理的に個別のコンピュータ資源内に配置されたメモリの領域であり、
    前記少なくとも1個の固有キーは、前記予めの初期秘匿処理の間に、所定のグループから選択された少なくとも1個のエンティティから、秘匿された形態で最初に送信され、
    前記所定のグループは、初期化段階の間前記少なくとも1個の固有キーの平文を最初に暗号化するユーザ装置と信頼のおけるコンピュータ資源を含む
    ことを特徴とする安全未確保のコンピュータ環境でキーの安全を確保する装置。
  7. 前記少なくとも1つの固有キーを秘匿状態におくことは、ブラインド化暗号化技術と準同型暗号化技術を含むグループから選択された少なくとも一つの暗号技術で行われる
    ことを特徴とする請求項6記載の装置。
  8. 前記保護モジュールは、
    (b)クライアントのコンピュータ装置から、前記暗号化済みアイテムの脱暗号化を要求する脱暗号化要求を受領すると、前記暗号化済みアイテムを、複数個の固有キーを含む組の各固有キーで脱暗号化し、
    前記少なくとも1個の固有キーは予めの初期秘匿処理がなされており、
    (i)これにより、前記脱暗号化中に前記少なくとも1個の固有キーが前記コンピュータ環境のコンピュータ資源上で平文の形態で知られることを防ぐ
    ことを特徴とする請求項6記載の装置。
  9. 前記保護モジュールは、
    前記暗号化の前又は前記脱暗号化の後に、
    (c)前記秘密アイテムを認証された要求者と交換し、
    前記秘密アイテムは前記コンピュータ環境にとっては不知であり、これにより仮想化されたキー管理システムを提供する
    ことを特徴とする請求項6記載の装置。
  10. 前記暗号化と少なくとも1個の前記固有キーを秘匿状態にすることは、前記コンピュータ環境に接続されたコンピュータ資源の集合体の内のいずれかの要素で実行され、前記固有キーを予め秘匿状態にすることは、前記要素毎に別々に実行され、秘匿状態にあるキー漏洩が前記他の要素を危険に晒さない
    ことを特徴とする請求項6記載の装置。
  11. コンピュータで読み取り可能なコードを記憶する非揮発性の記憶媒体において、
    前記コードは、
    (a)クライアントのコンピュータ装置から、秘密アイテムの保護を要求する暗号化要求を受領すると、前記秘密アイテムを、複数個の固有キーを含む組の各固有キーで暗号化し、暗号化済みアイテムを生成するプログラム・コードを含み、
    前記少なくとも1個の固有キーは予めの初期秘匿処理がなされており、
    (i)これにより、前記暗号化中に前記少なくとも1個の固有キーが、前記コンピュータ環境のコンピュータ資源上で平文の形態で知られることを防ぎ、
    前記複数個の固有キーを含む組の各固有キーは、それぞれの暗号化ロケ−ションにとって唯一無二のものであり、前記暗号化ロケ−ションは、前記コンピュータ環境に動作可能に接続され物理的に個別のコンピュータ資源内に配置されたメモリの領域であり、
    前記少なくとも1個の固有キーは、前記予めの初期秘匿処理の間に、所定のグループから選択された少なくとも1個のエンティティから、秘匿された形態で最初に送信され、
    前記所定のグループは、初期化段階の間前記少なくとも1個の固有キーの平文を最初に暗号化するユーザ装置と、信頼のおけるコンピュータ資源を含む
    ことを特徴とするコンピュータで読み取り可能なコードを記憶する非揮発性の記憶媒体。
  12. 前記少なくとも1つの固有キーを秘匿状態におくことは、ブラインド化暗号化技術と準同型暗号化技術を含むグループから選択された少なくとも一つの暗号技術で行われる
    ことを特徴とする請求項11記載の記憶媒体。
  13. (b)クライアントのコンピュータ装置から、前記暗号化済みアイテムの脱暗号化を要求する脱暗号化要求を受領すると、前記暗号化済みアイテムを、複数個の固有キーを含む組の各固有キーで脱暗号化するプログラム・コードを更に含み、
    前記少なくとも1個の固有キーは予めの初期秘匿処理がなされており、
    (i)これにより、前記脱暗号化中に前記少なくとも1個の固有キーが前記コンピュータ環境のコンピュータ資源上で平文の形態で知られることを防ぐ
    ことを特徴とする請求項11記載の記憶媒体。
  14. 前記暗号化のプログラム・コードの前又は前記脱暗号化のプログラム・コードの後に、
    (c)前記秘密アイテムを、認証された要求者と交換するプログラム・コードを更に含み、
    前記秘密アイテムは前記コンピュータ環境にとっては不知であり、これにより仮想化されたキー管理システムを提供する
    ことを特徴とする請求項13記載の記憶媒体。
  15. 前記暗号化と前記少なくとも1つの固有キーを予め秘匿状態にすることは、前記コンピュータ環境に接続されたコンピュータ資源の集合体の内のいずれかの要素で実行され、
    前記固有キーを予め秘匿状態にすることは、前記要素毎に別々に実行され、秘匿状態にあるキー漏洩が前記他の要素を危険に晒さない
    ことを特徴とする請求項11記載の記憶媒体。
  16. 前記少なくとも1個の固有キーを予めの初期秘匿処理にすることは、数学的操作を
    (A)前記秘密アイテムの未暗号化値に対し実行し、その間前記秘密アイテムは暗号化されたままの状態であり、未暗号化の形態で前記コンピュータ環境にとっては不知であり、
    (B)前記固有キーの秘匿状態にない値に対し実行し、前記少なくとも1つの固有キーは、秘匿状態にあり、前記コンピュータ環境のコンピュータ資源上では秘匿状態にない形態では知られておらず、
    前記数学的操作は、XOR論理、加算、減算、乗算、割り算、モデュロ加算、モデュロ減算、モデュロ乗算、モデュロ割り算とそれらの組み合わせを含むグループから選択される
    ことを特徴とする請求項1記載の方法。
  17. 前記少なくとも1個の固有キーを予めの初期秘匿処理にすることは、数学的操作を
    (A)前記秘密アイテムの未暗号化値に対し実行し、その間前記秘密アイテムは暗号化されたままの状態であり、未暗号化の形態では前記コンピュータ環境にとっては不知であり、
    (B)前記固有キーの秘匿状態にない値に対し実行し、前記少なくとも1つの固有キーは、秘匿状態にあり、前記コンピュータ環境のコンピュータ資源上では秘匿状態にない形態では知られておらず、
    前記数学的操作は、XOR論理、加算、減算、乗算、割り算、モデュロ加算、モデュロ減算、モデュロ乗算、モデュロ割り算とそれらの組み合わせを含むグループから選択される
    ことを特徴とする請求項6記載の装置。
  18. 前記少なくとも1個の固有キーを予めの初期秘匿処理にすることは、数学的操作を
    (A)前記秘密アイテムの未暗号化値に対し実行し、その間前記秘密アイテムは暗号化されたままの状態であり、未暗号化の形態で前記コンピュータ環境にとっては不知であり、
    (B)前記固有キーの秘匿状態にない値に対し実行し、前記少なくとも1つの局部安全確保キーは、秘匿状態にあり、前記コンピュータ環境のコンピュータ資源上では秘匿状態にない形態では知られておらず、
    前記数学的操作は、XOR論理、加算、減算、乗算、割り算、モデュロ加算、モデュロ減算、モデュロ乗算、モデュロ割り算とそれらの組み合わせを含むグループから選択される
    ことを特徴とする請求項11記載の記憶媒体。
JP2015215323A 2011-11-28 2015-10-31 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、安全未確保のコンピュータ環境でキーの安全を確保する方法と装置。 Expired - Fee Related JP6456805B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161563893P 2011-11-28 2011-11-28
US61/563,893 2011-11-28
US201261603383P 2012-02-27 2012-02-27
US61/603,383 2012-02-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014542996A Division JP2015503280A (ja) 2011-11-28 2012-11-28 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、安全未確保のコンピュータ環境で暗号化キーを確保する方法と装置。

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017092060A Division JP6525478B2 (ja) 2011-11-28 2017-05-05 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、 安全未確保のコンピュータ環境で暗号化キーを確保する方法と装置。

Publications (3)

Publication Number Publication Date
JP2016054501A true JP2016054501A (ja) 2016-04-14
JP2016054501A5 JP2016054501A5 (ja) 2016-06-02
JP6456805B2 JP6456805B2 (ja) 2019-01-23

Family

ID=48534763

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2014542996A Pending JP2015503280A (ja) 2011-11-28 2012-11-28 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、安全未確保のコンピュータ環境で暗号化キーを確保する方法と装置。
JP2015215323A Expired - Fee Related JP6456805B2 (ja) 2011-11-28 2015-10-31 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、安全未確保のコンピュータ環境でキーの安全を確保する方法と装置。
JP2017092060A Active JP6525478B2 (ja) 2011-11-28 2017-05-05 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、 安全未確保のコンピュータ環境で暗号化キーを確保する方法と装置。

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014542996A Pending JP2015503280A (ja) 2011-11-28 2012-11-28 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、安全未確保のコンピュータ環境で暗号化キーを確保する方法と装置。

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017092060A Active JP6525478B2 (ja) 2011-11-28 2017-05-05 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、 安全未確保のコンピュータ環境で暗号化キーを確保する方法と装置。

Country Status (4)

Country Link
US (2) US9380036B2 (ja)
EP (2) EP2786292B1 (ja)
JP (3) JP2015503280A (ja)
WO (1) WO2013080204A1 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9203847B2 (en) * 2012-06-26 2015-12-01 At&T Intellectual Property I, L.P. Detection and management of unauthorized use of cloud computing services
CN103347073B (zh) * 2013-07-02 2016-04-27 北京大学 一种云管理行为安全控制方法和系统
US9298942B1 (en) * 2013-12-31 2016-03-29 Google Inc. Encrypted augmentation storage
JP6287282B2 (ja) * 2014-02-04 2018-03-07 日本電気株式会社 情報処理装置及び情報処理方法、情報処理システム、並びにコンピュータ・プログラム
WO2015131394A1 (en) * 2014-03-07 2015-09-11 Nokia Technologies Oy Method and apparatus for verifying processed data
US9660805B2 (en) * 2014-05-14 2017-05-23 Porticor Ltd. Methods and devices for securing keys when key-management processes are subverted by an adversary
EP3158497B1 (en) * 2014-06-23 2020-02-26 Porticor Ltd. Methods and devices for key management in an as-a-service context
CN105337736B (zh) * 2014-06-30 2018-10-30 华为技术有限公司 全同态消息认证方法、装置及系统
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
WO2016182509A1 (en) * 2015-05-13 2016-11-17 Agency For Science, Technology And Research Network system, and methods of encrypting data, decrypting encrypted data in the same
US10110566B2 (en) 2015-07-21 2018-10-23 Baffle, Inc. Systems and processes for executing private programs on untrusted computers
ES2878574T3 (es) 2017-05-30 2021-11-19 Be Invest Int Sa Método general de protección de datos para almacenamiento y uso compartido de datos confidenciales multicéntricos
CN107257381B (zh) * 2017-07-03 2021-03-26 深圳大学 一种隐私保护空间众包的任务分配系统模型及实现方法
WO2019026372A1 (ja) * 2017-08-04 2019-02-07 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
CN107682379A (zh) * 2017-11-22 2018-02-09 南京汽车集团有限公司 基于同态加密的信息安全传输装置、传输方法及存储方法
US10841080B2 (en) 2018-03-20 2020-11-17 International Business Machines Corporation Oblivious pseudorandom function in a key management system
US10887293B2 (en) 2018-03-20 2021-01-05 International Business Machines Corporation Key identifiers in an obliviousness pseudorandom function (OPRF)-based key management service (KMS)
US10887088B2 (en) * 2018-03-20 2021-01-05 International Business Machines Corporation Virtualizing a key hierarchy using a partially-oblivious pseudorandom function (P-OPRF)
US10826694B2 (en) * 2018-04-23 2020-11-03 International Business Machines Corporation Method for leakage-resilient distributed function evaluation with CPU-enclaves
US10841081B2 (en) * 2018-05-15 2020-11-17 International Business Machines Corporation Threshold oblivious pseudorandom function in a key management system
US11115206B2 (en) 2018-08-23 2021-09-07 International Business Machines Corporation Assymetric structured key recovering using oblivious pseudorandom function
US10924267B2 (en) 2018-08-24 2021-02-16 International Business Machines Corporation Validating keys derived from an oblivious pseudorandom function
US10985912B2 (en) 2018-10-05 2021-04-20 Intuit Inc. Homomorphic key derivation
US10970378B2 (en) * 2019-05-13 2021-04-06 Cyberark Software Ltd. Secure generation and verification of machine-readable visual codes
US11121882B2 (en) * 2019-07-25 2021-09-14 EMC IP Holding Company LLC Blinding techniques for protection of private keys in message signing based on elliptic curve cryptography
US11263310B2 (en) * 2019-11-26 2022-03-01 Red Hat, Inc. Using a trusted execution environment for a proof-of-work key wrapping scheme that verifies remote device capabilities
US11520878B2 (en) * 2019-11-26 2022-12-06 Red Hat, Inc. Using a trusted execution environment for a proof-of-work key wrapping scheme that restricts execution based on device capabilities
US11343069B2 (en) 2020-02-06 2022-05-24 Intuit Inc. Oracle-aided protocol for compact data storage for applications using computations over fully homomorphic encrypted data
US11251944B2 (en) 2020-02-21 2022-02-15 Nutanix, Inc. Secure storage and usage of cryptography keys
US11637817B2 (en) * 2020-03-12 2023-04-25 Springcoin, Inc. Method and apparatus for effecting a data-based activity
CN114338124B (zh) * 2021-12-23 2024-04-12 成都卫士通信息产业股份有限公司 云密码计算服务的管理方法、系统、电子设备及存储介质
US11818260B1 (en) * 2022-12-15 2023-11-14 Intuit Inc. Systems and methods for blocking decryption capabilities in symmetric key encryption

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6577734B1 (en) * 1995-10-31 2003-06-10 Lucent Technologies Inc. Data encryption key management system
US5991414A (en) * 1997-09-12 1999-11-23 International Business Machines Corporation Method and apparatus for the secure distributed storage and retrieval of information
US7079653B2 (en) * 1998-02-13 2006-07-18 Tecsec, Inc. Cryptographic key split binding process and apparatus
JP3820777B2 (ja) * 1998-11-12 2006-09-13 富士ゼロックス株式会社 秘密鍵寄託システムおよび方法
US6636968B1 (en) * 1999-03-25 2003-10-21 Koninklijke Philips Electronics N.V. Multi-node encryption and key delivery
CA2304433A1 (en) * 2000-04-05 2001-10-05 Cloakware Corporation General purpose access recovery scheme
US7266687B2 (en) * 2001-02-16 2007-09-04 Motorola, Inc. Method and apparatus for storing and distributing encryption keys
US20030174840A1 (en) * 2002-03-12 2003-09-18 Bogan William B. Encryption method for preventing unauthorized dissemination of protected data
JP4690007B2 (ja) * 2004-01-22 2011-06-01 Kddi株式会社 通信システムおよび通信端末
GB2415064B (en) * 2004-06-10 2008-01-09 Symbian Software Ltd Computing device with a process-based keystore and method for operating a computing device
CN1977513B (zh) * 2004-06-29 2010-09-01 皇家飞利浦电子股份有限公司 用于有效认证医疗无线自组网节点的系统和方法
US7472105B2 (en) * 2004-10-19 2008-12-30 Palo Alto Research Center Incorporated System and method for providing private inference control
US7801871B2 (en) * 2005-08-09 2010-09-21 Nexsan Technologies Canada Inc. Data archiving system
US8050410B2 (en) * 2006-12-08 2011-11-01 Uti Limited Partnership Distributed encryption methods and systems
EP2108145A4 (en) * 2007-01-26 2011-12-07 Safenet Inc PROTECTING CONFIDENTIAL INFORMATION IN AN INVALIDATE RECIPIENT
US20080219449A1 (en) * 2007-03-09 2008-09-11 Ball Matthew V Cryptographic key management for stored data
US8213620B1 (en) * 2008-11-17 2012-07-03 Netapp, Inc. Method for managing cryptographic information
US8505084B2 (en) * 2009-04-06 2013-08-06 Microsoft Corporation Data access programming model for occasionally connected applications
JP5757536B2 (ja) * 2009-05-19 2015-07-29 セキュリティー ファースト コープ. クラウド内にデータを確保するシステムおよび方法
EP2494763B1 (en) * 2009-10-29 2015-04-22 NEC Europe Ltd. Method for supporting a reputation mechanism in a network and network
US8468368B2 (en) * 2009-12-29 2013-06-18 Cleversafe, Inc. Data encryption parameter dispersal
US9922063B2 (en) * 2009-12-29 2018-03-20 International Business Machines Corporation Secure storage of secret data in a dispersed storage network
US8625802B2 (en) * 2010-06-16 2014-01-07 Porticor Ltd. Methods, devices, and media for secure key management in a non-secured, distributed, virtualized environment with applications to cloud-computing security and management
US8538029B2 (en) * 2011-03-24 2013-09-17 Hewlett-Packard Development Company, L.P. Encryption key fragment distribution

Also Published As

Publication number Publication date
US9380037B2 (en) 2016-06-28
WO2013080204A1 (en) 2013-06-06
EP2786292A4 (en) 2015-05-27
EP2786292B1 (en) 2016-06-08
US20150143111A1 (en) 2015-05-21
JP2015503280A (ja) 2015-01-29
US9380036B2 (en) 2016-06-28
JP6525478B2 (ja) 2019-06-05
US20130247230A1 (en) 2013-09-19
JP2017139811A (ja) 2017-08-10
EP2786292A1 (en) 2014-10-08
EP3089399A1 (en) 2016-11-02
EP3089399B1 (en) 2019-07-24
JP6456805B2 (ja) 2019-01-23

Similar Documents

Publication Publication Date Title
JP6525478B2 (ja) 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、 安全未確保のコンピュータ環境で暗号化キーを確保する方法と装置。
Ali et al. SeDaSC: secure data sharing in clouds
TWI701929B (zh) 密碼運算、創建工作密鑰的方法、密碼服務平台及設備
US8059818B2 (en) Accessing protected data on network storage from multiple devices
CN102271037B (zh) 基于在线密钥的密钥保护装置
US20060195689A1 (en) Authenticated and confidential communication between software components executing in un-trusted environments
US20050157880A1 (en) Computer system having an autonomous process for centralized cryptographic key administration
US20020071565A1 (en) Software process pre-authorization scheme for applications on a computer system
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
US20020071563A1 (en) Method and apparatus for cryptographic key rollover during operation
Junghanns et al. Engineering of secure multi-cloud storage
KR20100025624A (ko) 안전하지 않은 통신 채널에서 비인증서 공개키를 사용한 보안키 생성 방법
Priya et al. A survey: attribute based encryption for secure cloud
JP7385025B2 (ja) 暗号化コプロセッサにおけるエンティティ固有の暗号化コードの実行
US20240232441A1 (en) Executing entity-Specific Cryptographic Code in a Cryptographic
ALnwihel et al. A Novel Cloud Authentication Framework
Schiefer et al. Security in a distributed key management approach
Lin et al. A Certificate Management Mechanism Using Distributed Ledger
CA3231904A1 (en) System and method of creating symmetric keys using elliptic curve cryptography
WO2023218488A1 (en) Revocable personal linked data (r_pld): encryption protocol for shared consensus over attributes and keys in lattice-based encryption, supporting direct and indirect revocation and delegated roles
Shaik et al. Enhancing the security and data transmission time in vanet’s cloud
OGÎGAU-NEAMTIU Cryptographic Key Management in Cloud Computing
Kowalski CRYPTOBOX V2.
CN113315749A (zh) 用户数据上链、用户数据使用方法、匿名系统和存储介质
CN117375910A (zh) 一种基于不可信云fpga的可信通信方法及系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160411

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160418

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160530

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160728

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170509

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170809

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20171027

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180406

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20181016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181219

R150 Certificate of patent or registration of utility model

Ref document number: 6456805

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees