JP6731491B2 - データ転送方法、非一過性のコンピュータ読み取り可能な記憶媒体、暗号デバイス、およびデータ使用のコントロール方法 - Google Patents

データ転送方法、非一過性のコンピュータ読み取り可能な記憶媒体、暗号デバイス、およびデータ使用のコントロール方法 Download PDF

Info

Publication number
JP6731491B2
JP6731491B2 JP2018540867A JP2018540867A JP6731491B2 JP 6731491 B2 JP6731491 B2 JP 6731491B2 JP 2018540867 A JP2018540867 A JP 2018540867A JP 2018540867 A JP2018540867 A JP 2018540867A JP 6731491 B2 JP6731491 B2 JP 6731491B2
Authority
JP
Japan
Prior art keywords
security context
key
tenant
cryptographic
certificate
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
JP2018540867A
Other languages
English (en)
Other versions
JP2019509667A (ja
Inventor
バイグレーブ,イアン
エジントン,アレック
ケトルウェル,リチャード
オドハーティ,デイビッド
スミス,ニコラス
ウォーカー,ニール
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.)
Thales UK Ltd
Original Assignee
nCipher Security 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 nCipher Security Ltd filed Critical nCipher Security Ltd
Publication of JP2019509667A publication Critical patent/JP2019509667A/ja
Application granted granted Critical
Publication of JP6731491B2 publication Critical patent/JP6731491B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic 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/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

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

Description

