JP2024501401A - 非集中型のブロードキャスト暗号化および鍵生成ファシリティ - Google Patents

非集中型のブロードキャスト暗号化および鍵生成ファシリティ Download PDF

Info

Publication number
JP2024501401A
JP2024501401A JP2023532183A JP2023532183A JP2024501401A JP 2024501401 A JP2024501401 A JP 2024501401A JP 2023532183 A JP2023532183 A JP 2023532183A JP 2023532183 A JP2023532183 A JP 2023532183A JP 2024501401 A JP2024501401 A JP 2024501401A
Authority
JP
Japan
Prior art keywords
key
medium
blockchain
determining
identifying
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023532183A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2024501401A publication Critical patent/JP2024501401A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

プロセッサが、1つまたは複数の鍵を媒体に組み込むことができる。1つまたは複数の鍵はそれぞれ、特定のインスタンスに関連し得、1つまたは複数の鍵は、ブロックチェーンに含まれ得る。プロセッサは、第1の特定のインスタンスが生じたことを特定することができる。プロセッサは、第1の特定のインスタンスに関連する第1の鍵を提供することができる。プロセッサは、媒体のコンテンツへのアクセスを可能にすることを決定することができる。

Description

本開示は、一般にはデジタル媒体の分野に関し、より詳細には、デジタル媒体に関連するブロードキャスト暗号化および鍵生成の非集中化に関する。
現在、ブロードキャスト暗号化は、暗号化されたデータをブロードキャストするという課題を取り扱っている。各送信において、データを復号化できる「特権を与えられた」ユーザの組、および、データにアクセスできるべきではない「無効」(例えば、不適格)ユーザの組が存在する。さらに、初めに全てのユーザに鍵を配布するセンタが存在し、各セッションにおいて、それは、暗号化されたデータをブロードキャストする。よって、デジタル媒体についてのブロードキャスト暗号化および鍵生成のための現在のプロセスは、完全に集中化されている。
本開示の実施形態は、非集中型ブロードキャスティング暗号化のための方法、システム、および、コンピュータプログラム製品を含む。プロセッサが、1つまたは複数の鍵を媒体に組み込むことができる。1つまたは複数の鍵はそれぞれ、特定のインスタンスに関連し得、1つまたは複数の鍵は、ブロックチェーンに含まれ得る。プロセッサは、第1の特定のインスタンスが生じたことを特定することができる。プロセッサは、第1の特定のインスタンスに関連する第1の鍵を提供することができる。プロセッサは、媒体のコンテンツへのアクセスを可能にすることを決定することができる。
上記の概要は、例示された各実施形態または本開示の全ての実施を説明することを意図したものではない。
本開示に含まれる図面は、本明細書に組み込まれ、その一部を形成する。それらは、本開示の実施形態を例示し、説明とともに、本開示の原理を説明するのに役立つ。図面は、特定の実施形態を単に例示するものであり、本開示を限定するものではない。
本開示の実施形態に係る例示的なブロックチェーンアーキテクチャを示す。
本開示の実施形態に係るブロックチェーントランザクションフローを示す。
本開示の実施形態に係る、集中型ブロードキャスト暗号化手法の例示的なシステムを示す。
本開示の実施形態に係る、非集中型ブロードキャスト暗号化手法の例示的なシステムを示す。
本開示の実施形態に係る例示的な媒体鍵ブロック更新を示す。
本開示の実施形態に係る、非集中型ブロードキャスティング暗号化の例示的な方法のフローチャートを示す。
本開示の実施形態に係る、クラウドコンピューティング環境を示す。
本開示の実施形態に係る、抽象化モデル層を示す。
本開示の実施形態に係る、方法、ツール、およびモジュール、ならびに本明細書で説明される任意の関連機能のうちの1つまたは複数を実施するのに用いられ得る、例示的なコンピュータシステムの高レベルブロック図を示す。
本明細書で説明される実施形態は、様々な修正および代替形態が可能であるが、それらの具体的な内容は、例として図面に示されており、詳細に説明される。しかしながら、説明される特定の実施形態は、限定的な意味に解釈されるべきではないことを理解されるべきである。むしろ、本発明は、本開示の範囲に含まれる全ての修正形態、均等物、および、代替物を対象とするものである。
本開示の態様は、一般にはデジタル媒体の分野に関し、より詳細には、デジタル媒体に関連するブロードキャスト暗号化および鍵生成の非集中化に関する。現在、ブロードキャスト暗号化は、暗号化されたデータをブロードキャストするという課題を取り扱っている。各送信において、データを復号化できる「特権を与えられた」ユーザの組、および、データにアクセスできるべきではない「無効」(例えば、不適格)ユーザの組が存在する。さらに、初めに全てのユーザに鍵を配布するセンタ/ファシリティが存在し、各セッションにおいて、それは、暗号化されたデータをブロードキャストする。ブロードキャストされるデータは、セッション毎にランダムなセッション鍵を用いて暗号化される。引き続いて、セッション鍵が他の鍵を使用して暗号化され、セッション鍵を暗号化したものが、暗号化されたボディとともにヘッダとして送られる。
Naor、Naor、Lotspiech(NNL)は、サブセット差(SSD)を提案したが、それは、最も普及しているブロードキャスト暗号化の実装形態のうちの1つである。さらに、鍵生成ファシリティ(KGF)とは、ブロードキャスト暗号化システム内の暗号材料の全てを生成するファシリティを意味する。ただし、ここまでで、ブロードキャスト暗号化およびそのKGFの既存実装形態は、非常に集中化されている。これらの既存実装形態は、些細ではない量の人間による監督およびオペレーションを要し、それらは、シングルポイント障害(例えば、KGF)を有する。
さらに、既存の手法およびブロードキャスト暗号化の実装形態のうちのほとんどは、集中化されている。よって、それらは、集中化された解決法を有するという制限により課される欠点を呈する。さらに、ほとんどのKGFは、エコシステムおよびエコシステムの参加者(例えば、コンテンツ所有者、デバイス製造者など)に関連する機密情報を含む。一例として、ブルーレイのシナリオでは、特定タイプの鍵のボリュームについての情報を有するだけで、誰かが新しいビデオゲームコンソールのリリースを計画していること、または、いくつかの映画のリリースが大手のスタジオ/コンテンツ所有者から近日中に行われることを導き出すことが可能である。よって、機密情報を保護することは非常に重要であり、どの参加者によっても、機密情報は使用または維持されるべきではない。
さらに、現在の解決法の集中性に起因して、災害回復ファシリティの開発、送達、および、オペレーションが絶対必要になっている。一例として、主要材料の生成のオペレーションを行う企業は、少なくとも年に1度は「フェールオーバ訓練」を実行しなければならず、その訓練では、中央ファシリティがシャットダウンされ、災害回復ファシリティを立ち上げ、指定された期間実行して、全ての指令をこうしたファシリティから処理可能であることを確実にする。
短く言えば、現在の解決法は、機密情報を保護し、ファシリティ故障の場合にデータを保護するために非集中化される必要があるが、現在のKGF解決法は、現在実装されているようなブロックチェーン上で機能することができない。後で議論されるように、本明細書に提示される解決法は、どの程度KGFを非集中化することができるかという課題、それを満足に行うことができない場合に、どのコンポーネントが、ブロックチェーン台帳を実行する、または、ブロックチェーン台帳と対話する存立可能な候補として自体を用立てるかという課題に対処する。短く言えば、機能性を改善するために、任意のブロードキャスト暗号化システム、および、それの関連するKGFが使用可能な分散ブロックチェーンフレームワークが本明細書で提案される。本開示全体を通して詳述されるように、このブロックチェーン対応KGFは、現在のKGF実装形態よりも効率的である。
本明細書において概して説明され、図示されるような本コンポーネントは、多種多様な異なる構成で配置および設計され得ることが容易に理解されるであろう。したがって、添付図面に表されるような、方法、装置、非一時的コンピュータ可読媒体、およびシステムのうちの少なくとも1つの実施形態の以下の詳細な説明は、特許請求される本願の範囲を限定することを意図するものではなく、単に選択された実施形態を表わすものである。
本明細書を通して説明される本特徴、構造、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせまたは除去し得る。例えば、「例示的な実施形態」、「いくつかの実施形態」という語句、または他の同様の文言の使用は、本明細書を通して、実施形態に関連して説明される特定の特徴、構造、または特性が、少なくとも1つの実施形態において含まれ得ることを指す。したがって、「例示的な実施形態」、「いくつかの実施形態において」、「他の実施形態において」という語句、または他の同様の文言の出現は、本明細書を通して、必ずしも全てが同じ実施形態のグループを指すわけではなく、説明される特徴、構造、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせまたは除去し得る。さらに、図面では、要素間の接続があるとそれは、その図示された接続が一方向の矢印であっても、双方向の矢印であっても、一方向および/または双方向の通信を許容可能である。また、図面に示された任意のデバイスは、別のデバイスであってもよい。例えば、モバイルデバイスが情報を送信していることが示されている場合、情報を送信するために有線デバイスが用いられてもよい。
また、「メッセージ」という用語が実施形態の説明において用いられている場合があるが、本願は、多くのタイプのネットワークおよびデータに適用され得る。さらに、例示的な実施形態において、特定のタイプの接続、メッセージ、およびシグナリングが示されている場合があるが、本願は、特定のタイプの接続、メッセージ、およびシグナリングに限定されるものではない。
ブロードキャスティング暗号化および鍵生成/鍵生成ファシリティを非集中化する方法、システム、および、コンピュータプログラム製品が本明細書では詳述される。
いくつかの実施形態では、方法、システム、および/または、コンピュータプログラム製品は、互いに通信する複数のノードを含む分散記憶システムである非集中型データベース(ブロックチェーンなど)を利用する。非集中型データベースは、相互に信用されない当事主体間の記録を維持可能な分散型台帳に似た、アペンドのみのイミュータブルデータ構造を含み得る。信用されない当事者は、本明細書において、ピアまたはピアノードと呼ばれる。各ピアはデータベース記録のコピーを保持し、分散されたピア間でコンセンサスに達しない限り、どの単一のピアもデータベース記録を修正できない。例えば、ピアはコンセンサスプロトコルを実行して、ブロックチェーン記憶トランザクションを有効化し、記憶トランザクションをブロックにグループ化し、ブロックにわたってハッシュチェーンを構築し得る。このプロセスでは、一貫性を保つために、必要に応じてストレージトランザクションを順序付けすることによって、台帳が形成される。
様々な実施形態において、許可型および/または自由参加型ブロックチェーンを使用することが可能である。パブリック、または自由参加型ブロックチェーンにおいて、だれでも特定のアイデンティティなしで参加できる(例えば匿名性を維持する)。パブリックブロックチェーンは、ネイティブ暗号通貨を関与させることができ、プルーフオブワークなどの様々なプロトコルに基づくコンセンサスを用いることができる。一方、許可型ブロックチェーンデータベースは、資金、商品、および、(プライベートな)情報などをやり取りする企業など、共通の目的を共有するが、互いに完全には信用していないエンティティのグループの間でのセキュアな対話を提供する。
さらに、いくつかの実施形態では、本方法、システム、および/または、コンピュータプログラム製品は、非集中型記憶スキームに適合され、「スマートコントラクト」または「チェーンコード」と称される任意のプログラマブルロジックを動作させるブロックチェーンを利用できる。いくつかのケースでは、管理機能およびパラメータのために専用のチェーンコードが存在し得(チェーン外のデータ記憶/データベースへのアクセスの管理など)、これらは、システムチェーンコードと称される。いくつかの実施形態では、本方法、システム、および/または、コンピュータプログラム製品は、ブロックチェーンデータベースのタンパー防止特性、および、ノード間での基礎合意を活用する、信用された分散アプリケーションであるスマートコントラクトをさらに利用可能であり、これらは、エンドースメントまたはエンドースメントポリシと称される。
エンドースメントポリシにより、チェーンコードは、エンドースメントに必要なピアノードのセットの形式でトランザクションのエンドーサを指定できる。クライアントがエンドースメントポリシで指定されたピア(例えば、エンドーサ)にトランザクションを送信すると、そのトランザクションが実行され、トランザクションが有効化される。有効化後、トランザクションは順序付けフェーズに入り、ここでは、コンセンサスプロトコルを使用して、ブロックにグループ化されたエンドースされたトランザクションの順序付けられたシーケンスが生成される。
いくつかの実施形態では、本方法、システム、および/または、コンピュータプログラム製品は、ブロックチェーンシステムの通信エンティティであるノードを利用可能である。「ノード」は、同じ物理サーバ上で異なるタイプの複数のノードが動作できるという意味で、論理機能を実行し得る。ノードは信用ドメインにグループ化され、様々な方法でこれらを制御する論理エンティティに関連付けられる。ノードは、エンドーサ(例えば、ピア)にトランザクション呼び出しをサブミットし、順序付けサービス(例えば、順序付けノード)にトランザクションプロポーザルをブロードキャストするクライアントまたはサブミッティングクライアントノードのような様々なタイプを含み得る。
別のタイプのノードは、クライアントがサブミットしたトランザクションを受け取り、トランザクションをコミットし、ブロックチェーンのトランザクションの台帳の状態とそのコピーを維持することができるピアノードである。ピアは、エンドーサの役割を持つこともできるが、必須ではない。順序付けサービスノードまたは順序付け器は、全てのノードのために通信サービスを実行するノードであり、トランザクションをコミット/確認し、通常はコントロールおよびセットアップ情報を含む初期ブロックチェーントランザクションの別名であるブロックチェーンのワールドステートを修正する際の、システム内のピアノードのそれぞれへのブロードキャスト等の、送達保証を実装する。
いくつかの実施形態では、本方法、システム、および/または、コンピュータプログラム製品は、ブロックチェーンの状態遷移の全ての耐タンパー性記録を順番に並べたものである台帳を利用することが可能である。状態遷移は、参加者(例えば、クライアントノード、順序付けノード、エンドーサノード、ピアノードなど)によってサブミットされたチェーンコード呼び出し(例えば、トランザクション)によってもたらされ得る。各参加者(ピアノードなど)は、台帳のコピーを保持できる。トランザクションの結果、アセット鍵値対のセットが、作成、更新、削除などの1つまたは複数のオペランドとして台帳にコミットされ得る。台帳は、順番に並べられたイミュータブルな記録をブロックに記憶するのに使用されるブロックチェーン(チェーンとも称される)を含む。また、台帳には、ブロックチェーンの現在の状態を維持する状態データベースが含まれる。
いくつかの実施形態では、本明細書に記載される方法、システム、および/または、コンピュータプログラム製品は、ハッシュでリンクされたブロックとして構造化されたトランザクションログであるチェーンを利用可能であり、各ブロックは、N個のトランザクションのシーケンスを含み、ここで、Nは、1と等しいか、または、それより大きい。ブロックヘッダは、ブロックのトランザクションのハッシュ、ならびに前のブロックのヘッダのハッシュを含む。このようにして、台帳上の全てのトランザクションをシーケンス化し、暗号的にリンクし得る。したがって、ハッシュリンクを破壊せずに台帳データにタンパリングを行うことは不可能である。直近で追加されたブロックチェーンブロックのハッシュは、その前に発生したチェーン上の全てのトランザクションを表し、全てのピアノードが一貫性のある信用できる状態にあることを保証することを可能にする。チェーンはピアノードファイルシステム(例えば、ローカル、接続ストレージ、クラウドなど)に記憶され、ブロックチェーンワークロードのアペンド専用の性質を効率的にサポートする。
イミュータブル台帳の現在の状態は、チェーントランザクションログに含まれる全ての鍵の最新の値を表す。現在の状態はチャネルに既知の最新の鍵値を表すため、ワールドステートと呼ばれることもある。チェーンコード呼び出しは、台帳の現在の状態データに対してトランザクションを実行する。これらのチェーンコード対話を効率的にするために、鍵の最新の値を状態データベースに記憶し得る。状態データベースは、単にチェーンのトランザクションログへのインデックス付きビューであり得、したがって、いつでもチェーンから再生成できる。この状態データベースは、ピアノードの起動時や、トランザクションを受け入れる前に、自動的に回復(または生成)されてもよい。
本明細書で説明および図示される本解決法のいくつかの利点には、ブロードキャスト暗号化および鍵生成ファシリティを非集中化するための方法、システム、および、コンピュータプログラム製品が含まれる。例示的な実施形態は、媒体/デジタル媒体に関係しているのでデータ保護の問題(先で議論されている)を解消する。
ブロックチェーンが中央ストレージではなく、非集中型のイミュータブルでセキュアなストレージであるという点で、ブロックチェーンは、従来型のデータベースとは異なっており、ここで、ノードは、ストレージ内の記録への変更を共有することができることに留意されたい。ブロックチェーンに固有の、ブロックチェーンの実施を助けるいくつかの性質としては、限定されるものではないが、イミュータブル台帳、スマートコントラクト、セキュリティ、プライバシー、非集中化、コンセンサス、エンドースメント、アクセシビリティなどが挙げられ、これらは本明細書においてさらに説明される。様々な態様によれば、本明細書に記載のシステムは、イミュータブルなアカウンタビリティ、セキュリティ、プライバシー、許可制非集中化、スマートコントラクトのアベイラビリティ、ブロックチェーンに固有かつユニークなエンドースメントおよびアクセシビリティのために実装される。
具体的には、ブロックチェーン台帳データは、イミュータブルであり、これにより、ブロードキャスト暗号化および鍵生成ファシリティを非集中化する効率的な方法が提供される。また、ブロックチェーンで暗号化を使用することで、セキュリティが提供され、信用が構築される。スマートコントラクトは、アセットの状態を管理し、ライフサイクルを完成させる。例示的なブロックチェーンは、許可制非集中型である。したがって、各エンドユーザは、アクセスするための自身の台帳コピーを有し得る。複数の組織(およびピア)が、ブロックチェーンネットワーク上にオンボードされ得る。キーとなる組織は、スマートコントラクトの実行結果、読み取りセット、および、書き込みセットを有効化するためのエンドースピアとして働くことができる。換言すると、ブロックチェーンに固有の特徴により、ブロードキャスト暗号化および鍵生成の効率的な実装がもたらされる。
例示的な実施形態の利点のうちの1つは、それがブロードキャスト暗号化および鍵生成ファシリティを非集中化する方法を実装することにより(例えば、鍵生成ハブをばらばらにすることにより、また、媒体へのアクセスのコピーをピアが保持することを可能にすることにより)コンピューティングシステムの機能性を改善することである。よって、ブロックチェーンは単なるデータベースではないこと、ブロックチェーンは、協働し、スマートコントラクト(媒体/デジタル媒体に関連し得る)の形態でサービスプロセスを実行するための、ユーザおよびオンボード/オフボードの組織/エンティティ/ユーザのネットワークを作成するための能力を備えることに留意されたい。
例示的な実施形態は、従来のデータベースに対して多くの利点を提供する。例えば、ブロックチェーンを通して、これらの実施形態は、ブロックチェーンに固有かつ特有のものであるイミュータブルなアカウンタビリティ、セキュリティ、プライバシー、許容された非集中性、スマートコントラクトのアベイラビリティ、エンドースメント、および、アクセシビリティを提供する。
一方、従来のデータベースを使用して例示的な実施形態を実装することができなかったのは、全ての当事者をネットワーク上におかず、信用された協調性を生じさせず、検証可能なクレデンシャルを伴うトランザクションの効率的なコミットメントを提供しないからである。従来型のデータベースは、タンパー防止ストレージを提供せず、また、トランザクションに含まれた検証可能なクレデンシャルの保全を行わない。よって、ブロックチェーンネットワークを利用した本明細書に記載の提案された実施形態は、従来のデータベースでは実装することができない。
一方、例示的な実施形態を実装するのに従来型のデータベースが使用されると、これらの例示的な実施形態は、セキュリティの欠如および低速なデータ回復などの不要な欠点を被るはずである。したがって、例示的な実施形態は、ブロードキャスト暗号化および鍵生成の技術/分野における課題への具体的な解決法を提供する。
次に、図1Aを参照すると、本開示の実施形態に係るブロックチェーンアーキテクチャ100が示されている。いくつかの実施形態において、ブロックチェーンアーキテクチャ100は、特定のブロックチェーン要素、例えばブロックチェーンノード102のグループを含み得る。ブロックチェーンノード102は、1つまたは複数のブロックチェーンノード、例えばピア104から110(これら4つのノードは例としてのみ示される)を含み得る。これらのノードは、ブロックチェーントランザクションの追加や有効化プロセス(コンセンサス)など、多くの活動に参加する。ピア104から110のうちの1つまたは複数は、エンドースメントポリシに基づいてトランザクションのエンドースおよび/または推奨を行うことができ、ブロックチェーンアーキテクチャ100内の全てのブロックチェーンノード102についての順序付けサービスを提供し得る。ブロックチェーンノードは、ブロックチェーン認証を開始し、ブロックチェーン層116に記憶されたブロックチェーンイミュータブル台帳への書き込みを試み得、そのコピーは、基礎となる物理的インフラストラクチャ114上に記憶され得る。ブロックチェーン構成は、記憶されたプログラム/アプリケーションコード120(例えば、チェーンコード、スマートコントラクトなど)にアクセスして実行するためにアプリケーションプログラミングインタフェース(API)122にリンクされている1つまたは複数のアプリケーション124を含み得、記憶されたプログラム/アプリケーションコード120は、参加者が求めるカスタマイズされた構成に従って作成でき、それら自体の状態を保持し、それら自体のアセットを制御し、外部情報を受け取ることができる。これをトランザクションとして展開し、分散型台帳へのアペンドを通じて、全てのブロックチェーンノード104から110にインストールすることができる。
ブロックチェーンベースまたはプラットフォーム112は、ブロックチェーンデータ、サービス(例えば、暗号信用サービス、仮想実行環境など)、および新たなトランザクションを受け取って記憶し、データエントリへのアクセスを試みるオーディタにアクセスを提供するのに用いられ得る、基礎となる物理的コンピュータインフラストラクチャの様々な層を含み得る。ブロックチェーン層116は、プログラムコードを処理し、物理的インフラストラクチャ114に関わるために必要な仮想実行環境へのアクセスを提供するインタフェースを公開し得る。暗号信用サービス118は、暗号化および鍵生成などのトランザクションを検証し、情報をプライベートに保つために使用され得る。
図1Aのブロックチェーンアーキテクチャ100は、ブロックチェーンプラットフォーム112によって公開される1つまたは複数のインタフェースおよび提供されるサービスを介して、プログラム/アプリケーションコード120を処理および実行し得る。アプリケーションコード120はブロックチェーンアセットを制御し得る。例えば、アプリケーションコード120は、データを記憶、転送でき、スマートコントラクト、および、実行の対象となる条件または他のコード要素を有する関連付けられたチェーンコードの形式でピア104から110によって実行され得る。非限定的な例として、アセット/リソースの転送、アセット/リソースの生成などを実行するために、スマートコントラクトを生成し得る。スマートコントラクト自体を使用して、認証に関連するルール(例えば、アセット転送のルール、規制、暗号化/鍵生成など)、アクセス要件(例えば、データストアの、チェーン外のデータストアの、または、トランザクション[媒体のアクセスコンテンツ/その媒体]に参加可能な対象者などのアクセス要件)に関連するルール、および/または、台帳の使用に関連するルールを特定することが可能である。例えば、媒体アクセスデータ126(例えば、媒体のコンテンツにアクセスするための鍵)が、ブロックチェーン層116に含まれる1つまたは複数の処理エンティティ(例えば、仮想マシン)により処理され得る。結果128が、複数のリンクされた共有ドキュメントを含み得る(例えば、リンクされた各共有ドキュメントは、媒体アクセスデータ126についてのスマートコントラクトの発行を記録する)。いくつかの実施形態では、物理的インフラストラクチャ114は、本明細書に記載のデータ/情報/アセットなどのうちのいずれかを取り出すために利用されてもよい。
スマートコントラクトは、ハイレベルアプリケーションおよびプログラミング言語を介して作成され、そして、ブロックチェーン内のブロックに書き込まれ得る。スマートコントラクトは、ブロックチェーン(例えば、ブロックチェーンピアの分散ネットワーク)を用いて登録、記憶、および/または複製される実行可能コードを含み得る。トランザクションは、スマートコントラクトに関連付けられた条件が満たされたことに応答して実行できるスマートコントラクトノードの実行である。スマートコントラクトの実行は、デジタルブロックチェーン台帳の状態に対する信用された修正をトリガーし得る。スマートコントラクトの実行によって引き起こされたブロックチェーン台帳に対する修正は、1つまたは複数のコンセンサスプロトコルを通じて、ブロックチェーンピアの分散ネットワーク全体にわたって自動で複製され得る。
スマートコントラクトは、鍵値対のフォーマットでデータをブロックチェーンに書き込み得る。さらに、スマートコントラクトコードは、ブロックチェーンに記憶された値を読み取り、これらをアプリケーション動作において使用することができる。スマートコントラクトコードは、様々な論理演算の出力をブロックチェーンに書き込むことができる。コードは、仮想マシンや他のコンピューティングプラットフォームにおいて、一時的なデータ構造を作成するために使用され得る。ブロックチェーンに書き込まれるデータは、公開することが可能であり、かつ/または、暗号化し、プライベートなものとして維持することが可能である。スマートコントラクトによって使用/生成された一時的なデータは、提供された実行環境によってメモリに保持され、そして、ブロックチェーンに必要なデータが特定されると削除される。
チェーンコードは、追加の特徴を伴って、スマートコントラクトのコード解釈を含み得る。本明細書で説明するように、チェーンコードは、コンピューティングネットワーク上に展開されたプログラムコードであり得、それは、コンセンサスプロセス中に一緒にチェーンバリデータによって実行され有効化される。チェーンコードは、ハッシュを受け取り、ブロックチェーンから、事前に記憶された特徴エクストラクを使用して作成されたデータテンプレートに関連するハッシュを取り出す。ハッシュ識別子のハッシュ、および、記憶された識別子テンプレートデータから作成されたハッシュが一致する場合、チェーンコードは要求されたサービスに認証鍵を送信する。チェーンコードは、暗号詳細に関連するブロックチェーンデータに書込みを行うことができる(例えば、これにより、媒体のアクセスをブロックチェーンにコミットさせることなどが行われる)。
図1Bは、例示的な実施形態に係る、ブロックチェーンのノード間のブロックチェーントランザクションフロー150の一例を示す。図1Bを参照すると、このトランザクションフローは、アプリケーションクライアントノード160によりエンドースピアノード181に送られるトランザクションプロポーザル191を含み得る。エンドースピア181は、クライアント署名を検証し、チェーンコード関数を実行してトランザクションを開始し得る。出力は、チェーンコードの結果、チェーンコードで読み取られた鍵/値バージョンのセット(読み取りセット)、およびチェーンコードに書き込まれた鍵/値のセット(書き込みセット)を含み得る。プロポーザル応答192は、許可された場合、エンドースメント署名と共にクライアント160に返送される。クライアント160は、エンドースメントを集めてトランザクションペイロード193とし、それを順序付けサービスノード184にブロードキャストする。そして、順序付けサービスノード184は、順序付けされたトランザクションをブロックとしてチャネル上の全てのピア181から183に送達する。ブロックチェーンにコミットする前に、各ピア181から183はトランザクションを有効化し得る。例えば、ピアは、エンドースメントポリシをチェックして、指定されたピアの正しい割り当てが結果に署名し、トランザクションペイロード193に対して署名を認証したことを保証し得る。
再度図1Bを参照すると、クライアントノード160は、この例ではエンドーサであるピアノード181への要求を構築し、それを送ることにより、トランザクション191を開始する。クライアント160は、利用可能なAPIを活用してトランザクションプロポーザル191を生成する、サポートされたソフトウェア開発キット(SDK)を活用するアプリケーションを含み得る。この提案は、データを台帳に読み取ること、および/または、書き込むことを行うことができるように、チェーンコード関数を呼び出すための要求である。SDKは、トランザクションプロポーザル191のパッケージを適切に構築されたフォーマット(例えば、リモートプロシージャコール(RPC)上のプロトコルバッファ)に縮小し、クライアントの暗号クレデンシャルを取得して、トランザクションプロポーザル191の一意の署名を生成してもよい。
これに応じて、エンドースピアノード181は、(a)トランザクションプロポーザル191がうまく形成されていること、(b)トランザクションが、過去に既にサブミットされていないこと(リプレイ攻撃保護)、(c)署名が有効であること、(d)サブミッタ(この例では、クライアント160)がそのチャネル上で提案された動作を実行することを適切に認可されていることを検証し得る。エンドースピアノード181は、呼び出されたチェーンコード関数への引数としてトランザクションプロポーザル191の入力を受け取り得る。そして、チェーンコードは、現在の状態データベースに対して実行され、応答値、読み取りセット、および書き込みセットを含むトランザクション結果を生成する。しかしながら、この時点では台帳は更新されない。いくつかの実施形態では、値のセットが、エンドースピアノード181の署名とともに、クライアント160のSDKにプロポーザル応答192として戻され、このクライアントは、アプリケーションが消費するペイロードをパースする。
これに応じて、クライアント160のアプリケーションは、エンドースピアの署名を検査/検証し、プロポーザル応答を比較して、プロポーザル応答が同じであるかどうかを判定する。チェーンコードが台帳のみを照会した場合、アプリケーションは照会応答を検査し、通常はトランザクションを順序付けノードサービス184にサブミットしない。クライアントアプリケーションが台帳を更新するために順序付けサービスノード184にトランザクションを提出することを意図する場合、そのアプリケーションは、指定されたエンドースメントポリシがサブミット前に満たされているかどうかを判定する。ここで、クライアントは、トランザクションに対する複数の当事者のうちの1つのみを含み得る。このケースでは、各クライアントが、自体のエンドースノードを有し得、各エンドースノードは、トランザクションをエンドースする必要がある(各エンドースノードがトランザクションをエンドースする必要があることへの解決法が本明細書で説明されることに留意されたい)。アーキテクチャでは、アプリケーションが応答を検査しないことを選択する場合、またはエンドースされていないトランザクションを転送することを選択する場合でも、エンドースメントポリシは依然としてピアによって実施され、コミット有効化フェーズで確認される。
検査が成功した後、トランザクションペイロードステップ193で、クライアント160は、エンドースメントを集めてトランザクションとし、トランザクションメッセージ内のトランザクションプロポーザル191および応答を順序付けノード184にブロードキャストする。トランザクションには、読み取り/書き込みセット、エンドースピアの署名、およびチャネルIDが含まれる場合がある(例えば、特定の[チェーン外]データストアを利用する場合など)。順序付けノード184は、その動作を実行するためにトランザクションのコンテンツ全体を検査する必要はなく、その代わりに、順序付けノード184は、単にネットワーク内の全てのチャネルからトランザクションを受け取り、これらをチャネルごとに時系列に順序付けし、チャネルあたりのトランザクションのブロックを作成してもよい。
トランザクションのブロックは、順序付けノード184からチャネル上の全てのピアノード181から183に送達される。ブロック内のトランザクション194は、任意のエンドースメントポリシが満たされていることを保証するために、また、トランザクション実行によって読み取りセットが生成されてから、読み取りセット変数に関して台帳状態に変化がないことを保証するために、有効化される。ブロック内のトランザクションには、有効または無効のタグが付けられる。さらに、ステップ195においては、各ピアノード181から183が、チャネルのチェーンにブロックをアペンドし、各有効なトランザクションについては、書き込みセットが現在の状態データベースにコミットされる。イベントが発されて、トランザクション(呼び出し)がイミュータブルにチェーンへとアペンドされたことがクライアントアプリケーションに通知され、かつ、トランザクションが有効化されたか、または、無効化されたか(例えば、媒体/媒体のコンテンツへのアクセスが認められたか/拒否されたか)が通知される。
ここで図2Aを参照すると、本開示の実施形態に係る、集中型ブロードキャスト暗号化手法の例示的なシステム200Aが示されている。図示のように、システム200Aは、媒体読取器202(例えば、ブルーレイプレイヤ、コンピュータ、スマートフォンなど)、デバイス関連クラウド212(例えば、媒体読取器202または媒体204の所有エンティティに関連し得る)、および、コントローラ214(例えば、所有エンティティ)を含む。
いくつかの実施形態では、媒体読取器202は、媒体204(例えば、媒体読取器202内に置くこと、媒体読取器202にダウンロードすることなどができる)、リリースビン208A、および、媒体鍵(Km)216を備える。いくつかの実施形態では、媒体204はブロック206A(例えば、媒体鍵ブロック[MKB])を有し、ブロック206Aは代替鍵(Ks)218Aを含む。いくつかの実施形態では、リリースビン208Aは、修正鍵(Kc)210Aを含む。
いくつかの実施形態では、デバイス関連クラウド212は、修正鍵210Bを含むリリースビン208Aを有する/収容する。いくつかの実施形態では、リリースビン208Aおよび修正鍵210Aは、リリースビン208Bおよび修正鍵210Bと同じ、または、実質的に同様であり得る。
いくつかの実施形態では、システム200Aが、集中型システムであり、コントローラ214が、本明細書で議論される鍵生成を監督し、デバイス関連クラウド212が、KGFとして働くことに留意されたい。
図示されているように、媒体読取器202は、媒体204が媒体読取器202により読み取られるべきであること(例えば、媒体204のコンテンツにアクセスすることができること)を特定することができる。媒体204を読み取るために、媒体読取器202は、ブロック206Aを読み取り/それにアクセスし、代替鍵218Aを特定する。また、媒体読取器202は、リリースビン208Aを読み取り/それにアクセスし、修正鍵210Aを得る。次いで、媒体読取器202は、代替鍵218Aおよび修正鍵210Aを使用して媒体鍵216(例えば、
Figure 2024501401000002
)を決定し、媒体鍵が正しければ、媒体204のコンテンツにアクセスし、それをユーザに提示することができる。
いくつかの実施形態では、リリースビン208Aおよび修正鍵210Aが、デバイス関連クラウド212からリリースビン208Aおよび修正鍵210Bとして提供され、リリースビン208Aおよび修正鍵210Bが、コントローラ214から提供される。いくつかの実施形態では、媒体読取器202がインターネット接続されたデバイスである場合に、デバイス関連クラウド212が利用され、媒体204が媒体読取器202内にある/それにダウンロードされている/それにアップロードされている場合、および/または、媒体読取器202がインターネットに接続されている場合に、修正鍵210Aが、デバイス関連クラウドから修正鍵210Bとして取り出される。
ここで図2Bを参照すると、本開示の実施形態に係る、非集中型ブロードキャスト暗号化手法の例示的なシステム200Bが示されている。いくつかの実施形態では、システム200Bは、図2Aのシステム200Aと同じ、または、実質的に同様であり得る。システム200Bおよびシステム200Aは同一のコンポーネントを共有していること、および、添付の図面内では、同様の要素を指定するために同様の参照番号が使用されることに留意されたい。
図示のように、図2Aのシステム200Aと比較すると、ここでは、システム200Bが、デルタブロック(MKB_delta)220を含み、リリースビン208Aおよび修正鍵210Aを有さない。いくつかの実施形態では、媒体読取器202は、媒体204が媒体読取器202により読み取られるべきであること(例えば、媒体204のコンテンツにアクセスすることができること)を特定することができる。媒体204を読み取るために、媒体読取器202は、ブロック206Aを読み取り/それにアクセスし、代替鍵218Aを特定する。また、媒体読取器202は、デバイス関連クラウド212から修正鍵210Bおよびデルタブロック220を得る。次いで、媒体読取器202は、代替鍵218A、修正鍵210B、および、デルタブロック220を使用して媒体鍵216(例えば、
Figure 2024501401000003
)を決定し、媒体鍵が正しければ、媒体204のコンテンツにアクセスし、それをユーザに提示することができる。
いくつかの実施形態では、デルタブロック220は、ブロック206Aの時刻変化を表し、よって、提示される実施形態により、ブロックチェーンを介した時刻ベースでの媒体コンテンツのリリースが可能になる。例えば、特定の日にちに映画がリリースされる場合、リリース日より前に媒体を配布することができるが、全ての鍵(例えば、修正鍵210B)が媒体に含まれているわけではなく、その特定の日にちに、コンテンツがアクセス可能になるように、必要な鍵をリリースすることが可能である。アクセスされると、そのアクセスの指示を、媒体の使用を示す台帳に加えることが可能である。
ここで図2Cを見ると、本開示の実施形態に係る例示的な媒体鍵ブロック更新250が示されている。いくつかの実施形態では、媒体鍵ブロック更新は、時刻ゼロ(t0)から時刻30(t30)(例えば、インスタンス)を含み、ここで、各時刻は、ブロック(例えば、ブロック1から3、媒体鍵ブロックなど)を含む。いくつかの実施形態では、t0からt30、および、それぞれのブロック1から3は、媒体(例えば、媒体204)配布時刻ブロック中のものであり、ここでは、媒体のコンテンツへのアクセス/媒体の再生が可能になる全ての鍵が与えられているわけではない。
いくつかの実施形態では、時刻30から時刻45(t45)までで、代替鍵(例えば、208A)が、ブロック4に配布/そのブロックにおいて配布され、これにより、媒体へのアクセスを決定するための1つ目の鍵が提供される。いくつかの実施形態では、代替鍵が配布された後、修正鍵(例えば、210B)が、ブロック5に配布/そのブロックにおいて配布され得る。修正鍵の配布は、ブロックチェーン上/台帳内に、その配布を第1のトランザクション(tn1)として記録することを含むことに留意されたい。いくつかの実施形態では、媒体をリリースすることができ(例えば、媒体コンテンツリリース日)、その時刻に、代替鍵および修正鍵の機能を利用したデバイスアクセス決定を、第2のトランザクションとしてブロックチェーンに加えることができる(tn2)。いくつかの実施形態では、デバイスアクセス決定は、媒体リリース日を特定するスマートコントラクトを含み得る。
いくつかの実施形態では、媒体リリースの後に、媒体への次のアクセスを、更なるトランザクションとしてブロックチェーンに加えることが可能であり、かつ/または、媒体に更新(鍵に対してのもの)を行い、その更新を、更なるトランザクションとして記録することが可能である。
現在の解決法への様々な改良が明らかであることに留意されたい。それらの改良とはすなわち、全ての指令(例えば、トランザクション/鍵変更/更新)を再実行するのに必要な全ての情報をブロックチェーンがデフォルトで有しているので、災害回復ファシリティが必要ないこと;やはり情報がブロックチェーン上にあるので、ファシリティの移行がもはや必要ないこと;データが初めてアクセスされる際には、ユーザにブロックチェーンtxを行わせることで共有鍵の使用の追跡が行われ、さらに、ブロックチェーントランザクションを行うのに要される頻度を可変にすることが可能であること;ブロックチェーンの特性を活用した新たな修正鍵計算方法が存在すること;ブロックチェーンのみが、NNLツリーを全体的に見るものであり、すなわち、KGFオペレータ(先で述べられている)も、コンテンツの所有者/制御者も、ツリー内でリソースがどのように割り当てられるかを認識しないこと;ブロックチェーンの可変性に起因して、所与の時刻に複数の対象範囲が共存可能であること;および、NNLバイナリツリーに対してだけではなく、k値ツリーについての一般化ブロードキャスト暗号化に対しても、鍵のバリエーションの追跡作業が容易であることである。
より具体的には、本明細書で提供される解決法は、媒体鍵ブロック更新および/または媒体鍵ブロックを、オンデマンドで最新の対象範囲を用いて可能にし、このことは、取消しがしばしば起こるモノのインターネットまたは非常に動的なシステムにとって不可欠である。
さらに、ブロックチェーンにより可能になる暗号化されたコンテンツの時刻ベースのリリースは、コンテンツが1度暗号化され、次いで、異なる時刻/日にちで、再生/アクセスの配布およびイネーブルが有効になるという点で新規なものである。これにより、コンテンツへのアクセスを可能にするためにトランザクションを要する特別な対象範囲の作成/生成が可能になる。こうした実施形態では、トランザクションは、非常にフレキシブルであり、媒体/コンテンツ配布の後でも更新可能なスマートコントラクトにより定義することができる。
引き続いて、更なる新規性は、ブロック(媒体鍵ブロック)を活用することにある。従来式のアーキテクチャでは、ユーザは、どのようなタイプの検証であっても行うことができず、また、コンテンツが再生されるまではどの情報を使用することもできない。しかし、本明細書で議論されるブロックチェーンフレームワークでは、それは、再生だけではなく、様々な点で有用であり得る。
最後に、ブロードキャスト暗号化を用いて使用される、権限を付与されていないユーザのトレースに新規性がさらに存在する。現在では、権限を付与されていないユーザ(例えば、ハッカー)が、ミックスアンドマッチ手法を場合によっては使用して、2つまたはそれより多くの、生成されたバリエーション/所与のバリエーション/フィールド内で使用されるバリエーションから新たなバリエーションを作成し得る。しかし、ブロックチェーンは、与えられるバリエーション、または、機能再生されるバリエーションの経過追跡を可能にする。フィールド内で見つかるバリエーションが(a)今までに与えられたものであるか、(b)そうでなければ、それがミックスアンドマッチバリエーションであるかどうかをチェックすることが可能である。こうした実施形態では、ハニーポットバリエーション、すなわち、権限を付与されていないユーザが初めに試みるであろうバリエーションが定義される。例えば、映画-1 AABAAB、映画-1 BBABBA → ハニーポットバリエーション AAAAAAA BBBBBBB ABABABABABA。
次いで、媒体鍵ブロックのサイズ、または、包括的意味での対象範囲(例えば、形状)を(例えば、全ての、または、ほとんどのライセンシについて)改善する対象範囲を定義するためのストラテジを定義することができる。例えば、ライセンシは、自身の会社の対象範囲について「バリア」を定義し得るが、隣接し合うライセンシは、自身のバリアを取り除いて、より良好な対象範囲を提供することができる。
ここで図3を参照すると、非集中型ブロードキャスティング暗号化のための例示的な方法300のフローチャートが示されている。いくつかの実施形態では、方法300は、ブロックチェーンネットワーク/システム(図2Bのシステム200Bなど)内のプロセッサ、ノード、および/または、ピアノードにより実行され得る。いくつかの実施形態では、方法300は動作302から始まり、ここでは、プロセッサが、媒体に1つまたは複数の鍵を組み込む。これらの1つまたは複数の鍵はそれぞれ、特定のインスタンスに関連し得る。さらに、これらの1つまたは複数の鍵は、ブロックチェーンに含まれ得る。
いくつかの実施形態では、方法300は動作304に進み、ここでは、プロセッサが、第1の特定のインスタンスが生じたことを特定する。いくつかの実施形態では、方法300は動作306に進み、ここでは、プロセッサが、第1の特定のインスタンスに関連する第1の鍵を提供する。いくつかの実施形態では、方法300は動作308に進み、ここでは、プロセッサが、媒体のコンテンツへのアクセスを可能にするかどうかを判定する。いくつかの実施形態では、動作308の後、方法300は終了してもよい。
以下で議論されるいくつかの実施形態では、簡潔さのために示されていない方法300の1つまたは複数の動作がある。したがって、いくつかの実施形態では、媒体へのアクセスを可能にすることを決定することが、プロセッサが、特定のインスタンスにおいて第1の鍵が正しい鍵であることを特定し、媒体のコンテンツへのアクセスを可能にすることを含む。
他の実施形態では、媒体へのアクセスを可能にすることを決定することが、プロセッサが、第1の鍵が危険にさらされた鍵(例えば、ハニーポット鍵、不正確、権限を付与されていないなど)であることを特定し、媒体のコンテンツへのアクセスを無効にすることを含む。
他の実施形態では、媒体へのアクセスを可能にすることを決定することが、媒体が開始されていること(例えば、ロードされていること、再生されていること、立ち上げられていることなど)をプロセッサが特定することを含む。プロセッサは、第1の鍵を、ブロックチェーン内の対応する鍵と比較し、第1の鍵が対応する鍵と一致していないことを特定し得る。プロセッサは、第1の鍵を派生鍵として記録し得る。例えば、プロセッサは、媒体がリリース日の後に再生されていることを特定し、媒体のコンテンツを再生するのに使用される第1の鍵が今では古いものであることを特定し、コンテンツの再生を可能にする新たな鍵で第1の鍵を更新し得る。次いで、プロセッサは、第1の鍵をブロックチェーンに記録して、新たな鍵が第1の鍵に置き換わったことを示し得る。他の例では、プロセッサは、第1の鍵が対応する鍵と一致していないことを特定し得、このことは、第1の鍵が権限を付与されていない媒体ユーザにより使用されている鍵であることを示し得、この後の権限を付与されていないユーザを特定し、停止するために、第1の鍵をブロックチェーンに記録することができる。
いくつかの実施形態では、方法300は、媒体が開始されていることをプロセッサが特定する段階をさらに備え得、プロセッサは、第1の鍵を、ブロックチェーン内の対応する鍵と比較することで第1の鍵を確認(例えば、有効化、検証など)し得る。いくつかの実施形態では、方法300は、第2の特定のインスタンスが生じたことをプロセッサが特定する段階をさらに備え得、プロセッサは、第1の鍵を、第2の特定のインスタンスに関連する第2の関連鍵に置き換えることができる。例えば、ユーザが月ごとの媒体サブスクリプションを申し込んでいる場合、媒体サブスクリプションのコンテンツにアクセスするための鍵は、毎月変化し得る/置き換わり得る。
いくつかの実施形態では、特定のインスタンスが、時刻に関するインスタンスであり、時刻に関するインスタンスは、調整エンティティにより提供され得る。例えば、ビデオゲームコンソールがリリースされる場合、一般的なリリース日より前に、ビデオゲームコンソールがテスタに送達されることがある。テスタに送達されるコンソールは、特定の日にちでのコンソールの様々な特徴/コンテンツへのアクセス、および、一般的なリリース日でのコンテンツへの完全なアクセスを可能にする鍵を有し得る。コンソールの製造者は、時刻に関するインスタンスを選択およびプリプログラムする(例えば、スマートコントラクト、ファームウェアなどを用いて)エンティティであり得る。
本開示はクラウドコンピューティングについての詳細な説明を含むが、本明細書で記載される教示内容の実施は、クラウドコンピューティング環境に限定されないことを理解されたい。むしろ、本開示の実施形態は、現在既知の、または今後開発される任意の他のタイプのコンピューティング環境と併せて実施することができる。
クラウドコンピューティングは、管理の労力またはサービスのプロバイダとの対話を最小限に抑えながら迅速にプロビジョニングおよびリリースできる構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールに対する便利なオンデマンドネットワークアクセスを可能にするための、サービス提供モデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの展開モデルを含み得る。
特性は次の通りである。
オンデマンドセルフサービス:クラウドコンシューマは、サービスプロバイダとの人的対話を必要とすることなく、必要に応じて自動的に、サーバ時間およびネットワークストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
幅広いネットワークアクセス:ネットワークを介して能力を利用可能であり、異種混交のシンクライアントプラットフォームまたはシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、および、PDA(登録商標))による使用を促進する標準的なメカニズムを通して能力がアクセスされる。
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数のコンシューマにサービスを提供するようにプールされており、様々な物理リソースおよび仮想リソースが需要に従って動的に割り当てられ、また再割り当てされる。コンシューマは、一般には、提供されるリソースの厳密な部分を制御できない、または、その知識がないが、より高い抽象レベル(例えば、国、州、または、データセンタ)では部分を指定可能であることもある点で部分独立性がある。
迅速な拡張性:様々な能力を迅速に且つ伸縮自在に、場合によっては自動的にプロビジョニングし、即座にスケールアウトすることも、迅速にリリースして即座にスケールインすることもできる。コンシューマには、プロビジョニングに使用できる能力は無制限に見えることが多く、いつでも任意の数量で購入できる。
計測されるサービス:クラウドシステムが、サービスのタイプ(例えば、ストレージ、処理、帯域幅、および、アクティブなユーザアカウント)に適したある程度の抽象化レベルで計量能力を活用することにより、リソースの使用を自動的に制御し最適化する。リソース使用は、監視され、制御され、また報告され得、利用されるサービスのプロバイダおよびコンシューマの両方に透明性を提供する。
サービスモデルは次の通りである。
サービスとしてのソフトウェア(Software as a Service:SaaS):コンシューマに提供される能力は、クラウドインフラストラクチャ上で動作しているプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインタフェースを介して、様々なクライアントデバイスからアクセス可能である。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、ストレージ、または、個々のアプリケーション能力さえも含む基礎となるクラウドインフラストラクチャを管理することも、制御することもない。ただし、限定されたユーザ固有のアプリケーション構成設定は例外となる場合がある。
サービスとしてのプラットフォーム(Platform as a Service:PaaS):コンシューマに提供される能力は、プロバイダによりサポートされるプログラミング言語およびツールを使用して作成される、コンシューマが作成した、または、取得したアプリケーションをクラウドインフラストラクチャ上に展開することである。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、またはストレージを含む基礎となるクラウドインフラストラクチャを管理または制御しないが、展開されたアプリケーションおよび、場合によっては、アプリケーションホスティング環境の構成を制御する。
サービスとしてのインフラストラクチャ(Infrastructure as aService:IaaS):コンシューマに提供される能力は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースをプロビジョニングすることであり、コンシューマは、オペレーティングシステムおよびアプリケーションを含み得る任意のソフトウェアを展開して実行することができる。コンシューマは、基礎となるクラウドインフラストラクチャを管理することも、制御することもないが、オペレーティングシステム、ストレージ、展開されたアプリケーションを制御することができ、場合によっては、選択されたネットワーキングコンポーネント(例えば、ホストファイアウォール)を限定された形で制御することができる。
展開モデルは次の通りである。
プライベートクラウド:クラウドインフラストラクチャが、一組織のためだけに運用される。組織または第三者によって管理され、オンプレミスまたはオフプレミスに存在し得る。
コミュニティクラウド:クラウドインフラストラクチャが、いくつかの組織で共有されており、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシ、および法令順守に関わる考慮事項)を有する特定のコミュニティをサポートする。組織または第三者によって管理され、オンプレミスまたはオフプレミスに存在し得る。
パブリッククラウド:クラウドインフラストラクチャが、一般大衆または大きな業界団体により利用可能になり、クラウドサービスを販売する組織により所有されている。
ハイブリッドクラウド:クラウドインフラストラクチャが、2つまたはそれより多くのクラウド(プライベート、コミュニティ、またはパブリック)を組み合わせたものであり、各クラウドは独特なエンティティのままであるが、データおよびアプリケーションポータビリティ(例えば、クラウド間で負荷分散するためのクラウドバースト)を可能にする標準化技術または独自技術によって結びつけられている。
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性、およびセマンティック相互運用性を重視したサービス指向型である。クラウドコンピューティングの中核には、相互接続されたノードからなるネットワークを含むインフラストラクチャが存在する。
図4Aには、クラウドコンピューティング環境410が示されている。示しているように、クラウドコンピューティング環境410は、例えば、パーソナルデジタルアシスタント(PDA)または携帯電話400A、デスクトップコンピュータ400B、ラップトップコンピュータ400C、および/または自動車コンピュータシステム400Nなどのクラウドコンシューマによって使用されるローカルコンピューティングデバイスが通信し得る1つまたは複数のクラウドコンピューティングノード400を含む。ノード400は、互いに通信し得る。それらは、物理的または仮想的に、前述のプライベートクラウド、コミュニティクラウド、パブリッククラウド、またはハイブリッドクラウド、またはそれらの組み合わせなどの1つまたは複数のネットワークにグループ化(図示せず)され得る。
これにより、クラウドコンピューティング環境410は、サービスとしてインフラストラクチャ、プラットフォーム、および/または、ソフトウェアを提供することが可能になり、そのサービスのために、クラウドコンシューマがローカルのコンピューティングデバイス上にリソースを維持する必要はない。図4Aに示されたコンピューティングデバイス400Aから400Nのタイプは例示のみを意図しており、コンピューティングノード400およびクラウドコンピューティング環境410は、任意のタイプのネットワークおよび/またはネットワークアドレス指定可能な接続を介して(例えば、ウェブブラウザを使用して)、任意のタイプのコンピュータ化デバイスと通信できることを理解されたい。
図4Bには、クラウドコンピューティング環境410(図4A)により提供される機能抽象化層のセットが示される。図4Bに示されたコンポーネント、層、および機能は、単に例示を意図したものであり、本開示の実施形態はこれに限定されないことを予め理解されるべきである。以下に示すように、以下の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層415は、ハードウェアおよびソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例には、メインフレーム402;RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ404;サーバ406;ブレードサーバ408;記憶デバイス411;および、ネットワークおよびネットワーキングコンポーネント412が含まれる。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア414およびデータベースソフトウェア416を含む。
仮想化層420は、抽象化層を提供する。抽象化層から、以下の仮想エンティティの例が提供され得る:仮想サーバ422;仮想ストレージ424;仮想プライベートネットワークを含む仮想ネットワーク426;仮想アプリケーションおよびオペレーティングシステム428;および、仮想クライアント430。
1つの例では、管理層440は、以下に説明する機能を提供し得る。リソースプロビジョニング442は、クラウドコンピューティング環境内でタスクを実行するのに利用されるコンピューティングリソースおよび他のリソースの動的な調達を提供する。計測および価格設定444では、クラウドコンピューティング環境内でリソースが利用されると費用の追跡を行い、これらのリソースの消費に対して請求書作成または請求書送付を行う。1つの例では、これらのリソースは、アプリケーションソフトウェアライセンスを含んでよい。セキュリティは、クラウドコンシューマおよびタスクに対する身元検証、ならびにデータおよびその他のリソースに対する保護を提供する。ユーザポータル446は、コンシューマおよびシステムアドミニストレータに対してクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理448は、必要なサービスレベルが満たされるように、クラウドコンピューティングリソースの割り当ておよび管理を提供する。サービス水準合意(SLA)立案および履行450では、SLAに従って将来的に必要になることが予想されるクラウドコンピューティングリソースについての事前調整、および、その調達を行う。
ワークロード層460では、複数の機能例が提供される。それらの機能ためにクラウドコンピューティング環境を利用することができる。この層から提供することができるワークロードおよび機能の例には、マッピングおよびナビゲーション462;ソフトウェア開発およびライフサイクル管理464;仮想教室教育提供466;データ解析処理468;トランザクション処理470;および、ブロードキャスティング暗号化および鍵生成の非集中化472が含まれる。
図5は、本開示の実施形態に係る例示的なコンピュータシステム501の高レベルブロック図を示しており、このコンピュータシステムは、本明細書で説明される方法、ツール、および、モジュール、および、関係する任意の機能のうちの1つまたは複数を(例えば、コンピュータの1つまたは複数のプロセッサ回路またはコンピュータプロセッサを使用して)実装するのに使用され得る。いくつかの実施形態では、コンピュータシステム501の主要コンポーネントは、1つまたは複数のCPU502、メモリサブシステム504、端末インタフェース512、記憶インタフェース516、I/O(入出力)デバイスインタフェース514、および、ネットワークインタフェース518を備えてもよく、これらは全て、メモリバス503、I/Oバス508、および、I/Oバスインタフェースユニット510を介して、コンポーネント間通信のために直接的にまたは間接的に通信可能に結合することができる。
コンピュータシステム501は、1つまたは複数の汎用プログラマブル中央処理ユニット(CPU)502A、502B、502C、および、502D(本明細書では、CPU502と総称される)を含み得る。いくつかの実施形態において、コンピュータシステム501は、比較的大きなシステムに典型的な複数のプロセッサを含み得るが、他の実施形態においては、コンピュータシステム501は、代わりに、単一CPUシステムであり得る。各CPU502は、メモリサブシステム504に記憶された命令を実行し得、1つまたは複数のレベルのオンボードキャッシュを含み得る。
システムメモリ504は、ランダムアクセスメモリ(RAM)522またはキャッシュメモリ524などの揮発性メモリの形態のコンピュータシステム可読媒体を含み得る。コンピュータシステム501は、さらに、他の取り外し可能/取り外し不可能、揮発性/不揮発性コンピュータシステム記憶媒体を含み得る。例としてのみであるが、記憶システム526は、「ハードドライブ」のような、取り外し不可能な不揮発性磁気媒体から読み出したり、それに書き込んだりするために設けることができる。図示していないが、取り外し可能な不揮発性の磁気ディスク(例えば、「フロッピーディスク」)からの読取り、および、それへの書込みのための磁気ディスクドライブ、または、CD-ROM、DVD-ROM、または、他の光学媒体など、取り外し可能な不揮発性の光学ディスクからの読取り、または、それへの書込みのための光学ディスクドライブを設けることができる。さらに、メモリ504は、フラッシュメモリ、例えばフラッシュメモリスティックドライブまたはフラッシュドライブを含むことができる。メモリデバイスは、1つまたは複数のデータ媒体インタフェースによってメモリバス503に接続することができる。メモリ504は、様々な実施形態の機能を実行するように構成されたプログラムモジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
プログラムモジュール530の少なくとも1つのセットをそれぞれ有する、1つまたは複数のプログラム/ユーティリティ528が、メモリ504内に記憶され得る。プログラム/ユーティリティ528は、ハイパーバイザ(仮想マシンモニタとも呼ばれる)、1つまたは複数のオペレーティングシステム、1つまたは複数のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータを含み得る。オペレーティングシステム、1つまたは複数のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータのそれぞれ、またはそれらの何らかの組み合わせは、ネットワーキング環境の実施形態を含み得る。プログラム528および/またはプログラムモジュール530は、一般に、様々な実施形態の機能または方法体系を実行する。
メモリバス503は、CPU502、メモリサブシステム504、およびI/Oバスインタフェース510間の直接通信経路を提供する単一バス構造として図5に示されているが、メモリバス503は、いくつかの実施形態において、階層、星形、もしくはウェブ構成のポイントツーポイントリンク、複数の階層バス、並列冗長経路、または任意の他の適切なタイプの構成のような、様々な形態のいずれかで構成され得る複数の異なるバスまたは通信経路を含み得る。さらに、I/Oバスインタフェース510およびI/Oバス508はそれぞれ単一のユニットとして示されているが、コンピュータシステム501は、いくつかの実施形態において、複数のI/Oバスインタフェースユニット510、複数のI/Oバス508、またはその両方を含み得る。さらに、I/Oバス508を、様々なI/Oデバイスまで延びる様々な通信経路から分離する複数のI/Oインタフェースユニットが示されているが、他の実施形態では、I/Oデバイスのうちのいくつか、または、全てが、1つまたは複数のシステムI/Oバスに直接的に接続されてもよい。
いくつかの実施形態では、コンピュータシステム501は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、または、直接的なユーザインタフェースをほとんど有さない、または、全く有さないが、他のコンピュータシステム(クライアント)からの要求を受け取るサーバコンピュータまたはそれに類似するデバイスであり得る。さらに、いくつかの実施形態では、コンピュータシステム501は、デスクトップコンピュータ、ポータブルコンピュータ、ラップトップコンピュータまたはノートブックコンピュータ、タブレットコンピュータ、ポケットコンピュータ、電話機、スマートフォン、ネットワークスイッチまたはネットワークルータ、または、他の任意の適当なタイプの電子デバイスとして実装され得る。
図5は、例示的なコンピュータシステム501の代表的な主要コンポーネントを示すことを意図していることに留意されたい。しかしながら、いくつかの実施形態において、個々のコンポーネントは、図5に表されているよりもより複雑であってもより複雑でなくてもよく、図5に示されているもの以外の、またはそれらに追加されたコンポーネントが存在してよく、このようなコンポーネントの数、タイプ、および構成は様々であり得る。
本明細書においてより詳細に記述されるように、本明細書で説明される方法のいくつかの実施形態の動作のうちの一部または全ては、代替的な順序で実行されてもよく、全く実行されなくてもよいことが企図され、さらに、複数の動作が同時に、またはより大きなプロセスの内部部分として発生してもよい。
本開示は、任意の可能な技術詳細レベルで統合化されたシステム、方法、および/または、コンピュータプログラム製品であり得る。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数のコンピュータ可読記憶媒体)を含み得る。
コンピュータ可読記憶媒体は、命令実行デバイスにより使用される命令を保持および記憶可能な有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または、これらの任意の適当な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非包括的なリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、パンチカードまたは命令が記録されている溝内の***構造などの機械的に符号化されたデバイス、および、上述のものの任意の適当な組み合わせを含む。本明細書では、コンピュータ可読記憶媒体自体は、電波または自由伝搬する他の電磁波、導波路または他の伝送媒体を介して伝搬する電磁波(例えば、ファイバオプティックケーブルを通過する光パルス)、または、ワイヤを介して伝送される電気信号などの一時的な信号とみなされるものではない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされてもよく、または、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/または、無線ネットワークを介して、外部コンピュータまたは外部記憶デバイスにダウンロードされてもよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/または、エッジサーバを備え得る。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、当該コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
本開示の動作を実行するコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、または、Smalltalk(登録商標)またはC++などのオブジェクト指向プログラミング言語、および、「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含めた1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードであってもよい。コンピュータ可読プログラム命令は、スタンドアロンのソフトウェアパッケージとして、ユーザのコンピュータ上で全体を実行すること、ユーザのコンピュータ上で一部分を実行することができ、ユーザのコンピュータ上で一部分を、遠隔のコンピュータ上で一部分を実行すること、または、遠隔のコンピュータまたはサーバ上で全体を実行することができる。後者のシナリオでは、遠隔のコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または、その接続は、外部コンピュータに対して(例えば、インターネットサービスプロバイダを使用してインターネットを介して)行われてもよい。いくつかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本開示の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行し得る。
本開示の態様は、本明細書において、本開示の実施形態による方法、装置(システム)、および、コンピュータプログラム製品のフローチャート図および/またはブロック図を参照して説明されている。フローチャート図および/またはブロック図の各ブロック、および、フローチャート図および/またはブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装可能であることが理解されるであろう。
これらのコンピュータ可読プログラム命令を、コンピュータのプロセッサ、または、マシンを生成するための他のプログラマブルデータ処理装置に提供し、こうすることで、コンピュータのプロセッサまたは他のプログラマブルデータ処理装置を介して実行される命令が、フローチャートおよび/またはブロック図における1つまたは複数のブロックにおいて指定された機能/動作を実装する手段を作成するようにしてもよい。また、これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置、および/または、他のデバイスに特定の様式で機能するように指示することが可能なコンピュータ可読記憶媒体にも記憶することができ、これにより、命令を記憶したコンピュータ可読記憶媒体が、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定される機能/動作の態様を実装する命令を有する製品を備えるようになる。
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、または、他のデバイスにロードして、コンピュータ、他のプログラマブル装置、または、他のデバイス上で一連の動作ステップを実行させることでコンピュータ実装プロセスを作成することもでき、これにより、コンピュータ、他のプログラマブル装置、または、他のデバイス上で実行される命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定される機能/動作を実装するようになる。
図面におけるフローチャートおよびブロック図は、本開示の様々な実施形態によるシステム、方法、および、コンピュータプログラム製品の考えられる実装形態のアーキテクチャ、機能性、および、動作を示している。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または、一部分を表し得る。いくつかの代替的な実装形態において、ブロックに記されている機能は、図面に記されている順序とは異なる順序で行われ得る。例えば、連続して示されている2つのブロックが、実際には、1つの段階として実現されてもよく、同時に、実質的に同時に、部分的にまたは全体的に時間重複するように実行されてもよく、または、こうしたブロックは、場合によっては、関係する機能性次第で逆の順序で実行されてもよい。ブロック図および/またはフローチャート図の各ブロック、および、ブロック図および/またはフローチャート図におけるブロックの組み合わせが、指定された機能または動作を実行する、または、特定用途向けハードウェアおよびコンピュータ命令の組み合わせを実行する、特定用途向けのハードウェアベースのシステムによって実装され得ることにも留意されたい。
本開示の様々な実施形態の説明は、例示の目的で提示されてきたが、網羅的であること、または開示された実施形態に限定されることを意図していない。説明された実施形態の範囲から逸脱することなく、多くの修正および変形が、当業者には明らかになるであろう。本明細書で使用される専門用語は、実施形態の原理、市場で見られる技術の実用的な適用、または、それに対する技術的改善を最適に説明するように、または、本明細書で開示される実施形態を他の当業者が理解することを可能にするように選択された。
本開示は、具体的な実施形態に関して説明されているが、当業者には、その変更および修正が明らかとなることが予想される。したがって、以下の特許請求の範囲は、本開示の範囲に含まれる変更形態および修正形態の全てを対象にするものと解釈されることが意図される。
本開示は、具体的な実施形態に関して説明されているが、当業者には、その変更および修正が明らかとなることが予想される。したがって、以下の特許請求の範囲は、本開示の範囲に含まれる変更形態および修正形態の全てを対象にするものと解釈されることが意図される
[項目1]
非集中型ブロードキャスティング暗号化のための方法であって、
プロセッサにより、1つまたは複数の鍵を媒体に組み込む段階、ここで、前記1つまたは複数の鍵がそれぞれ、特定のインスタンスに関連しており、ここで、前記1つまたは複数の鍵が、さらにブロックチェーンに含まれている;
第1の特定のインスタンスが生じたことを特定する段階;
前記第1の特定のインスタンスに関連する第1の鍵を提供する段階;および
前記媒体のコンテンツへのアクセスを可能にすることを決定する段階
を備える方法。
[項目2]
前記媒体へのアクセスを可能にすることを決定する段階が、
前記第1の特定のインスタンスにおいて前記第1の鍵が正しい鍵であることを特定する段階;および
前記媒体の前記コンテンツへのアクセスを可能にする段階
を有する、項目1に記載の方法。
[項目3]
前記媒体へのアクセスを可能にすることを決定する段階が、
前記第1の鍵が危険にさらされた鍵であることを特定する段階;および
前記媒体の前記コンテンツへのアクセスを無効にする段階
を有する、項目1に記載の方法。
[項目4]
前記媒体へのアクセスを可能にすることを決定する段階が、
前記媒体が開始されていることを特定する段階;
前記第1の鍵を、前記ブロックチェーン内の対応する鍵と比較する段階;
前記第1の鍵が前記対応する鍵と一致しないことを特定する段階;および
前記第1の鍵を派生鍵として記録する段階
を有する、項目1に記載の方法。
[項目5]
前記媒体が開始されていることを特定する段階;および
前記第1の鍵を前記ブロックチェーン内の対応する鍵と比較することで、前記第1の鍵を確認する段階
をさらに備える、項目1に記載の方法。
[項目6]
第2の特定のインスタンスが生じたことを特定する段階;および
前記第1の鍵を、前記第2の特定のインスタンスに関連する第2の鍵に置き換える段階
をさらに備える、項目1に記載の方法。
[項目7]
前記特定のインスタンスが、時刻に関するインスタンスであり、前記時刻に関するインスタンスが、調整エンティティにより提供される、項目1に記載の方法。
[項目8]
非集中型ブロードキャスティング暗号化のためのシステムであって、
メモリ;および
前記メモリと通信するプロセッサ
を備え、前記プロセッサが、
1つまたは複数の鍵を媒体に組み込むこと、ここで、前記1つまたは複数の鍵がそれぞれ、特定のインスタンスに関連しており、ここで、前記1つまたは複数の鍵が、さらにブロックチェーンに含まれている;
第1の特定のインスタンスが生じたことを特定すること;
前記第1の特定のインスタンスに関連する第1の鍵を提供すること;および
前記媒体のコンテンツへのアクセスを可能にすることを決定すること
を有する動作を実行するように構成された、システム。
[項目9]
前記媒体へのアクセスを可能にすることを決定することが、
前記第1の特定のインスタンスにおいて前記第1の鍵が正しい鍵であることを特定すること;および
前記媒体の前記コンテンツへのアクセスを可能にすること
を含む、項目8に記載のシステム。
[項目10]
前記媒体へのアクセスを可能にすることを決定することが、
前記第1の鍵が危険にさらされた鍵であることを特定すること;および
前記媒体の前記コンテンツへのアクセスを無効にすること
を含む、項目8に記載のシステム。
[項目11]
前記媒体へのアクセスを可能にすることを決定することが、
前記媒体が開始されていることを特定すること;
前記第1の鍵を、前記ブロックチェーン内の対応する鍵と比較すること;
前記第1の鍵が前記対応する鍵と一致しないことを特定すること;および
前記第1の鍵を派生鍵として記録すること
を含む、項目8に記載のシステム。
[項目12]
前記動作が、
前記媒体が開始されていることを特定すること;および
前記第1の鍵を前記ブロックチェーン内の対応する鍵と比較することで、前記第1の鍵を確認すること
をさらに有する、項目8に記載のシステム。
[項目13]
前記動作が、
第2の特定のインスタンスが生じたことを特定すること;および
前記第1の鍵を、前記第2の特定のインスタンスに関連する第2の鍵に置き換えること
をさらに有する、項目8に記載のシステム。
[項目14]
前記特定のインスタンスが、時刻に関するインスタンスであり、前記時刻に関するインスタンスが、調整エンティティにより提供される、項目8に記載のシステム。
[項目15]
非集中型ブロードキャスティング暗号化のためのコンピュータプログラム製品であって、プログラム命令が具現化されたコンピュータ可読記憶媒体を備え、前記プログラム命令が、プロセッサに機能を実行させるように前記プロセッサにより実行可能であり、前記機能が、
1つまたは複数の鍵を媒体に組み込む手順、ここで、前記1つまたは複数の鍵がそれぞれ、特定のインスタンスに関連しており、ここで、前記1つまたは複数の鍵が、さらにブロックチェーンに含まれている;
第1の特定のインスタンスが生じたことを特定する手順;
前記第1の特定のインスタンスに関連する第1の鍵を提供する手順;および
前記媒体のコンテンツへのアクセスを可能にすることを決定する手順
を有する、コンピュータプログラム製品。
[項目16]
前記媒体へのアクセスを可能にすることを決定する手順が、
前記第1の特定のインスタンスにおいて前記第1の鍵が正しい鍵であることを特定する手順;および
前記媒体の前記コンテンツへのアクセスを可能にする手順
を含む、項目15に記載のコンピュータプログラム製品。
[項目17]
前記媒体へのアクセスを可能にすることを決定する手順が、
前記第1の鍵が危険にさらされた鍵であることを特定する手順;および
前記媒体の前記コンテンツへのアクセスを無効にする手順
を含む、項目15に記載のコンピュータプログラム製品。
[項目18]
前記媒体へのアクセスを可能にすることを決定する手順が、
前記媒体が開始されていることを特定する手順;
前記第1の鍵を、前記ブロックチェーン内の対応する鍵と比較する手順;
前記第1の鍵が前記対応する鍵と一致しないことを特定する手順;および
前記第1の鍵を派生鍵として記録する手順
を含む、項目15に記載のコンピュータプログラム製品。
[項目19]
前記機能が、
前記媒体が開始されていることを特定する手順;および
前記第1の鍵を前記ブロックチェーン内の対応する鍵と比較することで、前記第1の鍵を確認する手順
をさらに有する、項目15に記載のコンピュータプログラム製品。
[項目20]
前記動作が、
第2の特定のインスタンスが生じたことを特定する手順;および
前記第1の鍵を、前記第2の特定のインスタンスに関連する第2の鍵に置き換える手順
をさらに有する、項目15に記載のコンピュータプログラム製品。