本願発明は、データ転送方法、データ使用のコントロール方法、および暗号デバイスに関する。
インターネットは、サービスプロバイダーによって提供されるコンピュータ実行サービスを使う多くの組織を生じさせた。それらは、以前はそれ自身をホストすることを要求されたものであった。サービスプロバイダーは、そのコンピュータ実行サービスを、多くの組織(テナント)に提供することができる。この一例は、サービスプロバイダーのCSPsであり、それは、サービス型ソフトウエア(SaaS)またはストレージオンデマンドのような製品を提供している。サービスプロバイダーが提供するコンピュータ実行サービスの使用により、テナントは、このようなサービス自身をホストする管理コストを削減することができる。
複数テナント型のコンピュータ実行サービスを提供するよう努力してきたサービスプロバイダーの領域は、暗号インフラストラクチャーセクター内にあり、特に、ハードウエアセキュリティモジュール、HSMs内にある。
サービスプロバイダーによりホストされた従来のHMSは、シングルテナンシーソリューションを使用する。すなわち、テナントに代わって、データの安全暗号化処理および暗号キーの保管が可能となる。サービスプロバイダーは、IPアドレスのような暗号アプライアンスの環境設定を管理し、一方、テナントは従来の方法で暗号インフラストラクチャーを遠隔的に管理する。したがって、サービスプロバイダーは、テナントごとにアプライアンスを提供しなければならず、テナントは以前と同様に暗号アプライアンスのメンテナンスおよび管理をしなければならない。このようなシステムは非効率的であり、暗号リソースの利用低下を招く。
また、このようなシステムは脆弱である。サービスプロバイダーは、王国への鍵(keysto the kingdom)すなわち、HSM内に格納された原料キーをエキスポートする能力をしばしば有する。サービスプロバイダーに与えられた許可は、ホストされたテナントキーのセキュリティを弱くする。これは、テナント、サービスプロバイダーの両方に対して、多くの問題を生じさせる。例えば、サービスプロバイダーによるテナントの暗号キーの可能な悪用、テナントではなくサービスプロバイダーに対する裁判管轄を有するセキュリティエージェンシーに対するテナントキーの露出、他のテナントによるテナントキーの使用などである。
本願発明の第1の態様において、テナントシステムの第1のセキュリティコンテキストと、サービスプロバイダーシステムの第2のセキュリティコンテキストとの間でのデータ転送の方法が与えられる。当該方法は、
第1のセキュリティコンテキスト内のデータに対応するアクセスコントロールリストを生成する工程であって、当該アクセルコントロールリストは、有効な使用クレデンシャルは、第1のタイプのデータの使用を許可するために与えられなければならないところの工程と、
第2のセキュリティコンテキスト内に、第1の暗号キーペアおよび第1暗号サーティフィケートを生成する工程であって、第1暗号キーペアは、第1パブリックキーKBLOB pubおよび第1プライベートキーKBLOB privを有し、第1暗号サーティフィケートは、第1パブリックキーKBLOB pubの起源を認証可能な情報を有する、ところの工程と、
第1パブリックキーKBLOB pubおよび第1の暗号サーティフィケートを第1セキュリティコンテキストに送信する工程と、
第1セキュリティコンテキスト内の第1暗号サーティフィケートを認証する工程と、
第1暗号サーティフィケートが有効であれば、第1セキュリティコンテキスト内の第1パブリックキーKBLOB pubにより、データおよび対応するアクセスコントロールリストを暗号化する工程と、
暗号化されたデータおよび対応するアクセスコントロールリスト、および、データの起源を認証する情報を、第2セキュリティコンテキストへ送信する工程と
を有する。
実施形態において、使用クレデンシャルは、使用サーティフィケートである。
実施形態において、データは、暗号キーKtenantを有する。方法はさらに、第1のセキュリティコンテキスト内で暗号キーKtenantを生成する工程を有する。使用の第1のタイプは、ひとつ以上の暗号オペレーションであってよい。
実施形態において、方法は、さらに、暗号データを送る前に第2セキュリティコンテキストが信用されることを、テナントシステムにおいて確立する工程を有する。
信用の確立は、第2のセキュリティコンテキストが信用された製造業者により製造されたこと、第2のセキュリティコンテキストのコンフィギュレーションがテナントのセキュリティ要求に一致すること、および、第2のセキュリティコンテキストがACL内に含まれるポリシーを行使するように構成されていることを第1セキュリティコンテキストにおいて認証することを含む。
実施形態において、暗号化データを第2のセキュリティコンテキストに送る直前に、第2のセキュリティコンテキストのコンフィギュレーションが第2セキュリティ要求に一致していることが認証される。
信用を確立する工程は、第2のセキュリティコンテキストの状態が製造業のセキュリティ要求に一致していることを認証する工程、例えば、サービスプロバイダーによる攻撃に対してソフトウエアおよびハードウエアが鈍感であることを認証する工程を有する。
製造業者プライベートキーは、第2セキュリティコンテキストが信用された製造業者によって製造されたことを認証するのに使用され、かつ、第2セキュリティコンテキストの第2識別パブリックキーを認証するのに使用される。
実施形態において、第2セキュリティコンテキストは、第2識別プライベートキーK2ID privを格納する。当該方法はさらに、第2セキュリティ識別パブリックキーK2ID pubおよび第2識別サーティフィケートを第2セキュリティコンテキストから第1セキュリティコンテキストへ送る工程であって、第2識別パブリックキーK2ID pubおよび第2識別プライベートキーK2ID privが暗号キーペアであり、第2識別サーティフィケートは、K2ID pubを同定する情報を有し、製造業者プライベートキーKman privによって暗号化サインされている。
実施形態において、第2識別サーティフィケートは、第2セキュリティコンテキストの状態を認証可能な情報をさらに有する。
実施形態において、当該方法はさらに、基準時間ソースが信用されることをテナントシステムにおいて確立する工程を有する。実施形態において、当該方法はさらに、基準時間が信用されることをサービスプロバイダーシステムにおいて確立する工程を有する。基準時間が使用されることを確立する工程は、基準時間が信用された製造業者によって製造されたものであること、および、基準時間ソースのコンフィギュレーションがセキュリティ要求に一致することを認証する工程を含む。
実施形態において、当該方法はさらに、
第2セキュリティコンテキストのカレントのコンフィギュレーションに関連する情報を生成する工程と、
第2識別プライベートキーK2ID privにより情報を暗号化サインする工程と、
サイン済みの情報を、第2セキュリティコンテキストから第1セキュリティコンテキストへ送信する工程とを有する。
実施形態において、第1暗号サーティフィケートは、第2セキュリティコンテキストのカレントの構成に関連する情報を有し、第2識別プライベートキーK2ID privによってサインされる。
実施形態において、当該方法はさらに
第2暗号キーペアおよび第2暗号サーティフィケートを第1セキュリティコンテキスト内で生成する工程であって、第2暗号キーペアは、第2パブリックキーKtenant−signpub、第2プライベートキーKtenant−signpivを有し、第2暗号サーティフィケートは第2パブリックキーKtenant−signpubの起源を認証可能な情報を有するところの工程と、
第2パブリックキーKtenant−signpubおよび第2暗号サーティフィケートを第2セキュリティコンテキストへ送信する工程とを有する。
実施形態において、第1セキュリティコンテキストは、第1識別プライベートキーK1ID privを格納し、当該方法はさらに、第1識別パブリックキーK1ID pubおよび第1識別サーティフィケートを第1セキュリティコンテキストから第2セキュリティコンテキストに送信する工程であって、第1識別パブリックキーK1ID pubおよび第1識別プライベートキーK1ID privは暗号キーペアであり、第1識別サーティフィケートは、K1ID pubを識別する情報を有し、製造業者プライベートキーKman privによって暗号化サインされるところの工程とを有する。
実施形態において、第2暗号サーティフィケートは、第2パブリックキーKtenant−signpubの起源を識別可能な情報を有し、当該方法はさらに、
第1識別プライベートキーK1ID privにより第2暗号サーティフィケートを暗号化サインする工程と、
第2セキュリティコンテキストにおいて、第1識別パブリックキーK1ID pubを使って第2暗号サーティフィケートを認証する工程とを有する。
暗号キーKtenantの起源を認証可能な情報は、暗号化された暗号キーKtenantおよびKtenant−signpivによってサインされた対応するアクセスコントロールリストを有する。
暗号化された暗号キーKtenantおよび対応するアクセスコントロールリスト、および暗号キーKtenantの起源を認証可能な情報を第2セキュリティコンテキストに送信する工程は、
暗号化された暗号キーKtenantおよび対応するアクセスコントロールリストをKtenant−signpivによって暗号化サインする工程と、
暗号化された暗号キーKtenantおよび対応するアクセスコントロールリスト、暗号化された暗号キーKtenantのサインおよび対応するアクセスコントロールリストおよびKtenant−signpubのハッシュを第2セキュリティコンテキストに送信する工程とを有する。
実施形態において、第1暗号サーティフィケートは、KBLOB privが一時的なものであり、KBLOB privは第2セキュリティコンテキストを離れることができないことを認証する。実施形態において、第1暗号サーティフィケートは、非対称キーペアが第2セキュリティコンテキスト内で生成されたことを認証する。第1プライベートキーKBLOB privは、第2セキュリティコンテキスト内に格納される。
実施形態において、第1パブリックキーKBLOB pubの起源を認証可能な情報は、第1パブリックキーKBLOB pubのサインされたハッシュである。第1暗号サーティフィケートは、第1パブリックキーKBLOB pubのハッシュを油脂、第2セキュリティコンテキストの識別キーのプライベートハーフK2ID privによってサインされる。第1暗号サーティフィケートCBLOBを認証する工程は、第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubを使ってサインを認証する工程を有する。
実施形態において、第2セキュリティコンテキストは、残りのサービスプロバイダーシステムから安全である。
実施形態において、アクセスコントロール(ACL)リストは、使用クレデンシャルが、当該使用クレデンシャルの起源を認証可能な情報を有しなければならないことを特定する。アクセスコントロールリストは、暗号キーKtenentの使用の第1のタイプを許可するべく、使用クレデンシャルが第2プライベートキーKtenant−signprivによってサインされなければならない使用サーティフィケートであることを特定する。
ACLは、使用サーティフィケートが、使用クレデンシャルの満期を決定可能な情報を有しなければならないこと、および、認証されるために満了前であることを特定する。
ACLは、テナント暗号キーKtenantがサードパーティーによる改ざんに対抗できる不揮発性メモリ内にのみ格納されることを特定する。
実施形態において、ACLは、テナント暗号キーKtenantが第2セキュリティコンテキスト内部にのみ格納されることを特定する。代替的実施形態において、ACLはテナント暗号キーKtenantが、第2セキュリティコンテキストから離れることができないキーによって格納用に暗号化される状態でのみ格納されることの制限を含む。
実施形態において、当該方法はさらに、
第2セキュリティコンテキストにおいて、暗号キーKtenantの期限を認証する工程と、
暗号化された暗号キーKtenantおよび対応するアクセスコントロールリストを、第1プライベートキーKBLOB privによって第2セキュリティコンテキストにおいて解読する工程とを有する。
実施形態において、当該方法はさらに、
第2セキュリティコンテキストにおいて、他の暗号キーにより、暗号キーKtenantを再暗号化する工程であって、他の暗号キーは、第2セキュリティコンテキストを離れることができないところの工程と、
再暗号化された暗号キーKtenant、対応するアクセスコントロールリストおよび、暗号キーKtenantの期限を認証可能な情報を格納する工程とを有する。
本願発明の他の態様において、上記したいずれかの方法をコンピュータに実行させることが可能なように構成されたコンピュータ読み取り可能コードを有するキャリア媒体が与えられる。
本願発明の他の態様において、データの使用をコントロールする方法が与えられ、当該データは、サービスプロバイダーシステム内の信用されたセキュリティコンテキストにアクセス可能であるが、残りのサービスプロバイダーからは安全である方法で、サービスプロバイダーシステム内に格納されており、データの使用の第1のタイプを許可するために、有効な使用クレデンシャルが与えられなければならないことを特定するアクセスコントロールリストがデータとともに格納されており、当該方法は、
第1セキュリティコンテキスト内で使用クレデンシャルを生成する工程であって、使用クレデンシャルは、
使用クレデンシャルに対応するデータが識別可能である情報と、
使用クレデンシャルの満期を決定可能である情報と
を有し、
使用クレデンシャルおよび当該使用クレデンシャルの起源が認証可能な情報を発行する工程と、
アクセスコントロールリストに関して使用クレデンシャルを認証し、かつ、当該使用クレデンシャルが第2セキュリティコンテキストにおいて満了しなかったことを認証する工程と、
使用クレデンシャルが有効でありかつ満了前である条件のもとで、第2のセキュリティコンテキスト内で、データの使用の第1のタイプを許可する工程と
を有する。
実施形態において、使用クレデンシャルは、使用サーティフィケートである。
実施形態において、データは、暗号キーKtenantを有する。使用の第1のタイプは、ひとつ以上の暗号オペレーションである。
実施形態において、使用クレデンシャルの満期を決定可能な情報は
満了時間、および
基準時間ソースを同定する情報を有する。
実施形態において、当該方法はさらに、基準時間ソースが信用されたことをテナントシステムにおいて確立する工程を有する。実施形態において、当該方法はさらに、サービスプロバイダーシステムにおいて、基準時間ソースが信用されたことを確立する工程を有する。基準時間ソースが信用されたことを確立する工程は、基準時間ソースが信用された製造業者によって製造されたこと、および、基準時間ソースの状態およびコンフィギュレーションがセキュリティ要求に一致することを認証する工程を有する。
実施形態において、当該方法はさらに、第1セキュリティコンテキストへ、識別暗号キーペアの起源を認証する情報とともに時間ソースの識別暗号キーのパブリックハーフを与える工程を有する。
実施形態において、当該方法はさらに、第2セキュリティコンテキストへ、識別暗号キーペアの起源を認証する情報とともに、時間ソースの識別暗号キーペアのパブリックハーフを与える工程を有する。
実施形態において、第1セキュリティコンテキスト内で使用クレデンシャルを生成する工程は、
基準時間ソースを選択する工程と、
基準時間ソースからカレントのタイムスタンプを要求する工程と、
タイムスタンプに基づいて、満了時間を計算する工程とを有する。
実施形態において、当該方法は、
カレントのタイムスタンプを有するメッセージを、メッセージの起源を認証可能な情報とともにソースからテナントシステムへ送信する工程と、
メッセージの起源を認証する工程とを有する。
メッセージはさらに、基準時間ソースのカレント構成に関連する情報を有する。
メッセージの起源を認証する情報は、時間ソースの識別暗号キーペアのプライベートハーフによってサインされた、サイン済みメッセージであってよい。
実施形態において、スタート時間に関連する情報は、使用クレデンシャル内に含まれる。
使用クレデンシャルに対応するデータを同定可能な情報は、Ktenantのハッシュであってよい。
実施形態において、使用クレデンシャルは、使用サーティフィケートであり、当該方法はさらに、
第1セキュリティコンテキスト内で、使用サーティフィケートをプライベートキーKtenant−signprivによって暗号化サインする工程であって、使用サーティフィケートの起源を認証可能な情報はサインであり、対応するパブリックキーKtenant−signpubは、インテグリティプロテクトであり、第2セキュリティコンテキストにアクセス可能である、ところの工程と、
第2セキュリティコンテキストにおいてパブリックキーKtenant−signpubを使って使用サーティフィケートを認証する工程とを有する。
実施形態において、当該方法はさらに、
使用クレデンシャル、該使用クレデンシャルの起源を認証可能である情報、および、使用の第1のタイプであるオペレーションをキーKtenantによって実行するためのリクエストを第2セキュリティコンテキストに与える工程と、
使用クレデンシャルが有効でありかつ満了前である条件の下で、第2セキュリティコンテキストにおいてオペレーションを実行する工程とを有する。
実施形態において、使用クレデンシャルが第2セキュリティコンテキストにおいて満了前であることを認証する工程は、
基準時間ソースからカレントのタイムスタンプをリクエストする工程と、
基準時間ソースから第2セキュリティコンテキストへ、カレントのタイムスタンプを有するメッセージを、メッセージの起源を認証可能な情報とともに送信する工程と、
メッセージの起源を認証する工程とを有する。
メッセージの起源を認証する情報は、時間ソースの識別暗号キーペアのプライベートハーフによってサインされた、サイン済みメッセージであってよい。
使用クレデンシャルが第2セキュリティコンテキストにおいて満了前であることを認証する工程はさらに、
満了時間とタイムスタンプとを比較する工程を有する。
本願発明の他の態様において、上記したいずれかの方法をコンピュータに実行させるように構成されたコンピュータ読み取り可能なコードを有するキャリア媒体が与えられる。
本願発明の他の態様において、第1セキュリティコンテキストを有する暗号デバイスが与えられ、第1セキュリティコンテキストは、
第1パブリックキーKBLOB pub、および第1パブリックキーKBLOB pubの起源を認証可能な情報を有する暗号サーティフィケートを、第2セキュリティコンテキストから受信するように構成された第1トランシーバと、
暗号オペレーションを実行するように構成された第1プロセッサであって、該第1プロセッサであって、
転送されるべきデータに対応するアクセスコントロールリストを生成し、ここで、アクセスコントロールリストは、有効使用クレデンシャルがデータの使用の第1のタイプを許可するために与えられなければならないことを特定し、
第2セキュリティコンテキストから生成された第1暗号キーペアを認証し、
第1パブリックキーKBLOB pubによって、データおよび対応するアクセスコントロールリストを暗号化するように構成されたプロセッサと
を有し、
第1トランシーバは、暗号化されたデータおよび対応するアクセスコントロールリスト、および、データの起源を認証可能な情報を第2セキュリティコンテキストに送信するように構成されている。
実施形態において、使用クレデンシャルは、使用サーティフィケートである。
実施形態において、データは、暗号キーKtenantを有する。
実施形態において、デバイスはさらに、
第1識別プライベートキーK1ID privを格納する第1デバイスメモリを有し、
第1トランシーバはさらに、
第1識別パブリックキーK1ID pubおよび第1識別サーティフィケートを第2セキュリティコンテキストに送信するように構成され、ここで、第1識別パブリックキーK1ID pubおよび第1識別プライベートキーK1ID privは暗号キーペアであり、第1識別サーティフィケートはK1ID pubを同定する情報を有し、製造業者プライベートキーKman privによって暗号化サインされ、かつ、
第2識別パブリックキーK2ID pub、および第2識別サーティフィケートを第2セキュリティコンテキストから受信するように構成され、第2識別サーティフィケートは、K2ID pubを同定する情報を有し、製造業者プライベートキーKman privによって暗号化サインされており、
第1プロセッサはさらに、製造業者パブリックキーKman pubを使って第2識別サーティフィケートを認証するように構成されている。
実施形態において、第1トランシーバはさらに、
第2セキュリティコンテキストのカレントのコンフィギュレーションに関する情報を受信するように構成され、ここで、情報は第2識別プライベートキーK2ID privによって暗号化サインされ、第2識別パブリックキーK2ID pubおよび第2識別プライベートキーは、暗号キーペアであり、第1プロセッサはさらに、
第2識別パブリックキーK2ID pubを使ってサインを検証し、
第2セキュリティコンテキストのコンフィギュレーションがテナントのセキュリティ要求に一致すること、および、第2セキュリティコンテキストがACL内に含まれるポリシーを行使するように構成されていることを認証するように構成されている。
実施形態において、第1プロセッサはさらに、
第2暗号キーペアおよび第2暗号サーティフィケートを第1セキュリティコンテキスト内に生成するように構成され、第2暗号キーペアは第2パブリックキーKtenant−signpub、第2プライベートキーKtenant−signprivを有し、第2暗号サーティフィケートは、第2パブリックキーKtenant−signpubの起源を同定可能な情報を有し、かつ、
第1識別プライベートキーK1ID privによって、第2暗号サーティフィケートを暗号化サインするように構成され、
第1トランシーバはさらに、第2パブリックキーKtenant−signpubおよびサイン済み第2暗号サーティフィケートを第2セキュリティコンテキストへ送信するように構成されている。
本願発明の他の態様において、第1セキュリティコンテキストを有する暗号デバイスが提供され、当該デバイスは、
使用クレデンシャルを生成するように構成された第1プロセッサであって、当該使用クレデンシャルは、使用クレデンシャルに対応するデータを同定可能な情報と、
使用クレデンシャルの満期を決定可能な情報を有する、ところの第1プロセッサと、
使用クレデンシャル、および使用クレデンシャルの起源を認証可能な情報を第2セキュリティコンテキストに送信するように構成された第1トランシーバとを有する。
実施形態において、使用クレデンシャルは使用クレデンシャルである。
実施形態において、データは暗号キーKtenantを有する。
実施形態において、第1セキュリティコンテキストはさらに、
プライベートキーKtenant−signprivを格納する第1デバイスメモリを有し、第1プロセッサは、使用クレデンシャルをプライベートキーKtenant−signprivによって暗号化サインするように構成されている。
実施形態において、使用クレデンシャルは、使用サーティフィケートである。
実施形態において、使用クレデンシャルの満期を決定可能な情報は、
満了時間と、
基準時間ソースを識別する情報とを有する。
実施形態において、使用クレデンシャルに対応する暗号キーKtenantが同定可能な情報は、Ktenantのハッシュである。
本願発明の他の態様において、第1セキュリティコンテキストを有するデバイスと協働する、第2セキュリティコンテキストを有する暗号デバイスが提供され、当該暗号デバイスは、
暗号オペレーションを実行するように構成されたプロセッサであって、当該プロセッサは、
第1暗号キーペアおよび第1暗号サーティフィケートを生成するように構成され、第1暗号キーペアは、第1パブリックキーKBLOB pubおよび第1プライベートキーKBLOB privを有し、第1暗号サーティフィケートは第1パブリックキーKBLOB pubの起源を認証可能な情報を有し、
第1パブリックキーKBLOB pubおよび第1暗号サーティフィケートを第1セキュリティコンテキストに送信し、
暗号化データおよび対応するアクセスコントロールリスト、および、データの起源を認証可能な情報を、第1セキュリティコンテキストから受信するように構成されたトランシーバと、
を有し、プロセッサはさらに
データの起源を認証し、
暗号化データおよび対応するアクセスコントロールリストを、第1プライベートキーKBLOB privを使って解読するように構成される。
実施形態において、使用クレデンシャルは使用サーティフィケートである。
実施形態において、データは、暗号キーKtenantである。
実施形態において、プロセッサはさらに、
他の暗号キーによって暗号キーKtenantを再暗号化するように構成され、当該他の暗号キーは、第2セキュリティコンテキストを離れることができない。
実施形態において、当該デバイスはさらに、第2識別プライベートキーK2ID privを格納するデバイスメモリを有し、トランシーバはさらに、
第2識別パブリックキーK2ID pubおよび第2識別サーティフィケートを第1セキュリティコンテキストに送信するように構成され、第2識別パブリックキーK2ID pubおよび第2識別プライベートキーK2ID privは暗号キーペアであり、第2識別サーティフィケートはK2ID pubを同定するための情報を有し、製造業者プライベートキーKman privによって暗号化サインされており、
第1識別プライベートキーK1ID pubおよび第1識別サーティフィケートを第1セキュリティコンテキストから受信するよう構成され、第1識別サーティフィケートはK1ID pubを同定する情報を有し、製造業者プライベートキーKman privによって暗号化サインされ、
プロセッサはさらに、
製造業者パブリックキーKman pubを使って第1識別サーティフィケートを検証する。
実施形態において、プロセッサはさらに、
第2セキュリティコンテキストのカレント構成に関連する情報を生成し、
第2識別プライベートキーK2ID privによって情報を暗号化サインするように構成され、
トランシーバはさらに、
情報およびサインを第1セキュリティコンテキストに送信するように構成されている。
実施形態において、プロセッサは、
第2セキュリティコンテキストのカレント構成に関連する情報を有する第1暗号サーティフィケートを生成し、第2識別プライベートキーK2ID privによって第1暗号サーティフィケートをサインするように構成される。
実施形態において、トランシーバはさらに
第2パブリックキーKtenant−signpubおよびサイン済み第2暗号サーティフィケートを第1セキュリティコンテキストから受信するように構成され、第2暗号サーティフィケートは第2パブリックキーKtenant−signpubの起源を認証可能な情報を有し、
プロセッサはさらに、
第2パブリックキーKtenant−signpubの起源を認証するように構成されている。
本願発明の他の態様において、デバイスが与えられ、当該デバイスは、メモリを有し、当該メモリは、
暗号データ、および
データに対応するアクセスコントロールリストであって、アクセスコントロールリストは、データの使用の第1のタイプを許可するために有効使用クレデンシャルが与えられなければならないことを特定し、かつ、使用クレデンシャルが、使用クレデンシャルの満期が決定可能な情報を有しなければならず、かつ、データの使用の第1の第プライベートキーを許可するために満了前であることを特定する、アクセスコントロールリストと、
データの起源が同定可能である情報を格納する。
実施形態において、使用クレデンシャルは、使用サーティフィケートである。
実施形態において、デバイスは、第1セキュリティコンテキストを有するデバイスと協働する、第2セキュリティコンテキストを有する暗号デバイスである。
実施形態において、データは、暗号キーKtenantを有する。
アクセスコントロールリストは、使用クレデンシャルが、暗号キーKtenantの使用を許可するために、プライベートキーKtenant−signprivによってサインされるべき使用サーティフィケートであることを特定する。
アクセスコントロールリストは、使用クレデンシャルが、使用クレデンシャルに対応する暗号キーKtenantが同定可能な情報を有しなければならないことを特定する。
実施形態において、暗号化された暗号キーKtenantは、第2セキュリティコンテキストを離れることができないキーによって暗号化される。
実施形態において、デバイスはさらに、
アクセスコントロールリストに関して受信した使用クレデンシャルを認証し、かつ、使用クレデンシャルが満了前であることを認証するように構成され、かつ
使用クレデンシャルが有効でありかつ満了前であるという条件のもとで、第2セキュリティコンテキスト内で暗号キーKtenantの使用の第1のタイプを許可するように構成されたプロセッサを有する。
実施形態において、テナントからサービスプロバイダーへデータを転送する方法が与えられ、当該方法は、サービスプロバイダーシステム内でセキュアデバイスにより生成されたキーペアのパブリックキーによってデータを暗号化する工程を有する。したがってデータは、転送中にサービスプロバイダーによってアクセス不能である。
対応するアクセスコントロールリストとともにデータが生成され、それは、一度格納されたデータの特定の使用を許可するために、認証サーティフィケートが与えられなければならないことを特定する。したがってテナントは、テナントシステムの外部にデータが転送されたとしても、データの使用のコントロールを維持することができる。
実施形態において、サービスプロバイダーシステム内に安全に格納されたデータの使用をコントロールする方法が与えられ、当該方法は、データの使用をリクエストするパーティーに対して満了時間を有する使用クレデンシャルを発行する工程を有する。使用クレデンシャルは、格納されたデータの使用が許可される前に、認証されなければならない。これにより、テナントは、制限時間の間に、格納されたデータの使用を許可することができる。
実施形態において、用語のセキュリティコンテキストは、ひとつ以上のセキュリティアプライアンス(例えば、HSMs)または、セキュリティアプライアンスのパーティションを指し、それは少なくともひとつのプライベートキーを共有し、暗号機能のセットを保護しかつ実行するように構成されている。
本明細書において、用語の暗号キーは、暗号オペレーションで使用するための暗号材料のブロックを指す。キーに対応するアクセスコントロールリストは、オペレーションを記述するパーミッションのセットに関連する情報を有し、キー材料は、例えば、暗号、解読、またはストレージのために使用され、かつ、パーミッションをイネーブルにするために与えられるべき任意のクレデンシャルである。またキーに関連するのは、キーのタイプを同定するデータを有するキータイプに関連する情報、例えば、256ビットの長さのキーを有するAdvanced Encryption Standard (AES)アルゴリズム、または、2048ビットの長さのキーを有するRSAアルゴリズムのような使用可能なアルゴリズムを同定する情報を含む。
本明細書において、用語の“検証”は、暗号サインのチェック方法を言及するのに使用される。用語の“認証”は、データが予想どおりであることをチェックする方法、または、サインが正しいことおよびデータが予想通りであることの両方をチェックする方法を言及するのに使用される。
本明細書において、用語のアクセスコントロールリストは、オブジェクトに添付されたひとつ以上のパーミションを指す。パーミションは、オブジェクトに対してどのオペレーションが許可されたか、および、許可されるべきオペレーションに要求される条件および/またはクレデンシャルを特定する。本明細書に記載された方法において、パブリックキーは第1セキュリティコンテキストまたは第2セキュリティコンテキスト内に格納されてよく、または、パブリックキーが、例えば第1セキュリティコンテキストまたは第2セキュリティコンテキストの識別キーによってサインされ、保護されたインテグリティであれば、第1のセキュリティコンテキストまたは第2のセキュリティコンテキストの外部の不信用媒体上に格納されてよい。これは、パブリックキーが改ざんされれば、それが検出されることを意味する。
本明細書に記載された方法において、第1セキュリティコンテキストおよび第2セキュリティコンテキストの間で送信される情報は、暗号サーティフィケートの使用によって認証されてよい。例えば、情報は、送り手に帰属するプライベートサインキー、および、レシーバへ情報と一緒に送られるサインによってサインされてよい。
本明細書に記載された方法は、コンピュータにより実行可能な方法であってよい。
実施形態に従ういくつかの方法は、ソフトウエアによって実行されるために、いくつかの実施形態は、任意の適当なキャリア媒体上で汎用コンピュータに与えられるコンピュータコードを包含する。キャリア媒体は、フロッピーディスク、CD−ROM、磁気デバイスまたはプログラム可能なメモリデバイスのような非一過性記憶媒体、または、電気的、光学的またはマイクロ波信号などの任意の信号のような一過性媒体を有する。
非限定的な実施形態に従うデバイスおよび方法は、添付する図面を参照して詳細に説明される。
図1Aは、本願発明の実施形態に従う暗号デバイスを有するテナントシステムと、本願発明の実施形態に従う暗号デバイスを有するサービスプロバイダーを備えるネットワークの略示図である。 図1Bは、本願発明の実施形態に従う第1セキュリティコンテキストおよび本願発明の実施形態に従う第2セキュリティコンテキストの略示図である。 図2Aは、本願発明の実施形態に従う暗号キー転送方法の一部である、第1セキュリティコンテキストと第2セキュリティコンテキストとの間に信用を確立する方法を示すフローチャートである。 図2Bは、本願発明の実施形態に従う暗号キー転送方法の一部である、第1セキュリティコンテキストにおいて第2セキュリティコンテキストのコンフィギュレーションを認証する方法を示すフローチャートである。 図3は、信用が確立された後で、各セキュリティコンテキスト内に関連するキーが生成された後の、本願発明の実施形態に従う第1セキュリティコンテキスト、および、本願発明の実施形態に従う第2セキュリティコンテキストの略示図である。 図4Aは、本願発明の実施形態に従う暗号キー転送方法の一部である、第1セキュリティコンテキストから第2セキュリティコンテキストへサインキーKtenant−signを転送する方法を示すフローチャートである。 図4Bは、本願発明の実施形態に従う暗号キー転送方法の一部である、テナント登録方法を示す図である。 図5は、第2パブリックキーKtenant−signpubがデータ転送処理中に交換された後の、本願発明の実施形態に従う、第1セキュリティコンテキストおよび本願発明の実施形態に従う第2セキュリティコンテキストの略示図である。 図6Aは、本願発明の実施形態に従う第1セキュリティコンテキストから第2セキュリティコンテキストへのデータ転送方法を示すフローチャートである。 図6Bは、本願発明の実施形態に従う、第1セキュリティコンテキストから第2セキュリティコンテキストへのデータ転送方法のさらなるステップを示すフローチャートである。 図7Aは、本願発明の実施形態に従う暗号キー転送方法の一部である、キー登録方法を示す図である。 図7Bは、本願発明の実施形態に従う暗号キー転送方法のフローチャートである。 図8Aは、転送キーKtenantが第2セキュリティコンテキストにインポートされた後の、本願発明の実施形態に従う第1セキュリティコンテキスト、および本願発明の実施形態に従う第2セキュリティコンテキストの略示図である。 図8Bは、サービスプロバイダー、テナントまたは別のサードパーティーによってホストされる時間ソースの略示図である。 図9は、第2セキュリティコンテキストを有する時間ソースを登録する方法を示すフローチャートである。 図10は、第1セキュリティコンテキストにより時間ソースを登録する方法を示すフローチャートである。 図11は、本願発明の実施形態に従うデータの使用をコントロールする方法を示すフローチャートである。 図12は、本願発明の実施形態に従う暗号キーKtenantの使用をコントロールする方法の一部である、第1セキュリティコンテキストにおいて、使用サーティフィケートを生成する方法を示すフローチャートである。 図13は、本願発明の実施形態に従う暗号キーKtenantの使用をコントロールする方法を示す図である。 図14は、本願発明の実施形態に従う暗号キーKtenantの使用をコントロールする方法のフローチャートである。
図1Aは、本願発明の実施形態に従う暗号デバイスを有するテナントシステム1、および本願発明の他の実施形態に従う暗号デバイスを有するサービスプロバイダーシステム3の略示図である。
サービスプロバイダーは、例えばクラウドサービスプロバイダーであってよい。サービスプロバイダーは、ひとつ以上のテナントに対して、暗号キーのようなデータのストレージおよびデータの安全な暗号処理を提供する。例えば、テナントは、支払い、セキュリティおよびレギュレーションなどのアプリケーションに対して、サービスプロバイダーシステム3の暗号インフラストラクチャーを使用する。サービスプロバイダーシステム3は、それらのひとつ以上のアプリケーションを実行するように構成されたサービスプロバイダーアプリケーションサーバーを有する。
これらのサービスを使用するために、テナントシステム1は、サービスプロバイダーシステム3に対して暗号キーKtenantを提供する。暗号キーKtenantはそれらのアプリケーションで使用するために、サービスプロバイダーシステム3において安全に格納される。
テナントシステム1は第1セキュリティコンテキスト5を有し、サービスプロバイダーシステム3は第2セキュリティコンテキスト7を有する。セキュリティコンテキストは、例えば、ハードウエアセキュリティモジュール、HSMなどの単一のセキュリティデバイスであってよい。代替的に、それは、2つ以上のセキュリティデバイス、またはセキュリティデバイスのパーティションであってもよい。ここで使用する用語のセキュリティコンテキストは、単一のセキュリティコンテキストを形成するデバイス、複数デバイス、またはデバイスのパーティションを指す。それは、少なくともひとつのプライベートキーを共有し、かつ、暗号機能のセットを保護しかつ実行するように構成されている。第1セキュリティコンテキスト5は、残りのテナントシステムから保護される。第2セキュリティコンテキスト7は残りのサービスプロバイダーシステムから保護される。
テナント暗号キーKtenantは、サービスプロバイダーシステム3において第2のセキュリティコンテキスト7に与えられる。テナント暗号キーKtenantはその後、第2セキュリティコンテキスト7内に格納されるか、または、サービスプロバイダーシステム3のどこか他の場所に格納される前に第2セキュリティコンテキストを離れることができないキーによって暗号化される。
暗号キーKtenantを第2セキュリティコンテキスト7に提供する前に、テナントは、第2セキュリティコンテキスト7によって与えられた生成サーティフィケートから第2セキュリティコンテキスト7を確認および認証する。生成サーティフィケートは、例えば第2セキュリティコンテキスト7の一部であるデバイスまたは複数デバイスの製造の時に生成されたものであってよい。テナントは製造業者を信用するがサーティフィケートを信用しない。生成サーティフィケートは、第2セキュリティコンテキスト7が信用された製造業者によって製造されたことを確認し、そうして信用される。また、第2セキュリティコンテキスト7のパラメータおよび状態は、例えば、生成サーティフィケート内、および、他のコンフィギュレーションサーティフィケート内に含まれる情報から認証される。
生成サーティフィケートは、アプライアンスの全寿命の間に有効である静的情報を有する。コンフィギュレーションサーティフィケートは、デバイスのカレントのコンフィギュレーションに関する情報を有する。コンフィギュレーション情報は、コンフィギュレーションサーティフィケートの生成の時間においてのみ有効であり、後の格納時において変化する。
したがって第1セキュリティコンテキスト5は、キー転送オペレーションが始まる前に、第2セキュリティコンテキストによって信用を確立する。
テナント暗号キーKtenantは、第2セキュリティコンテキスト7へ転送される前に、第2セキュリティコンテキスト7において生成された非対称キーペアのパブリックハーフによって暗号化される。第1暗号サーティフィケートは、第2セキュリティコンテキスト7において生成された非線形キーペアとともに発行される。実施形態において、第1セキュリティサーティフィケートは、非線形キーペアが第2セキュリティコンテキスト7内で生成されたこと、非線形キーペアのプライベートハーフが一時的なものであること、および、非線形キーペアのプライベートハーフが第2セキュリティコンテキスト7を離れることができないことを認証する。これにより、テナント暗号キーKtenantは、攻撃から保護され、サービスプロバイダー自身、すなわち、例えばアプリケーションサーバーのような第2セキュリティコンテキスト7の外部にある残りのサービスプロバイダーシステム3から保護されるような方法で、サービスプロバイダーシステム3に転送されることができる。
実施形態において、テナント暗号キーKtenantは、その後第2セキュリティコンテキスト7内に格納される。代替的に、テナント暗号キーKtenantは、例えばアプリケーションサーバー内のようなサービスプロバイダーシステムの他のどこかに格納され、第2セキュリティコンテキスト7を離れることができないキーによって暗号化される。
テナント暗号キーKtenantに対応するアクセスコントロールリスト(ACL)がまた、第1セキュリティコンテキスト5内でテナント暗号キーKtenantによって生成される。ACLはまた、テナント暗号キーKtenantとともに第2セキュリティコンテキスト7に転送される。ACLは、テナント暗号キーKtenantとともに格納される。第1セキュリティコンテキスト5は、第2セキュリティコンテキスト7により信用を確立し、それにより、第2セキュリティコンテキスト7がACL内に含まれるポリシーを行使することを知る。したがってACLにより、テナントは、キーが第2セキュリティコンテキスト7に一旦転送されたとしても、キーに対するコントロールを維持することができる。
実施形態において、ACLは、テナント暗号キーKtenantが第2セキュリティコンテキスト7内にのみ格納されることを特定する。代替的実施形態において、ACLは、第2セキュリティコンテキスト7を離れることができないキーによって格納のために暗号化される条件のもとでのみ、テナント暗号キーKtenantが格納されることの制限を含む。これは、テナント暗号キーKtenantがサードパーティーおよびサービスプロバイダーにアクセス不能であることを保証する。
ACLは、テナント暗号キーKtenantが、サードパーティーによる改ざんに対抗できる不揮発性メモリ内にのみ格納されることを特定する。
また、ACLは、認証が、例えば使用サーティフィケートのようなクレデンシャルを使用すること、および、テナント暗号キーKtenantの使用のひとつ以上のタイプを許可するために与えられなければならないことを特定する。例えば、ACLは、テナントキーKtenantを使ってある暗号オペレーションのパフォーマンスを許可するためにテナントによって所有される非対称キーのプライベートハーフによってサインされたサーティフィケートのプレゼンテーションを要求してよい。これは、テナントによって許可されなければ、キーを使ったオペレーションの特定のタイプが使用できないことを保証する。
テナント暗号キーKtenantはサービスプロバイダーシステム内に格納されるが、サービスプロバイダー、すなわち、第2セキュリティコンテキスト7の外部にある残りのサービスプロバイダーシステム3は、キーにアクセス不能であり、キーはテナントからの許可無しで使用不可能である。これにより、テナント暗号キーKtenantを悪意あるサービスプロバイダーから保護する。また、それは、サービスプロバイダーに対して裁判管轄を有するがテナントに対して有しないセキュリティエージェンシーからテナント暗号キーKtenantを保護する。
またそれにより、複数のテナントが、サービスプロバイダー内の同じ暗号インフラストラクチャーを使用することができる。複数のテナントは、各テナント暗号キーKtenantが他のテナントにアクセス不能なように、同じ暗号デバイス内にキーを格納することができ、対応するテナントからの許可無しで使用することができない。
アクセスコントロールリストは、使用クレデンシャルが、使用クレデンシャルの満期を決定可能な情報を有し、かつ、暗号キーKtenantの使用を許可するために満了前であることを特定する。したがってテナントは、使用クレデンシャル内でキーの満了時間を特定することができ、その後は他の許可が与えられるまでキーが使用されない。
満了時間は、第1セキュリティコンテキストおよび第2セキュリティコンテキスト7の両方によって信用される基準時間ソース2を参照して計算される。基準時間ソース2は、サービスプロバイダー、テナント、または、別のサードパーティーによりホストされてよい。図1Aは、基準時間ソース2がサードパーティーによりホストされるところの実施形態の略示図である。
上記説明は、テナント暗号キーの転送および格納に関連するものであるが、任意の形式のデータが同じ方法で転送および格納可能である。テナントからサービスプロバイダーへのデータ転送の方法は、サービスプロバイダーシステム内でセキュアデバイスによって生成されたパブリックキーのキーペアによってデータを暗号化する工程を有する。したがって、データは転送中にサービスプロバイダーによってアクセス不能である。データの信頼性およびインテグリティを保証するために、暗号データは、転送前に暗号化サインされる。
データは、対応するアクセスコントロールリストとともに生成され、それは、一度格納されたデータの特定の使用を許可するために有効なサーティフィケートが与えられなければならないことを特定する。したがってテナントは、テナントシステムの外部に転送されたとしてもデータの使用のコントロールを維持することができる。
サービスプロバイダーシステム内に安全に格納されたデータの使用をコントロールする方法は、データの使用をリクエストするパーティーに対して、満了時間を有する使用クレデンシャルを発行する工程を有する。使用クレデンシャルは、格納済みデータの使用が許可される前に認証されなければならない。これにより、テナントは、制限された時間間隔の間に格納されたデータの使用を許可することが可能となる。
図1Bは、本願発明の実施形態に従う第1セキュリティコンテキスト5および本願発明の他の実施形態に従う第2セキュリティコンテキスト7の略示図である。
第1セキュリティコンテキスト5は、例えば、ハードウエアセキュリティモジュール、HSMのような単一のセキュリティアプライアンスであってよい。代替的に、第1セキュリティコンテキスト5は、2つ以上のセキュリティアプライアンス、または、セキュリティアプライアンスのパーティションであってもよい。第1セキュリティコンテキスト5は例えば、低電力、低性能、低コストのHSMである。
第2セキュリティコンテキスト7は、例えば、ハードウエアセキュリティモジュールなどの単一のセキュリティアプライアンスであってよい。代替的に、第2セキュリティコンテキスト7は、2つ以上のセキュリティアプライアンス、または、セキュリティアプライアンスのパーティションであってよい。第2セキュリティコンテキスト7は、高性能HSMのクラスタを有してよい。
したがって第1セキュリティコンテキスト5および第2セキュリティコンテキスト7の各々は、ひとつ以上の改ざん対抗暗号アプライアンスまたは改ざん対抗暗号アプライアンスのパーティションであってよい。
第1セキュリティコンテキスト5は、第1デバイスメモリ9を有する。第1デバイスメモリ9は、キー、キーペアおよびサーティフィケートのような暗号情報を格納するように構成されている。第1デバイスメモリ9は、例えばフラッシュ、光学ディスクまたは磁気ハードドライブなどの任意の形式の不揮発性メモリデバイスを含む。第1セキュリティコンテキスト5はまた、揮発性メモリを有する。
第1デバイスメモリ9は、例えば、下層の物理的ハードウエアを破壊することなく除去不可能であり、それにより使用不能となるデバイス全体をカバーする薄膜などの物理的セキュリティを含むことにより、物理的に安全であり、かつ、サードパーティーによる改ざんに対抗することができる。
ユニークな非対称識別キーK1IDが、対応するサイン済みの生成サーティフィケート{C1IDKman privとともに、第1デバイスメモリ9内に格納される。生成サーティフィケートC1IDは、例えばキーのパブリックパラメータを記述し、生成サーティフィケートC1IDはキーのタイプおよびその長さに関連する情報を含む。生成サーティフィケートC1IDは、識別キーK1IDが第1セキュリティコンテキスト5内で生成されたことを証明する情報を有する。例えば、生成サーティフィケートC1IDは、K1IDのパブリックハーフのハッシュを有し、製造業者の非線形キーKman privのプライベートハーフによってサインされる。
生成サーティフィケートC1IDはまた、状態情報、例えば、デバイスのユニークな識別に関連する情報、製造業者を同定する情報、使用されるハードウエアバージョン、使用されるソフトウエアのタイプ、ユニットのシリアル番号、およびモデルのサポート特徴/機能を含んでよい。生成サーティフィケートC1IDは、第1セキュリティコンテキスト5および第2セキュリティコンテキスト7の両方によって信用される製造業者によりサインされる。生成サーティフィケートは、製造業者非対称キーKman privのプライベートハーフによって暗号化サインされる。製造業者は、第1セキュリティコンテキストを形成するセキュリティアプライアンス、および第2セキュリティコンテキストを形成するセキュリティアプライアンスを製造したサードパーティーであってもよい。信用された製造業者キーのパブリックハーフKman pubもまた第1デバイスメモリ9内に格納されるか、またはインテグリティ保護される方法で第1セキュリティコンテキスト5の外部に格納されてよい。
第2セキュリティコンテキスト7は、第2デバイスメモリ11を有する。第2デバイスメモリ11は、キー、キーペアおよびサーティフィケートのような暗号情報を格納するように構成されている。第2デバイスメモリ11は、フラッシュ、光学ディスクまたは磁気ハードドライブなどの任意の形式の不揮発性デバイスメモリを含む。第2セキュリティコンテキスト5はまた揮発性メモリを含む。
デバイスメモリは、例えば、下層の物理的ハードウエアを破壊することなく除去不可能であり、それにより使用不能となるデバイス全体をカバーする薄膜などの物理的セキュリティを含むことにより、物理的に安全であり、かつ、サードパーティーによる改ざんに対抗することができる。
ユニークな非対称識別キーK2IDは、対応するサイン済みの生成サーティフィケート{C2IDKman privとともに、第2デバイスメモリ内に格納される。K2IDは、データの起源および信頼性を証明するために使用されるサインキーである。生成サーティフィケートC2IDは、例えばキーのパブリックパラメータを記述し、生成サーティフィケートC2IDはキーのタイプおよび長さに関連する情報を含んでよい。生成サーティフィケートC2IDは、識別キーK2IDが第2セキュリティコンテキスト7内に生成されたことを証明する情報を有する。例えば、生成サーティフィケートC2IDはK2IDのパブリックハーフのハッシュを含み、製造業者非対称キーKman privのプライベートハーフによってサインされてよい。
生成サーティフィケートC2IDは、状態情報、例えば、デバイスのユニークな識別に関連する情報、製造業者を同定する情報、ハードウエアバージョン、使用されるソフトウエアのタイプ、ユニットのシリアル番号、および、モデルのサポート特徴/機能を有する。生成サーティフィケートC2IDは、信用された製造業者によってサインされる。生成サーティフィケート製造業者非対称キーのプライベートハーフKman privによって暗号化サインされる。信用された製造業者キーのパブリックハーフKman pubもまた第2デバイスメモリ11内に格納されるか、または、インテグリティ保護される方法で第2セキュリティコンテキスト7の外部に格納されてよい。
第1セキュリティコンテキスト5および第2セキュリティコンテキスト7の両方において、暗号キーは安全な、改ざん防止フォーマットで、デバイスメモリ内に格納される。
第1セキュリティコンテキスト5および第2セキュリティコンテキスト7は、暗号サーティフィケート、製造時に生成されるサイン済み生成サーティフィケート{C1IDKman privおよび{C2ID}Kman privを使って検証可能に同定される。したがって、各々は偽造不可能なことを意味する方法でそれらのアイデンティティを安全に格納することができる。第1セキュリティコンテキスト5および第2セキュリティコンテキスト7を識別することは、確認されるべき各セキュリティコンテキスト内のデバイスまたは複数のデバイスの起源を与える。各デバイスは、例えばその製造時に工場内で生成されたユニークな非対称識別キーKIDを含む。各コンポーネントはまたは、製造業者にのみ知られた非対称キーを使ってサインされたKID用のキー生成サーティフィケートを含む。製造業者キーのパブリックハーフは本物のアプライアンスであることを証明する信用のルートとして使用される。
また、第1セキュリティコンテキストおよび第2セキュリティコントラストのパラメータおよび状態は、生成サーティフィケート内に含まれる情報から、さらなるコンフィギュレーション、サーティフィケートの交換を通じて、拒否不能な方法で認証される。
実施形態において、第1セキュリティコンテキスト5および第2セキュリティコンテキスト7は、テナントおよびサービスプロバイダーによって設定されたデバイスのカレントのコンフィギュレーションに関する情報を含む、コンフィギュレーションサーティフィケートC1VおよびC2Vをそれぞれ生成するように構成される。コンフィギュレーション情報は、デバイスがテナントおよびサービスプロバイダーに分配されて構成される前に、製造時において生成されるので、生成サービスプロバイダー内には含まれ得ない。
したがって、生成サーティフィケートが交換され、2つのセキュリティコンテキスト間で信用が形成されたら、ダイナミックなコンフィギュレーションに関連する他の情報がさらにサインされたサーティフィケートデータ転送を通じて交換される。コンフィギュレーションサーティフィケートC1VおよびC2Vはそれぞれ、対応するセキュリティコンテキストのユニークな非対称識別キーのプライベートハーフによってサインされる。コンフィギュレーションサーティフィケートは、現在KIDprivが他のセキュリティコンテキストによって信用されているとして、信頼性を検証するためにKIDprivによってサインされる。コンフィギュレーションサーティフィケート内に含まれるデータは、セキュリティ設定、ソフトウエアのバージョン、どの信用された時間ソースが使用されているか、または、HSMが改ざんの試みが為されたと考えるか否かなどの管理者展開オプションに関連する。
サービスの起源および状態は、他のサービスがそれらに信用を置くことができる十分な情報を定義する。
第2のセキュリティコンテキストは、第2セキュリティコンテキストに与えられたACL内で特定されたルールを行使するよう信用され、かつ、その状態サーティフィケートを正確にアップデートするよう信用される。実施形態において、第2セキュリティコンテキストがACL内に含まれる特定レベルにルールを行使することができない場合には、それはオペレーションを実行せず、自分自身またはキーがルールをサポートするように作成されたことを公言しない。
第1および第2セキュリティコンテキストの識別キーは、製造時にインストールされ、これらのキーのハッシュが製造業者キーKman privによってサインされ、かつ、識別キーとともに格納され、よってその起源を証明する。
信用されたソースからのサービスを暗号的に識別できることにより、テナントは、すべてのデータが保護され、かつ、ホスティングサービスプロバイダーを含む任意のサードパーティーによって回復不能であることの高い保証によって、通信チャネルを通じて、その暗号キーをホストサービスと交換することができる。生成サーティフィケートから、第2セキュリティコンテキスト7内のサービスプロバイダーのアプライアンスが信用されたことを確認することにより、および、コンフィギュレーションサーティフィケートから、そのコンフィギュレーションがテナントのセキュリティポリシーに一致することを確認することにより、テナントはキーが特定された方法で格納されていることを知ってそのキーを転送することができる。キーとともに送られたACLは、キーがどのように格納されかつ使用されるかを特定するポリシーを含む。第2セキュリティコンテキスト7はその後、当ポリシーを行使する。テナントは、第2セキュリティコンテキスト7に対して信用を確立したとして第2セキュリティコンテキスト7がポリシーを行使することを信用することができる。信用の確立により安全な転送が可能となり、ACLにより第2セキュリティコンテキスト7はキーを所有しているときにポリシーを適用することができる。
第1セキュリティコンテキスト5はさらにトランシーバ13を有する。トランシーバ13はデータパケットを送信および受信するように構成されている。データパケットは、例えば、第1セキュリティコンテキスト5および第2セキュリティコンテキスト7との間のインターネット接続または直接的な有線接続を介して、第1トランシーバ13において送受信される。この通信リンクは信用されないが、以下で図6Aに関連して説明するキー転送プロトコルは攻撃からキーの保護を与える。
第1セキュリティコンテキスト5はさらに、第1プロセッサ17を有する。第1プロセッサ17は、暗号キーおよび非対称暗号キーペアの生成、暗号キーおよび非対称暗号キーペアに対応するサーティフィケートの生成、暗号キーに対応するアクセスコントロールリストの生成、暗号キーに対応する使用サーティフィケートの生成、第1デバイスメモリ9内に格納された暗号キーによるオブジェクトの暗号化、第1デバイスメモリ9内に格納された暗号キーによる暗号オブジェクトの解読、第1デバイスメモリ9内に格納された暗号キーによるオブジェクトの暗号化サイン、第1デバイスメモリ9内に格納された情報に基づく暗号サインの検証およびオブジェクトの認証などの暗号オペレーションを実行するように構成されている。第1プロセッサ17は物理的に安全である。
実施形態において、第1セキュリティコンテキスト5は非暗号オペレーションを実行するためのメインプロセッサを有し、第1プロセッサ17はコプロセッサである。すなわち、メインプロセッサとは別のコンポーネントが暗号オペレーションのみを実行するように構成されている。代替的に、第1プロセッサ17はメインプロセッサであってもよい。
暗号キーおよび非対称暗号キーペアの生成は、乱数の生成を含む。第1セキュリティコンテキスト5はさらに、乱数生成で使用するために、ランダムエントロピーソースを有する。
第2セキュリティコンテキスト7はさらにトランシーバ15を有する。第2トランシーバ15はデータパケットを送信および受信するように構成されている。データパケットは、例えば、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間のワイヤレスインターネット接続または直接的な有線接続を介して、第2トランシーバ15において送受信される。
第2セキュリティコンテキスト7はさらに第2プロセッサ19を有する。第2プロセッサ19は、暗号キーおよび非線形暗号キーペアの生成、暗号キーまたは非線形暗号キーペアに対応するサーティフィケートの生成、暗号キーに対応するアクセスコントロールリストの生成、暗号キーに対応する使用サーティフィケートの生成、第2デバイスメモリ11に格納された暗号キーによるオブジェクトの暗号化、第2デバイスメモリ11内に格納された暗号キーによる暗号化オブジェクトの解読、第2デバイスメモリ11内に格納された暗号キーによるオブジェクトの暗号化サイン、第2デバイスメモリ11内に格納された情報に基づく暗号サインの検証およびオブジェクトの認証などの暗号オペレーションを実行するように構成されている。第2プロセッサ19は物理的に安全である。
実施形態において、第1セキュリティコンテキスト5は非暗号オペレーションを実行するメインプロセッサを有し、第1プロセッサ17はコプロセッサである。すなわち、メインプロセッサとは別のコンポーネントが暗号オペレーションのみを実行するように構成されている。代替的に、第1プロセッサ17はメインプロセッサであってもよい。
暗号キーおよび非線形暗号キーペアの生成は、乱数の生成を含む。第2セキュリティコンテキスト7はさらに、乱数生成に使用するためのランダムエントロピーソースを有する。
第1セキュリティコンテキスト5または第2セキュリティコンテキスト7の一部として使用可能なHSMデバイスは、デバイスメモリ、プロセッサ、トランシーバおよび上記したランダムエントロピーソースを有する。HSMは、物理的および非物理的に安全な性質を有する。非物理的に安全な性質は、暗号の使用を含む。すなわち、格納データの暗号化を実行するように構成されたソフトウエアまたは物理的コンポーネントがデバイス内に含まれる。物理的性質は、物理的アクセスによってトリガーされる改ざんスイッチ、およびデバイスの物理的境界を包囲する改ざん防止薄膜を有する。
本明細書において議論する暗号非対称キーペアは、サインおよび検証をサポートする任意の非対称キーペアタイプであってよい。例えば、製造者キーペアKman、第1識別キーK1ID、第2識別キーペアK2ID、時間ソース識別キーペアKTSID、およびサインキーペアKtenant−signの各々は、例えば、RSA、DSA、またはECDSAキーペアのいずれかであってよい。ここで、RSAまたはDSAは、サインおよび認証用のアルゴリズムである。
例えば、RSAキーペアを生成するために、生成オペレーションが、データをサインするためにRSAアルゴリズムによって使用可能なアウトプットキーペアを生成するべく、第1プロセッサ17、第2プロセッサ19、または第3プロセッサ41によって実行されてよい。
ランダムエントロピーソースは、乱数を生成するのに使用されてよく、それは順に、暗号キーおよび暗号キーペアを生成するべく、第1プロセッサ17、第2プロセッサ19、または第3プロセッサ41によって使用される。
本明細書における暗号非線形キーペアは、暗号化および解読をサポートする任意の非対称暗号キーペアであってよい。例えば、第1暗号キーペアKBLOBは、RSAキーペアまたは統合暗号化スキーム(IES)アルゴリズムで使用可能なキーペアであってよい。
以下で説明される第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間の暗号サーティフィケートおよび暗号キーの転送は、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間の安全な認証されたチャネルを通じて生じ、それは、サービスプロバイダーによって与えられかつ制御される。サービスプロバイダーによって提供される安全チャネルは、ロードバランサまたはファイアウォールアプライアンスを使って与えられる。このインフラストラクチャーの使用は、サービス拒否のような攻撃を緩和する。
チャネルはサードパーティーからは安全であるが、サービスプロバイダーによる攻撃に対してオープンである。したがって、高価値の暗号キーの転送に対してテナントによって信用されない。したがって、セキュリティは、Ktenantの暗号化および後続のチャネルを通じて送られる暗号化データのサインによってテナントにより行使される。
図2Aは、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間で信用を確立する方法を示すフローチャートである。信用を確立する方法は、本願発明の実施形態に従う暗号キー転送方法の一部である。信用を確立する方法は、例えば暗号キーKtenantが生成される前に実行されてよく、または、暗号キーが生成された後であって、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間で暗号キーを交換する前に実行されてもよい。
ステップS210において、第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubおよび生成サーティフィケート{C1IDKman privが、第1セキュリティコンテキスト5から第2セキュリティコンテキスト7へ送信される。第1安全コンテキスト5内のトランシーバ13は、第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubおよび生成サーティフィケート{C1IDKman privを、第2セキュリティコンテキスト内の第2トランシーバ15に送信するように構成されている。第1セキュリティコンテキスト5内のデバイスの状態に関連する情報は、同じメッセージ内で送信されてよい。デバイスの状態に関連する情報は、この場合生成サーティフィケート内にも含まれ、メッセージ内に含まれる状態情報を認証するべくレシーバによって使用される。
生成サーティフィケートは変更不能であり、したがって、製造時に入手可能な情報のみを含む。例えば、IPアドレスまたは改ざん状態などのデバイスのカレントコンフィギュレーションに関連する情報は、コンフィギュレーションサーティフィケート内に含まれてよい。コンフィギュレーション情報は、生成サーティフィケートと同時に送信されるか、または、生成サーティフィケートの後に送信されてよい。しかし、生成サーティフィケートは製造時に生成されかつサインされるが、一方でコンフィギュレーションサーティフィケートはキー転送時に生成されかつK1ID−privによってサインされる。コンフィギュレーションサーティフィケートは、生成サーティフィケートが検証された後にのみ検証可能である。
ステップS202において、生成サーティフィケート{C1ID}Kman privのサインは、第2セキュリティコンテキスト7において検証される。第2セキュリティコンテキスト7内の第2プロセッサ19は、生成サーティフィケート{C1ID}Kman privのサインを検証するように構成されている。生成サーティフィケートは、デバイスメモリ11内に格納されている信用された製造業者キーのパブリックハーフKman pubを使って検証される。第2プロセッサ19は、与えられたサイン済みメッセージ{C1ID}Kman privおよびパブリックキーKman pubがメッセージの信頼性要求を受け入れるかまたは拒否するサイン検証アルゴリズムを実行するように構成されている。
第2セキュリティコンテキストの認証キーのパブリックハーフK1ID pubの信頼性は、第2セキュリティコンテキスト7において認証される。第2セキュリティコンテキスト7内の第2プロセッサ19は、第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubを認証するように構成されている。生成サーティフィケートC1IDが第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubのハッシュを有する実施形態において、信頼性は、第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubのハッシュを計算し、かつ、それが生成サーティフィケートC1ID内に含まれるものと一致することを認証することにより認証される。
実施形態において、生成サーティフィケートC1IDは、K1IDのパブリックハーフのハッシュを有し、製造業者非対称キーのプライベートハーフKman privによってサインされる。ステップS202は、K1ID pubのハッシュである場合に、メッセージ内で送信された受信データのハッシュを計算する工程と、暗号オペレーションである受信サインを製造業者キーのパブリックハーフとともに検証アルゴリズムに入力し、出力を検証する工程と、計算されたハッシュと検証アルゴリズムの出力に含まれたものとが同一であるか否かを判定するために両者を比較する工程とを有する。
ステップS203において、状態情報がメッセージ内に含まれていれば、第2セキュリティコンテキスト7は、デバイスの状態が要求に一致していることを認証する。代替的に、状態情報が生成サーティフィケート内に含まれていなければ、第2セキュリティコンテキスト7は第1セキュリティコンテキスト5の状態を認証しない。第2セキュリティコンテキスト7は、第1セキュリティコンテキスト5へいかなるセキュリティ情報も転送しないので、第1セキュリティコンテキスト5の状態情報は認証される必要がない。
サインが検証されかつ状態情報が認証されれば、第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubは第2セキュリティコンテキスト7の第2デバイスメモリ11内に格納される。代替的に、第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubは第2セキュリティコンテキスト7によってインテグリティ保護され、第2セキュリティコンテキスト7の外部の不信用ストレージ内に格納される。第2セキュリティコンテキスト7は第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubをサインし、かつ、格納用にK2ID privを使って、これが信用されたソースからのパブリックキーであることを示すデータをサインしてよい。代替的に、他の秘密キーを使ってそれを暗号化してもよい。この場合、キーの信用は維持されたまま、しばしば第2セキュリティコンテキスト7内のデバイスメモリよりも大きな容量を有する不信用デバイスメモリを使用できる。
サインが検証されないか、または、状態情報が認証されなければ、エラーが第1セキュリティコンテキストにリターンされ、例えば“AccessDenied”を記述するメッセージが送られる。この点で、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間の通信が終了する。
ステップS204において、第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubおよび生成サーティフィケート{C2IDKman privが第2セキュリティコンテキスト7から第1セキュリティコンテキスト5へ送信される。第2セキュリティコンテキスト7内の第2トランシーバ15は、第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubおよび生成サーティフィケート{C2IDKman privを、第1セキュリティコンテキスト5内の第1トランシーバ13へ送信するように構成されている。第2セキュリティコンテキスト7内のデバイスの状態に関連する情報は、同じメッセージ内で送られてよい。デバイスの状態に関連する情報は、この場合、状態情報を認証するために生成サーティフィケート内にも含まれる。再び、生成サーティフィケートは変更不能であり、製造時に入手可能な情報のみを含む。例えば、IPアドレスまたは改ざん状態などのデバイスのカレントのコンフィギュレーションに関連する情報は、コンフィギュレーションサーティフィケート内に含まれてよい。コンフィギュレーション情報は、生成サーティフィケートと同時に送信されるか、例えばステップS604において第1暗号サーティフィケートCBLOBの一部として生成サーティフィケートの後に送信される。しかし、生成サーティフィケートは、製造時に生成されかつサインされており、一方、コンフィギュレーションサーティフィケートは、キー転送実施形態に生成され、K2ID−privによってサインされる。コンフィギュレーションサーティフィケートは、生成サーティフィケートが検証された後にのみ検証可能である。
ステップS205において、生成サーティフィケート{C2IDKman privのサインは第1セキュリティコンテキスト5において検証される。第1セキュリティコンテキスト5内の第1プロセッサ17は、生成サーティフィケート{C2IDKman privを検証するように構成されている。サインは、デバイスメモリ9内に格納された信用された製造業者キーのパブリックハーフKman pubを使って検証される。第1プロセッサ17は、所与のサイン済みメッセージ{C2IDKman privおよびパブリックキーKman privが信頼性に対するメッセージの要求を受け入れるか拒否する、サイン検証アルゴリズムを実行するように構成されている。これにより、第1セキュリティコンテキスト5は、サインを検証することにより、第2コンテキスト7内の製造業者デバイスを認証することができる。
第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubの信頼性は、第1セキュリティコンテキスト5において認証される。第1セキュリティコンテキスト5内の第1プロセッサ17は、第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubを認証するように構成されている。実施形態において、生成サーティフィケートC2IDは第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubのハッシュを有し、信頼性は、第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubのハッシュを計算し、かつ、それが生成サーティフィケートC2ID内に含まれるものと一致することを認証することによって認証される。
ステップS206において、状態情報がメッセージ内に含まれれば、第1セキュリティコンテキスト5は、デバイスの状態が要求と一致することを認証する。
サインが検証され、かつ、状態情報が認証されれば、第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubは第1セキュリティコンテキスト5の第1デバイスメモリ9内に格納される。代替的に、第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubは、第1セキュリティコンテキスト5によってインテグリティ保護され、かつ、第1セキュリティコンテキスト5の外部の不信用ストレージ内に格納される。第1セキュリティコンテキスト5は、格納用のK1ID privを使って、第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pub、および、これが信用済みソースからのパブリックキーであることを示すデータをサインしてよい。代替的に、他の秘密キーを使ってそれを暗号化してもよい。この場合、キーの信頼を維持したまま、しばしば第1セキュリティデバイス5内のデバイスメモリより大きな容量を有する不信用デバイスメモリが使用可能である。
サインが有効ではないか、または、状態情報が認証されなければ、第2セキュリティコンテキスト7へエラーがリターンされ、例えば、“AccessDenied”を記述するメッセージが送られる。この時点で、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間の通信が終了する。
図2Aは、第1セキュリティコンテキスト5において第2セキュリティコンテキスト7のコンフィギュレーションを認証する方法を示すフローチャートであり、それは、本願発明の実施形態に従う暗号キー転送方法の一部である。この方法において、第2セキュリティコンテキスト7のコンフィギュレーションが認証可能である。実施形態において、同様の方法が、第2セキュリティコンテキスト7において、第1セキュリティコンテキスト5の構成を認証するために使用される。代替的に、第2セキュリティコンテキスト7は、第1セキュリティコンテキスト5のコンフィギュレーションを認証しない。第2セキュリティコンテキストは、第1セキュリティコンテキストへいかなる安全情報も転送しない。したがって、第1セキュリティコンテキスト5のコンフィギュレーションは認証される必要がない。
ステップS211において、コンフィギュレーション情報が第2セキュリティコンテキスト7によって生成される。コンフィギュレーション情報は、管理者によって適用される特定のコンフィギュレーションに関連する情報を含んでよい。これは、サポートされる暗号オペレーション、使用される暗号キー、および/または、ユニットのソフトウエアのバージョンなどに関する情報を含む。コンフィギュレーション情報は、第2セキュリティコンテキスト7内に無い場合に、テナントキーを暗号化するのに第1セキュリティコンテキスト5がAESアルゴリズムを使用するように構成されたことを示す情報を有してよい。コンフィギュレーション情報はさらに、信用された時間ソースが使用されるか、または、第2セキュリティコンテキスト7がデバイスによる改ざんの試みが為されたと考えるか否かなどのセキュリティ設定の管理者展開オプションに関連する情報を有してよい。
ステップS212において、コンフィギュレーション情報は、第2セキュリティコンテキストの識別キーのプライベートハーフK2ID privによってサインされ、コンフィギュレーションサーティフィケートC2Vを生成する。第2セキュリティコンテキストの識別キーのプライベートハーフK2ID privは第2セキュリティコンテキスト7内に格納され、管理者によってアクセス不能である。コンフィギュレーションサーティフィケートC2Vを、第2セキュリティコンテキストの識別キーのプライベートハーフによってサインすることは、コンフィギュレーション情報が破壊不能であることを意味する。
ステップS213において、コンフィギュレーション情報およびコンフィギュレーションサーティフィケートC2Vは、第2セキュリティコンテキスト7から第1セキュリティコンテキスト5へ送信される。これは、例えば、ステップS204において、K2IDおよび{C2IDKman privと同時に送信可能である。代替的に、コンフィギュレーション情報は、図6Aを参照して説明される第1暗号サーティフィケート内に含まれてよく、第1暗号サーティフィケートCBLOBと同時に送信されたコンフィギュレーション情報であってもよい。第2セキュリティコンテキスト7内の第2トランシーバ15は、コンフィギュレーション情報およびコンフィギュレーションサーティフィケートC2Vを第1セキュリティコンテキスト5内の第1トランシーバ13へ送信するように構成されている。
ステップS214において、サイン済みのコンフィギュレーションサーティフィケートC2Vは、第1セキュリティコンテキスト5において検証される。第1セキュリティコンテキスト5内の第1プロセッサ17は、サイン済みのコンフィギュレーションサーティフィケートC2Vを検証するように構成されている。サイン済みのコンフィギュレーションサーティフィケートC2Vは、受信されかつステップS204からS206で処理された後に、デバイスメモリ9内に格納された第2識別キーのパブリックハーフK2ID pubを使って検証される。第1プロセッサ17は、所与のサイン済みコンフィギュレーションサーティフィケートC2VおよびパブリックキーK2ID pubが、信頼性に対するメッセージの要求を受け入れるか拒否するサイン検証アルゴリズムを実行するように構成されている。これにより、第1セキュリティコンテキスト5は、コンフィギュレーション情報が既知のアプライアンスによって生成されたことを証明することができる。
ステップS215において、第1セキュリティコンテキストは、コンフィギュレーション情報が要求に一致することを認証する。
実施形態において、コンフィギュレーション情報は、Ktenantが第2セキュリティコンテキスト7に転送される直前に、リクエストされかつチェックされる。これは、最新のコンフィギュレーション情報が認証されることを保証する。
実施形態において、コンフィギュレーション情報およびコンフィギュレーションサーティフィケートもまた、同様の方法で第1セキュリティコンテキスト5によって生成されかつ送信される。コンフィギュレーション情報は、管理者によって適用される特定コンフィギュレーションに関連する情報を有してよい。コンフィギュレーション情報は第1セキュリティコンテキスト5の識別キーのプライベートハーフによってサインされ、かつ、第2セキュリティコンテキスト7に送信される。それは、第1セキュリティコンテキスト5のコンフィギュレーションがその要求に一致することを認証する。
上述した方法において、テナントは自身をサービスプロバイダーによって登録する。登録は、安全でない媒体を通じた2つのパーティーの相互認証の形式で進められる。第1セキュリティコンテキスト5および第2セキュリティコンテキスト7の相互認証は、ユニークな非対称識別キーを使って実行される。識別キーのパブリックハーフは、それらの一致する生成サーティフィケートとともに交換される。各セキュリティコンテキストは、サーティフィケートが識別キーのパブリックハーフのハッシュを含むこと、および、サーティフィケートが信用された製造業者によって純粋に製造されたことをチェックすることにより、それ以外の生成サーティフィケートを認証する。識別キーの生成サーティフィケートは、ワラントと言及される。確立された信用の共有ルートを使って、第1セキュリティコンテキスト5および第2セキュリティコンテキスト7は、認証可能な信用できるパートナーと安全で認証されたネットワーク通信を確立する。第1セキュリティコンテキスト5および第2セキュリティコンテキスト7は、それ以外が信用された製造業者によって確立されたことを、それぞれ暗号的に認証する。
第1セキュリティコンテキストにおいてKman pubを使ってサイン済み生成サーティフィケート{C2IDKman privを検証するステップS205は、第2セキュリティコンテキスト7が既知の信用できる起源であることを検証する。
図3は、信用が確立された後であって、かつ、関連キーが各セキュリティコンテキストで生成された後のテナントシステム1およびサービスプロバイダーシステム3である。
第1セキュリティコンテキスト5内の第1デバイスメモリ9もまた、第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubを格納する。代替的に、このキーは、インテグリティ保護される方法で、第1セキュリティコンテキスト5の外部に格納されてよい。第1デバイスメモリ9はまた、以下で説明するステップS601で生成されるテナントキーKtenant、および、以下で説明するステップS401で生成される第2キーペアKtenant−signを格納する。
第2セキュリティコンテキスト7内の第2デバイスメモリ11はまた、第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubを格納する。代替的に、このキーは、インテグリティ保護される方法で、第1セキュリティコンテキスト5の外部に格納されてもよい。第2デバイスメモリ1はまた、以下で説明するステップS602で生成される第1暗号キーペアおよび第1暗号サーティフィケートを格納する。
図4Aは、第1セキュリティコンテキスト5から第2セキュリティコンテキスト7へ、サインキーKtenant−signを転送する方法を示すフローチャートであり、それは、本願発明の実施形態に従う暗号キー転送方法の一部である。実施形態において、サインキーKtenant−signを転送する方法は、暗号キーKtenantが第2セキュリティコンテキスト7へ送信される前に実行される。サインキーKtenant−signを送信する方法は、暗号キーKtenantが生成された後に実行されてもよい。
ステップS401において、非対称暗号キーペアKtenant−signpubおよびKtenant−signpriv、および、対応するサーティフィケートCtenant−signが第1セキュリティコンテキスト5内で生成される。非対称暗号キーペアKtenant−signpubおよびKtenant−signprivは、第2パブリックキーおよび第2プライベートキーと呼ばれ、対応するサーティフィケートCtenant−signは第2暗号サーティフィケートと呼ばれる。第1セキュリティコンテキスト5内の第1プロセッサ17は、非対称暗号キーペアKtenant−signpubおよびKtenant−signpriv、および対応するサーティフィケートCtenant−signを生成するように構成されている。第2暗号サーティフィケートCtenant−signは、第2パブリックキーKtenant−signpubのサイン済みハッシュを有してよい。
ステップS402において、第2暗号サーティフィケートCtenant−signは、第1セキュリティコンテキストの識別キーのプライベートハーフK1ID privによって暗号化サインされる。第1プロセッサ17は、第1セキュリティコンテキストの識別キーのプライベートハーフK1ID privにより第2暗号サーティフィケートCtenant−signを暗号化サインするように構成されている。
したがって、第2暗号サーティフィケートCtenant−signは、第2パブリックキーKtenant−signpubの起源を認証可能な情報を有する。第2パブリックキーKtenant−signpubの起源を認証可能な情報は、第2パブリックキーKtenant−signpubのサイン済みハッシュを有する。第2暗号サーティフィケートCtenant−signは、第2パブリックキーKtenant−signpubのハッシュを有し、かつ、第1セキュリティコンテキストの識別キーのプライベートハーフK1ID privによってサインされ、それにより、第2パブリックキーKtenant−signpubの起源が認証可能となる。
ステップS403において、第2パブリックキーKtenant−signpubおよび第2暗号サーティフィケート{Ctenant−sign}K1ID privは第2セキュリティコンテント7に送信される。第1トランシーバ13は、第2パブリックキーKtenant−signpubおよび第2暗号サーティフィケート{Ctenant−signK1ID privを第2セキュリティコンテキスト7へ送信するように構成されている。
ステップS404において、第2暗号サーティフィケート{Ctenant−signK1ID privは、第2セキュリティコンテキスト7において検証される。第2セキュリティコンテキスト7内の第2プロセッサ19は、第2サーティフィケート{Ctenant−signK1ID privを検証するように構成されている。第2サーティフィケートは、第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubを使って検証される。第2プロセッサ19は、所与のサイン済みメッセージ{Ctenant−sign}K1ID privおよびパブリックキーK1ID pubが、信頼性に対するメッセージの要求を受け入れるかまたは拒否するサイン検証アルゴリズムを実行するように構成されている。
第2パブリックキーKtenant−signpubの信頼性は、その後、第2セキュリティコンテキスト7において認証される。第2セキュリティコンテキスト7内の第2プロセッサ19は、第2パブリックキーKtenant−signpubを認証するように構成されている。第2暗号サーティフィケートCtenant−signが第2パブリックキーKtenant−signpubのハッシュを有するところの実施形態において、第2パブリックキーKtenant−signpubの信頼性は、第2パブリックキーKtenant−signpubのハッシュを計算し、それが第2暗号サーティフィケートCtenant−sign内に含まれるものと一致することを認証することにより、認証される。
サインが検証され、かつ、第2パブリックキーが認証されれば、第2パブリックキーKtenant−signpubは第2セキュリティコンテキスト7の第2デバイスメモリ11内に格納される。代替的に、それは第2セキュリティコンテキスト7によってインテグリティ保護され、第2セキュリティコンテキスト7の外側の不信用ストレージ内に格納されてよい。
サインが検証されず、または、第2パブリックキーが認証されなければ、第1セキュリティコンテキスト5へエラーがリターンされる。例えば、“AccessDenied”を記述するメッセージが送信される。この時点で、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間の通信が終了する。
上記した方法において、信用の確立に成功すると、第1セキュリティコンテキスト5は、非対称キーKtenant−signを生成し、K1IDのプライベートハーフによってサインされたサーティフィケートを含むパブリックハーフを第2セキュリティコンテキスト7に送信する。第2セキュリティコンテキスト7は、サーティフィケートを認証し、かつ、Ktenant−signのパブリックハーフを、後の使用のために安全かつ改ざん防止フォーマットで、第2デバイスメモリ11または他に格納する。したがって、第1テナントシステム内の第1セキュリティコンテキスト5は、非対称キーKtenant−signを生成し、かつ、格納および後の使用のために、第2セキュリティコンテキストへパブリックハーフを送信する。
図4Bは、テナント登録の方法の略示図である。それは、本願発明の実施形態に従う暗号キー転送方法の一部である。当該方法は、ステップS601に関連して以下で説明するように、テナント暗号キーKtenantを生成する工程と、図2Aに関連して上述したように信用を確立する工程と、図4Aに関連して上述したように第2パブリックキーを生成しかつ交換する工程とを有する。
図中の垂直方向の各ボックスは、包含されるエンティティーを表し、下方向に時間経過する、第1セキュリティコンテキスト5、第2セキュリティコンテキスト7および時間ソース3を示す。矢印が始まり、ループして終端するブロックは、特定のプロセスの時間間隔を示す。例えば、第2セキュリティコンテキスト7は、第1セキュリティコンテキストの識別キーのパブリックハーフK1ID pubおよび対応する生成サーティフィケートを受信する。これは、第2セキュリティコンテキスト7において処理を開始させる。処理の次のステップは、サーティフィケートを認証し、その後第1セキュリティコンテキスト5に応答を送信することである。応答は、サーティフィケートが認証されなければエラーメッセージ、または、サーティフィケートが認証されればそれ自身のパブリック識別キーおよびサーティフィケートを含むメッセージである。これで特定のプロセスは終了する。
ループは、例えば、他のエンティティーとの相互作用を必要としない認証のような処理に対して、内部で生じる作用を示す。エンティティー間をまたぐ線は、エンティティー間の通信を示す。
暗号キーKtenantは、第1セキュリティコンテキスト5内で生成される。第2暗号キーKtenant−signは、その後第1セキュリティコンテキスト5内で生成される。識別キーのパブリックハーフK1ID pubのおよびサインされたサーティフィケート{C1ID}はその後、第1セキュリティコンテキスト5から第2セキュリティコンテキスト7へ送信され、第2セキュリティコンテキスト7において認証される。識別キーのパブリックハーフK2ID pubおよびサイン済みサーティフィケート{C2IDKman privはその後、第2セキュリティコンテキスト7から第1セキュリティコンテキスト5へ送信され、第1セキュリティコンテキスト5において認証される。第2暗号キーKtenant−signpubおよびサイン済みサーティフィケート{Ctenant−signK1ID privは、第2セキュリティコンテキスト7に送られ、そこでそれらが認証されかつ格納される。
図5は、図6Aに関連して以下で説明するデータ転送処理中に、第2パブリックキーKtenant−signpubが交換された後のテナントシステム1およびサービスプロバイダーシステム3の略示図である。
実施形態において、KblobおよびCblobは一時的であり、Ktenantが転送されるとすぐに第2セキュリティコンテキスト7から削除される。
第2セキュリティコンテキスト7内の第2デバイスメモリ11はまた、第2キーのパブリックハーフKtenant−signpubを格納する。代替的に、このキーはインテグリティ保護される方法で第1セキュリティコンテキスト5の外部に格納されてもよい。
図6Aは、本願発明の実施形態に従う、第1セキュリティコンテキスト5から第2セキュリティコンテキスト7へデータを転送する方法を示すフローチャートである。図6Aに示す実施形態において、データは、暗号キーKtenantである。
テナントシステムがサービスプロバイダーシステムとともにそれ自身を登録すると、第1セキュリティコンテキスト5が、安全で、認証された接続を介して、第2セキュリティコンテキスト7と接続し、キー転送、または、インポート、処理を開始する。
ステップS601において、暗号キーKtenantおよび対応するアクセスコントロールリスト、ACLが第1セキュリティコンテキスト5内で生成される。第1セキュリティコンテキスト5内の第1プロセッサ17は、暗号キーKtenantおよび対応するアクセスコントロールリストを生成するように構成されている。
第1セキュリティコンテキスト5はキーKtenantを生成し、それは、サービスプロバイダーに貸し出している。Ktenantは、第1セキュリティコンテキスト5内の安全なアプライアンス内においてアクセスコントロールリスト(ACL)とともに生成される。
ACLは、使用サーティフィケートなどの有効使用クレデンシャルがキーの使用の第1のタイプを許可するために与えられなければならないことを特定する。使用の第1のタイプは、例えば、暗号オペレーションであってよい。ACLは、キーがどのように使用されるか、使用上のあらゆる制限、および、イネーブルにされるべき各オペレーションに対してどのようなクレデンシャルが供給されなければならないかなどを記述する。
代替的実施形態において、暗号キーKtenantは、第1セキュリティコンテキスト5内で生成されず、第1セキュリティコンテキスト5の外部で生成され、その後、第1セキュリティコンテキスト5に与えられる。
代替的実施形態において、暗号キーKtenantの代わりに、第1セキュリティコンテキスト5において他の種類のデータが生成されるか、または、それが第1セキュリティコンテキストに与えられる。データに対応するアクセスコントロールリストがその後生成され、それは、データの使用の第1のタイプを許可するために、有効使用クレデンシャルが与えられなければならないことを特定する。使用の第1のタイプは、例えばデータファイルのコンテンツの読込である。
以下の説明において、方法および装置は、テナントキーの転送およびリースに関連して説明されるが、他の種類のデータがテナントキーと代替されて、同じ方法で転送およびリースされてもよい。
ACLはひとつ以上のパーミションまたはポリシーを有する。各パーミションはキーの特定の使用を管理する。例えば、第1パーミションは、キーがどのように格納されるかを管理し、第2パーミションはキーが暗号化のためにどのように使用されるかを管理し、第2パーミションはキーが解読のためにどのように使用される、という具合である。
ACLはまた、特定パーミションに関連するクレデンシャルを有する。クレデンシャルは、特定のパーミションを許可するために何が与えられるべきかを特定する。いくつかのパーミションは、例えば、格納パーミションなどの関連クレデンシャルを有していなくてもよい。
図2Aおよび図2Bに関連して説明したように、テナントは、キーが転送される前に、第2セキュリティコンテキスト7がACL内の要求を忠実に守ることを認証している。テナントは、第2セキュリティコンテキスト7が信用された製造業者によって製造されたことを認証する。テナントは、第2セキュリティコンテキスト7のカレントコンフィギュレーションがテナントのセキュリティ要求に一致することも認証してよい。第2セキュリティコンテキスト7が信用され、かつ、テナント要求に一致することを認証することにより、テナントは、第2セキュリティコンテキスト7がACL内に含まれるポリシー/パーミションを行使することを確認できる。
アクセスコントロールリストは、例えば、使用サーティフィケートなどの有効使用クレデンシャルが、暗号キーKtenantのある使用を許可するために与えられなければならないことを特定する。したがって、KtenantACLは、キーが例えば暗号化に使用されるたびに、与えられるべき有効サーティフィケートを要求してよい。この使用に関連するパーミションは、例えば使用サーティフィケートなどの関連クレデンシャルを有する。
テナントは、例えば暗号化のためのキーの使用を管理するパーミション内で、有効使用サーティフィケートが要求されることを特定してよい。したがって、暗号化用に暗号キーKtenantを使用するために、有効使用サーティフィケートがパーミションをアクティブにするべく与えられる必要がある。
パーミションは、パーミションに対応する使用を許可するために、使用サーティフィケートが、使用サーティフィケートに対応する暗号キーKtenantが識別可能である情報を有しなければならないことを特定してよい。ACLは、Ktenantのハッシュを有してよい。
ACLは、第2セキュリティコンテキスト7へのリファレンスを有する。第2セキュリティコンテキスト7へのリファレンスは、識別キーのパブリックハーフK2ID pubのハッシュを有してよい。
実施形態において、パーミションは、パーミションに関連する使用を許可するために、テナントによって所有される非線形キーのプライベートハーフKtenant−signによってサインされたサーティフィケートのプレゼンテーションを要求する。パーミションは、暗号キーKtenantの使用を許可するために、使用サーティフィケートが、第2プライベートキーKtenant−signprivによってサインされなければならないことを特定する。
実施形態において、パーミションは、使用サーティフィケートの満期を判定可能な情報を有しなければならず、かつ、パーミションに関連する暗号キーKtenantの使用を許可するために、満了前であることを特定する。したがってテナントは、使用サーティフィケートにおいて、そのキーの満了期間を特定することができ、その後、キーは他の許可が与えられるまで使用されない。これにより、キーが使用される時間にわたって保証された状態で、テナントとサービスプロバイダーとの間の暗号マテリアルの転送が可能となる。これは、キーの使用がテナントによって特定された設定時間中のみキーが使用できることを保証する。
実施形態において、ACLは、使用サーティフィケートの有効時間間隔の開始時刻を決定可能な情報を有しなければならず、かつ、開始時刻は、パーミションに関連する暗号キーKtenantの使用を許可するために経過していなければならない。したがって、テナントはキーの有効時間間隔を特定することができ、それ以外でキーは、さらに許可が与えられるまで使用されない。これは、キーの使用が、テナントによって特定される設定時間インターバルの間でのみ可能であることを保証する。
暗号キーKtenantの格納を管理するパーミションに対して、サーティフィケートクレデンシャルは与えられない。これは、ストレージを管理するパーミションが常にアクティブであること、または、例えばキーが不揮発性媒体内に格納されるまでの間だけアクティブであることを意味する。これにより、第2セキュリティコンテキスト7は、サーティフィケート無しでキーを格納することができる。ストレージを管理するパーミションが、キーが不揮発性媒体内に格納されるまでの間だけアクティブである場合に、パーミションは一時的パーミションであり、格納後に非アクティブになる。すなわち、それはACLからはがされる。
パーミションは、暗号キーKtenantが、第2セキュリティコンテキスト7を離れることができないキーによって、格納用に暗号されたときにのみ、第2セキュリティコンテキスト7の外部に格納可能であることを特定してよい。パーミションは、Ktenantが、第2セキュリティコンテキスト7を離れることができないキーによってのみ暗号化され、管理者、すなわち、サービスプロバイダーによってコントロール不能であることを特定する。パーミションはまた、例えばテナントキーKtenantを暗号化するのに使用可能なキーのタイプおよびメカニズムを有し、テナントキーKtenantは256ビットのAESキーを有するASE−GCMを使ってのみ暗号化可能である。パーミションは、暗号キーKtenantが第2セキュリティコンテキスト7内部にも格納可能であることを特定してよい。
実施形態において、パーミションは、暗号キーKtenantおよびACLは、認証済み暗号アルゴリズムによって暗号化されるべきであることを特定する。
実施形態において、パーミションは、暗号キーKtenantの起源を同定可能な情報が、暗号化された暗号キーKtenantおよびアクセスコントロールリストと同じデータ構造で格納され、かつ、信頼保護されていることを特定する。
代替的に、パーミションは、暗号キーKtenantが第2セキュリティコンテキスト7内部にのみ格納可能であることを特定してよい。
tenantACLは、テナントキーが第2セキュリティコンテキスト7内部にのみ格納可能であること、および/または、サービスプロバイダーによって取得不能なキーによって第2セキュリティコンテキスト7の外部のストレージに対して暗号化されれば、第2セキュリティコンテキスト7の外部に可能可能であることを特定するパーミションを含む。第2セキュリティコンテキスト7がACL内で特定されたポリシーを行使する限り、テナントキーKtenantはホストサービスプロバイダー3に晒されることはない。
テナントは、第2セキュリティコンテキスト7の製造業者が信頼された製造業者であることを認証する情報を受信したので、第2セキュリティコンテキスト7はポリシーを行使することを保証した。第2セキュリティコンテキストの製造業者を同定する情報は、生成サーティフィケート内で送信される。例えば、生成サーティフィケートは、製造業者プライベートキーによってサインされる。また、テナントは、第2セキュリティコンテキスト7の製品、ソフトウエアおよびハードウエアを認証する情報を受信している。この情報は生成サーティフィケート内で送信される。製造業者は信用された製造業者として同定されているので、テナントは、第2セキュリティコンテキスト7が製造業者によって与えられる情報と一致することを信用する。例えば、生成サーティフィケートが、ソフトウエアおよびハードウエアがサービスプロバイダーによる攻撃に鈍感であることを特定する情報を含む場合、テナントは、当該情報が信用済みの製造業者によって与えられたものであること信用する。テナントは、サービスプロバイダーが、製造業者からのあるギャランティを有する第2セキュリティコンテキスト7を使っていることを、生成サーティフィケートから認証することができる。製造業者は、ACLが第2セキュリティコンテキスト7によって行使されることを保証する情報を生成サーティフィケート内に与えることができる。テナントは、製造業者を信用しているので、このギャランティもまた信用される。したがって、テナントに、ACLが行使されることを許可するギャランティ情報は、製造業者から生じる。また、コンフィギュレーションサーティフィケート内で送信されるコンフィギュレーション情報は、テナントに、誰かが第2セキュリティコンテキスト7に物理的またはハッキングすることにより改ざんを試みたか否かを知らせる。テナントが、第2セキュリティコンテキスト7が改ざんされていなかったことを確認すると、製造業者からのギャランティはまだ適用可能である。
サービスプロバイダー、またはサービスプロバイダーに対して裁判管轄を有するセキュリティエージェンシーに対して暗号材料が晒されていない状態で、ACLは、テナントとサービスプロバイダーとの間での暗号マテリアルの転送を可能にする。例えば、UKに存在するテナントは、UKに本社がある会社に対して裁判管轄を有しないアメリカのセキュリティエージェンシーにキーが渡される危険があるので、アメリカのサービスプロバイダーによってアクセス可能な暗号キーを使用したくない。
また、それにより、サービスプロバイダーは、テナントごとに専用のアプライアンスを維持する必要がなく、単一のインフラストラクチャー内で複数のテナントからのキーをサポートすることができる。テナントは、テナントのキーを抽出することができたサードパーティーがその後キーを使用するので、サードパーティーがアクセス可能なキーを使用したくない。暗号キーKtenantが第2セキュリティコンテキスト7内にのみ格納されること、および/または、第2セキュリティコンテキスト7を離れることができないキーによってストレージに対して暗号化されれば第2セキュリティコンテキスト7の外部に格納可能であることを特定するパーミションを有するアクセスコントロールリストを与えることにより、キー材料が他のテナントに決して晒されないことを保証しつつ、複数のテナントは、同じ暗号インフラストラクチャーを使用することができる。サービスプロバイダーおよびテナントは、効率を向上させる安全な方法で、暗号インフラストラクチャーを共有することができる。
ACL内に含まれるパーミションおよび複数のパーミションは、Ktenantがどのように格納されかつ設定されるかを制限し、その結果、Ktenantは、サービスプロバイダーを含むだれからもアクセス不能となる。キーの使用の第1タイプに対応するパーミションが、テナントにのみ知られたプライベートキーによってサインされたサーティフィケートクレデンシャルによりアクティブ化されるので、第2セキュリティコンテキスト7は、許可サーティフィケートがキーによって与えられる時間まで、キーの使用の第1のタイプを許可しない。これは、キー材料の使用の第1のタイプが、サービスプロバイダーを含む任意のサードパーティーによってアクセス不能であることを意味する。したがって、テナントは暗号キーがサービスプロバイダーまたは任意のサードパーティーに対して晒されないことの保証を維持することができる。テナントは、アクセスコントロールリストを通じて第2セキュリティコンテキスト内にインポートされれば、そのキーの使用をコントロールすることができる。
アクセスコントロールリストは、テナントキーKtenantの特定の使用を許可するために、使用サーティフィケート内で特定の情報が与えられなければならないことを特定する。このようにして、テナントは、キーがサービスプロバイダーによってどのように使用されるかを制限することができる。例えば、ACLは、あるプライベートキーによってサインされたサーティフィケートが与えられたとき、テナントキーがデータを暗号化するのに使用可能であることを特定するパーミションを含む。したがって、パーミションに関連するクレデンシャルは、あるプライベートキーによってサインされたサーティフィケートである。それはまた、異なるプライベートキーによってサインされたサーティフィケートによって与えられたとき解読が利用可能であることを特定するパーミションを含む。各パーミションは、例えば、異なるプライベートキーによってサインされるサーティフィケートなどの異なるクレデンシャルを要求してよい。
さらに、サーティフィケート内に含まれる情報は、タイムスタンプが共有された信用クロックへのリファレンスおよび/またはサーティフィケートが使用されるアプライアンスのアイデンティティ(例えばKID pubのハッシュ)を含むところの、サーティフィケートが発行された時間を含むことをパーミションが特定してよい。アイデンティティを含むことは、コンテキスト内のどのアプライアンスが使用可能であるかを制限する。
第2セキュリティコンテキストおよびテナントキーKtenantに対応するACLの付与により確立された信用により、テナントは、サービスプロバイダーが、ACL内に与えられたルールのセットを遵守することを暗号的に認証することができる。それは、キーが転送された後に、暗号材料の非開示および使用を保証する。それにより、テナントは、複数のテナントをサポートしつつ、制限された方法での使用に対して、サービスプロバイダーに暗号キーを安全かつ検証可能にリースすることができる。
ACLは、サービスプロバイダーがテナントのキー材料へアクセス不能であること、テナントがそのキーはそのコントロール状態の下でのみ使用可能であることの保証を有し、複数のテナントが安全な方法で同じ暗号インフラストラクチャーを共有することができることを保証するポリシーを有する。それが、使用可能な時間間隔を制限しつつ、キーKtenentのリースを可能にする。それにより、テナントは、サービスプロバイダーによってホストされるとき、そのキーの使用を正確にコントロールすることができる。
tenantが生成された後、テナントは、サービスプロバイダーとともにキー貸与プロトコルを開始する。例えば、第1セキュリティコンテキスト5は、ステップS602を開始する第2セキュリティコンテキスト7に対してメッセージを送信する。メッセージはリクエストKBLOB pubをリクエストしてよい。
ステップS602において、暗号スキーム内で使用するのに適した第1暗号キーペアおよび第1暗号サーティフィケートCBLOBが第2セキュリティコンテキスト7内で生成され、第1暗号キーペアは、第1パブリックキーKBLOB pubおよび第1プライベートキーKBLOB privを有する。実施形態において、第1暗号サーティフィケートは、第1パブリックキーKBLOB pubのハッシュを有する。
実施形態において、新しい第1暗号キーペアKBLOBおよび第1暗号サーティフィケートCBLOBは、各データ転送用に生成される。換言すれば、第1暗号キーペアKBLOBおよび第1暗号サーティフィケートCBLOBの各々は、一回の使用に対してのみ有効である。
実施形態において、第1暗号サーティフィケートCBLOBおよびコンフィギュレーションサーティフィケートは、単一のサーティフィケートである。換言すれば、図2Bの方法に代わって、第2セキュリティコンテキストのカレントコンフィギュレーションに関連する情報をさらに有する第1暗号サーティフィケートが生成される。第2セキュリティコンテキストのカレントコンフィギュレーションに関連する情報は、図2Bに関連して説明されたようなものであってよい。
ステップS603において、第1暗号サーティフィケートCBLOBは第2セキュリティコンテキストの識別キーのプライベートハーフK2ID privによって暗号化サインされる。第2プロセッサ19は、第2セキュリティコンテキストの識別キーのプライベートハーフK2ID privによって第1暗号サーティフィケートCBLOBを暗号サインするように構成されている。
実施形態において、第1暗号サーティフィケートCBLOBは、KBLOB pubが第2セキュリティコンテキスト7内で生成されたことを認証する。第1暗号サーティフィケートは、暗号キーKBLOB pubの起源を認証可能な情報を有する。実施形態において、暗号キーKBLOB pubの起源を認証可能な情報は、第1パブリックキーKBLOB pubのサイン済みハッシュである。換言すれば、第1暗号サーティフィケートCBLOBは第1パブリックキーKBLOB pubのハッシュを有し、かつ、第2セキュリティコンテキストの識別キーのプライベートハーフK2ID privによってサインされる。それにより、第1パブリックキーKBLOB pubの起源が認証可能になる。
第1暗号サーティフィケートは、サービスプロバイダーがサーティフィケートを生成したことを証明するために、K2ID privによってサインされる。ハッシュを含むことで、データ、すなわち、第1パブリックキーKBLOB pubが転送中に改ざんされなかったことも認証する。
実施形態において、第1暗号サーティフィケートは、KBLOB privが一時的なものであること、および、KBLOB privは第2セキュリティコンテキストを離れることができないことを認証する情報を有する。KBLOB privが一時的なものであること、および、KBLOB privが第2セキュリティコンテキストを離れることができないことを認証する情報は、第1暗号キーペアKBLOBによって第1セキュリティコンテキスト5に送信される。第1暗号サーティフィケートは、この情報を有し、サインされ、したがって、メッセージ内に含まれる情報を認証する。
ステップS604において、第1パブリックキーKBLOB pubおよびサイン済みの第1暗号サーティフィケート{CBLOB}K2ID privが第1セキュリティコンテキスト5に送信される。KBLOBに関連する情報、例えば、KBLOBが一時的なものであること、および、KBLOB privが第2セキュリティコンテキストを離れることができないことを示す情報はまた、第1暗号キーペアKBLOBとともに第1セキュリティコンテキスト5に送信され、第1サーティフィケート内に含まれる。第2トランシーバ15は、第1パブリックキーKBLOB pubおよびサイン済み第1暗号サーティフィケート{CBLOBK2ID privを第1セキュリティコンテキスト5に送信するように構成されている。コンフィギュレーション情報および/またはキーに関する情報は、同じメッセージ内で第1セキュリティコンテキスト5に送信されてよい。
ステップS602からS604において、開始メッセージに応答して、第2セキュリティコンテキスト7は、非対称キーKBLOBを生成し、そのパブリックハーフおよび第2セキュリティコンテキストの識別キーのプライベートハーフK2ID privによってサインされたサーティフィケートを第2セキュリティコンテキスト5に送る。KBLOBは一時的な非対称キーであり、付帯するキーサーティフィケートCBLOBととに第2セキュリティコンテキスト7内で生成される。CBLOBにより、テナントは、キーが第2セキュリティコンテキスト7内のアプライアンスによって生成されたこと、Kblobのプライベートハーフが一時的なものであること、および、第2セキュリティコンテキスト7を離れることができないことを認証することができる。サービスプロバイダーは、KBLOBのパブリックハーフおよびCBLOBを第1セキュリティコンテキスト5に送信する。
ステップS605において、サイン済みの第1暗号サーティフィケート{CBLOBK2ID privが第1セキュリティコンテキスト5において検証される。第1セキュリティコンテキスト5内の第1プロセッサ17は、サイン済みの第1暗号サーティフィケート{CBLOBK2ID privを検証するように構成されている。サイン済みの第1暗号サーティフィケート{CBLOBK2ID privは、第2セキュリティコンテキストの識別キーのパブリックハーフK2ID pubを使って検証される。第1プロセッサ17は、所与のサイン済みメッセージ{CBLOBK2ID privおよびパブリックキーK2ID pubがメッセージの信頼性の要求を受け入れるかまたは拒否する、サイン検証アルゴリズムを実行するように構成される。
第1パブリックキーKBLOB pubの信頼性は、その後、第1暗号サーティフィケートCBLOBからの第1セキュリティコンテキスト5において認証される。第1セキュリティコンテキスト5内の第1プロセッサ17は、第1パブリックキーKBLOB pubを検証するように構成される。実施形態において、KBLOB pubのハッシュ計算することにより、第1パブリックキーKBLOB pubの信頼性は認証され、それが、第1暗号サーティフィケートCBLOB内に含まれるものと一致することを認証する。第1パブリックキーKBLOB pubとともに送られた他の情報、例えば、カレントコンフィギュレーション情報および第1パブリックキーKBLOB pubに関連する情報もまたサーティフィケートから認証される。
サインが検証されると、第1パブリックキーKBLOB pubが第1セキュリティコンテキスト5の第1デバイスメモリ9に格納される。代替的に、それは、第1セキュリティコンテキスト5によってインテグリティ保護可能であり、第1セキュリティコンテキスト5の外部の不信用ストレージ内に格納される。
サインが検証されないか、または、キーが認証されなければ、第2セキュリティコンテキスト7にエラーがリターンされ、例えば、“AccessDenied”を記述するメッセージが送信される。この時点で、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間の通信が終了する。
第1暗号サーティフィケートCBLOBが生成されるところの実施形態において、さらに第2セキュリティコンテキストにカレントコンフィギュレーションに関連する情報が含まれ、第2セキュリティコンテキストのカレントコンフィギュレーションに関連する情報はまたは図2Bに関連して説明したように、ステップS605において認証される。メッセージ内に含まれる任意のキー情報もまた認証される。
ステップS605において、ソースを認証しかつそれがよく形成されており、かつ、テナントによって予想されるセキュリティポリシーと一致することを確認しながら、第1セキュリティコンテキストは、KBLOBのパラメータを認証するためにサーティフィケートを使用する。テナントのセキュリティポリシーは、キーの長さ、キーのタイプ、および/または、キーのパーミション−クレデンシャルペアを含むか、または、要求することができる。キーパーミションは、キーが使用されるオペレーションを記述するのに使用される。例えば、パーミションはキーが他のキーを暗号化するのに使用可能であること、または、それがデータを暗号化サインするのに使用されることを特定してよい。パーミションはそれが使用される前に一致するクレデンシャルによりアクティブ化されなければならない。このシステム内のクレデンシャルは、検証可能な暗号サーティフィケートの形式を取る。第1セキュリティコンテキスト5のCBLOBは、KBLOBのプライベートハーフが一時的なものであること、第2セキュリティコンテキスト7が信用されたソースによって製造されたこと、および、第2セキュリティコンテキスト7の状態がキーを貸与するのに適切であることを認証する。
ステップS606は、暗号キーKtenantおよび対応するアクセス制御リストを第1セキュリティコンテキスト5内で第1パブリックキーKBLOB pubによって暗号化する工程を有する。第1プロセッサ17は、暗号キーKtenantおよび対応するアクセスコントロールリストを第1パブリックキーKBLOB pubによって暗号化するように構成されている。
第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間に通信チャネルが与えられ、かつ、サービスプロバイダーによってコントロールされる場合、それはサービスプロバイダーによる攻撃に対してオープンであるため、Ktenantのような高価値暗号キーの転送に対してテナントは信用しない。したがって、Ktenantのセキュリティは、第1パブリックキーKBLOB pubによるKtenantの暗号化によりテナントによって行使される。第1サーティフィケートCBLOBにより、テナントは、Kblobのプラべートランザクションハーフが第2セキュリティコンテキスト7を離れることができないことを認証することができる。したがって、第1パブリックキーKBLOB pubによりKtenantの暗号化により、テナントは、サービスプロバイダーが通信チャネルを攻撃しても、Ktenantはサービスプロバイダーから安全であることを保証することができる。
こうしてテナントの暗号化は、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間の信用に根ざした安全チャネルを提供する。これにより、第1セキュリティコンテキスト5および第2セキュリティコンテキスト7によって信用されないより高レベルの安全認証チャネルが、テナントおよびサービスプロバイダーサイト間で使用可能となる。このより高いレイヤーの安全チャネルは、ロードバランサまたはファイアウォールアプライアンスを使ってサービスプロバイダーによって提供されてもよい。テナントキーの暗号化により、外部セキュリティサービスを信用する必要性なしにコンテキストのセキュリティを与えつつ、サービスプロバイダーは、サービスの停止のような攻撃を緩和するのにこのインフラストラクチャーを使用しつづけることができる。
BLOB pubは、Ktenantの暗号化の後にテナントによって破棄される。
実施形態において、暗号キーKtenantの起源を承認可能な情報は、サイン済みの暗号化されたテナントキーおよびアクセスコントロールリスト{{Ktentnat、ACL}KBLOB pubKtenant−sign privである。
ステップS607において、ステップS606からの出力blobは、Ktenant−signのプライベートハーフを使って暗号化サインされる。第1プロセッサ17は、Ktenant−signのプライベートハーフによりステップS606からの出力blobを暗号化サインするように構成されている。
ステップS608において、暗号化された暗号キーおよび対応するアクセスコントロールリスト{Ktenant,ACL}、および暗号キーKtenantの起源を認証可能な情報が第2セキュリティコンテキスト7に送信される。実施形態において、メッセージの起源を認証可能な情報もまた送信され、それは、例えば、Ktenant−signのパブリックハーフのハッシュであってよい。
実施形態において、メッセージの起源を認証可能な情報は、Ktenant−signpubのハッシュ、暗号化blob、サインキーのハッシュ、およびサインを含み、第2セキュリティコンテキスト7に送信される。サインは、暗号キーKtenantの起源を認証可能な情報である。第1トランシーバ13は、暗号化blob、ステップS607からのサイン済み出力blob、およびKtenant−signのパブリックハーフのハッシュを第2セキュリティコンテキスト7へ送信するように構成されている。
許容キーKBLOB pubが与えられると、それは、テナントが十分な暗号の長さとして定義したキーKBLOB pubであり、登録されるべきキーKtenantが第1のセキュリティコンテキスト5においてKblobのパブリックハーフによって暗号化される。上述したように、Ktenantは、パーミション−クレデンシャルペア、すなわち、キー材料が使用可能な許容オペレーションを特定し、かつ、Ktenant−signのプライベートハーフによってサインされなければならないサーティフィケートによってアクティブ化されるACLを有する。暗号化blobはKtenant−signのパブリックハーフを使ってサインされ、暗号化blob、サインおよびKtenant−signのパブリックハーフのハッシュは、第2セキュリティコンテキスト7に送信される。
サービスプロバイダー内の第2セキュリティコンテキストへの暗号キーKtenantの転送は、暗号キーKtenantを暗号化するのに使用されるキーはプレインテキストで回復不能であるので、サービスプロバイダーおよび他の攻撃者から安全である。Kblob privは第1セキュリティコンテキスト5から第2セキュリティコンテキスト7へ送信されるデータをうまく解読するのに要求される。Kblob privは一時的なものであり、サービスプロバイダーまたはサードパーティーによってアクセス不能かつ変更不能である。
図6Bは、本願発明の実施形態に従う、第1セキュリティコンテキスト5から第2セキュリティコンテキスト7へ暗号キーKtenantを転送する方法のさらなるステップを示すフローチャートである。
ステップS609において、暗号キーKtenantの起源は、第2セキュリティコンテキスト7において認証される。実施形態において、これは、第1セキュリティコンテキスト5から送信されたメッセージ内に含まれたサインをまず検証することにより認証される。
実施形態において、Ktenant−signのパブリックハーフのハッシュは、メッセージの起源を同定するのに使用され、よってサインを検証するのに要求される正しいサインキーを同定する。
その後、サインはKtenant−signのパブリックハーフを使って検証される。第2セキュリティコンテキスト7内の第2プロセッサは、サインを検証するように構成されている。サインはKtenantのパブリックハーフを使って検証される。第2プロセッサは、所与のサインおよびパブリックキーKtenant−signがメッセージの信頼性の要求を受け入れるかまたは拒否するサイン検証アルゴリズムを実行するように構成されている。
その後、サインのコンテンツが暗号化blobと一致することが認証される。これは、暗号化blobの起源の認証を可能にする。
検証されかつ認証されると、方法はステップS610に進む。検証または認証されなければ、第1セキュリティコンテキスト5にエラーがリターンされる。例えば、“AccessDenied”を記述するメッセージが送られる。この時点で、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間の通信は終了する。
ステップS610は、暗号化した暗号キーKtenantおよび対応するアクセスコントロールリストを、第2セキュリティコンテキスト7において第1プライベートキーKBLOB privにより解読する工程を有する。第2プロセッサ19は、暗号化された暗号キーKtenantおよび対応するアクセスコントロールリストを解読するように構成されている。第2プロセッサ19は、所与の暗号化された暗号キーKtenantおよび対応するアクセスコントロールリスト、および第1プライベートキーKBLOB privを解読するアルゴリズムを実行するように構成されている。
ステップS611は、暗号キーKtenantおよびACLを、第2セキュリティコンテキスト7において第3暗号キーによって再暗号化する工程を有する。この工程は、暗号キーKtenantおよびACLが第2セキュリティコンテキスト7の外部に格納されるように実行される。代替的実施形態において、この工程は、省略され、暗号キーKtenantおよびACL、および暗号キーKtenantの起源を同定する情報は、第2セキュリティコンテキスト7内で解読され格納される。
ACLは、キーのどのタイプのパラメータがKtenantを暗号化するのに使用可能であるかおよび、どの暗号化メカニズムが使用可能であるかを特定する。
ACLは、パーミッション、すなわち、Ktenantが、第2セキュリティコンテキスト7を離れることができないキーによってのみ暗号化され、かつ、管理者すなわちサービスプロバイダーによりコントロール不能であることを記述するポリシーを有する。パーミションはまた、テナントキーKtenantを暗号化するのに使用可能であるキーのタイプおよびメカニズムを含む。例えば、テナントキーKtenantは、256ビットのAESキーを有するAES−GCM(Galois/Counter mode)暗号を使ってのみ暗号化される。
暗号化メカニズムは、信頼性、インテグリティおよび秘密性またはそれらの特定のサブセットを保証するニーズを特定する。
第2セキュリティコンテキスト7は、ACLポリシー要求に一致する既存のキーを再利用するか、または、新しいキーを作成する。
暗号キーKtenantおよびACLは、特定されたメカニズムおよび、特定された要求に一致する第3の暗号キーを使って第2セキュリティコンテキスト7内で暗号化される。第2プロセッサは、第3暗号キーにより暗号キーKtenantを暗号化するように構成されている。実施形態において、暗号キーKtenantは第2セキュリティコンテキスト7を離れることができないキーによって格納用に暗号化される。
暗号キーKtenantおよびACLは、認証された暗号アルゴリズムを使って暗号化されてよい。
実施形態において、暗号キーKtenantおよびACLは認証された暗号アルゴリズム、例えばAES−GCMで暗号化されるように入力され、一方、暗号キーKtenantの起源を同定可能な情報は認証されたデータパラメータとして入力される。実施形態において、暗号キーKtenantの起源を同定可能な情報はKtenant−signのパブリックハーフである。実施形態において、Ktenantのハッシュがまた暗号キーKtenantとともに格納され、例えば、Ktenantのハッシュは、暗号化されたデータが格納されたファイルの名前であってよい。
再暗号化された暗号キーKtenantおよび対応するアクセスコントロールリスト、および暗号キーKtenantの起源を同定可能な認証情報が、第2セキュリティコンテキスト7の外部のデバイスメモリへ転送される。
暗号キーKtenantの起源を同定可能な情報は、暗号化された暗号キーKtenantおよびアクセスコントロールリストと同じデータ構造で格納されるが、必ずしも暗号化されなくてよい。しかし、暗号キーKtenantの起源を同定可能な情報は、信頼性保護されており、その結果それは通知なしで変更不能である。
上述したステップにおいて、受信すると、第2セキュリティコンテキスト7がKtenant−signのパブリックハーフを使ってペイロードサインを検証する。受信したペイロード内に含まれたハッシュは、テナントのサインキーのパブリックハーフを同定するのに使用される。受信したペイロードサインは、同定されたサインキーを使って検証される。ペイロードの検証が成功すると、KtenantACLにより行使され、後の使用のために第2セキュリティコンテキスト7の外部でKtenant−signのパブリックハーフとともに格納される際に、KtenantはKblobのプライベートハーフを使って解読され、回復不能キーの下で再暗号化される。代替的に、キーKtenantは第2セキュリティコンテキスト7内の保護された不揮発性メモリ内に解読されて格納される。両方の場合において、解読キーは、安全で、改ざん防止された方法で格納される。
tenantが格納される方法がそのパーミションまたはポリシーによって記述される。特に、生成時において、許可されたパーミッションは、Ktenantがどのように格納されるかを制限し、第2セキュリティコンテキスト7以外のサービスプロバイダーを含むだれかによってKtenantがアクセス不可能であるように設定される。
複数のテナントが単一のサービスプロバイダーとともにキーを格納する実施形態において、テナントキーの各々は、同じキーによって格納用に暗号化される。代替的に、各テナントキーは、例えば各テナントに対応するACL間で異なる格納パーミションが存在する場合には、異なるキーによって暗号化されてもよい。
図7Aは、本願発明の実施形態に従う暗号キー転送方法の一部である、キー登録方法の略示図である。当該方法は、図6Aおよび図6Bに関連して上述したステップS602からS611を有する。
キー登録メッセージは、第1セキュリティコンテキスト5から第2セキュリティコンテキスト7へ送信される。このメッセージに応答して、第1暗号キーペアKBLOBが第2セキュリティコンテキスト7で生成される。第2セキュリティコンテキスト7は、第1暗号キーペアKBLOBのパブリックハーフおひょびサイン済みの暗号サービスプロバイダー{CBLOBK2ID privを第1セキュリティコンテキスト5に送信し、そこでそれらは認証される。暗号キーKtenantは、第1セキュリティコンテキスト5においてKBLOB pubによって暗号化される。暗号化されたキー{KtenantKBLOB pubおよびハッシュ{Ktenant−sign pub}は、第1セキュリティコンテキスト5においてKtenant−sign pivによってサインされる。サイン済みメッセージは、第2セキュリティコンテキスト7に送信され、そこで認証される、暗号化されたキー{KtenantKBLOB pubは、管理者から安全である回復不能キーによって第2セキュリティコンテキスト7内で解読されかつ再暗号化される。暗号化されたテナントキーは、その後、第2セキュリティコンテキスト7の外部に格納される。
図7Bは、本願発明の実施形態に従う暗号キー送信方法のフローチャートである。
テナントは、第1セキュリティコンテキスト5内で、テナントキーのACLを設定する。その後、第1セキュリティコンテキスト5は、第2セキュリティコンテキスト7から第1パブリックキーKBLOB pubをリクエストする。第1セキュリティコンテキスト5は、例えば第2セキュリティコンテキスト7へリクエストメッセージを送信する。第1セキュリティコンテキスト5はその後、受信した第1パブリックキーKBLOB pubおよび第1暗号サーティフィケートCBLOBを認証する。これは、上述したステップS605に対応する。第1パブリックキーKBLOB pubおよび第1暗号サーティフィケートCBLOBが認証されなければ、エラーがリターンされる。それらが認証されれば、第1セキュリティコンテキスト5は、第1パブリックキーKBLOB pubによってテナントキーおよび関連するACLを暗号化する。これは、上述したステップS606に対応する。第1セキュリティコンテキスト5はその後、暗号化キーおよび関連ACL、およびKtenant−sign pubのハッシュをKtenant−sign privによってサインする。これは、上述したステップS607に対応する。その後、第1セキュリティコンテキスト5は、暗号化blob、Ktenant−signpubのハッシュ、およびサインを第2セキュリティコンテキスト7と交換する。これは、上述したステップS608に対応する。
図8Aは、テナントキーKtenantが第2セキュリティコンテキスト7にインポートされた後のテナントシステム1およびサービスプロバイダーシステム3の略示図である。実施形態において、KblobおよびCblobは一時的なものであり、Ktenantが送信されたら、第2セキュリティコンテキスト7および第1セキュリティコンテキスト5から削除される。
第1セキュリティコンテキスト5内の第1デバイスメモリ9はまた、第1パブリックキーKBLOB pubを格納する。代替的に、このキーは、インテグリティ保護された方法で、第1セキュリティコンテキスト5の外部に格納されてもよい。第2セキュリティコンテキスト内の第2デバイスメモリ11はまた、テナントキーKtenantおよび対応するACLを格納する。代替的に、テナントキーKtenantおよびACLは第2セキュリティコンテキスト7の外部に格納され、第2セキュリティコンテキスト7を離れることができない第3暗号キーによって暗号化されてよい。
図8Bは、改ざん防止の安全基準時間ソース2の略示図であり、それは、サービスプロバイダー、テナント、または、別のサードパーティーによってホストされてよい。サービスプロバイダーによってホストされれば、基準時間ソースは、第2セキュリティコンテキスト7の一部であるか、異なるセキュリティコンテキストであってよい。
時間ソース2は、第2デバイスメモリ35を有する。第3デバイスメモリ35は、複数キー、キーペアおよびサーティフィケートのような暗号情報を格納するように構成されている。第3デバイスメモリ35は、例えばフラッシュ、光学ディスクまたは磁気ハードドライブなどの任意の形式の不揮発性デバイスメモリを有する。時間ソース2はまた揮発性メモリを有する。
第3デバイスメモリ35は、対応するサイン済みのオペレーションサーティフィケート{CTSIDKman privとともにユニークな非対称識別キーKTSIDを格納する。KTSIDはデータの起源および安全性を証明するのに使用されるサインである。生成サーティフィケートCTSIDは、例えば、キーのタイプ、キーの長さなどのキーのパブリックパラメータを記述してよい。生成サーティフィケートCTSIDは、識別キーKTSIDが時間ソース2内で生成されたことを認証する情報を有する。例えば、姿勢サーティフィケートCTSIDは、KTSIDのパブリックハーフのサイン済みハッシュを有してよい。生成サーティフィケートCTSIDはまた、例えば、デバイスのユニークは識別子に関連する情報、製造業者を同定する情報、デバイスバージョン、ハードウエアバージョン、ソフトウエアのタイプ、モデルのサポート特徴などの状態情報を有する。生成サーティフィケートCTSIDは、第1セキュリティコンテキスト5および第2セキュリティコンテキスト7の両方によって信用された製造業者によってサインされる。生成サーティフィケートは、製造業者非対称キーのプライベートハーフKman privによって暗号化サインされる。製造業者は、第1セキュリティコンテキストを形成するセキュリティアプライアンス、第2セキュリティコンテキストおよび時間ソース2を形成する第2セキュリティアプライアンスを製造したサードパーティーであってよい。
時間ソース2はさらに、第3トランシーバ39を有する。第3トランシーバ39は、データパケットを送受信するように構成されている。データパケットは、例えば無線インターネット接続を介して、トランシーバ39において送受信される。
時間ソース2はさらに第3プロセッサ41を有する。第3プロセッサ41は、暗号キーおよび非対称暗号キーペアの生成、暗号キーまたは非対称暗号キーペアに対応するサーティフィケートの生成、暗号キーに対応するアクセスコントロールリストの生成、暗号キーに対応する使用サーティフィケートの生成、第3デバイスメモリ35内に格納される暗号キーによるオブジェクトの暗号化、第3デバイスメモリ35内に格納された暗号キーによる暗号化オブジェクトの解読、第3デバイスメモリ35内に格納された暗号キーによるオブジェクトの暗号化サイン、第3デバイスメモリ35内に格納された情報に基づくオブジェクトのサイン検証および認証などの、暗号オペレーション実行するように構成されている。
時間ソース2はさらに、クロック37を有する。クロック37は、単調クロック、すなわち、時間を通じて単調に増加するカウンタであってよい。クロックは、高度に正確な日時を表す。実施形態において、クロックは、1秒またはそれ以上に正確である。例えば、クロックは、40ナノ秒のオーダーで正確であるGPS信号に基づいてよい。
時間ソース2は、デバイス全体をカバーし、下層の物理的ハードウエアを破壊する、したがって使用不能にすることなく除去不可能である薄膜のような物理的セキュリティを含むことにより改ざん防止されてよい。
図8Aおよび図8Bに示す3つのサービスは、1)テナントによって所有されかつ操作される、例えば安全アプライアンスのような第1セキュリティコンテキスト5、2)サービスプロバイダーによって所有されかつ操作される、例えば一つ以上の安全アプライアンスなどの第2セキュリティコンテキスト7、および3)サービスプロバイダー、外部のサードパーティー、またはテナントによって所有され、既知の安全プロパーティーのセットを有する信用されたサードパーティーによって構築されたこを検証でき、かつ、同じルールを遵守する協働サービスのセットである、信用された時間ソース2を有する。テナントは、協働サービスを構築するが、これらのサービスのいくつかをホストしているサービスプロバイダーを信用していないことが仮定されている。セキュリティコンテキストは、リクエストが負荷分散された交差クラスタを形成し、かつ、暗号プリミティブのセットを共有するひとつ以上の安全アプライアンスであってよい。
第1セキュリティコンテキスト5、第2セキュリティコンテキスト7および基準時間ソース2の各々は、暗号サーティフィケートを使って検証可能に同定され、それは、例えば製造時に生成されてよい。各々は、制限されないことを意味する方法でアイデンティティを安全に格納することができる。第1セキュリティコンテキスト5、第2セキュリティコンテキスト7または基準時間ソース2の同定は、起源の保証を与える。
また、第1セキュリティコンテキスト5、第2セキュリティコンテキスト7および基準時間ソース2の各々の構成および状態は、拒絶可能な方法で認証可能である。ソースの起源および状態は、他のサービスが信用を置くことができる十分な情報を画定する。
各コンポーネントは、例えば製造時に、工場で生成されたKIDを含む。各コンポーネントはまた製造業者によってのみ知られた非対称キーを使ってサインされたKIDに対するキーサーティフィケートを含む。製造業者キーのパブリックハーフは、純正アプライアンスを認証する信用のルートとして使用され得る。
以下で説明される、基準時間ソース2と第2セキュリティコンテキストとの間での暗号サーティフィケートおよび暗号キーの転送は、サービスプロバイダーによって与えられかつコントロールされる、基準時間ソース2と第2セキュリティコンテキスト7との間の安全な認証済みチャネルを通じて生じる。チャネルはサードパーティーから安全であるが、サービスプロバイダーによる攻撃にはオープンであり、したがって信用されない。
図9に関連して以下で説明されるパブリックキーおよびサーティフィケートの交換により、第2セキュリティコンテキスト7と時間ソース2との間で信用された関係が確立可能になる。
図9は、第2セキュリティコンテキスト7とともに時間ソース2を登録する方法を示すフローチャートである。これは、本願発明の実施形態に従う暗号キー転送方法の任意の時点で、または、本願発明の実施形態に従う暗号キーの使用をコントロールする方法の一部として実行可能である。例えば、時間ソース2を登録する方法は、第2セキュリティコンテキスト7の管理者が第2セキュリティコンテキスト7内のアプライアンスを設定するとき、すなわち、認証が実行されるときに実行されてよい。これは、まれな処理であり、一度だけ実行が必要なものである。時間ソース2の登録後に、第2セキュリティコンテキスト7はその後、潜在的なテナントへ、信用された時間ソースに関連する情報をブロードキャストする。したがって、テナントは最初に、どの時間ソースがサービスプロバイダーをサポートするかを知り、図10に関連して以下で説明するように、時間ソースの信頼性、状態およびコンフィギュレーションを認証することにより、キーの登録が始まる前に、これらの時間ソースが受け入れ可能か否かについて決定することができる。
基準時間ソース2が第2セキュリティコンテキスト7の一部であれば、第2セキュリティコンテキスト7とともに時間ソース2を登録する必要はなく、これらのステップは実行されない。
基準時間ソース2は、図8に関連して上述したように、デバイスメモリ35およびクロック37を有する。
ステップS901において、時間ソースの識別キーのパブリックハーフKTDID pubおよび生成サーティフィケート{CTSIDKman privが、第2セキュリティコンテキスト7からの質問メッセージに応答して、基準時間ソース2から第2セキュリティコンテキスト7へ送信される。基準時間ソース2内のトランシーバ39は、時間ソースの識別キーのパブリックハーフKTSID pubおよび生成サーティフィケート{CTSIDKman privを第2セキュリティコンテキスト7内の第2トランシーバ15に送信するように構成されている。時間ソースデバイス2に関連する情報は、同じメッセージ内で送信されてよい。この場合、デバイスの状態に関連する情報は、状態情報の認証を許可するために、生成サーティフィケート内にも含まれる。
ステップS902において、生成サーティフィケート{CTSIDKman privは第2セキュリティコンテキスト7において検証される。第2セキュリティコンテキスト7内の第2プロセッサ19は、生成サーティフィケート{CTSIDKman privを検証するように構成されている。生成サーティフィケートは、信用された製造業者キーのパブリックハーフKman pubを使って検証される。第2プロセッサ19は、所与のサイン済みメッセージ{CTSIDKman privおよびパブリックキーKman pubがメッセージの信頼性の要求を受け入れるかまたは拒絶するサイン検証アルゴリズムを実行するように構成されている。
その後、時間ソースの識別キーのパブリックハーフKTSID pubの信頼性が、第2セキュリティコンテキスト7において認証される。第2セキュリティコンテキスト7内の第2プロセッサ19は、時間ソースの識別キーのパブリックハーフKTSID pubを認証するように構成されている。生成サーティフィケートCTDIDが時間ソースの識別キーのパブリックハーフKTSID pubのハッシュを有するところの実施形態において、時間ソースの識別キーのパブリックハーフKTSID pubの信頼性は、時間ソースの識別キーのパブリックハーフKTSID pubのハッシュを計算し、それが生成サーティフィケートCTSID内に含まれるものと一致することを認証することにより、認証される。
ステップS903において、第2セキュリティコンテキスト7はまた、メッセージ内に含まれる任意の状態情報が要求と一致することを認証する。
サインが認証され、かつ、状態情報が認証されれば、時間ソースの識別キーのパブリックハーフKTSID pubは、第2セキュリティコンテキスト7の第2デバイスメモリ11内に格納される。代替的に、それは、第2セキュリティコンテキスト7によってインテグリティ保護され、かつ、第2セキュリティコンテキスト7の外部の不信用ストレージ内に格納される。
サインが認証されないか、または、キーまたは状態情報が認証されなければ、エラー、が時間ソース2にリターンされ、例えば、“AccessDenied”を記述するメッセージが送信される。この時点で、第2時間ソースと第2セキュリティコンテキスト7との間の通信は終了する。
上述したステップにおいて、第2セキュリティコンテキスト7は、基準時間ソース2により信用を確立する。したがって、第2セキュリティコンテキスト7は、サーティフィケートチェーンを通じて、起源、状態および信頼性を認証することにより、時間ソース2により信用を確立する。
信用が確立されると、第2セキュリティコンテキスト7はステップS904において時間ソース2からコンフィギュレーション情報をリクエストする。第2セキュリティコンテキスト7内のトランシーバ15は、時間ソース2に情報をリクエストするメッセージを送信する。
ステップS905において、リクエストに応答して、時間ソース2は、クロックおよびセキュリティ設定に関する正確な情報を含む、時間ソース2のコンフィギュレーションに関連する情報を含むコンフィギュレーション情報、セットアップされた暗号プリミティブ、時間ソースが実行中のソフトウエアのバージョン、および、検出された任意の例外を含む、時間ソース2の状態を生成する。時間ソース2内の第3プロセッサ41は、このメッセージを生成するように構成されている。
ステップS906において、応答メッセージは、時間ソースの識別キーのプライベートハーフKTSID privによってサインされる。時間ソース2内の第3プロセッサ41は、時間ソースの識別キーのプライベートハーフKTSID privによって、メッセージを暗号化サインするように構成されている。
ステップS907において、サインおよび構成情報が第2セキュリティコンテキスト7に送信される。時間ソース2内のトランシーバ39は、第2セキュリティコンテキスト7へサイン済みのメッセージを送信するように構成されている。
ステップS908において、第2セキュリティコンテキスト7は、時間ソースの識別キーのパブリックハーフKTSID pubを使って応答サインを検証する。第2セキュリティコンテキスト5内の第2プロセッサ19は、サインを検証するように構成されている。サインは、時間ソースの識別キーのパブリックハーフKTSID pubを使って検証される。第2プロセッサ19は、所与のサイン済みメッセージおよびパブリックキーKTSID pubがメッセージの信頼性の主張を受け入れるかまたは拒絶するサイン検証アルゴリズムを実行するように構成されている。
ステップS909において、時間ソースコンフィギュレーションが許容トレランス内にあるか否かに関するチェックが実行される。コンフィギュレーション情報は、それがサービスプロバイダーの要求に一致することを認証するようにチェックされる。
コンフィギュレーション情報は、タイムスタンプが第2セキュリティコンテキスト7によって要求されているか否かを、コンフィギュレーション情報を再度リクエストすることにより、再チェック可能である。
システム内のずべてのアプライアンスの状態およびコンフィギュレーション、すなわち、第1セキュリティコンテキスト5、第2セキュリティコンテキスト7、および、基準時間ソース2は、アプライアンス内に与えられた状態エントリーから得られる。初期化の後、各アプライアンスは、このフィールドを更新し、クライアントが新しいアプライアンス設定を暗号化検証できるように新しいコンフィギュレーションメッセージを生成する。
サインの検証が成功し、かつ、時間ソース2のコンフィギュレーションがトレランスの範囲にあれば、方法はステップS910に進む。そうでなければ、エラーが時間ソース2にリターンされ、例えば“AccessDenied”を記述するサインが送られる。この時点で、時間ソース2と第2セキュリティコンテキスト7との間の通信は終了する。
ステップS910において、時間ソース2を同定する情報、および、時間ソース2が第2セキュリティコンテキスト7によって信用されたことを示す情報を有するメッセージが第1セキュリティコンテキスト5に送信される。時間ソース2を同定する情報は、例えば時間ソース2の識別キーのパブリックハーフのハッシュ、または、時間ソース2のIPアドレスなどのユニークな識別番号を有する。第2セキュリティコンテキスト7内のトランシーバ15は、時間ソース2を同定する情報、および、時間ソースが信用されていることを示す情報を第1セキュリティコンテキスト5に送信するように構成されている。時間ソース2を同定する情報および時間ソース2が信用されていることを示す情報は、第2セキュリティコンテキスト7のデバイスメモリ11に、または、インテグリティ保護される方法で第2セキュリティコンテキスト7の外部に格納される。
実施形態において、第2セキュリティコンテキスト7は、時間ソース2を信用済み時間ソースのリストへ追加する。基準時間ソースのユニークな識別子は、リストに追加されてよい。信用済み時間ソースのリストは、その後、第2セキュリティコンテキストによってブロードキャストされる。第1セキュリティコンテキスト5は、第2セキュリティコンテキスト7から信用済み時間ソースのリストを受信する。
ひとつ以上の信用済み時間ソースを同定する情報が受信されると、第1セキュリティコンテキストは問いあわせをし、第2セキュリティコンテキスト7と同じ方法で、時間ソースの信頼性、状態およびコンフィギュレーションを認証する。図10は、このプロセスを示すフローチャートである。これは、本願発明の実施形態に従うキー転送方法の一部として、任意のポイントで、または、本願発明の実施形態に従う暗号キーの使用をコントロールする方法の一部として実行可能である。
代替的に、基準時間ソース2が第1セキュリティコンテキスト5の一部であれば、以下のステップが実行されない。
また、基準時間ソース2が第1セキュリティコンテキスト5によって最初に同定される場合、以下のステップが実行され、その後時間ソース2に関連する情報が第2セキュリティコンテキスト7に送信され、その後、それが時間ソースを認証する。
以下で説明するように、基準時間ソース2と第1セキュリティコンテキスト5との間での暗号サーティフィケートおよび暗号キーの転送は、基準時間ソース2と第1セキュリティコンテキスト5との間の安全で、認証されたチャネルを通じて生じる。時間ソースがサービスプロバイダーによって与えられる場合、チャネルはサービスプロバイダーまたはプロキシによって与えられかつコントロールされる。時間ソースがサードパーティー時間サービスプロバイダーによって与えられる場合、チャネルはテナントと時間サービスプロバイダーとの間に直接与えられてよい。このチャネルは、時間サービスプロバイダーまたはプロキシによって与えられてよい。チャネルはサードパーティーから安全であるが、時間サービスプロバイダーによる攻撃に対してオープンである点に注意すべきである。以下で説明される基準時間ソース2と第2セキュリティコンテキスト7との間の暗号サーティフィケートおよび暗号キーの転送は、基準時間ソース2および第2セキュリティコンテキスト7との間の安全で認証されたチャネルを通じて生じる。
図10に関連して以下で説明されるパブリックキーとサーティフィケートの交換により、第1セキュリティコンテキスト5と時間ソース2との間に信頼された関係が確立可能である。
ステップS1001において、時間ソースの識別キーのパブリックハーフKTSID pub、生成サーティフィケート{CTSIDKman priv、およびコンフィギュレーションサーティフィケート{CTSIDKman privが、第1セキュリティコンテキスト5からの問いあわせメッセージに応答して、基準時間ソース2から第1セキュリティコンテキスト5へ送信される。基準時間ソース2内のトランシーバ39は、時間ソースの識別キーのパブリックハーフKTSID pubおよび生成サーティフィケート{CTSIDKman privを、第1セキュリティコンテキスト5内の第1トランシーバ13へ送信するように構成されている。時間ソースデバイスの状態に関連する情報は、同じメッセージ内で送信されてよい。デバイスの状態に関連する情報はまた、状態情報を認証するために、この場合生成サーティフィケート内に含まれる。
ステップS1002において、生成サーティフィケート{CTSIDKman privは、第1セキュリティコンテキスト5において検証される。第1セキュリティコンテキスト5内の第1プロセッサ17は、生成サーティフィケート{CTSIDKman privを検証するように構成されている。生成サーティフィケートは、信用された製造業者キーのパブリックハーフKman pubを使って検証される。第1プロセッサ17は、所与のサイン済みメッセージ{CTSIDKman privおよびパブリックキーKman pubがメッセージの安全性の主張を受け入れるかまたは拒絶するサイン認証アルゴリズムを実行するよう構成されている。
時間ソースの識別キーのパブリックハーフKTSID pubの信頼性は、その後、第1セキュリティコンテキスト5において認証される。第1セキュリティコンテキスト5内の第1プロセッサ17は、時間ソースの識別キーのパブリックハーフKTSID pubを認証するように構成されている。生成サーティフィケートCTSIDが時間ソースの識別キーのパブリックハーフKTSID pubのハッシュを有するところの実施形態において、時間ソースの識別キーのパブリックハーフKTSID pubの信頼性は、時間ソースの識別キーのパブリックハーフKTSID pubのハッシュを計算し、それが晴雨性サーティフィケートCTSID内に含まれるものと一致することを認証することにより認証される。
ステップS1003において、第1セキュリティコンテキスト5はまた、メッセージ内に含まれる任意の状態情報から、デバイスの状態が要求に一致することを認証する。
サインが検証され、かつ、キーおよび状態情報が検証されれば、時間ソースの識別キーのパブリックハーフKTSID pubは、第1セキュリティコンテキスト5内の第1デバイスメモリ9内に格納される。代替的に、それは、第1セキュリティコンテキスト5によってインテグリティ保護され、第1セキュリティコンテキスト5の外部の不信用ストレージ内に格納される。
サインが検証されず、または、キーまたは状態情報が認証されなければ、エラーが時間ソース2にリターンされ、例えば、“AccessDenied”を記述するメッセージが送信される。この時点で、時間ソース2と第1セキュリティコンテキスト5との間の通信が終了する。
上述したステップにおいて、第1セキュリティコンテキスト5は、基準時間ソース2によって、信用を確立する。したがって第1セキュリティコンテキスト5は、時間ソースへ安全な接続を作成し、かつ、その起源および信頼性をサーティフィケートチェーンを通じて認証することにより時間ソース2によって信用を確立する。
信用が確立されると、第1セキュリティコンテキスト5は、ステップS1004において時間ソース2からコンフィギュレーションおよび状態情報をリクエストする。第1セキュリティコンテキスト5内のトランシーバは、時間ソース2へ情報をリクエストするメッセージを送信する。
ステップS1005において、リクエストに応答して、時間ソース2は、クロックおよびセキュリティ設定に関する正確な情報を含む、時間ソース2のコンフィギュレーションを含むメッセージ、セットアップされた暗号プリミティブ、時間ソースが実行中のソフトウエアのバージョン、および、検出された任意の例外を含む時間ソースの状態を生成する。時間ソース内の第3プロセッサ41は、コンフィギュレーション情報を生成するように構成されている。
メッセージは、第2セキュリティコンテキスト7に送信されたメッセージを同じであってよい。代替的に、異なる情報を含むメッセージが、図2Bに関連して説明したものと類似の方法で生成されかつ送信されてもよい。メッセージは、基準時間ソースに適用される特定のコンフィギュレーションに関連する情報を有してよい。
ステップS1006において、応答メッセージが、時間ソースの識別キーのプライベートハーフKTSID privによってサインされる。時間ソース内の第3プロセッサ41は、時間ソースの識別キーのプライベートハーフKTSID privによってメッセージを暗号化サインするように構成されている。
ステップS1007において、メッセージおよびサインは、第1セキュリティコンテキスト5に送信される。時間ソース2内のトランシーバ39は、サイン済みのメッセージを第1セキュリティコンテキスト5に送信するように構成されている。
ステップS1008において、第1セキュリティコンテキスト5は、時間ソースの識別キーのパブリックハーフKTSID pubを使って応答サインを検証する。第1セキュリティコンテキスト5内の第1プロセッサ17は、サインを検証するように構成されている。サインは、時間ソースの識別キーのパブリックハーフKTSID pubを使って検証される。第1プロセッサ17は、所与のサイン済みメッセージおよびパブリックキーKTSID pubがメッセージの安全性の主張を受け入れるかまたは拒絶するサイン検証アルゴリズムを実行するように構成されている。
ステップS1009において、時間ソース構成および時間ソース状態が許容されるトレランス内にあるか否かに関するチェックが実行される。情報は、それがテナントの要求に一致することを認証するためにチェックされる。実施形態において、コンフィギュレーション情報は、第2セキュリティコンテキスト7へKtenantを転送する直前にリクエストされかつチェックされる。これは、最新のコンフィギュレーション情報が認証されることを保証する。
サインの認証が成功し、かつ、時間ソース2のコンフィギュレーションおよび状態がトレランス内にあれば、時間ソース2を同定する情報および時間ソースが信用されることを示す情報が、第1セキュリティコンテキスト5のデバイスメモリ9内に格納されるか、または、インテグリティ保護される方法で第1セキュリティコンテキスト5の外部に格納される。そうでなければ、エラーが時間ソース2にリターンされ、例えば“AccessDenied”を記述するメッセージが送信される。この時点で、時間ソース2と第1セキュリティコンテキスト5との間の通信は終了する。
コンフィギュレーション情報は、タイムスタンプが第2セキュリティコンテキスト7によって要求されたタイムスタンプであるか否かを、コンフィギュレーション情報を再度要求することにより、再チェックされる。
図11は、本願発明の実施形態に従う暗号キーKtenantの使用を制御する方法を示すフローチャートである。暗号キーKtenantは、例えば使用サーティフィケートのような使用クレデンシャルが、暗号キーKtenantの使用の第1のタイプを許可するために与えられなければならないことを特定するアクセスコントロールリストとともにサービスプロバイダー内に安全に格納される。
代替的実施形態において、暗号キーKtenantの代わりに、他の種類のデータがサービスプロバイダーシステム内に安全に格納され、このデータの使用がコントロールされる。アクセスコントロールリストは、データの第1のタイプの使用を許可するために有効使用サーティフィケートが与えられなければならないことを特定するデータと一緒に格納される。以下において、方法および装置はテナントキーの使用を参照して説明されるが、他の種類のデータがテナントキーと置換されてよく、同じ方法で使用可能である。
インポートされたキーの使用を可能にするプロセスは、キー承認と呼ばれる。
テナントが、サービスプロバイダーの暗号インフラストラクチャー内でそのキーを使用可能にしたいポイントにおいて、テナントは使用サーティフィケートを生成する。
ステップS1101は、第1セキュリティコンテキスト5内で使用クレデンシャルを生成する工程を有する。実施形態において、使用クレデンシャルは、使用サーティフィケートである。第1セキュリティコンテキスト5内のプロセッサ17は、使用サーティフィケートを生成するように構成される。使用サーティフィケートは、使用サービスプロバイダーに対応する暗号キーKtenantを同定可能な情報、および、使用サーティフィケートの満期を決定可能な情報を有する。
実施形態において、使用サーティフィケートに対応する暗号キーKtenantを同定可能な情報は、Ktenantのハッシュを有する。
実施形態において、使用サーティフィケートの満期を決定可能な情報は、満了時間および基準時間ソースを同定する情報を有する。満了時間は、第1セキュリティコンテキスト5および第2セキュリティコンテキスト7の両方によって信用される基準時間ソース2を参照して計算される。基準時間ソース内の信用は、基準時間ソースに独立に接続され、時間ソースが信用されること、および、時間ソースがサービスプロバイダーのモジュール状態パラメータを通じて改ざん防止されることを認証して、第1セキュリティコンテキスト5および第2セキュリティコンテキスト7によって確認される。これは、図9および図10に関連して上述されており、キー転送の方法の前、または、例えばキー転送の後であってかつ使用サーティフィケートの生成前に実行されてよい。
使用サーティフィケートは、安全な時間ソース2を参照する有効時間間隔に関連する情報を有する。
したがって、キー承認は、クレデンシャルサーティフィケートを生成するテナントにより始まるか、または、“キーの使用”が、Ktenantのパーミション内で定義されたACLと一致することを認証する。換言すれば、使用サーティフィケートは、Ktenantに対応するアクセスコントロールリスト内で定義された要求を履行する。
実施形態において、クレデンシャルサーティフィケート、または、使用サーティフィケートは、Ktenant−signのプライベートハーフによってサインされる。
図12は、第1セキュリティコンテキスト5において使用サーティフィケートを生成する方法を示す。それは、本願発明の実施形態に従う暗号キーKtenantの使用をコントロールする方法の一部である。
ステップS1201において、基準時間ソース2が第1セキュリティコンテキスト5により選択される。ひとつ以上の時間ソースを同定する情報、および時間ソースが信用されることを示す情報は、第1セキュリティコンテキスト5のデバイスメモリ9内に格納されるか、または、インテグリティ保護される方法で、第1セキュリティコンテキストの外部に格納される。時間ソースのひとつは、第1セキュリティコンテキスト5によって選択される。
時間ソース2は、第2セキュリティコンテキスト7によってブロードキャストされる信用済み時間ソースのリストから選択されてよく、それに対して第1セキュリティコンテキストが信用を確立する。したがって、第2セキュリティコンテキスト7および第1セキュリティコンテキスト5の両方は、リスト上のひとつ以上の時間ソースによって信用を確立する。これらの時間ソースの各々は、必要な構成および状態を有する有効時間ソースである。第1セキュリティコンテキストは、ひとつ以上の有効時間ソースのリストから、時間ソース2を選択する。
ステップS1202において、第1セキュリティコンテキスト5は、選択した時間ソース2からカレントのタイムスタンプをリクエストする。第1セキュリティコンテキスト5内の第1トランシーバ13は、時間ソース2へリクエストメッセージを送信する。
ステップS1203において、時間ソース2は、タイムスタンプを含むメッセージを送信する。メッセージは、時間ソースを同定する情報、および、時間ソースクロックから決定される、メッセージ生成のカレント時刻を有する。時間ソースを同定する情報は、生成時間ソースの識別キーのパブリックKRSID pubのハッシュを有してよい。
メッセージはさらに、例えば時間ソースが改ざんされたことの指示に関連するカレントコンフィギュレーション情報を有する。その後、この情報は、使用サーティフィケート内でタイムスタンプを使用する前に、時間ソースが許容状態であるか否かをチェックするために、クライアントによって使用される。
ステップS1204において、メッセージは、時間ソースの識別キーのプライベートハーフKTDID privによってサインされる。時間ソース内の第3プロセッサ41は、時間ソースの識別キーのプライベートハーフKTDID privによってメッセージを暗号化サインするように構成される。
ステップS1205において、メッセージおよびサインは、第1セキュリティコンテキスト5に送信される。時間ソース2内のトランシーバ39は、サイン済みのメッセージを第1セキュリティコンテキスト5へ送信するように構成されている。
ステップS1206において、第1セキュリティコンテキスト5は、時間ソースの識別キーのパブリックハーフKTDID pubを使って応答サインを検証する。第1セキュリティコンテキスト5内の第1プロセッサ17は、サインを検証するよう構成されている。サインは、時間ソースの識別キーのパブリックハーフKTDID pubを使って検証される。第1プロセッサ17は、所与のサイン済みメッセージおよびパブリックキーKTDID pubが、メッセージの安全性の主張を受け入れるか拒否するサイン検証アルゴリズムを実行するように構成されている。サインの検証が成功すれば、方法はステップS1207に進む。成功しなければ、エラーが時間ソース2にリターンされ、例えば、“AccessDenied”を記述するメッセージが送信される。この時点で、時間ソース2と第2セキュリティコンテキスト7との間での通信は終了する。
コンフィギュレーション情報がメッセージ内に含まれれば、第1セキュリティコンテキスト5は、コンフィギュレーションが許容されることを認証する。カレントコンフィギュレーション情報がテナントにとって許容できない場合、その後使用サーティフィケートの生成が停止される。
ステップS1207において、テナントは、上述したタイムスタンプに基づいて、キーKtenantに対する完了時間を計算する。満了時間は、タイムスタンプに、テナントがサーティフィケートがアクティブであることを望む時間間隔を足した時間、例えば、タイムスタンプと一日以上の日数の和として計算される。
満了時間が通信遅延に比べて短い場合、通信遅延は例えば満了時間に因数分解される。この場合、満了時間は、タイムスタンプの時間、基準時間ソース2から第1セキュリティコンテキスト5までの通信遅延、第1セキュリティコンテキスト5から第2セキュリティコンテキスト7までの通信遅延、テナントがサーティフィケートがアクティブとなることを望む時間間隔の合計である。
テナントがサーティフィケートがアクティブであることを望む時間間隔は、アプリケーションに応じて、例えば、数秒または数日であってよい。
“開始時間”は、使用サーティフィケート内に含まれてよく、その結果、使用サーティフィケートは、サーティフィケートが有効である有効時間間隔を定義する。これにより、テナントは、使用に先立って、ひとつ以上のサービスプロバイダーを予め生成することができる。
ステップS1208において、満了時間、時間ソース参照、Ktenant参照および第2セキュリティコンテキスト7参照が、使用サーティフィケートに含まれる。
時間ソースまたは第2セキュリティコンテキスト7のようなシステムコンポーネント参照は、サーティフィケートを使用しているものに付随するユニークなIDであってよく、または、その識別キーKIDのパブリックハーフのハッシュであってよい。
第1セキュリティコンテキスト5内のプロセッサ17は、ステップS1207で計算された満了時間、時間ソース参照、Ktenant参照、および第2セキュリティコンテキスト7参照を含む使用サーティフィケートを生成するように構成されている。
実施形態において、Ktanant参照は、Ktenantのハッシュである。実施形態において、時間ソース2参照は、その識別キーKTSID−pubのパブリックハーフのハッシュである。実施形態において、第2セキュリティコンテキスト7参照は、その識別キーのパブリックハーフK2ID−pubのハッシュである。
図11に戻って、使用サーティフィケートが生成されると、それは使用サーティフィケートの起源を同定可能な情報とともに発行される。実施形態において、使用サーティフィケートの起源を同定可能な情報はKtenant−signpubのハッシュである。
ステップS1102において、使用サーティフィケートは、サインキーのプライベートハーフKtenant−signprivによってサインされる。第1セキュリティコンテキスト5内の第1プロセッサ17は、サインキーのプライベートハーフKtenant−signprivによってサーティフィケートを暗号化サインするように構成されている。
ステップS1103において、使用サーティフィケートは、使用サーティフィケートの起源を認証可能な情報とともに、サービスプロバイダーのアプリケーションサーバーへ送信される。使用サーティフィケートの起源を認証可能な情報はサイン、すなわち、サイン済みの使用サーティフィケートである。
第1トランシーバ13は、使用サーティフィケートをアプリケーションサーバーに送信するように構成されている。テナントキーを使用するこを望む他のエンティティーに、使用サーティフィケートが送信されてよい。これらのエンティティーは、第2セキュリティコンテキスト7と直接通信するか、または、アプリケーションサーバーを介して通信してよい。
使用サーティフィケートの起源を同定可能な情報はまた、使用サーティフィケートとともに送信されてよい。使用サーティフィケートの起源を同定可能な情報は、Ktenant−signpubのハッシュであってよい。使用サーティフィケートの起源を同定可能な情報は、サインを検証するのにどのサインキーを使用するべきかを同定するために含まれる。
したがって、第1セキュリティコンテキスト5は、サービスプロバイダーへ、使用サーティフィケート、サイン、およびKtenant−signpubのハッシュを送信する。その後、サービスプロバイダーによるキーの各使用は、第2セキュリティコンテキスト7に対するこの情報のプレゼンテーションを伴う。
ステップS1104において、使用サーティフィケート、サイン、および、Ktenant−signpubのハッシュである使用サーティフィケートの起源を同定可能な情報は、アプリケーションサーバーにより、第2セキュリティコンテキスト7へ与えられる。使用サーティフィケートは、アプリケーションサーバーがKtenantの使用を望むたびに与えられる。アプリケーションサーバーは、使用サーティフィケートとともに、要求されるテナントキーの使用を特定するリクエストメッセージを送信する。例えば、アプリケーションサーバーは、データファイル、第2セキュリティコンテキスト7がテナントキーによってデータファイルを暗号化することのリクエスト、使用サーティフィケート、および、Ktenant−signpubのハッシュである、使用サーティフィケートの起源を同定可能な情報を有するメッセージを、第2セキュリティコンテキスト7へ送る。
第2セキュリティコンテキスト7は、例えば、異なるテナントに関連する多くのパブリックキーに対してアクセスを有してよい。キーは、第2セキュリティコンテキスト7に格納されるか、または、認証済みの方法で第2セキュリティコンテキスト7の外部に可能される。第2セキュリティコンテキスト7は、Ktenant−signpubのハッシュである使用サーティフィケートの起源を同定可能な情報に基づいて、正しいサイン検証キーKtenant−signpubを識別する。その後、サイン済みサーティフィケートは、第2セキュリティコンテキスト7において検証される。第2セキュリティコンテキスト7内の第2プロセッサ19は、サインを検証するように構成されている。サインは、サインキーのパブリックハーフKtenant−signpubを使って検証される。第2のプロセッサ19は、所与のサイン済み使用サーティフィケートおよびパブリックキーKtenant−signpubがメッセージの安全性の主張を受け入れるか拒否するサイン検証アルゴリズムを実行するように構成されている。サインの検証が成功すれば、方法はステップS1105に進む。成功しなければ、エラーが第1セキュリティコンテキスト5にリターンされる。例えば“AccessDenied”を記述するメッセージが送信される。この時点で、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間の通信が終了する。
ステップS1105において、第2セキュリティコンテキスト7は、第2デバイスメモリ11内に格納されたアクセスコントロールリストに関する使用サーティフィケートを認証する。このステップの一部として、使用サーティフィケートが満了していないことが認証される。使用サーティフィケートは要求されたオペレーションを許可したこと、換言すれば、使用サーティフィケートが要求されるオペレーションまたは使用に対応するパーミションに関連するクレデンシャルと一致することが認証される。第2プロセッサ19は、使用サーティフィケートを認証するように構成される。例えば、サーティフィケートによって示される改ざんのためにサーティフィケートが無効であるか、期限満了であるか、または、ACLが要求されたオペレーションを許可しなければ、第2セキュリティコンテキスト7はエラーメッセージをアプリケーションサーバーにリターンする。
第2セキュリティコンテキスト7は、使用サーティフィケート内のKtenant参照から、使用サーティフィケートに対応する安全に格納されたテナントキーを同定する。
第2セキュリティコンテキストは、安全に格納されたテナントキーおよびACLをロードする。テナントキーのロードにより、第2セキュリティコンテント7内のプロセッサが利用可能となる。すなわち、すでに存在していなければ、デバイスメモリ9へテナントキーおよびACLを送信する。これは、第2セキュリティコンテキスト7の外部の不揮発性メモリデバイスからテナントキーおよびACLをロードすること、キーを暗号化すること、および、それを第2プロセッサで使用可能にすることを含む。
この時点で、第2セキュリティコンテキスト7は使用サーティフィケート、および、基準時間ソースに関して満了時間に達していないことを認証する。第2セキュリティコンテキスト7は、与えられたすべてのフィールドが予想通りであることを認証することにより、マッチングパーミッションを可能するべく使用サーティフィケートを使用する。
第2プロセッサ19は、Ktenant参照および第2セキュリティコンテキスト7参照が、キーKtenantに対応するACL内のもの、および、第2デバイスメモリ11内の格納されているものと一致することを確認するように構成されている。実施形態において、Ktenant参照は、Ktenantのハッシュである。実施形態において、第2セキュリティコンテキスト7参照は、識別キーのパブリックハーフK2ID pubのハッシュである。
tenant参照および第2セキュリティコンテキスト7参照がACL内のものと一致すれば、有効期間が満了したか否かが確認される。もし一致しなければ、エラーがアプリケーションサーバーにリターンされる。例えば、“CertificateExpired”を記述するメッセージが送信される。
第2プロセッサ19はまた、参照された時間ソース2に関して有効時間間隔が満了していないことを確認するように構成されている。実施形態において、第2セキュリティコンテキスト7は、使用サーティフィケート内の参照に対応する時間ソース2からカレントタイムスタンプを要求する。第2セキュリティコンテキスト7内の第2トランシーバ15は、時間ソース2へリクエストメッセージを送信するように構成されている。リクエストメッセージに応答して、時間ソース2は、カレントタイムスタンプを含むメッセージを生成する。メッセージは、時間ソースの識別キーのプライベートハーフKTSID privによりサインされる。時間ソース内の第3プロセッサ41は、時間ソースの識別キーのプライベートハーフKTSID privにより、メッセージを暗号サインするように構成されている。その後、サイン済みメッセージは第2セキュリティコンテキスト7へ送信される。時間ソース2内のトランシーバ39は、第2セキュリティコンテキスト7へサイン済みメッセージを送信するように構成されている。メッセージはまた、時間ソースのカレントのコンフィギュレーション情報を有する。
その後、第2セキュリティコンテキスト7は、時間ソースの識別キーのパブリックハーフKTSID pubを使って、応答サインを検証する。第2セキュリティコンテキスト7内の第2プロセッサ19は、サインを検証するように構成されている。サインは、時間曽於―すなわち、の識別キーのパブリックハーフKTSID pubを使って検証される。第2プロセッサ19は、所与のサイン済みメッセージおよびパブリックキーKTSID pubがメッセージの安全性の主張を受け入れるかまたは拒否するサイン検証アルゴリズムゴリを実行するように構成されている。
サインの認証が成功すれば、使用サーティフィケートが満了したか否かを判定するべく、カレントタイムスタンプは使用サーティフィケートに含まれる満了時間と比較される。もし成功しなければ、エラーがアプリケーションサーバーにリターンされ、例えば“AccessDenied”を記述するメッセージが送信される。この時点で、第1セキュリティコンテキスト5と第2セキュリティコンテキスト7との間の通信が終了する。
もし時間ソース2から受信したカレントタイムスタンプが使用サーティフィケート内に含まれる満了時間の前であれば、方法はステップS1106へ進む。そうでなければ、エラーがアプリケーションサーバーにリターンされる。例えば、“CerfufucateExpired”を記述するメッセージが送信される。その後、アプリケーションサーバーは、新しいサーティフィケートを与えるか、または、オペレーションを単純に終了することを、第1セキュリティコンテキスト5にリクエストする。
ステップS1106において、第2セキュリティコンテキスト7は、使用サーティフィケートが有効であり、かつ、満了していないことの条件のもとで、暗号キーKtenantの使用を許可する。サーティフィケートが有効であり、かつ、満了時間にまだ達していなければ、暗号オペレーションの進行が許可される。第2セキュリティコンテキスト7は、有効時間間隔でタレントキーを使用することができる。第2セキュリティコンテキスト7は、要求された使用に対応するACL内で必要なパーミションをアクティブにし、リクエストを許可するアクティブなパーミション用にACLをチェックする。その後、第2セキュリティコンテキスト7は、リクエストされたオペレーションを実行し、アプリケーションサーバーに結果をリターンする。例えば、アプリケーションサーバーが、データファイル、および、第2セキュリティコンテキスト7がテナントキーによってデータファイルを暗号化することのリクエストを有するメッセージを送信した場合、第2セキュリティコンテキスト7はテナントキーによってデータファイルを暗号化し、かつ、暗号化したデータファイルをアプリケーションサーバーにリターンする。
期限満了の時点またはその前に、テナントは、キーの満了時間を延長するべく新しいサーティフィケートを生成する。新しいサーティフィケートの生成が失敗すると、サービスプロバイダーによりキーは使用不能となる。実施形態において、第2セキュリティコンテキスト7は、使用サーティフィケートの満了前または満了時点で、第1セキュリティコンテキスト5に通知する。その後、新しい使用サーティフィケートが後の満了時間とともに第1セキュリティコンテキストにおいて生成される。代替的に、第2セキュリティコンテキスト7は、使用サーティフィケートの満了前または満了時点で、アプリケーションサーバーに通知する。その後、アプリケーションサーバーは第1セキュリティコンテキスト5から新しい使用サーティフィケートをリクエストする。代替的に、使用サーティフィケートは、アプリケーションサーバーによって読み出され、それは、満了前または満了時点で、第1セキュリティコンテキスト5から新しい使用サーティフィケートをリクエストする。代替的に、テナントまたはサービスプロバイダーによって所有される他のコンポーネントは、サーティフィケートをモニターし、満了に近いかまたは満了したサーティフィケートのリクエストをレイズする。
したがって、テナントシステム1は、安全な方法で、サービスプロバイダーシステム3に対して暗号キーKtenantを効果的に貸与する。サービスプロバイダーによるキーの使用は、使用サーティフィケート内でテナントの所有者によって設定されるように、信用された時間ソースを参照する満了時間によって暗号的に制限される。ACLは、暗号キーKtenantの使用が、未満了の使用サーティフィケートが与えられるときにのみ許可されることを特定する。また、テナントは、サービスプロバイダーによってどのようなキーが使用されるかを制限することができる。
図13は、本願発明の実施形態に従う暗号キーKtenantの使用をコントロールする方法の略示図である。
この方法は、テナントキーが第2セキュリティコンテキスト7において使用されており、かつ、満了時間に達した場合に対応する。第2セキュリティコンテキスト7またはアプリケーションサーバーは、基準時間ソース2から得られたカレント時間を使用サーティフィケート内の満了時間と周期的に比較し、この情報からサーティフィケートが満了したか否かを判定する。代替的に、第2セキュリティコンテキスト7が、満了したサーティフィケートを使用するリクエストが作成されたときにのみ、サーティフィケートが満了したことを判定してもよい。第2セキュリティコンテキスト7は、第1セキュリティコンテキスト5、アプリケーションサーバーまたは他のデバイスに、キーがタイムアウトしたことを通知してもよい。
第1セキュリティコンテキスト5は、上述したステップS1202に関連して上述したようなカレントタイムスタンプを要求して、通知に応答して時間ソース2へリクエストメッセージを送信するように構成される。
時間ソース2は、ステップS1203からS1205に関連して上述したように、時間情報を有するメッセージを生成しかつ送信するように構成される。
メッセージは、ステップS1206に関連して上述したように第1セキュリティコンテキスト5において検証され、ステップS1207からS1208に関連して上述したように使用サーティフィケートが生成され、かつ、ステップS1102に関連して上述したようにサインされる。使用サーティフィケートはステップS1103に関連して上述したようにサービスプロバイダーに送信され、ステップS1104に関連して上述したように、第2セキュリティコンテキスト7へ送信され、かつ、第2セキュリティコンテキスト7において検証される。使用サーティフィケートに対応する格納されたテナントキーがロードされ、ステップS1101に関連して上述したように、時間ソース2からカレントのタイムスタンプが得られかつ認証される。テナントキーのロードにより、プロセッサにより利用可能となる。すなわち、すでに存在していなければ、デバイスメモリ9へ送信される。これは、第2セキュリティコンテキスト7の外部の不揮発性メモリデバイスからタレントキーをロードすること、キーを解読すること、および、プロセッサにそれを使用可能にすることを含む。その後、キーは、ステップS1106に関連して上述しようにアクティブ化される。
図14は、本願発明の実施形態に従う、暗号キーKtenantの使用をコントロールする方法の略示図である。
最初のステップにおいて、第1セキュリティコンテキスト5は、時間ソース、状態、および、時間の生成サーティフィケートを時間ソース2から得る。その後、生成サーティフィケートおよびタイムスタンプサインは、第1セキュリティコンテキスト5において検証される。これは、ステップS1201からS1206に関連して上述した。
生成サーティフィケートおよびタイムスタンプサインが認証されれば、その後方法は、次のステップ“承認サーティフィケートの生成”に進む。認証されなければ、エラーがリターンされる。
使用サーティフィケートは、ステップS1207およびS1208に関連して上述したように生成される。その後、使用サーティフィケートは、ステップS1103に関連して上述したように第2セキュリティコンテキスト7へ送信される。
上述したステップは、すべてのキー材料がテナントと第2セキュリティコンテキスト7との間で暗号化されるので、サードパーティーおよび悪意のサービスプロバイダーによる攻撃に対して安全であるシステムを画定し、テナントキー材料は安全で、改ざん不可能なフォーマットで格納され、テナントキーは暗号的に行使される方法でテナントによって承認されたときにのみ信用され、コンポーネントスプーフィングは、識別キーKID、およびテナントおよびサービスプロバイダーの両方によって信用される製造業者によってサインされた生成サーティフィケートの存在により防止される。
上述したキー転送方法およびキーの使用をコントロールする方法は、テナントが、既知の起源の共有暗号インフラストラクチャーをホストしているサービスプロバイダーへ、暗号キーを安全に貸与することができることを意味する。テナントキーの使用は、暗号化保護された方法でテナントのコントロールの下にある。
キー転送方法の一部として、テナントは、自己ホストの安全なアライアンスである第1セキュリティコンテキスト内部でキーを生成する。
テナントのソースアライアンスである第1セキュリティコンテキスト5は、インフラストラクチャーが信用された製造業者を使って製造され、テナントに受け入れられる方法で構成され、かつ、キーを貸与するのに適していることを認証することにより、選択されたサービスプロバイダーである第2セキュリティコンテキスト7によってホストされる暗号インフラストラクチャーが、テナントによって受け入れられるルールのセットを遵守することを認証する。図2Aに関連して上述したステップS205は、インフラストラクチャーが信用された製造業者を使って製造されることの認証を許可する。生成サーティフィケートC2IDのサインが検証されれば、その後、第2セキュリティコンテキストが信用された製造業者により製造されたことが認証される。図2Bに関連して上述したステップS215は、テナントに受け入れられかつキーの貸与に適した方法で、インフラストラクチャーが構成されていることの認証を許可する。
さらに、テナントおよびサービスプロバイダーの暗号インフラストラクチャーは、テナントによって設定されたキー満了時間を行使するよう、信用された時間ソース2を使用し、それは、サードパーティーによってホストされてもよい。
上述したデバイスおよび方法により、複数のテナントの、ホストされた暗号ソリューションが、CSPによって与えられることができる。システムは、サードパーティーおよびCSP自身の両方による攻撃に対して安全であるように設計される。テナントはキーのコントロール内に残って使用の許可を与え、それは、CSPホストされたシステム内部での使用のために暗号化行使される。これは、HSMの複数テナントおよびサービスプロバイダーの暗号インフラストラクチャーへ転送されたキーに対する保証の両方を許可する。筆以上のテナントは、単一の暗号アプライアンスを使用できるが、テナントキーのセキュリティは、サードパーディーおよびサービスプロバイダーの両方から保護される。
上述したデバイスおよび方法により、テナントは、CSPセキュリティコンテキスト内部のキーの使用に対するコントロールを維持したまま、サービスプロバイダーおよびサードパーティーにアクセス不可能な方法でサービスプロバイダーのインフラストラクチャー内部で使用される暗号キーを検証可能に貸与することができる。これにより、悪意または面倒な管理者の攻撃に対抗しつつ、設定時間間隔の間にサービスプロバイダーHSM内部で使用するためにテナントキーの使用を制限する能力とともに、テナントおよびサービスプロバイダー間での暗号キーの安全な貸与が可能になる。これは、暗号化行使する方法で、CSPへキーの貸与を許可する。これにより、サービスプロバイダーは、悪意のCSPに対してロバストであるとともに、サードパーティーの攻撃に対してロバストである複数テナントのサービスをホストすることができる。テナントキーの使用がテナントによりコントロールされることを暗号的に行使することは、キーの使用がテナントによって完全にコントロールされることを保証し、攻撃に対してサービスを安全にし、かつ、他とインフラストラクチャーの共有を可能にする。
上述したデバイスおよび方法により、CSPは、支払い、セキュリティおよびレギュレーションなどのアプライアンスに対する暗号インフラストラクチャーのテナントの使用を与えることができる。
第2セキュリティコンテキスト7は、サービスプロバイダーシステムの一部であり、例えばCSPなどのサービスプロバイダーは、顧客を代表して、ハードウエアセキュリティモジュールHSMを介して暗号サービスをホストすることができる。
ある実施形態が説明されてきたが、これらの実施形態は、例示に過ぎず、本願発明の範囲を限定することを意図しない。ここで説明した新規な方法および装置は他の様々な形式で実施可能である。また、ここで説明した方法および装置の形式のさまざまな省略、置換および変更が本願発明の思想から離れることなく可能である。添付する特許請求の範囲およびその均等範囲が、その形式の修正を本願発明の思想および態様の範囲内であるとしてカバーする。

Claims (39)

  1. テナントシステム内の第1セキュリティコンテキストと、サービスプロバイダーシステム内の第2セキュリティコンテキストとの間でデータ転送する方法であって、当該方法は、
    第1セキュリティコンテキスト内のデータに対応するアクセスコントロールリストを生成する工程であって、前記アクセスコントロールリストは、有効使用クレデンシャルが前記データの使用の第1のタイプを許可するために与えられなければならないことを特定する、ところの工程と、
    第1暗号キーペアおよび第1暗号サーティフィケートを前記第2セキュリティコンテキスト内で生成する工程であって、前記第1暗号キーペアは、第1パブリックキーKBLOB pubおよび第1プライベートキーKBLOB privを有し、前記第1暗号サーティフィケートは前記第1パブリックキーKBLOB pubの起源を認証可能な情報を含むところの工程と、
    前記第1パブリックキーKBLOB pubおよび前記第1暗号サーティフィケートを前記第1セキュリティコンテキストに送信する工程と、
    前記第1セキュリティコンテキスト内で前記第1暗号サーティフィケートを認証する工程と、
    前記第1暗号サーティフィケートが有効であれば、前記第1セキュリティコンテキスト内で、前記第1パブリックキーKBLOB pubによって前記データおよび前記対応するアクセスコントロールリストを暗号化する工程と、
    前記暗号化したデータおよび対応するアクセスコントロールリスト、および、前記データの起源を認証可能な情報を、前記第2セキュリティコンテキストへ送信する工程と
    を備える方法。
  2. 前記データは、暗号キーKtenantを有する、ことを特徴とする請求項1に記載の方法。
  3. 前記第1セキュリティコンテキスト内で前記暗号キーKtenantを生成する工程をさらに備える、請求項2に記載の方法。
  4. 前記第2セキュリティコンテキストにおいて、前記暗号キーKtenantの起源を認証する工程と、
    前記暗号化した暗号キーKtenantおよび対応するアクセスコントロールリストを、前記第1プライベートキーKBLOB privによって、前記第2セキュリティコンテキストにおいて解読する工程と
    をさらに備える請求項3に記載の方法。
  5. 前記第2セキュリティコンテキストにおいて、他の暗号キーによって前記暗号キーKtenantを再暗号化する工程であって、前記他の暗号キーは前記第2セキュリティコンテキストを離れることができない、ところの工程と、
    前記再暗号化された暗号キーKtenant、対応するアクセスコントロールリスト、および、暗号キーKtenantの起源を認証可能な情報を格納する工程と
    をさらに備える請求項4に記載の方法。
  6. 前記使用の第1のタイプは、ひとつ以上の暗号オペレーションである、ことを特徴とする請求項2から5のいずれか一項に記載の方法。
  7. 前記第2セキュリティコンテキストが信用される製造業者によって製造されたものであること、前記第2セキュリティコンテキストのコンフィギュレーションが前記テナントのセキュリティ要求に一致すること、および、前記第2セキュリティコンテキストがアクセスコントロールリスト内に含まれるポリシーを行使するように構成されていることを、前記第1セキュリティコンテキストにおいて認証する工程をさらに備える請求項2から6のいずれか一項に記載の方法。
  8. 前記第2セキュリティコンテキストが第2識別プライベートキーK2ID privを格納する請求項2から7のいずれか一項に記載の方法であって、当該方法は、
    第2識別パブリックキーK2ID pubおよび第2識別サーティフィケートを、前記第2セキュリティコンテキストから前記第1セキュリティコンテキストへ送信する工程であって、前記第2識別パブリックキーK2ID pubおよび前記第2識別プライベートキーK2ID privは、暗号キーペアであり、前記第2識別サーティフィケートはK2ID pubを同定する情報を有し、かつ、製造業者プライベートキーKman privによって暗号化サインされる、ところの工程をさらに備える方法。
  9. 前記第2セキュリティコンテキストのカレントのコンフィギュレーションに関連する情報を生成する工程と、
    前記第2識別プライベートキーK2ID privにより、前記情報を暗号化サインする工程と、
    サイン済みの情報を前記第2セキュリティコンテキストから前記第1セキュリティコンテキストへ送信する工程と
    をさらに備える請求項8に記載の方法。
  10. 前記第1暗号サーティフィケートは、前記第2セキュリティコンテキストのカレントのコンフィギュレーションに関連する情報を有し、かつ、前記第2識別プライベートキーK2ID privによってサインされる、ことを特徴とする請求項9に記載の方法。
  11. 前記第1セキュリティコンテキストが第1識別プライベートキーK1ID privを格納するところの請求項8から10のいずれか一項に記載の方法であって、当該方法は、
    第1識別パブリックキーK1ID pubおよび第1識別サーティフィケートを前記第1セキュリティコンテキストから前記第2セキュリティコンテキストへ送信する工程であって、前記第1識別パブリックキーK1ID pubおよび前記第1識別プライベートキーK1ID privは暗号キーペアであり、前記第1識別サーティフィケートは、K1ID pubを同定する情報を有し、かつ、製造業者プライベートキーKman privによって暗号化サインされる、ところの工程をさらに備える方法。
  12. 第2暗号キーペアおよび第2暗号サーティフィケートを前記第1セキュリティコンテキスト内で生成する工程であって、前記第2暗号キーペアは第2パブリックキーKtenant−signpub、および、第2プライベートキーKtenant−signprivを有し、前記第2暗号サーティフィケートは前記第2パブリックキーKtenant−signpubの起源を同定可能な情報を有する、ところの工程と、
    前記第2暗号サーティフィケートを前記第1識別プライベートキーK1ID privによって暗号化サインする工程と、
    前記第2パブリックキーKtenant−signpubおよびサイン済み前記第2暗号サーティフィケートを前記第2セキュリティコンテキストへ送信する工程と、
    前記第2暗号サーティフィケートを、前記第1識別パブリックキーK1ID pubを使って検証する工程と
    をさらに備える請求項11に記載の方法。
  13. 前記アクセスコントロールリストは、前記有効使用クレデンシャルが、前記暗号キーKtenantの前記第1のタイプの使用を許可するために、前記第2プライベートキーKtenant−signprivによってサインされる使用サーティフィケートであることを特定する、ことを特徴とする請求項12に記載の方法。
  14. 前記暗号キーKtenantの起源を認証可能な前記情報は、暗号化された暗号キーKtenant、およびKtenant−signprivによってサインされた対応するアクセスコントロールリストを有する、ことを特徴とする請求項12または13に記載の方法。
  15. 前記暗号化された暗号キーKtenantおよび対応するアクセスコントロールリスト、暗号キーKtenantの起源を認証可能な情報を前記第2セキュリティコンテキストへ送信する工程は、
    暗号化された暗号キーKtenantおよび対応するアクセスコントロールリストをKtenant−signprivによって暗号化サインする工程と、
    前記暗号化された暗号キーKtenantおよび対応するアクセスコントロールリスト、前記暗号化された暗号キーKtenantおよび対応するアクセスコントロールリスト、および、Ktenant−signpubのハッシュを、前記第2セキュリティコンテキストへ送信する工程と
    を有する、ことを特徴とする請求項14に記載の方法。
  16. 前記アクセスコントロールリストは、前記有効使用クレデンシャルが、満期を決定可能な情報を有しなければならず、かつ、有効であるために満了前でなければならないことを特定する、ことを特徴とする請求項2から15のいずれか一項に記載の方法。
  17. 前記アクセスコントロールリストは、前記暗号キーKtenantが、前記第2セキュリティコンテキストを離れることができないキーによって第2セキュリティコンテキストの外部に格納用にのみ暗号化されることを特定する、ことを特徴とする請求項2から16のいずれか一項に記載の方法。
  18. 前記第1暗号サーティフィケートは、KBLOB privが一時的なものであること、KBLOB privが前記第2セキュリティコンテキストを離れることができないことを認証する、ことを特徴とする請求項2から17のいずれか一項に記載の方法。
  19. 請求項1から18のいずれか一項に記載の方法の手順を、コンピュータに実行させるためのプログラムを記録した、非一過性のコンピュータ読み取り可能な記憶媒体
  20. 第1セキュリティコンテキストを有する暗号デバイスであって、前記第1セキュリティコンテキストは、
    第1パブリックキーKBLOB pub、および、前記第1パブリックキーKBLOB pubの起源を認証可能な第1暗号サーティフィケートを、第2セキュリティコンテキストから受信するように構成された第1トランシーバと、
    暗号オペレーションを実行するように構成された第1プロセッサであって、前記第1プロセッサは、
    転送されるべきデータに対応するアクセスコントロールリストを生成し、ここで前記アクセスコントロールリストは、有効使用クレデンシャルが前記データの使用の第1のタイプを許可するために与えられなければならず、
    前記第1パブリックキーKBLOB pubが前記第2セキュリティコンテキストを起源とすることを認証し、
    前記データおよび前記対応するアクセスコントロールリストを前記第1パブリックキーKBLOB pubによって暗号化するように構成されている、ところの第1プロセッサと、
    を備え、
    前記第1トランシーバは、前記暗号化されたデータおよび対応するアクセスコントロールリスト、および、前記データの起源を認証可能な情報を前記第2セキュリティコンテキストへ送信するように構成されている、ことを特徴とするデバイス。
  21. 前記データは、暗号キーKtenantを有する、ことを特徴とする請求項20に記載のデバイス。
  22. 第1識別プライベートキーK1ID privを格納する第1デバイスメモリをさらに備え、前記第1トランシーバはさらに、
    第1識別パブリックキーK1ID pubおよび第1識別サーティフィケートを前記第2セキュリティコンテキストへ送信し、ここで、前記第1識別パブリックキーK1ID pubおよび前記第1識別プライベートキーK1ID privは暗号キーペアであり、前記第1識別サーティフィケートは、K1ID pubを同定する情報を有し、製造業者プライベートキーKman privによって暗号化サインされ、
    第2識別パブリックキーK2ID pubおよび第2識別サーティフィケートを前記第2セキュリティコンテキストから受信し、前記第2識別サーティフィケートは、K2ID pubを同定する情報を有し、かつ、前記製造業者プライベートキーKman privによって暗号化サインされる
    ように構成されており、
    前記第1プロセッサは、製造業者パブリックキーKman pubを使って前記第2識別サーティフィケートを検証するようにさらに構成されている、ことを特徴とする請求項21に記載のデバイス。
  23. 前記第1トランシーバはさらに、
    前記第2セキュリティコンテキストのカレントコンフィギュレーションに関連する情報を受信するように構成され、前記情報は第2識別プライベートキーK2ID privによって暗号化サインされ、前記第2識別パブリックキーK2ID pubおよび前記第2識別プライベートキーK2ID privは暗号キーペアであり、
    前記第1プロセッサは、
    前記第2識別パブリックキーK2ID pubを使って前記サインを検証し、
    前記第2セキュリティコンテキストの前記コンフィギュレーションが安全要求に一致すること、および、前記第2セキュリティコンテキストが前記アクセスコントロールリスト内に含まれるポリシーを行使するように構成されていることを認証する
    ようにさらに構成されている、ことを特徴とする請求項22に記載のデバイス。
  24. 前記第1プロセッサは、さらに
    第2暗号キーペアおよび第2暗号サーティフィケートを前記第1セキュリティコンテキスト内で生成するように構成され、前記第2暗号キーペアは、第2パブリックキーKtenant−signpubおよび第2プライベートキーKtenant−signprivを有し、前記第2暗号サーティフィケートは、前記第2パブリックキーKtenant−signpubの起源を同定可能な情報を有し、
    前記第2暗号サーティフィケートを前記第1識別プライベートキーK1ID privによって暗号化サインするよう構成され、
    前記第1トランシーバは、前記第2パブリックキーKtenant−signpubおよび前記サインされた第2暗号サーティフィケートを前記第2セキュリティコンテキストへ送信するようにさらに構成されている、ことを特徴とする請求項23に記載のデバイス。
  25. 第1セキュリティコンテキストを有するデバイスと協働する、第2セキュリティコンテキストを有する暗号デバイスであって、前記暗号デバイスは、
    暗号オペレーションを実行するように構成されたプロセッサであって、前記プロセッサは、第1暗号キーペアおよび第1暗号サーティフィケートを生成するように構成され、前記第1暗号キーペアは、第1パブリックキーKBLOB pubおよび第1プライベートキーKBLOB privを有し、前記第1暗号サーティフィケートは、前記第1パブリックキーKBLOB pubの起源を認証可能な情報を有する、ところのプロセッサと、
    トランシーバであって、前記第1パブリックキーKBLOB pubおよび前記第1暗号サーティフィケートを第1セキュリティコンテキストに送信し、かつ
    暗号化されたデータおよび対応するアクセスコントロールリスト、および、前記データの起源を認証可能な情報を前記第1セキュリティコンテキストから受信するように構成されているトランシーバと、
    を備え、
    前記プロセッサはさらに、
    前記データの起源を認証し、かつ、前記第1プライベートキーKBLOB privを使って、前記暗号化されたデータおよび対応するアクセスコントロールリストを解読するように構成されている、ことを特徴とするデバイス。
  26. 前記データは、暗号キーKtenantを有する、ことを特徴とする請求項25に記載のデバイス。
  27. 前記プロセッサはさらに、前記暗号キーKtenantを他の暗号キーによって再暗号化するように構成され、前記他の暗号キーは前記第2セキュリティコンテキストを離れることができない、ことを特徴とする請求項26に記載のデバイス。
  28. 第2識別プライベートキーK2ID privを格納するデバイスメモリをさらに備え、
    前記トランシーバはさらに、
    第2識別パブリックキーK2ID pubおよび第2識別サーティフィケートを前記第1セキュリティコンテキストへ送信するように構成され、前記第2識別パブリックキーK2ID pubはおよび前記第2識別プライベートキーK2ID privは暗号キーペアであり、前記第2識別サーティフィケートは、K2ID pubを同定する情報を有し、かつ、製造業者プライベートキーKman privによって暗号化サインされ、
    第1識別パブリックキーK1ID pubおよび第1識別サーティフィケートを前記第1セキュリティコンテキストから受信するように構成され、前記第1識別サーティフィケートはK1ID pubを同定する情報を有し、かつ、前記製造業者プライベートキーKman privによって暗号サインされ、
    前記プロセッサはさらに、製造業者パブリックキーKman pubを使って前記第1識別サーティフィケートを検証するように構成されている、ことを特徴とする請求項27に記載のデバイス。
  29. 前記プロセッサはさらに、
    前記第2セキュリティコンテキストのカレントコンフィギュレーションに関連する情報を生成し、かつ、前記第2識別プライベートキーK2ID privによって前記情報を暗号化サインするように構成され、
    前記トランシーバはさらに、前記情報およびサインを前記第1セキュリティコンテキストへ送信するように構成されている、ことを特徴とする請求項28に記載のデバイス。
  30. 前記プロセッサはさらに、前記第2セキュリティコンテキストの前記カレントコンフィギュレーションに関連する情報を有する前記第1暗号サーティフィケートを生成し、かつ、前記第1暗号サーティフィケートを前記第2識別プライベートキーK2ID privによってサインするように構成されている、ことを特徴とする請求項29に記載のデバイス。
  31. 前記トランシーバはさらに、
    第2パブリックキーKtenant−signpubおよびサインされた第2暗号サーティフィケートを前記第2セキュリティコンテキストから受信するように構成され、前記第2暗号サーティフィケートは、前記第2パブリックキーKtenant−signpubの起源を認証可能な情報を有し、
    前記プロセッサはさらに、前記第2パブリックキーKtenant−signpubの起源を認証するように構成されている、ことを特徴とする請求項28から30のいずれか一項に記載のデバイス。
  32. サービスプロバイダー内の信用された第2セキュリティコンテキストにはアクセス可能であるが、残りのサービスプロバイダーシステムからは安全であるような方法でサービスプロバイダー内に格納されたデータの使用をコントロールする方法であり、アクセスコントロールリストは、格納されたデータの使用の第1のタイプ許可するために、有効使用クレデンシャルが前記データにより与えられなければならないことを特定する方法であって、
    使用クレデンシャルを第1セキュリティコンテキスト内で生成する工程であって、前記使用クレデンシャルは、
    前記使用クレデンシャルに対応するデータを同定可能である情報、および
    前記使用クレデンシャルの満期を判定する情報を有する、ところの工程と、
    前記使用クレデンシャル、および前記使用クレデンシャルの起源を認証可能な情報を発行する工程と、
    前記アクセスコントロールリストに関して前記使用クレデンシャルを認証し、かつ、前記使用クレデンシャルが前記第2セキュリティコンテキストにおいて満了しなかったことを認証する工程と、前記データの使用の前記第1のタイプを、前記第2セキュリティコンテキスト内で、前記使用クレデンシャルが有効でありかつ満了していないことを条件に許可する工程と
    を備える方法。
  33. 前記データは、暗号キーKtenantを有する、ことを特徴とする請求項32に記載の方法。
  34. 前記使用の第1のタイプは、ひとつ以上の暗号オペレーションである、ことを特徴とする請求項33に記載の方法。
  35. 前記使用クレデンシャル、および前記使用クレデンシャルの起源を認証可能な情報は、前記サービスプロバイダーに発行され、当該方法は、
    前記使用クレデンシャル、および、前記使用クレデンシャルの起源を認証可能な情報、および、前記暗号キーKtenantによって、使用の第1のタイプであるオペレーションを実行するリクエストを前記第2セキュリティコンテキストに与える工程と、
    前記使用クレデンシャルが有効でありかつ満了していないことを条件に、前記第2セキュリティコンテキストにおいて前記オペレーションを実行する工程と
    をさらに備える請求項34に記載の方法。
  36. 前記使用クレデンシャルは使用サーティフィケートである、請求項33から35のいずれか一項に記載の方法であって、当該方法は、
    前記使用サーティフィケートを前記第1セキュリティコンテキスト内で、プライベートキーKtenant−signprivによって暗号化サインする工程であって、前記使用サーティフィケートの起源を認証可能な情報はサインであり、対応するパブリックキーKtenant−signpubはインテグリティ保護され、前記第2セキュリティコンテキストにアクセス可能である、ところの工程と、
    前記パブリックキーKtenant−signpubを使って前記第2セキュリティコンテキストにおいて前記使用サーティフィケートを検証する工程と
    をさらに備える方法。
  37. 前記使用クレデンシャルの満期を判定可能な情報は、満了時間、および基準時間ソースを同定する情報を有する、ことを特徴とする請求項33から36のいずれか一項に記載の方法。
  38. 前記使用クレデンシャルに対応する前記暗号キーKtenantを同定可能な情報は前記暗号キーKtenantのハッシュである、ことを特徴とする請求項33から37のいずれか一項に記載の方法。
  39. 請求項32から38のいずれか一項に記載の方法の手順を、コンピュータに実行させるためのプログラムを記録した非一過性のコンピュータ読み取り可能な記憶媒体
JP2018540867A 2016-02-05 2017-02-03 データ転送方法、非一過性のコンピュータ読み取り可能な記憶媒体、暗号デバイス、およびデータ使用のコントロール方法 Active JP6731491B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1602088.5 2016-02-05
GB1602088.5A GB2547025A (en) 2016-02-05 2016-02-05 A method of data transfer, a method of controlling use of data and a cryptographic device
PCT/GB2017/050264 WO2017134445A2 (en) 2016-02-05 2017-02-03 A method of data transfer, a method of controlling use of data and a cryptographic device

Publications (2)

Publication Number Publication Date
JP2019509667A JP2019509667A (ja) 2019-04-04
JP6731491B2 true JP6731491B2 (ja) 2020-07-29

Family

ID=55641862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018540867A Active JP6731491B2 (ja) 2016-02-05 2017-02-03 データ転送方法、非一過性のコンピュータ読み取り可能な記憶媒体、暗号デバイス、およびデータ使用のコントロール方法

Country Status (11)

Country Link
US (3) US11101983B2 (ja)
EP (2) EP3412001B1 (ja)
JP (1) JP6731491B2 (ja)
KR (2) KR102318637B1 (ja)
CN (3) CN114238999A (ja)
BR (1) BR112018015254A2 (ja)
CA (2) CA3123268C (ja)
ES (1) ES2800295T3 (ja)
GB (1) GB2547025A (ja)
PL (1) PL3412001T3 (ja)
WO (1) WO2017134445A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018236420A1 (en) * 2017-06-20 2018-12-27 Google Llc CLOUD EQUIPMENT SECURITY MODULES FOR CRYPTOGRAPHIC EXTERNALIZATION OPERATIONS
US10938560B2 (en) * 2017-06-21 2021-03-02 Microsoft Technology Licensing, Llc Authorization key escrow
US10831935B2 (en) * 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US11374760B2 (en) 2017-09-13 2022-06-28 Microsoft Technology Licensing, Llc Cyber physical key
FR3073998B1 (fr) * 2017-11-23 2019-11-01 In Webo Technologies Procede numerique de controle d'acces a un objet, une ressource ou service par un utilisateur
EP3562089A1 (de) * 2018-04-23 2019-10-30 Siemens Aktiengesellschaft Automatisiertes zertifikatsmanagement
US10305479B1 (en) * 2018-06-12 2019-05-28 Nxp B.V. Fault attack protection against synchronized fault injections
US10869190B2 (en) * 2018-07-13 2020-12-15 Micron Technology, Inc. Secure vehicular services communication
JP6952661B2 (ja) * 2018-08-30 2021-10-20 株式会社東芝 情報処理装置、通信機器、情報処理システム、情報処理方法、および情報処理プログラム
US10965551B2 (en) * 2018-11-21 2021-03-30 Microsoft Technology Licensing, Llc Secure count in cloud computing networks
US11356283B2 (en) * 2019-05-08 2022-06-07 Seagate Technology Llc Data storage using an encryption key with a time expiration associated therewith
US11223615B2 (en) * 2019-05-09 2022-01-11 Sap Se Provisioning initial keystore for multi-tenant, microservice architecture-based integration service in a cloud computing environment setup
KR102429325B1 (ko) * 2022-05-02 2022-08-04 에스엠테크놀러지(주) 병렬형 인증서 검증 시스템 및 그 동작 방법

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743248B2 (en) * 1995-01-17 2010-06-22 Eoriginal, Inc. System and method for a remote access service enabling trust and interoperability when retrieving certificate status from multiple certification authority reporting components
EP0898397A2 (en) 1997-08-22 1999-02-24 Nokia Mobile Phones Ltd. Method for sending a secure communication in a telecommunications system
DE19801241C2 (de) 1998-01-12 1999-11-04 Deutsche Telekom Ag Verfahren zur Generierung asymmetrischer Kryptoschlüssel beim Anwender
AU4426200A (en) 1999-04-29 2000-11-17 Michael Bleahen Improvements in and relating to secure data transmission
AU8475401A (en) * 2000-08-08 2002-02-18 Wachovia Corp Internet third-party authentication using electronic tickets
GB2366470B (en) * 2000-08-25 2005-07-20 Hewlett Packard Co Improvements relating to document transmission techniques iv
US20030021417A1 (en) * 2000-10-20 2003-01-30 Ognjen Vasic Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
KR20010008103A (ko) * 2000-11-08 2001-02-05 안병엽 디피-헬만형 키 공유 확인이 가능한 인증된 키 합의프로토콜의 구현 방법
US7017041B2 (en) * 2000-12-19 2006-03-21 Tricipher, Inc. Secure communications network with user control of authenticated personal information provided to network entities
US20030177094A1 (en) 2002-03-15 2003-09-18 Needham Bradford H. Authenticatable positioning data
CN1215386C (zh) 2002-04-26 2005-08-17 St微电子公司 根据量子软计算控制过程或处理数据的方法和硬件体系结构
AU2002333848A1 (en) 2002-09-13 2004-04-30 Telefonaktiebolaget Lm Ericsson (Publ) Secure broadcast/multicast service
FR2846819B1 (fr) 2002-11-06 2005-04-15 France Telecom Procede d'echange securise entre deux unites de communication, systeme de controle et serveur pour la mise en oeuvre du procede
US20050154889A1 (en) 2004-01-08 2005-07-14 International Business Machines Corporation Method and system for a flexible lightweight public-key-based mechanism for the GSS protocol
US9032192B2 (en) * 2004-10-28 2015-05-12 Broadcom Corporation Method and system for policy based authentication
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
US8245292B2 (en) 2005-11-16 2012-08-14 Broadcom Corporation Multi-factor authentication using a smartcard
US8615663B2 (en) 2006-04-17 2013-12-24 Broadcom Corporation System and method for secure remote biometric authentication
US7971061B2 (en) 2006-12-11 2011-06-28 Pitney Bowes Inc. E-mail system and method having certified opt-in capabilities
US20080307495A1 (en) * 2007-06-08 2008-12-11 Michael Holtzman Memory device with circuitry for improving accuracy of a time estimate used in digital rights management (DRM) license validation
US7913086B2 (en) * 2007-06-20 2011-03-22 Nokia Corporation Method for remote message attestation in a communication system
EP2034661A1 (en) 2007-09-07 2009-03-11 Deutsche Telekom AG Method and system for distributed, localized authentication in the framework of 802.11
WO2009070430A2 (en) * 2007-11-08 2009-06-04 Suridx, Inc. Apparatus and methods for providing scalable, dynamic, individualized credential services using mobile telephones
US20100023757A1 (en) 2008-07-22 2010-01-28 Winmagic Data Security Methods and systems for sending secure electronic data
KR100989185B1 (ko) * 2008-08-26 2010-10-20 충남대학교산학협력단 Rsa기반 패스워드 인증을 통한 세션키 분배방법
US9548859B2 (en) 2008-12-03 2017-01-17 Google Technology Holdings LLC Ticket-based implementation of content leasing
US8621203B2 (en) * 2009-06-22 2013-12-31 Nokia Corporation Method and apparatus for authenticating a mobile device
JP5068803B2 (ja) 2009-12-15 2012-11-07 日本電信電話株式会社 サービス提供システムおよび方法
JP5404501B2 (ja) * 2010-03-30 2014-02-05 日本電信電話株式会社 暗号化情報の有効期限延長システム、有効期限延長方法及びプログラム
US8887246B2 (en) * 2010-06-22 2014-11-11 Telefonaktiebolaget L M Ericsson (Publ) Privacy preserving authorisation in pervasive environments
US20120131333A1 (en) 2010-11-23 2012-05-24 General Instrument Corporation Service key delivery in a conditional access system
CN102014133B (zh) * 2010-11-26 2013-08-21 清华大学 在云存储环境下一种安全存储***的实现方法
US8843750B1 (en) 2011-01-28 2014-09-23 Symantec Corporation Monitoring content transmitted through secured communication channels
US8798261B2 (en) 2011-03-21 2014-08-05 Sony Corporation Data protection using distributed security key
US8429409B1 (en) * 2012-04-06 2013-04-23 Google Inc. Secure reset of personal and service provider information on mobile devices
FR2990696B1 (fr) * 2012-05-16 2016-02-12 Roquette Freres Souche productrice de turanose et utilisations
US9209973B2 (en) * 2012-11-20 2015-12-08 Google Inc. Delegate authorization in cloud-based storage system
US8938792B2 (en) * 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
US10210341B2 (en) * 2013-02-12 2019-02-19 Amazon Technologies, Inc. Delayed data access
US9547771B2 (en) 2013-02-12 2017-01-17 Amazon Technologies, Inc. Policy enforcement with associated data
US9716728B1 (en) * 2013-05-07 2017-07-25 Vormetric, Inc. Instant data security in untrusted environments
WO2014185845A1 (en) * 2013-05-13 2014-11-20 Telefonaktiebolaget L M Ericsson (Publ) Procedure for platform enforced secure storage in infrastructure clouds
CN103532981B (zh) * 2013-10-31 2016-08-17 中国科学院信息工程研究所 一种面向多租户的身份托管鉴权云资源访问控制***及控制方法
CN104753881B (zh) * 2013-12-30 2019-03-26 格尔软件股份有限公司 一种基于软件数字证书和时间戳的WebService安全认证访问控制方法
CN104980928B (zh) * 2014-04-03 2018-12-07 华为终端(东莞)有限公司 一种用于建立安全连接的方法、设备及***
CN106664206B (zh) * 2014-06-18 2020-05-12 维萨国际服务协会 用于已认证的通信的高效方法
CN105024824B (zh) * 2014-11-05 2018-12-21 浙江码博士防伪科技有限公司 基于非对称加密算法的可信标签的生成与验证方法及***
RU2018103181A (ru) * 2015-06-30 2019-07-31 Виза Интернэшнл Сервис Ассосиэйшн Конфиденциальные аутентификация и обеспечение
CN105141593A (zh) * 2015-08-10 2015-12-09 刘澄宇 一种私有云平台安全计算方法

Also Published As

Publication number Publication date
KR102471298B1 (ko) 2022-11-29
CA3013687C (en) 2021-08-24
US20190052456A1 (en) 2019-02-14
CA3013687A1 (en) 2017-08-10
CN108604985B (zh) 2021-11-16
PL3412001T3 (pl) 2021-01-25
WO2017134445A3 (en) 2017-09-14
KR20210130840A (ko) 2021-11-01
CN114238999A (zh) 2022-03-25
BR112018015254A2 (pt) 2018-12-18
EP3675415B1 (en) 2023-12-06
CN113691560A (zh) 2021-11-23
US11101983B2 (en) 2021-08-24
EP3675415A1 (en) 2020-07-01
GB201602088D0 (en) 2016-03-23
ES2800295T3 (es) 2020-12-29
CA3123268A1 (en) 2017-08-10
JP2019509667A (ja) 2019-04-04
EP3412001A2 (en) 2018-12-12
CA3123268C (en) 2023-10-24
US20210344482A1 (en) 2021-11-04
CN113691560B (zh) 2023-08-25
US11849029B2 (en) 2023-12-19
CN108604985A (zh) 2018-09-28
EP3412001B1 (en) 2020-03-25
US20240073003A1 (en) 2024-02-29
KR20180111933A (ko) 2018-10-11
WO2017134445A2 (en) 2017-08-10
GB2547025A (en) 2017-08-09
KR102318637B1 (ko) 2021-10-28

Similar Documents

Publication Publication Date Title
JP6731491B2 (ja) データ転送方法、非一過性のコンピュータ読み取り可能な記憶媒体、暗号デバイス、およびデータ使用のコントロール方法
US9332002B1 (en) Authenticating and authorizing a user by way of a digital certificate
EP2954448B1 (en) Provisioning sensitive data into third party network-enabled devices
US9680827B2 (en) Geo-fencing cryptographic key material
US9686244B2 (en) Rule-based validity of cryptographic key material
US9654922B2 (en) Geo-fencing cryptographic key material
US20150271158A1 (en) Rule-based Validity of Cryptographic Key Material
US20150271157A1 (en) Rule-based Validity of Cryptographic Key Material
JP5992535B2 (ja) 無線idプロビジョニングを実行するための装置及び方法
CN115277168B (zh) 一种访问服务器的方法以及装置、***
US20190173880A1 (en) Secure node management using selective authorization attestation
KR20100025624A (ko) 안전하지 않은 통신 채널에서 비인증서 공개키를 사용한 보안키 생성 방법
KR100970552B1 (ko) 비인증서 공개키를 사용하는 보안키 생성 방법
JP2024513521A (ja) 組み込みデバイスの安全な信頼の起点登録及び識別管理

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20181012

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181003

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181003

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20181012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20200131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200603

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200706

R150 Certificate of patent or registration of utility model

Ref document number: 6731491

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250