Claims (20)

  1. 非集中型ブロードキャスティング暗号化のための方法であって、
    プロセッサにより、1つまたは複数の鍵を媒体に組み込む段階、ここで、前記1つまたは複数の鍵がそれぞれ、特定のインスタンスに関連しており、ここで、前記1つまたは複数の鍵が、さらにブロックチェーンに含まれている;
    第1の特定のインスタンスが生じたことを特定する段階;
    前記第1の特定のインスタンスに関連する第1の鍵を提供する段階;および
    前記媒体のコンテンツへのアクセスを可能にすることを決定する段階
    を備える方法。
  2. 前記媒体へのアクセスを可能にすることを決定する段階が、
    前記第1の特定のインスタンスにおいて前記第1の鍵が正しい鍵であることを特定する段階;および
    前記媒体の前記コンテンツへのアクセスを可能にする段階
    を有する、請求項1に記載の方法。
  3. 前記媒体へのアクセスを可能にすることを決定する段階が、
    前記第1の鍵が危険にさらされた鍵であることを特定する段階;および
    前記媒体の前記コンテンツへのアクセスを無効にする段階
    を有する、請求項1に記載の方法。
  4. 前記媒体へのアクセスを可能にすることを決定する段階が、
    前記媒体が開始されていることを特定する段階;
    前記第1の鍵を、前記ブロックチェーン内の対応する鍵と比較する段階;
    前記第1の鍵が前記対応する鍵と一致しないことを特定する段階;および
    前記第1の鍵を派生鍵として記録する段階
    を有する、請求項1に記載の方法。
  5. 前記媒体が開始されていることを特定する段階;および
    前記第1の鍵を前記ブロックチェーン内の対応する鍵と比較することで、前記第1の鍵を確認する段階
    をさらに備える、請求項1に記載の方法。
  6. 第2の特定のインスタンスが生じたことを特定する段階;および
    前記第1の鍵を、前記第2の特定のインスタンスに関連する第2の鍵に置き換える段階
    をさらに備える、請求項1に記載の方法。
  7. 前記特定のインスタンスが、時刻に関するインスタンスであり、前記時刻に関するインスタンスが、調整エンティティにより提供される、請求項1に記載の方法。
  8. 非集中型ブロードキャスティング暗号化のためのシステムであって、
    メモリ;および
    前記メモリと通信するプロセッサ
    を備え、前記プロセッサが、
    1つまたは複数の鍵を媒体に組み込むこと、ここで、前記1つまたは複数の鍵がそれぞれ、特定のインスタンスに関連しており、ここで、前記1つまたは複数の鍵が、さらにブロックチェーンに含まれている;
    第1の特定のインスタンスが生じたことを特定すること;
    前記第1の特定のインスタンスに関連する第1の鍵を提供すること;および
    前記媒体のコンテンツへのアクセスを可能にすることを決定すること
    を有する動作を実行するように構成された、システム。
  9. 前記媒体へのアクセスを可能にすることを決定することが、
    前記第1の特定のインスタンスにおいて前記第1の鍵が正しい鍵であることを特定すること;および
    前記媒体の前記コンテンツへのアクセスを可能にすること
    を含む、請求項8に記載のシステム。
  10. 前記媒体へのアクセスを可能にすることを決定することが、
    前記第1の鍵が危険にさらされた鍵であることを特定すること;および
    前記媒体の前記コンテンツへのアクセスを無効にすること
    を含む、請求項8に記載のシステム。
  11. 前記媒体へのアクセスを可能にすることを決定することが、
    前記媒体が開始されていることを特定すること;
    前記第1の鍵を、前記ブロックチェーン内の対応する鍵と比較すること;
    前記第1の鍵が前記対応する鍵と一致しないことを特定すること;および
    前記第1の鍵を派生鍵として記録すること
    を含む、請求項8に記載のシステム。
  12. 前記動作が、
    前記媒体が開始されていることを特定すること;および
    前記第1の鍵を前記ブロックチェーン内の対応する鍵と比較することで、前記第1の鍵を確認すること
    をさらに有する、請求項8に記載のシステム。
  13. 前記動作が、
    第2の特定のインスタンスが生じたことを特定すること;および
    前記第1の鍵を、前記第2の特定のインスタンスに関連する第2の鍵に置き換えること
    をさらに有する、請求項8に記載のシステム。
  14. 前記特定のインスタンスが、時刻に関するインスタンスであり、前記時刻に関するインスタンスが、調整エンティティにより提供される、請求項8に記載のシステム。
  15. 非集中型ブロードキャスティング暗号化のためのコンピュータプログラム製品であって、プログラム命令が具現化されたコンピュータ可読記憶媒体を備え、前記プログラム命令が、プロセッサに機能を実行させるように前記プロセッサにより実行可能であり、前記機能が、
    1つまたは複数の鍵を媒体に組み込む手順、ここで、前記1つまたは複数の鍵がそれぞれ、特定のインスタンスに関連しており、ここで、前記1つまたは複数の鍵が、さらにブロックチェーンに含まれている;
    第1の特定のインスタンスが生じたことを特定する手順;
    前記第1の特定のインスタンスに関連する第1の鍵を提供する手順;および
    前記媒体のコンテンツへのアクセスを可能にすることを決定する手順
    を有する、コンピュータプログラム製品。
  16. 前記媒体へのアクセスを可能にすることを決定する手順が、
    前記第1の特定のインスタンスにおいて前記第1の鍵が正しい鍵であることを特定する手順;および
    前記媒体の前記コンテンツへのアクセスを可能にする手順
    を含む、請求項15に記載のコンピュータプログラム製品。
  17. 前記媒体へのアクセスを可能にすることを決定する手順が、
    前記第1の鍵が危険にさらされた鍵であることを特定する手順;および
    前記媒体の前記コンテンツへのアクセスを無効にする手順
    を含む、請求項15に記載のコンピュータプログラム製品。
  18. 前記媒体へのアクセスを可能にすることを決定する手順が、
    前記媒体が開始されていることを特定する手順;
    前記第1の鍵を、前記ブロックチェーン内の対応する鍵と比較する手順;
    前記第1の鍵が前記対応する鍵と一致しないことを特定する手順;および
    前記第1の鍵を派生鍵として記録する手順
    を含む、請求項15に記載のコンピュータプログラム製品。
  19. 前記機能が、
    前記媒体が開始されていることを特定する手順;および
    前記第1の鍵を前記ブロックチェーン内の対応する鍵と比較することで、前記第1の鍵を確認する手順
    をさらに有する、請求項15に記載のコンピュータプログラム製品。
  20. 前記動作が、
    第2の特定のインスタンスが生じたことを特定する手順;および
    前記第1の鍵を、前記第2の特定のインスタンスに関連する第2の鍵に置き換える手順
    をさらに有する、請求項15に記載のコンピュータプログラム製品。
JP2023532183A 2020-12-09 2021-11-23 非集中型のブロードキャスト暗号化および鍵生成ファシリティ Pending JP2024501401A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/116,834 US11876903B2 (en) 2020-12-09 2020-12-09 Decentralized broadcast encryption and key generation facility
US17/116,834 2020-12-09
PCT/CN2021/132219 WO2022121673A1 (en) 2020-12-09 2021-11-23 Decentralized broadcast encryption and key generation facility

Publications (1)

Publication Number Publication Date
JP2024501401A true JP2024501401A (ja) 2024-01-12

Family

ID=81848467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023532183A Pending JP2024501401A (ja) 2020-12-09 2021-11-23 非集中型のブロードキャスト暗号化および鍵生成ファシリティ

Country Status (6)

Country Link
US (1) US11876903B2 (ja)
JP (1) JP2024501401A (ja)
CN (1) CN116671060A (ja)
DE (1) DE112021005837T5 (ja)
GB (1) GB2616804A (ja)
WO (1) WO2022121673A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11997218B2 (en) 2021-03-02 2024-05-28 International Business Machines Corporation Decentralized, dynamic media key block for broadcast encryption
US11494171B1 (en) * 2021-08-10 2022-11-08 Soubir Acharya Decentralized platform for deploying AI models

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039803B2 (en) 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
US9520993B2 (en) * 2001-01-26 2016-12-13 International Business Machines Corporation Renewable traitor tracing
US8468244B2 (en) 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US8108928B2 (en) 2008-06-20 2012-01-31 International Business Machines Corporation Adaptive traitor tracing
US9559840B2 (en) 2013-10-18 2017-01-31 Globalfoundries Inc. Low-bandwidth time-embargoed content disclosure
US20170251254A1 (en) 2014-08-27 2017-08-31 Verance Corporation Tracing piracy of live broadcasts
US10158894B2 (en) 2015-12-15 2018-12-18 Telefonaktiebolaget Lm Ericsson (Publ) Edge media router device for facilitating distribution and delivery of media content having end-to-end encryption
WO2017147696A1 (en) * 2016-02-29 2017-09-08 Troy Jacob Ronda Systems and methods for distributed identity verification
CA2958668A1 (en) 2017-02-23 2018-08-23 Scenarex Inc. Methods and apparatus for integrating digital rights management into an existing blockchain
US10860743B2 (en) * 2017-10-26 2020-12-08 VYRTY Corporation Encryption scheme for making secure patient data available to authorized parties
US10567168B2 (en) 2017-11-16 2020-02-18 International Business Machines Corporation Blockchain transaction privacy enhancement through broadcast encryption
US11139955B1 (en) 2018-02-12 2021-10-05 Winklevoss Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US20190394175A1 (en) 2018-06-21 2019-12-26 University Of Maryland, Baltimore County Systems and methods for permissioned blockchain infrastructure with fine-grained access control and confidentiality-preserving publish/subscribe messaging
CN109547818A (zh) 2018-12-11 2019-03-29 深圳市汇星数字技术有限公司 一种视频内容去中心化保密分发方法
US11017329B2 (en) * 2018-12-18 2021-05-25 Rokfin, Inc. Dampening token allocations based on non-organic subscriber behaviors
US20200320518A1 (en) * 2019-04-02 2020-10-08 Parachute Wallet LLC Architecture for facilitating data transfer for blockchain-based units in packet-based systems
CN110098919B (zh) 2019-04-26 2021-06-25 西安电子科技大学 基于区块链的数据权限的获取方法
CN110581839B (zh) 2019-07-23 2021-12-14 中国空间技术研究院 内容保护方法及装置
US11275865B2 (en) 2019-08-23 2022-03-15 Conduent Business Services, Llc Privacy friendly decentralized ledger based identity management system and methods
WO2021042074A1 (en) 2019-08-30 2021-03-04 Verheyen Henry Secure data exchange network
US10951958B1 (en) 2020-01-08 2021-03-16 Disney Enterprises, Inc. Authenticity assessment of modified content

Also Published As

Publication number Publication date
CN116671060A (zh) 2023-08-29
WO2022121673A1 (en) 2022-06-16
DE112021005837T5 (de) 2023-08-24
US11876903B2 (en) 2024-01-16
US20220182231A1 (en) 2022-06-09
GB202310168D0 (en) 2023-08-16
GB2616804A (en) 2023-09-20

Similar Documents

Publication Publication Date Title
US11741083B2 (en) Cross-shard private atomic commit
US11449478B2 (en) Blockchain implemented data migration audit trail
US20180285839A1 (en) Providing data provenance, permissioning, compliance, and access control for data storage systems using an immutable ledger overlay network
US20210352077A1 (en) Low trust privileged access management
JP2023542317A (ja) ブロックチェーン・ネットワークのための合意サービス
US20220191026A1 (en) Self-sovereign data access via bot-chain
CN115769241A (zh) 针对经许可的区块链的隐私保护架构
US11917088B2 (en) Integrating device identity into a permissioning framework of a blockchain
WO2022007548A1 (en) Blockchain implementation to securely store information off-chain
US11888981B2 (en) Privacy preserving auditable accounts
CN111949651A (zh) 追踪数据传输
JP2024501401A (ja) 非集中型のブロードキャスト暗号化および鍵生成ファシリティ
WO2022116761A1 (en) Self auditing blockchain
US20220407707A1 (en) Generative cryptogram for blockchain data managment
JP2023538497A (ja) 編集可能なブロックチェーン
US11573952B2 (en) Private shared resource confirmations on blockchain
US12007981B2 (en) Blockchain selective world state database
JP2024512256A (ja) 実行-順序付け-有効化ブロックチェーンモデル内でのトランザクションアボートの削減
US11997218B2 (en) Decentralized, dynamic media key block for broadcast encryption
US20230267220A1 (en) Privacy preserving asset token exchange
US11683173B2 (en) Consensus algorithm for distributed ledger technology

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230614

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240516