[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4723141B2 - データ分配 - Google Patents

データ分配 Download PDF

Info

Publication number
JP4723141B2
JP4723141B2 JP2001512739A JP2001512739A JP4723141B2 JP 4723141 B2 JP4723141 B2 JP 4723141B2 JP 2001512739 A JP2001512739 A JP 2001512739A JP 2001512739 A JP2001512739 A JP 2001512739A JP 4723141 B2 JP4723141 B2 JP 4723141B2
Authority
JP
Japan
Prior art keywords
key
seed
value
sequence
blind
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.)
Expired - Lifetime
Application number
JP2001512739A
Other languages
English (en)
Other versions
JP2003505978A5 (ja
JP2003505978A (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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of JP2003505978A publication Critical patent/JP2003505978A/ja
Publication of JP2003505978A5 publication Critical patent/JP2003505978A5/ja
Application granted granted Critical
Publication of JP4723141B2 publication Critical patent/JP4723141B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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]
    • H04L9/0833Key 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] involving conference or group key
    • H04L9/0836Key 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] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、データへの制御されたアクセスを与えるデータ分配(配信)システム(データデストリビューションシステム)に関する。例えばこのシステムはマルチキャストオーディオまたはビデオプログラム素材への限定された時間についてのアクセスを、ユーザによる前もってする支払に対して提供するために使用できる。しかし、この発明は当然のことながらマルチキャストパケット網で使用することに限定されるものではなく、例えば他のバルクデータ分配チャンネルと一緒に使用されてもよく、その中にはディジタルバーサタイルディスクDVDのような記憶媒体が含まれている。
【0002】
【従来の技術】
マルチキャスト技術はインターネットで使用するために開発されてきており、データソースから多数の受け側に向けてデータを効率的に分配できるようにしている。しかしながら、既存のマルチキャスト用プロトコルの効率とスケーラビリティとは部分的にはデータソースがデータ受け側についての知識をなにも必要としていないという事実に依存している。しかしこのことが問題を呈示しており、データソースと受け側との間で安全な(セキュリテイのある)関係を設定しようとするときに、例えばそれによってテレビジョンプログラムのような流れとなっているビデオデータがそのプログラムを受取るために支払をした加入者だけに送られるようにするときに問題を生ずる。
【0003】
【発明が解決しようとする課題】
一般に、このような安全な関係はデータソースにおいてデータを暗号化(エンクリプト)することによって、またその上でユーザによるアクセスをそのデータを解暗号化(解号化、デクリプト)するのに必要とされるキーについて制御することによって設定することができる。一つの単純なやり方はデータを暗号化するために単一のセッションキーを使用することである。このセッションキーは新しいユーザがそのデータへのアクセスを希望するまでは、あるいは既存ユーザの一人が排除されるまでは不変に保たれる。この時点で、新しいセッションキーが必要とされて、そのキーがすべてのユーザに分配されなければならない。キー分配機構の効率がキーの階層構造を用いることにより幾分かは改善できるのではあるが、特定の顧客を排除したり、含めたりするために変更される必要があるのはそのうちの一部だけであり、このようなスキーム(機構)では、かなりの伝送オーバーヘッドが新しい顧客の群(グループ)への加入か退去と関係して不可避のままとなっている。
【0004】
この発明の出願人の未決国際特許出願PCT/GB98/03753(BT事件番号:A25728/WO)に記述されている代りのやり方では、データソースにおけるデータが一連の応用データユニット(ADU)と分けられて異なるキーが各ADUに対して使用されている。このキーは初期シード(種子)値からシーケンスとして組織的に生成されている。このシード値はまた各顧客端末にある安全なモジュールに向けて通信され、またこの安全なモジュールがエンドユーザに向けたキーの利用可能性を制御している。
【0005】
【課題を解決するための手段】
この発明を第一の観点でとらえると、
(a)複数のデータユニットをそれぞれキーのシーケンスの一つで暗号化することと;
(b)暗号化したデータユニットを複数のユーザ端末に向けて通信することと;(c)少くとも一つのシード値をユーザ端末に向けて通信することと;
(d)該シード値から、該ユーザ端末に向けて通信したシード値の数よりも大きな数のキーのシーケンスを生成することと;
(e)前記キーのシーケンスを用いて該ユーザ端末でデータユニットを解暗号化することとを備え、
該段階(d)では、段階(a)のキーのシーケンスについての任意に二重に境界を画成した部分を構成しているキーのシーケンスが生成されることと、
前記部分の下側と上側との境界のシーケンス内の位置が段階(c)で通信された少くとも一つのシード値によって決められることとを特徴とするデータを分配(配信)する方法が提供されている。
【0006】
この発明はデータを分配(配信)する方法を用意しており、そこでは、出願人の上記引用の未決出願に開示されているシステムのように、継続するデータユニットが異なるキーのシーケンスを用いて暗号化されている。しかしながら、この発明の方法はもっと著しい利点を与えており、それは各ユーザにとって利用可能なキーのシーケンスの程度(拡がり)が潜在的には無制限というのではなく、これは初期のシステムと似ていることであるが、しかし、二重に境界が画成されていて(ダブリイバウンデッド)、言い換えると、ユーザにとって利用可能なキーのシーケンスの初めと終りとが前もって決められている。さらに後述することになるように、データの送り側、あるいはデータの送り側に代って動作しているキー発行当事者は任意に出発点と終了点とを決めることができ、したがってユーザにとって利用可能なキーのシーケンス長はどのシード値がユーザに対して送られるかを選ぶことによって任意に決められる。キーのシーケンスのいずれもの所望部分について、一組のシードが存在し、これがその部分に対し、かつその部分だけに対してアクセスを与えることになる。ユーザに、潜在的に無制限なキーの組ではなく、二重に境界を画成したキーの組へのアクセスを与えることにより、この発明は、各顧客端末において安全なモジュールをもち、データ送り側の制御下でユーザのキーへのアクセスを制御する必要性を除去している。
【0007】
好ましいのは、段階(a)で使用されるキーのシーケンスが、
(A)いくつかの初期シード値に作用して中間シード値として初期シード値をブラインドとするより大きな数の中間シード値を生成することと;
(B)さらに前段階(A)で作られた中間シード値に作用して、前段階で作られた中間シード値をブラインドとし、それによりさらに大きな数の別の値を生成することと;
(C)段階(B)を作られた値の数が段階(a)で必要とされるキーの数以上となるまで繰返すこととにより生成される、ことである。
【0008】
好ましいのは、この方法が、
(i)一つのルートシード値を異なるブラインド機能の組の各々と作用させてそれにより複数の別の値を作ることと;
(ii)該異なるブラインド機能の各組を前段階で作られた該別の値もしくはそこから得られた値に作用させることと;
(iii)段階(ii)を繰返して、それにより、各繰返しにより値のトリー内で次の継続するレイヤを作ることと;
(iv)段階(a)では、段階(iii)で作られたいくつかのレイヤにおけるシードのシーケンスから得られた値をキーのシーケンスとして用いることと;
(v)段階(c)では、ユーザ端末に向けて、トリーの本体内部からの少くとも一つの値を通信して、ユーザ端末に向けて通信された値のトリー内の位置が、それによって、データユニットを解暗号化するために使用するためのユーザにとって利用可能なキーのシーケンスの部分の位置と拡がりとを判断することとを含むことである。
【0009】
ブラインド機能は入力値に作用して出力値を作る機能であり、ここでは、その機能が既知であってもなお、入力相が出力値からすぐには得ることができない。ブラインド機能は、例えば、MD5(メッセージダイジェスト番号5)のような暗号記法上のハッシュ機能を備えていてよい。
【0010】
発明者らは、一連のキーを組織的に生成しながら、ユーザにとって利用可能とされるシーケンスの部分の位置と拡がりとについて容易に制御できるようにするとくに効率的な方法が、異なるブラインド機能の組を用いて反復繰返される動作によって値のトリー(木)を生成することを発見した。以下詳細に記述する例では、二進トリーが一対の対称的なブラインド機能から形成されて使用される。一つの機能は右回転シフトであり、それに続いてハッシュ機能がされ、また他の機能は左回転シフトであり、それに続いてハッシュ機能が行なわれる。この発明のこの特徴は、しかしながら、二進のトリーで使用するのに限定されてはおらず、三進あるいはより高次のトリーを用いても実施できる。
【0011】
好ましいのは、段階(c)で、シード値が顧客端末に向けて通信網を経由して通信されることであり、さらにこの場合にはシード値が顧客端末に向けて複数のキー管理ノードから通信されるのがよく、このノードは異なるそれぞれの位置で網に接続されている。
【0012】
この発明の好ましい実施例における別な利点は、符号化されたデータへのアクセスを用意するためにシード値を分配するプロセスが異なる位置にある多数のキー管理ノードに向けて展開できることであり、これらの位置の一部もしくは全部はデータソースから遠隔にあってもよい。このやり方では、データ制御システムは大きな数の受信側で使用するために直ちにスケールを合わせるスケーラビリティが備わっている。
【0013】
一般にデータユニットとシード値とは同じ通信網上で分配される。しかし、これは必要条件ではない。例えば、データユニットはバルクデータ記憶媒体であるDVDのようなものの上に分散されていて、シード値が後にインターネットを経てオンラインで顧客に通信されるようにしてよい。こういった例は、例示として与えたにすぎず、様々な違った実施が採用されてよいことは明らかであろう。
【0014】
全体のキーシーケンスの特有のサブレンジについてのキーを構築するためにいずれかの受け側により求められるシードは各シードがどれであるかを黙示的(明示的の反対)に識別する順序で通信されるのが好ましい。この場合にシードとシードを通信するために前もって配列された順序とのインデックスは求められている最小と最大の値の知識から推論され、各シードについてのインデックス番号を明白にリストすることはなしでよい。好ましいのは、各暗号化されたデータユニットが暗号化されていないインデックス番号を帯していて、いずれもの受け側を識別するようにしていて、この受け側のシーケンス内のキーがデータユニットの解号化に使用されるべきことである。
【0015】
この発明を別な観点でとらえると、分配用にデータを暗号化する方法であって:
(a)少くとも一つのルートシード値にいくつかのブラインド機能を作用させて、それにより複数の別な値を作ることと;
(b)いくつかのブラインド機能を前段階で作られたかそこから得られた別の値に作用させることと;
(c)段階(b)を繰返して、各繰返しにより値のトリー内に次の継続するレイヤを作ることと;
(d)段階(c)によって生成されたいくつかのレイヤから得られたキー値のシーケンスを用いて複数のデータユニットを暗号化することとを備えた方法が提供されている。
【0016】
この発明を別な観点でとらえると、複数のデータユニットの各々をキーのシーケンスの一つで暗号化して、該暗号化したデータユニットを複数のユーザ端末に向けて通信することとを備えたデータを分配する方法であって、
該キーのシーケンスはキー構成アルゴリズムにより応用データユニットに向けて生成されて割当てられることと、
該キー構成アルゴリズムのコピイが複数のキーマネージャに分配されて、それにより使用時には受け側が、データ送り側を参照することなく、キーマネージャから該データの任意の部分に向けてアクセスするためのキーを得られるようにすることを特徴とする方法が提供されている。
【0017】
この発明のこの特徴はデータ分配のやり方として、キー管理が多数のキー管理ノードで展開でき、システムが多くの数のユーザに対して拡げられるようにスケールをとることができるようにする。
【0018】
この発明の別の特徴によると、先に述べた特徴による方法で使用するために暗号化された複数のデータユニットを含んでいるデータキャリヤが用意されている。このデータキャリヤは例えばDVDディスクのようなデータ記憶媒体であり、計算機メモリのある領域であったり、データユニットとともに符号化されたデータ伝送信号であってよい。
【0019】
この発明は、顧客端末、データサーバ、及びキーマネージャでこの発明と一緒に使用するもの、このようなデバイスとそれらを含む網で使用する方法にも展開される。
【0020】
この発明を実施するシステムを添付の図面を参照して詳述して行く。
【0021】
【発明の実施の形態】
データ通信システムはデータサーバ1を含み、データサーバ1はデータ通信網2を経て多数の顧客端末3に接続されている。例示を簡単にするために、僅かな顧客端末だけが示されているが、実際には、データサーバ1は同時に多数の端末と通信する。この例では、データ通信網2は公開インターネットであり、多数のサブ網2A〜2Cがノード4によって相互接続されて形成されている。サブ網と関係するルータとはインターネットプロトコル(IP)マルチキャステングをサポートしている。
【0022】
この例では、データサーバ1はビデオサーバである。データサーバはビデオデータストリームを大形メモリデバイスから読取って、MPEG2のような適当な圧縮アルゴリズムを用いてデータを圧縮する。データサーバ1内の暗号モジュールはそこで圧縮したビデオデータストリームを応用データユニット(ADU)に分ける。例えば、各ADUはビデオ信号の1分間分に対応するデータを備えている。暗号アルゴリズムがそこで使用されて、ADUを組織的に発生されたキーのシーケンスで暗号化する。各ADUに対しては異なるキーが使用される。適当な暗号アルゴリズムにはDES(data encryption standard)(US Federal standard FIPSPUB 46)が含まれている。これは従来形のプライベート(私的)キーアルゴリズムである。キーのシーケンスを発生する際に使用されるシード値もデータサーバ1から多数のキー管理ノードへ送られる。キー管理ノードは異なる位置でデータ通信網を介して拡散されている。顧客端末の一つからの要求に応答して、キー管理ノードはその端末に向けて多数のシード値を通信する。シード値を発する前に、それぞれのキー管理ノードはチェックを実行して、例えば関係している顧客端末が要求されたデータをアクセスする権利をもつことを設定するようにしてよい。例えば、顧客はビデオデータサーバ1からマルチキャストされている特定のフィルムに対するアクセス権利を要求していてよい。このフィルムがペイパービューベースで(pay-per-view basis,支払いをすると見ることができるシステムで)利用できる場合には、キー管理ノードはその顧客がビデオデータサーバのオペレータのところに口座をもっていて、そのフィルムに対して適切な支払いを済ませていることをチェックする。こういった条件が適えられていると、キー管理ノードは選ばれたシード値を顧客に向けて発して、その顧客がそのフィルムを構成しているADUを暗号化するためにデータサーバで使用されたキーシーケンスの部分に対応しているキーを生成できるようにする。以下にさらに記述するように、キーシーケンスの生成に使用されるアルゴリズムは、シード値の適切な選択がもとのキーシーケンスの任意に境界を画成した部分へのアクセスを与えるために使用することができる。
【0023】
図2は顧客端末3の一つの主な機能部品を示す。網インターフェース(I/F)22はデータ通信網2との間でADUを通信する。ADUはインターフェース22からアクセスモジュール23へ進む。前のシステムではアクセスモジュール23が別個の安全なモジュール内部、例えばスマートカード上に置かれるようにできたのとは対照的に、この発明を実施するシステムでは、アクセスモジュールは単に、顧客端末の主プロセッサ上で実行されているソフトウェアモジュールとすることができる。アクセスモジュール23は解号化モジュールDと、キー生成モジュールKと、シードメモリSSとを備えている。シードメモリはキー管理ノードから受領したシード値を記憶して、これらシード値を、キー構成アルゴリズムで後に詳述するようなものを用いて、処理して一連のキーを生成する。このキーシリーズは始点と終点としてシードメモリSS内に保持されているシード値で決まるものを有している。このシーケンスからのキーが解号化モジュールDにシーケンシャルに送られる。解号化モジュールDはインターフェース22から受領した一連のADUを解号化して、それらを応用レイヤモジュール(APP)24に送る。ここがさらに処理をするが、例えばMPEG2解号化アルゴリズムを用いて処理し、その結果データを出力デバイスに送り、そこはこの例ではビデオディスプレイユニットVDU25となっている。好ましい実施としては、インターフェース22はハードウェアでISDNモデムによって実施してよいし、またソフトウェアではTCP−IP(Transport Control Protocol-Internet Protocol)スタックで実施してよい。
【0024】
顧客端末は多数の形式のいずれか一つで実施されてよい。例えば、端末は適当な網インターフェース、インテリジェントモバイルフォン、及びテレビジョンと一緒にインターネットアクセスを提供するように設計されたセットトップボックスを備えたパーソナルコンピュータを含むことができる。
【0025】
図3は図1の網で使用するためのキー管理ノードの一例の構造を示す。このノードはパケットをデータ送り側と顧客端末との両方と通信するし、あるいはTCP−IPスタックを経て“受け側(receiver)”と通信する。パケットは安全なソケットレイヤ(SSL)32上で通信され、公開キー暗号アルゴリズムが通常形式で使用される。キー管理応用33はシード値をデータ送り側から受領し、シード値を顧客端末へ向けてさらに詳述するやり方で発する。データメモリ330はキー管理応用33と関係していて、各データ送り側から受領したシード値を保持している。ユーザはキー管理応用とユーザインターフェース34を経て対話するが、ユーザインターフェース34は、例えばHTML(ハイパーテキストマークアップ言語)とサーバウエブページに向けたCGIとを顧客端末に向けて使用してよい。
【0026】
図4は図1の網で使用するためのデータ送り側の一例の構造を示す。データ応用41はデータを出力し、このデータは、この例では、MPEG2ビデオストリームで応用データユニットに分けられたものを備えている。ビデオプログラム素材はメモリ410から得られる。ADUはアクセスモジュール42へ向けて送られる。これは暗号サブモジュールEと、キー生成サブモジュールKとシードメモリSSとを含んでいる。サブモジュールKはキーのシーケンスを生成するが、ランダムに発生されたシード値をキー構築アルゴリズム(後に詳述するようなもの)と一緒に使用して生成する。シード値はまたアクセスモジュール42から安全なソケットレイヤ(SSL)43とTCP−IPスタック44とを経て出力されてもよい。暗号化されたADUはまたTCP−IPスタック44を経て出力される。
【0027】
データサーバとキー管理ノードとの両方は市販のプラットホームであるCOMPAQ ProliantTMサーバとかSun Microsystems Enterprise 5000TMサーバを用いて実施されてよい。
【0028】
図5はデータ送り側により出力されたデータフレームの一つのフォーマットを示す。これは暗号化したADUと、キーインデックスki と、セッション識別子SEとを運んでいるデータペイロードを含んでいる。キーインデックスとセッション識別子とは暗号でない平文で送られる。
【0029】
一般にキー値は顧客端末に向けてADUの分配で使用したのと同じ通信網上で分配されてよい。
【0030】
“応用データユニット(ADU)”という用語は、この明細書及び請求の範囲ではセキュリテイ(安全)もしくは商用という視点から有用であるとされたデータの最小単位(ユニット)を記述するために使用されている。ADUの大きさは応用と必要とされるセキュリテイにより変わってよい。それは初期化フレームでありまた関係する“P−フレーム”の組でビデオシーケンス内にあるものであってよいし、網ゲームへのアクセスの10分間(時間)であってもよい。暗号用に使用されるADUは応用の異なるレイヤで使用されるものとは異なっていてよい。例えば、現在の例では、ADUはMPEG圧縮アルゴリズムで処理されるビデオフレームに対して異なる継続時間を有していて、また顧客により購入される個々のプログラムアイデアからもまた異なる継続時間を有していてよい。このシステムの性能を強化するために、ADUは部分的に限り暗号化され、他の部分は平文で送られてよい。ADUの大きさはコンテンツに依存するストリームの継続時間を介して可変とされてよい。応用データユニット(ADU)の大きさは、システムのスケーラビリティにとっての主たる決定的要因(プライマリイデターミナント)であり、とくに百万の受け側が15分間内に一つのマルチキャストデータストリームに加わろうとしているが、ADUの大きさもまた15分であるという条件の下では、これが一つの再キーイベントを必要とするだけのこととなるからである。違ったキーシーケンス構築アルゴリズムがもっと詳細に記述されることになる。
【0031】
送り側が結合を解いた構造(Sender-decoupled architecture)
この発明は、図1の方法のような単純な時間シーケンスでの使用に限定されない。例えば、この発明は大規模な網ゲームに応用されてよい。
【0032】
このようなゲームでは、ADUの経済的価値は時間とかデータ量とかには関係せず、完全に応用特有の因子だけに関係する。この例では、参加者は“ゲーム−時間”当りの課金がされ、継続時間は実時間の時分(一分、二分...の分)とは厳密には関係していないが、ゲームの時間監視者(タイムキーパ)によって規定され、信号を送られる。このゲームは数多くの仮想ゾーンで構成され、その各々は異なるゾーンコントローラによって調整(モデレート)されている。ゾーンコントローラは背景となる事象(バックグラウンドイベント)と、寿命に係るゾーンを与えるデータとを提供し、ゾーンについてのマルチキャストアドレス上で暗号化したこのデータを送るが、同じADUインデックスが、したがってキーが、すべてのゾーンである一時刻に使用される。こうして、全体のゲームが一つの単一の安全なマルチキャストセッションとなり、数多くのマルチキャストアドレスにまたがって拡散していてもそれが行なわれる。遊戯者(プレーヤ)は現在のキーをもっている限りは長きにわたって、いずれかのゾーンについての背景データに同調することができる。そのゾーン内で遊戯者により作られたフォアグラウンド(前面に出た)イベントは暗号化されていないが、この背景データを参照することなしには意味のないものとなっている。
【0033】
図6はこのようなゲームでのデータの流れを示す。ゲームの安全に関係する流れと、ゲームが進行中(設定中ではない)に一度送られた流れだけが示されている。すべての遊戯者がデータを送っているが、この図は暗号化している送り側Sすなわちゾーンコントローラだけを示している。同じように解号化している受け側Rだけが示されており、これがゲーム遊戯者である。ゲームコントローラはゲームの安全を設定するが、この安全は図示されておらず、以下で記述される。キー管理作用(操作、動作、オペレーション)は多数のレプリカとしたキーマネージャKMに対して委ねられていて、KMは安全なウエブサーバ技術を使用する。
【0034】
安全なマルチキャストセッションへのキーはシーケンス内のゲーム時分毎に(ADU毎に)変更される。暗号化されたデータはその頭にADUインデックスが平文で付けられていて、これがその解号化で必要とされるキーを参照している。設定フェーズ後に、ゲームコントローラと、ゾーンコントローラとキーマネージャとは初期シードを保持し、これがコントローラとマネージャに対してゲームの全継続時間中使用されることになるキーのシーケンスを計算できるようにしている。代って、段階を追う(ステージとした)設定も使用できる。
【0035】
ゲーム設定
1.ゲームコントローラ(図示せず)は共用“制御セッションキー”をすべてのKMとSとに向けてそれらの識別の認証をそれ自体で満足なものとした後にユニキャストする。すべてのSはすべてのKSとともに安全なウエブサーバを運用していて、それによりセッションキーが各々に向けて、クライアントが認証した安全ソケットレイヤ(SSL)通信を用いて、各公開キーで暗号化したものを送られるようにできる。ゲームコントローラはまた制御メッセージ用に使用することになるマルチキャストアドレスをすべてのKMとSとに通知して、直ちに参加するようにする。
2.ゲームコントローラはつぎに初期シードを生成して全体のキーシーケンスを構築するようにし、これらのシードをすべてのKMとすべてのSとに向けてマルチキャストし、制御セッションキーでメッセージを暗号化して、信頼性のあるマルチキャストプロトコルで関与しているターゲットの恐らくは少数に対して適切とされているものを用いるようにする。
3.そのゲームが認証されたセッションディレクトリイアナウンスメント内でアナウンスされる。このアナウンスメントはMark Handler(ユニバシティカレッジロンドン,UCL)の“On Scalable Internet Multimedia Conferencing System”PhD学位請求論文(14−11−1997)に記述されており、マルチキャスト(図示せず)上で規則的に繰返しがされる。認証されたアナウンスメントはゲームの収入を集めるためにいんちきな(spoof)支払いサーバを設定する攻撃者(アタッカ)を排除する。このアナウンスメントプロトコルはキーマネージャアドレスの詳細と、ゲーム時分当りの価格とを含むために強化される。このキーマネージャはこのアナウンスメントを受け側と一緒によく聴いて、ゲーム時分の現在価格を得るようにする。このアナウンスメントはまたどのキーシーケンス構築コンストラクション)が使用されているかを特定することもしなければならない。
【0036】
受け側セッション設定、継続及び終結(Receiver session set-up, duration and termination)
1.ゲームに参加するために支払をしたいとする受け側は、セッションディレクトリイ内での広告がされていることを聞いた上で、KMウエブサーバと接触をとり、適当な形式を用いてある数のゲーム時分を要求する。このことが図6の“ユニキャスト設定”として示されている。RはKMに要求したゲーム時分の対価を支払うが、おそらくはその者のクレジットカード詳細を与えるか、何らかの形式の電子マネーが前のゲームで獲得したトークンを与えることになる。そのお返しに、KMは中間シードの組を送り、それがRにその者が購入したキーシーケンスのサブレンジだけを計算できるようにする。このキーシーケンス構築は次節で記述されていて、構築を効率的に可能なものとしている。こういったすべてのことが安全なソケットレイヤ(SSL)通信上で認証を必要とするKMだけで行なわれ、Rによらない。
2.Rはその者が購入した中間シードを用いて関係するキーと生成する。
3.Rはゲーム応用によって決められた関係するマルチキャストに参加する。このマルチキャストの一つは、常に、一つのSからの暗号化された背景ゾーンデータである。Rは前段階で計算されたキーシーケンスを用いてこれらのメッセージを解号化して、それによりゲームデータのその余の部分を意味あるものとする。
4.タイムキーパが新しいゲーム時分の信号を(制御マルチキャスト上で)送るときはいつでも、すべてのゾーンコントローラはそのADUインデックスを歩進(インクレメント)させて、シーケンス内の次のキーを使用する。ゾーンコントローラはすべてが同じADUインデックスを用いる。各RはADUインデックスでSからのメッセージの中にあるものが歩進されて、適切なシーケンス内の次のキーを使用していることに注目する。
5.ゲーム時分インデックスが、Rが購入したシーケンスの終りに近付いたときには、この応用は遊戯者に“硬貨挿入”警報をその者がアクセスを失う前に与えている。ゲーム時分はこの点に達するまでは歩進を続け、達すると必要とされる。キーはRが計算をすることが可能な範囲外となる。Rがもっとゲーム時分を購入しなければ、その者はゲームから外されなければならない。
【0037】
このシナリオは、キーマネージが各ADUインデックスの経済的な値もしくは各ADUに対するアクセスポリシイを何らかの予備的な構成(プレアレンジメント)を介して知ることを条件として、どのようにして送り側がすべての受け側が活動に参加しまた退去することから完全に結合を解く(分解する)ことができるかを示している。ここではキーマネージャと送り側との間で何らの通信をする必要はない。送り側はいずれの受け側の活動について知ることを決して要求されない。もしキーマネージャがすでに送ってしまったADUを売ることを回避する必要があるとすれば、キーマネージャは単に送り側からのADUシーケンス番号の変化しているストリーム(流れ)と同期をとる必要があるだけである。例をあげると、キーマネージャはマルチキャストデータそれ自体に聴き入ることにより同期する。他のシナリオでは同期は純粋に時間応用であり、明白な同期信号を介するか、一日のうちの時間同期を黙示的にとるかのいずれかによる。また別なシナリオでは(例えば商用ソフトウェアのマルチキャストでは)、伝送の時刻は重要とされない。例えば、伝送は規則的に繰返され、受け側はシーケンスの一部についてのキーが売られていて、受け側ではその後のいつでもよい時刻にチューニング(同期をとる)をすることができる。
【0038】
この例では、前納がシード購入に使用されている。これはキーマネージャがその者の顧客についての状態を何も保持しないことを確かなものとしており、これが意味するところは中央の状態保管場所を必要としないので、無限に応答ができることであり、もしシードが口座で購入され、顧客の口座状態がチェックされることを要するといった場合と異なっている。
【0039】
キー構築の別な方法を記述して行く。
【0040】
キーシーケンス構築(構成、コントラクション)
以下に述べるキーシーケンス構築では、次の記法が使用される。
・b(v)はvの値をブラインドする機能について使用される記法である。言い換えると、計算機上で制限されている(ゲームの)相手(adversary)はb(v)からvを見付けることができない。ブラインデングもしくは片道機能(ワンウェイファンクション)の例はハッシュ機能であり、その例はMD5ハッシュ[IETF RFC 1321]もしくは標準のSecure Hash1[NIST Sha-1]である。良いハッシュ機能は一般に軽量の計算機処理資源だけを必要とする。ハッシュ機能は固定の大きさの出力にまでいずれの大きさの入力も減らすように設計されている。すべての場合に、ここでは出力と同じ大きさとすでになっている入力を使用することとするが、単にハッシュというブラインデング道具(プロパティ)を用いるだけであり、大きさを減少する道具としてではない。
・bh (v)は機能b( )が繰返し前の結果に適用され、その回数が全部でh回であることを意味する。
・r(v)はいずれかの計算機上で高速の1対1機能であり、これが入力値の組からそれ自体への写像を行なう。円形の(回転式、ロータリイ)ビットシフトがこのような機能の一例である。
・c(v1 ,v2 ,…)は値v1 ,v2 等を組合せる機能であり、それによって結果と1を除くすべてのオペランドとが与えられると、残りのオペランドが自明として容易に求めることができる。C( )は次のように選ばれなければならない。すなわちオペランドのビットが独立していて、バイアスされていないとすると、結果のビットもまた独立していてバイアスされないものとなることである。XOR機能はこのような組合せ機能である。c( )はまた理想的にはその余のオペランドを自明なものとして求めるために使用できるものであり、これはXORの場合のようなものであって、言い換えるとv1 =c(c(v1 ,v2 ,…),v2 ,…)である。
【0041】
すべての構造についての共通なモデルは4.5節で与えられるが、それ自体の用語について先ず各スキームを導入する方がよりはっきりすると思う。
【0042】
双方向性ハッシュチェーン(Bi-directional hash chain,BHC)
双方向性ハッシュチェーン構造は限られた形式の中で安全であることを証明するだけであるが、発明者らはこれを限られたバージョンが後のスキームの基礎を形成するとして記述することに固執する。限定されていない形式が使用されるというシナリオもまたあってよい。
1.送り側はランダムに二つの初期シード値v(0,0)とv(0,1)とを生成する。一つの具体例として、これらの値が128ビット幅であるとする。
2.送り側は要求された最大キーシーケンス長Hについて判断をする。
3.送り側は繰返して同じブラインド機能を各シードに適用して等しい長さHの二つのシードチェーンを作るようにする。この値はしたがってv(0,0)ないしv(H−1,0)とv(0,1)ないしv(H−1,1)である。項H−1はしばしば出現するので、別の定数G=H−1を導入することとする。
【0043】
したがって、正式には、
v(h,0)=bh (v(0,0));v(h,1)=bh (v(0,1))
(4.1.1)
である。
4.キーk0 を作るために、送り側はチェーンゼロ、v(0,0)からの第一のシードをチェーン1、v(G,1)からの最後のものと組合せる:
キーk1 を作るために、送り側はチェーンゼロ、v(1,0)からの第二のシードをチェーン1、v(G−1,1)からの終りから二番目のものと組合せる。こうしたことが続く:
正式には、kh =c(v(h,0),v(G−h,1) (4.1.2)
である:
厳密には、使用されるストリームサイファ(流れの暗号)は128bのキーを必要とはしないので、より短いキーがこの組合せの結果から最上位(または最下位)ビットを切り落として、一般には64bとして求められてよい。ストリームサイファは早くて安全である限り不適切とはならない。
5.送り側はストリームのマルチキャステングを開始し、ADU0 (応用データユニット0)をk0 で、ADU1 をk1 でというふうに暗号化するが、少くともADUシーケンス番号は平文で残すようにする。
6.もし送り側がキー管理を委ねていれば、二つの初期シード値をキーマネージャに私的に(公開せずに)通信しなければならない。新しい初期シード対が生成されることが可能で、キーマネージャに向けてもっと早くに計算されたキーで暗号化されたストリーミングデータと並列に通信できる。
【0044】
受け側はシーケンスの一部を次のように再構築する:
1.受け側がADUm からADUn へのアクセスを許可されると、送り側(もしくはキーマネージャ)はシードv(m,0)とv(G−n,1)とをその受け側へユニキャストする。
2.その受け側はシードチェーンv(m,0)ないしv(n,0)とv(G−n,1)ないしv(G−m,1)とを、式(4.1.1)を用いて送られたシードに対してブラインド機能を繰返して適用することによって作る。
3.受信側は、送り側がしたように、式(4.1.2)を用いてキーkm ないしkn を作る:
しかしながら、いずれかのシードv(h,0)ただし(h<m)、またはv(h,1)ただし(h<n)は、この受け側にとっては可能性としては知られることがなく、知るにはブラインドとしたシードについての膨大なサーチを必要とし、それが送り側が啓示(レビール)したことに“先行する”ものとする。したがって、kn ないしkm の範囲(レンジ)外のキーはこの受け側では現実には計算できないものである。
4.いずれもの他の受け側には完全に異なる範囲のADUへのアクセスが与えられるようにでき、そのためにはその範囲の境界で関連のシードを送ることがされる。第一のチェーンからは“開始”シードが、第二のチェーンからは“終末”のシードが送られる。
【0045】
図7では、暗い灰色の背景をもつシードの範囲が第一の記述した受け側からブラインドされたものを表わしている。これが暗い灰色の背景をもつキーがこの受け側からもブラインドされることに通じている。
【0046】
したがって、各受け側はキーの連続している範囲へのアクセスを受け側につきまたセッションにつき二つだけのシードを送ることによってアクセスが与えられるようにできる。不運にも、この構成は、各受け側が一つの送り側シーケンス内で啓示されたキーの一つの範囲をもっているものだけに限定できない限り、制限された使用となる。もし受け側が初期の範囲へと次に他の後の範囲へのアクセスを許されていると(例えばk0 ないしk1 であれば、次にkG-1 ないしkG )、受け側はそこでこの二つ(k0 ないしkG )の間のすべての値を計算できる。これはシードv(0,0),v(G−1,1),v(G−1,0)及びv(G,1)が啓示されるようにならなければなるが、v(0,0)とv(G,1)だけが全体のシーケンスを啓示することになることが理由とされる。
【0047】
一巡してみると、この限定は規則正しく第二のチェーンを新しいシード値で(すなわちHを低く保って)再スタートさせていて、互のHのADU内で一方の受け側について二つのアクセスを許さないようにしている。しかしながら、このことはキーマネージャのところで顧客状態を保持することを必要とする。ニッチな(niche)応用があってもよく、そこではこの機構は適切なものとされ、その例は顧客が加入を拡張することができるだけであって、退去して、再始動しなくてもよいといった商用モデルがそれにあたる。このような場合にはこれは極めて効果的な機構である。
【0048】
二巡目のものは、この限定は二つの離れた(接合していない)チェーンが、二つの最少と言えるほど短いチェーンの間のギャップのための余地が存在することを条件としてのみ可能とされることに注目することである。言い換えるとH<4のチェーンが常に安全となることである。このような短いチェーンは多く使用されるとは見えないが、後に、この特徴を使用して、短いBHCフラグメント(部分)から混成(ハイブリッド)構成を築くためにこの特徴を使用することになる。
【0049】
二進ハッシュトリー(BHT)
二進ハッシュトリーは二つのブラインド機能、b0 ( )とb1 ( )とを必要とすることがよく知られている。ここではこれらを“左”と“右”とのブラインド機能と呼ぶことにする。一般にこれらは単一のブラインド機能b( )から、二つの単純な1対1機能、r0 ( )とr1 ( )と、の一方をブラインド機能の前に適用することによって構築できる。図8に示すところである。
【0050】
したがって:b0 (s)=b(r0 (s));b1 (s)=b(r1 (s)) 例えば、第一のよく知られているブラインド機能は1ビット左円形シフトの後にMD5ハッシュを行うものであってよく、その間に第二のブラインド機能は1ビット右円形シフトし、その後にMD5ハッシュが続くものとすることができる。他の代るものは一つのブラインド機能で1とのXORを伴うものかよく知られているワードでの連結を伴うものが先行している。二つの機能として極小でしかもプロセッサ資源の等量を消費するものを選ぶのが好都合と思われ、その理由はこれがあらゆる場合にロードとバランスをとりチャンネルを切り換えるサスセティビリティ(感受性)に制限を与えるからである(この感受性はプロセッサロードのレベルが実行されている機能の選択を啓示することを条件としているが、そうでないときに出現するものである)。代って、効率の点についてはハッシュ機能の二つの変形が使用される。例えば二つの異なる初期化ベクトルを備えたMD5である。しかしながら、試行及び試験アルゴリズム(tried-and-tested algorithms)でタンパーする(変更を加える)とするのは誤った勧告と思われる。
【0051】
このキーシーケンスは次のように構築される:
1.送り側は初期シード値s(0,0)を無作為にランダムに生成する。ここでもまた具体例として、その値を128ビット幅とする。
2.送り側は、要求された最大トリー深さ(奥行き)Dについて決定をし、これが新しい初期シードが必要とされる前に最大キーシーケンス長N0 =2D に通じることとなる。
3.送り側は二つの“左”と“右”との第一のレベルの中間シード値を生成し、それぞれ“左”と“右”とのブラインド機能を初期シードに適用する:
s(1,0)=b0 (s(0,0));s(1,1)=b1 (s(0,0))
送り側は四つの第二のレベルの中間シード値を生成する:
s(2,0)=b0 (s(1,0));s(2,1)=b1 (s(1,0));
s(2,2)=b0 (s(1,1));s(2,3)=b1 (s(1,)),
等々であり、Dレベルの深さまで中間シード値の二値トリーを作る。正式には、もしsd,i が中間シードであって初期シードs0,0 の下dレベルであるとすると、
d,i =bp (s(d-1),i/2) (4.2.1)
であり、ここでiが偶数であればp=0、奇数であればp=1である。
4.キーシーケンスが次に前と同じようにトリーの葉をまたいだシード値もしくはそれらから端を切り落とした(トランケートした)誘導されたものから構築される:
すなわち、もしD=5,k0 =s(5,0)であれば、k1 =s(5,1);…k31=s(5,31)である:
正式には ki =sD,i (4.2.2)
である。
5.送り側はストリームのマルチキャストを開始し、ADU0 をk0 で、ADU1 をk1 でというように暗号化するが、少くともADUシーケンス番号は平文のまま残す。
6.もし送り側がキー管理を委ねていれば、私的に(公開せずに)キーマネージャと初期シードを通信する必要がある。新しい初期シードが生成できてキーマネージャに向けて、先に計算されたキーで暗号化されたストリーミングデータと並列に通信することができる。
【0052】
受け側はシーケンスの一部を次のように再構築する:
1.受け側がADUm からADUn へのアクセスを許可されるときは、送り側(あるいはキーマネージャ)はその受け側に向けてシードの組を(例えばSSL)を用いてユニキャストする。この組は中間シードで構成されていて、このシードは必要とされる範囲のキーの計算をこの範囲外のいずれのキーの計算を可能とすることなく、可能とするトリーの根(ルート)に最も近いものである:
こういったものは最小及び最大のシードのインデックスiを試験することによって識別され、その際には、偶数のインデックスが常に“左”の子供であり、また奇数のインデックスが常に“右”の子供であるという事実が使用される。試験はトリーの各レイヤで実行され、葉から始まって上方へ向って動作が進む。“右”の最小もしくは“左”の最大はレへルを上へ移動する前に啓示することを常に必要とする。もしあるシードが啓示されると、インデックスは一シードだけ内側にシフトされ、それによって、レイヤを上へ移動する前に最小と最大とが常にそれぞれ偶数と奇数となる。レイヤを上へ移動するためには、最小と最大のインデックスは半分とされて、必要であれば丸められる。これは両者間の差が2だけ予測可能に減ることを確かにしている。奇数/偶数試験は新しいインデックスについて繰返されて、前のように“右”最小もしくは“左”最大を啓示する。このプロセスは最小と最大が交わるか一致するまで続く。これらが交わることができるのは一方か両方かが内側へシフトされた後である。両方が上側へシフトされた後に一致することができ、この場合は、一致したところでのシードはプロセスが終る前に啓示される必要がある。このプロセスはもっと正式には付録AにCのようなコードで記述されている。
2.明らかに、各受け側は与えられた各シードがトリーのどこにあるかを知る必要がある。このシードとそれらのインデックスとはそれらが啓示されるときに明らかに対とすることができる。代って、必要とされる帯域幅を減らすために、プロトコルは順序を特定してよく、この順序でシードが送られて、それにより各インデックスが最小と最大のインデックスとシードの順序とから黙示的に計算できる。これが可能なのは、キーのいずれか一つの範囲の再作成が許されているのはシードの唯一の一番小さな組しかないことによる:
各受け側はそこでこういった中間シード上に同じ対のブラインド機能を繰返すことができる。これは送り側がkm からkn までのキーのシーケンスを再作成するためにしたのと同じである(式4.2.1及び4.2.2)。
3.いずれか他の受け側は中間シードの異なる組を送られることによってADUの完全に異なる範囲へのアクセスを与えられるようにできる。
【0053】
キーシーケンスでD=4についての作り方がグラフとして図9に示されている。
【0054】
例として、一つの受け側がk3 からk9 までのキーシーケンスを再作成することができるようにする関連の中間シードに丸印を付けてある。シードとキーとでこの受け側からブラインドされて残っているものは灰色の背景上に示されている。無論、Dの値で4よりも大きいものは実用上一般的なものである。
【0055】
各レイヤは、ユニークにレイヤを識別する限りは任意のdの値を指定されることに注意したい。dとかDとかの実際の値に頼っているものは何もないので、送り側にとってはどのくらい遠くまでトリーが上側に延びているかを啓示する必要はなく、したがってセキュリテイ(安全性)が改善されている。
【0056】
ときにはセッションが開始時に未知の継続期間をもつことになる。明らかにDの選択はある一つの出発点からのキーシーケンスの最大長を制限する。一番簡単な作業の一巡は新しい初期シードを生成して、必要ならば古いものに沿って新しい二進ハッシュトリーを開始するだけのことである。もしDが送り側と受け側とによって知られていれば、キーの範囲で最大キーインデックス2D をオーバーフローするものは、すぐにすべての当事者にとって明らかなものとなる。このような場合には、“トリーのID(識別子)”を各新しいトリーに割当てて、これを各トリーについてのシードと一緒に特定することが賢いものとされる。
【0057】
この上の方の限界を回避する別なやり方は、Dを定数ではなく変数とすることであり、例えばD=D0 +f(i)とする。図10が示しているのはこのような連続するBHTであり、ここでD0 =4であり、またDはMのキー毎に1だけ上昇する。この例ではMは固定値7をとる。しかし、この複雑を増すには僅かなポイントが存在しており、トリーの別な枝に対して共通なシードだけがトリーの遠方の右側の枝、sd,2 d、に沿っているものとなっていることである。こういったもののうちのいずれかが啓示されていたとすると、全体の将来のトリーは啓示されたことになる。したがって、この“改良”は受け側へキーの任意の範囲を啓示するときには効率を高めるためには決して使用できないし、節約されるものの全ては、送り側が非常にまれに些細なメッセージ内で新しい初期シードをキーマネージャに向けて送るということである。これとは対照的に、膨大なサーチ量が値うちのあるものとされる“無限大”の値のシードの組を作ることが理由となってそれがセキュリテイの弱点を導入する。他方、新しい初期シードを規則正しく生成しなければならないことは、第一の作業一巡でのように、攻撃のためのBHTの攻撃の受け易さについてシーリング(上限)を設定することになる。
【0058】
二進ハッシュチェーントリーハイブリット(BHC−T)
この構成はハイブリッド(混成)とよばれているが、その理由は二進ハッシュトリー(BHT)が双方向性ハッシュチェーン(BHCs)の一部でちょうど2シード長であるものから作られていることによる。理解のためだけの目的で根から葉への方向でトリーを構築する例で始めることとし、これは図11に示したようにBHCの部分を構築するための例である。これは理解を容易にすることを目的としている。後にトリーを構築するための最善方法は根からではなく側部からであることを勧めることになる。
1.ランダムに生成された二つの初期シード値;s(0,0)とs(0,1)とがあると仮定する。ここでもまた、具体的な例として、その値が128ビット幅であるとする。
2.同じ構築機能を各シードに適用して二つのブラインドしたシードv(1,0)とv(1,1)とを作る。
3.子供のシードs(1,1)を作るために、第一のシードs(0,0)をブラインドした第二のシードv(1,1)と組合せる:
子供のシードs(1,2)を作るために、第二のシードs(0,1)をブラインドした第一のシードv(1,0)と組合せる。
4.第三の初期シードs(0,2)をランダムに生成して、それをブラインドしてv(1,2)を作るとすると、第二と第三の初期シードと、それらの相手側のブラインドした値を同じやり方で組合せて、二つの別な子供シードs(1,3)とs(1,4)とを作る。これが意味するのはどの親シードも4人の子供を作るということであり、二つは(近親相姦的に)片親共通(sibling)で組合されるのが一方の側で、また他の二つは他方の側に半分片親共通(half-sibling)で組合されている場合である。その結果、この構成はもし新しい子供のシードがブラインドされて、それらの親があったように組合されるとすると二進のトリーを作ることになり、その理由はシードの数が各世代で倍増していることによる。しかし、このトリーはシードの最上行の中央(2以上の初期シードがこの行に沿って作られていると仮定している)の下でのみ枝分れをする。トリーの縁は最上から作られるとすると内側に“しぼむ”ことになる(後述参照):
正式には、
s(d,i) =c(s(d-1),i/2),v(2d-1,i/2+1) i奇数
=c(s(d-1),i/2),v(2d-1,i/2-1) i偶数 (4.3.1)
ただし、
v(h,j)=b(s((h-1)/2,j))。
【0059】
図11aはBHC−Tハイブリッドの親シードの二対、<s(0,0),s(0,1)と<s(0,1),s(0,2)を示す。輪は各対にとって共通な親シードを識別しており、外側の輪の中にある外側の数値はこの図の縁からはみ出しているが、それはここでは中心の親シードs(0,1)だけの子孫について注目していることによる。図11bは同じ三人の親を示し、同じ四人の子供を作っているが、視野からはブラインドしたシードは隠れていて、その理由はそれらが決して通信をしていないことにあり、またどのように二進のトリーが形成されるかをより良く示すためでもある(注:親子のことであるので単位として「人」を用いることにした)。輪を付けた親シードで下側の図にあるものは、同じ三つのリングされたシードで上側の図に示されたものを表わしている。二つの破線矢印でこのシーケンスを右へ続けているものは、どのように親シードs(0,2)が別の二人の子供を作ることになるかを右に別の親があることを条件として示している。矢印の各対を接合している破線はこの線の上の両方の親が組合されてその下の両方の子供を作るという事実を表わしている。この構成を簡単にした形成を用いて後の図で表わすことにする。
【0060】
図12はハイブリッドトリーの例の一部を示す。二進ハッシュトリーの場合のように、継続するADUを暗号化するのに使用されるキーはトリーの葉におけるシードのシーケンスであるかそれらからの頭を切り落した誘導されたものかである。この図は特定の受け側に向けた輪で結んだシートを啓示することによって、キーk3 ないしk9 の範囲の例がどのように啓示されるかを示している。
【0061】
ここでルート(根)ではなくサイド(側部)からトリーをどのように構築するかを説明するために、この構成での別なトゥイスト(取り組み方)へ移ることとする。先に、XOR機能が選ばれたことを示し、その理由として、もし二つのオペランドのXORが第三の値を作るとすると、これら三つの値のうちのいずれか二つがXORされて第三のものを作ることができるとした。これが図13に示されていて、すべてのシードの値が図11と同じにな成っている。もしs(0,1)が最初に未知であるが、s(0,0)とs(1,2)とが既知であれば、s(0,1)と次にs(1,1)とがこの“ツイスト”性質によつて求められる:
s(0,1)=c(s(1,2),b(s(0,0)))であり、そのときは、
s(1,1)=c(s(0,0),b(s(0,1)))である。
【0062】
図14は受け側がどのようにBHC−Tハイブリッド構成を“側部(サイド)”から作ることができるかを示している。シードを作成の順序は番号を付けた円で示されている。いずれかの順序で作ることができるシードが同じ番号の後に区別用の文字が来るものをすべて割当てられている。陰影のある円で輪をつけたノードの次に来るものはランダムに生成されるべきシードを表わしている。これらを一次(プライマリイ)シードと呼ぶ。これらが次の輪をつけたノードまでの後続の全中間シードの値を固定している。
1.送り側はシード0の128ビット値をランダムに生成する。
2.シード1と2とが次に生成される。これらは四つのシードの箱の対角の隅を形成し、したがって対向する角の値3と4とを“ツイスト”アルゴリズムによって設定する:
正式には、
s(d-1,i/2)=c(s(d,i),v(2d-1,i/2+1)) i奇数
=c(s(d,i),v(2d-1,i/2-1)) i偶数 (4.3.2)
ただし、
v(h,j)=b(s((h-1)/2,j))である:
もし根(ルート)シードに対してd=0であると、dは葉から根へ向う方向で漸進的に負となることに注意したい。
3.シード5は次に生成されなければならず、対角隅の別の対を2で形成する。
4.これが対向する角、シート6と7を式(4.3.2)で啓示する。
5.シード7と2とが次に4の別の箱の上側の隅を形成し、式(4.3.1)によりシード8aと8bとを設定する。
6.このパターンは同じ様な形式で、シード9がランダムに生成された後に続く。この構成の利点は、トリーが限界なしに生長できるということであり、前もって何らかの限界を決める必要がない。
7.送り側はこのストリームのマルチキャストを開始し、ADU0 をk0 で、ADU1 をk1 でといったように暗号化するが、少くともADUシーケンス番号は平文として残しておく:
すなわち、ki =s(D,i)であり、ここでD=0である (4.3.3)。
8.もし送り側がキー管理を委ねていれば、キーマネージャに向けて一次シードを私的に(非公開で)通信しなければキーならない。新しい一次シードが生成できて、キーマネージャに向けて、先に計算したキーで暗号化したストリーミングデータと並列に通信される。
【0063】
受信側はシーケンスの一部を次のように再構築する:
1.受け側がADUm からADUn へのアクセスを許されるときには、送り側(もしくはキーマネージャ)はその受信側にシードの組をユニキャストする。この組はトリー内の中間シードの最も小さい組で成り、必要とされているキーの範囲の計算を可能とするものである:
これらは最小と最大のシードのインデックスiをBHTに対して同じようであるがミラーとした(鏡側を作る)やり方で試験することにより識別される。“左”の最小か“右”の最大かがレベルを上に移す前に常に啓示されることを要する。もしシードが啓示されると、インデックスが内側に一シードだけシフトされて、それによりレイヤを上へ移動する前に、最小と最大とが常に奇数と偶数とにそれぞれなる。レイヤを上へ移すために、最小と最大のインデックスは半分とされ、必要があれば丸められる。これが両者間の差を1だけ予測可能に減らす。奇数/偶数試験が新しいインデックスについて繰返される。このプロセスは最小と最大とが2もしくは3離れているようになるまで続く。もし二つが2だけ離れていると、二つは両者間でそのシードと一緒に啓示される。3だけ離れていると、両者の間で両方のシードと一緒に啓示されるがその条件は最小が偶数である場合に限られる。もし奇数であるともう一つレイヤを上へ移動する価値があり、それによって、何も啓示されず、もう一巡が許される試験が開始された後に、例外的な初期条件が試験されるが、それは要求された範囲がすでに二つ幅よりも小さくなっている場合である。このプロセスはもっと正式には付録BにCに似たコードで記述されている。
2.明らかに、各受け側はそれが与えられる各シードがトリーのどこにあるかを知る必要がある。これらのシードとそのインデックスとは啓示されるときには明白に対とされることができる。これに代って、必要とされる帯域幅を減らすためには、プロトコルは順序を特定してよく、この順序でシードが送られ、それにより各インデックスが最小と最大のインデックスとシードの順序とから黙示的に計算できるものとなる。例えば、付録Bにあるアルゴリズムは、同じキーの範囲について同じ順序で同じシードをいつも啓示する。
3.各受け側はそこでこれらの中間シードについてブラインドと組合せ機能の同じ対を繰返すことができ、これは送り側がキーkm ないしkn のシーケンスを再作成するためにしたのと同じである(式4.3.1,4.3.2,及び4.3.3)。
4.他のいずれかの受け側は中間シードの異なる組を送られることによってADUの完全に異なる範囲に向けたアクセスを与えられるようにできる。
【0064】
BHC−Tは側部から構築されるようにできるので、未知の継続期間のセッションにとっては理想的である。続いているランタル生成を新しい中間ルートシードについてすることは攻撃に対する攻撃の受け易さを制限するが、シーケンスの連続計算を許す。攻撃の受け易さをさらに制限するためには、送り側は将来のシードの生成を遅らせることができて、いずれもの受け側もシーケンス内のある将来点を越えたところでのキーを計算するための能力を否定するようにする。これが、シード空間についての暴力的サーチについて利用できる時間を制限することになる。それにも拘らず、側部からトリーを構築することは各新しいルートシードに依存するキーの数(したがってシードに対する攻撃の値)が指数関数的に成長する原因となっている。
【0065】
ルートシードの値は規則正しく葉レベルとなるように定義されたレベルを歩進させ(第一のものを除く)、M個のキーの各シーケンスの後のルートに近い1つのレイヤに移動することによって境界を画成することができる。
【0066】
正式には、このことは式(4.3.3)が下記により置換されることを要する。
【0067】
i =s(−i/M,i) i<Mに対して、
i =s(1−i/M,i) i=Mに対して (4.3.4)。
【0068】
これが図15にM=8について示されている。無論、実際にはMはもっと大きく、合理的な長さの受け側セッションがトリーの上左手の枝にあたることがないように効率的に記述されることができることを確かなものとしている。
【0069】
先に、BHCはH<4のときに限り真性に安全であることに注目した。BHC部分でこのチェーントリーハイブリッドで使用されるものはH=2であり、これがハイブリッド機構の安全を確かなものとしている。このことはまた、二進チェーントリーハイブリッドが長さ3(H=3)のチェーン部分から安全性に妥協を生じさせずに構築できることを示唆している、この場合に、各親シードは六人の子供を作り、その条件は片親共通的もしくは半片親共通的に対を作るときとしており、それによって各レベルでのトリーの幅で三通りの生長を与えている(三重のトリー:BHC3−T)。この構造が図24に示されているが、完全な解析は将来の作業のために残されている。若干複雑となるが、BHC−Tよりもより効率的となる潜在性をもっている。
【0070】
二進ハッシュトリー II(BHT2)
ここで別な二進トリー応用構造であってBHTとBHC−Tとのやり方を組合せて、暴力的攻撃(ブルートフォースアタック)に対抗するセキュリテイを大いに強固にするようにしたものを提供する。シードsd,i について同じ記号法を用いるが、dについてのもと(原点)はBHTについてのようにルートにあり、その値は葉に近づくとともに上昇する。トリーの一つの要素は図16に示されている。ここでは二つのブラインド機能をこの構成で使用し、b0 ( )とb1 ( )とであり、これをそれぞれ“左”と“右”と呼ぶことにするのはBHTの場合と同じである。
1.ここで二つのランダムに生成された初期シード値s(0,0)とs(0,1)とがあると仮定する。ここでもまた、具体例としてその値が128ビット幅をとるとする。
2.送り側は必要とされる最大トリー深さ(奥行き)Dを決める。2つのブラインドとした値を各初期シードから作り、各ブラインド機能について一つを作る:
v(1,0)=b0 (s(0,0));v(1,1)=b1 (s(0,0));
v(1,2)=b0 (s(0,1));v(1,3)=b1 (s(0,1))。
3.子供シードs(1,1)を作るために、二つの左のブラインドとしたシードv(1,0)とv(1,2)とを作る:
子供のシードs(1,2)を作るために二つの右のブラインドとしたシードv(1,1)とv(1,3)とを作る。
4.ここで第三のシードs(0,2)をランダムに生成するとすると、第二と第三との初期シードを同じように組合せて、二つの別な子供のシードs(1,3)とs(1,4)とを作ることができる。BHC−Tハイブリッドと同じように、これはすべての親シードが二人の子供を作り、二進のトリーを構築できるようにするが、縁では内側に“しぼんだもの”となる。事実、もしレイヤdがnd シードを含んでいると、n(d+1)=2nd −2である。二以上の初期シードが使用される限りは、トリーは二進トリーに向う傾向がある:
正式には、
s(d,i) =c(v(2d-1,i/2),v(2d-1,i/2+1)) i奇数
=c(v(2d-1,i/2),v(2d-1,i/2-1)) i偶数 (4.4.1)
ただし、
v(h,j)=b(s((h-1)/2,j))
である。
5.キーシーケンスはそこでトリーの葉をまたいでシード値から構築される:
正式には ki =sD,i (4.4.2)
である。
6.送り側はこのストリームのマルチキャストを開始し、ADU0 をk0 で、ADU1 をk1 でというように暗号化するが、少くともADU番号は平文で残す。
【0071】
図16aはBHT2の二つの新シード対<s(0,0),s(0,1)と<s(0,1),s(0,2)とを示している。輪は親シードを識別し、これは図のaとbとについて共通であり、BHC−Tハイブリッドを示すために使用したのと全く同じやり方である。前と同じように、図16bはBHT2で構築したシードのトリーがどのように表わされるかを示していて、はっきりと見えるようにするために中間のブラインドした値は隠されている。一旦これらの中部値が隠されると、結果のBHT2は図11bのBHC−Tハイブリッドと同一に見える。
【0072】
どのシードがキーの範囲を啓示するために啓示されるべきかを計算するアルゴリズムもまた付録BにあるBHC−Tハイブリッドについてのものと同一であり、したがって図12で輪をつけたシードは依然として特定の受信側に対してk3 ないしk9 を啓示している。
【0073】
三つの初期シードでレイヤ0にあるものから深さDまで構築したBHT2の葉をまたいだキーの最大数は2D +2である。もし連続したトリーが必要であれば、キーは中間シードのレイヤを段々に下るように定義できて、そこにまたがるレベルに留まるのではないことは図10に示した連続したBHTと似ている。
【0074】
四つのブラインドした値の式(4.4.1)での二つ組合せを用いてのみの二進トリーの構築方法を示してきた。一時に四つの値の二つをとると六つの可能な組合せがある。
【0075】
c1=c(v(1,0),v(1,1))
c2=c(v(1,2),v(1,3))
c3=c(v(1,0),v(1,2))
c4=c(v(1,1),v(1,3))
c5=c(v(1,0),v(1,3))
c6=c(v(1,1),v(1,2))
c1とc2とはそれぞれ一人の親シードにだけ依存している。したがって、親を単独で啓示することは、子供を啓示し、両方の使用を規制している。さらに、c6=c(c3,c4,c5)とc5=c(c3,c4,c6)などとなるので、したがって、こういった組合せのいずれか三つを啓示することは第四のものを黙示的に啓示している。それにも拘らず、これらの組合せのいずれか三つがBHT2で使用されたたった二つよりも使用されることができる。結果として生じた三次のトリー(BHT3)の解析は将来の作業として残されている。
【0076】
共通モデル
四つのキー構成を呈示した上で、共通モデルを呈示することとし、このモデルはこれらの機構も、他の同様な機構も同じ条項(用語)で記述することができるようにする。
【0077】
二つの座標平面を定義する。
・“ブラインド”平面は離散的な値vを有し、それが座標(h,j)にあって、一般に一方のh座標での値がブラインドされて値をh+1に作り、特定のマッピングがこの機構に依存している。
・“組合せ”平面は離散的な値sを有し、それが座標(d,i)にあって、ブラインド平面からの値を組合せた結果となっており、この組合せもまたこの機構に依存するようにしている。
【0078】
各構成が初等数学的“分子(モレキュール)”からブラインド平面内の内で構築される。図20〜24はこういった分子が太い黒い矢印の集合として示しており、この矢印はh=0軸から始まって、vの一つの値から次へのマッピングをするブラインド機能を表わしている。どのように構成がj軸の方向に生成するかを示すために、太いがしかし非常に薄い灰色の矢印は次の分子を完成させる隣の値のブラインドを表わしている。分子は三つの定数により定義される。
・H,これはブラインド平面のh軸に沿った一つの分子の高さである。
・P,これは一つの分子内で使用されたブラインド機能の数である。
・Q,これは組合せ平面内で各値を作るためにブラインド平面内の各分子から組合される値の数である。
【0079】
ブラインド平面内の一つの分子の初期値vは組合せ平面内の前の値から直接にマップする(これが図20〜24に鎖線で示されている):
もし、h mod H=0であれば、v(h,j)=s(h/H,j) (4.5.1)
である。ブラインド平面分子の後続の値は前の値から(太い矢印で示すように)ブラインドされる:
もし、h mod H=0であれば、
v(h,j)=bp (v((h−1),j/p)) (4.5.2)
であり、ここでp=j mod pである。
【0080】
結果としてのブラインド平面分子内の最終値はそこで組合されて、組合せ平面内の次の値を作るために組合される(細い線で図示されている):
s(d,i)=c(v(h0 ,j0 ),…v(hq ,jq ),…v(h(Q-1),j(Q-1)))
(4.5.3)
ここでhq とjq とはパラメータqの関数として各構成に対し定義される。
【0081】
したがって、dはブラインド平面内でh軸に沿ってすべてのHについて組合せ平面内でdが1だけ歩進する。
【0082】
表1はH,P及びQの値を与え、また、hq についての式は各構成を定義するjq である。この表はまたこの共通モデルを用いる各構成を例示する数値を参照している。
【0083】
【表1】
Figure 0004723141
【0084】
すべての場合、連続する構成が望ましい場合を除けば、このシーケンスから構成されたキーは次式により定義される:
i =s(D,i) (4.5.4)
ここで、D=log(N0 )であり、N0 は必要とされるキーの最大数である:
付随的に、一方向性機能トリー(one-way function tree OFT)[McGrew 98]が{…?}を設定することから生じている(訳者注:この2行はPCT原文の記載不備と思われる)。
【0085】
処理に対する記憶のトレードオフ(兼合い)
すべてのMARKS構成では、少数のシードが使用されて、暗号化前の送り側と、解号化前の受け側の両方でもっと大きな数のキーを生成するために使用される。いずれの場合も、キーシーケンスについての記憶能力の制限があってもよく、その記憶能力はシードよりも指数関数的に増大する記憶を必要とする。このような場合に、第一の僅かなキーが計算され、その際に他のものが計算できるようにするシードを記憶するようにしている。一般に、記憶もしくは処理時間が最論の供給であるかどうかに依存して、記憶がセーブできるか、あるいは同じ計算の繰返しを避けることができるかのいずれかとなる。
【0086】
BHCについてみると、第一のキーが計算できる以前に、全体の逆のチェーンがトラバースされなければならない。しかし、すべての値が記憶される必要はない。道中葉での値、3/4点での値等は、記憶されてよく、残りは無視される。シーケンスがこの逆チェーンを浸食(eat back、ここではトラバースの意)していくと、次の値が常に再計算され、それには前に記憶した値からのハッシュチェーンを再度走り、必要とされるところによりその進路でより多くの値を記憶することが行なわれる。
【0087】
すべてのトリー構成についてみると、いずれかの中間シードで第一のキーに対するトリーの枝を下って行くものがセッションが開始できる前に計算される必要があるが、ここでもまた、それらのすべてが記憶される必要はない。葉に最も近いものが記憶(キャッシュ)される必要があり、その理由は、そういったものが次のいくつかのキーを計算するためにすぐに必要とされることになるからである。根により近い中間シードが必要とされるときは、そういったものはキーマネージャによってもともと送られたシードが無視されないでいる限り再計算できる。
【0088】
効率
すでに述べたように、H3を伴うBHCは極めて効率的であるがセキリティ(安全性)が乏しい。したがって、ここでは発明者らが完全に解析した二進トリー応用の構成について議論を限定することとする。表2は、安全なマルチキャストセッションについてBHT,BHC−T,及びBHT2の各種パラメータを示す。
【0089】
ここでR,S,及びKMは受け側、送り側、及びキーマネージャをそれぞれ表わし前節で定義したものであり;N(=n−m+1)は受け側が必要とするキーのレンジの長さであり、キー空間内にランダムに位置しており;ws はシードのサイズ(一般に128b)であり、;wh はプロトコルヘッダオーバーベッドのサイズであり;ts はシードをブラインドするためのプロセッサの時間(それに比較的無視できる循環シフト及び/又は組合せ操作1を加える)である。
【0090】
【表2】
Figure 0004723141
【0091】
各受け側のセッション設定についてのユニキャストメッセージサイズは各受け側が必要としている最少記憶量と等しくなることが示されている。このことが言えるのは、受け側が上記のように処理のための記憶をトレードオフするように選ぶことを条件としている場合に限られる。同じトレードオフが最小の送り側メモリ行についても使用されている。処理のための遅れは一つの受け側がそのセッションについてユニキャスト設定メッセージを受領した後に到来するデータを解号化する用意ができるまでに必要とされる時間である。他のメンバーが参加したり、退去するときには遅れというコストは存在せず、それは計画されていない立退き(eviction)について用命に応ずる(ケイターする)スキームの中にあることによる。キーについての処理のための数字はキーへの継続的なアクセスを仮定している。この場合に、一番効果的な値でいずれものセッションの間に記憶されるものは(トリーの構造を可能とするために啓示された最少組を除けば)根から現在使用中のキーまでの枝の上にあるものとなる。キーについての平均の処理はそこで全体の記の中でのハッシュ操作の数を葉におけるキーの数で割ったものとなる。送り側だけが(あるいは複数送り側があるときにはグループの制御側が)初期シードについてランダムなビットを生成することが求められている。必要とされるビットの数はこういった初期シードの最小送り側記憶に明らかに等しいものとなる。
【0092】
グループ会員(メンバーシップ)のサイズ(大きさ)に依存するパラメータだけが受け側についてのパラメータであることが認められる。こういった二つ(記憶と処理の遅れ)のコストがグループ会員間に分散され、それによって受け側では一定のものとなる。ユニキャストメッセージサイズだけがキーマネージャでコストを生じ、これがグループ会員サイズと線形に上昇して行くが、コストは受け側セッションについて一度だけ負担される。たしかに受け側にとってのコストはそれ自体がグループサイズに依存しており、その理由はすべてのスキームが計画されていない立退きを認めていることによる。したがって、提供される構成のすべては高度にスケーラブルなものとなっている。
【0093】
このスキームは相互に比較してみると、恐らくは驚くべきこととして、混成の(ハイブリッドの)BHC−TとBHT2とはメッセージ送りという項目ではBHTと非常に近い程効率的である。これらは共に受け側セッション設定メッセージについて平均して一つだけ余計なシードを必要とするだけである。もしNが大きいとすると、このことは受け側セッションについて必要とされるキーの数に比較して重要なこととはならない。平均して、BHC−Tは処理2倍を、BHT2は4倍をBHTに対して必要としている。しかしながら、安全の改良はコストと同様に価値があることを知ることになる。
【0094】
BHT
BHTについてみると、トリー内の各シードは可能性としてその子供の2倍の価値がある。したがって、そのトリー内で現在一番高いとして知られているシード値についてブラインドする正しい値を求めてシード空間を手間ひまをかけて探査するための誘因(インセンティブ)が存在している。MD5ハッシュについては、平均して2127 回のMD5操作が含まれることになる。ある値が正しくないが、既知の値と衝突する値に対してブラインドするとして見つかる可能性がある(一般的には、MD5での毎264操作で見つかることになる)。これが明らかになるのはシードを用いてキーのレンジを作り、それで仮定として暗号化したあるデータについてその一つを試験するときだけである。一つのレベルを破ることに成功すると、次のレベルは再び2倍価値のあるものとなるが、破るためには同じ野蛮な(勇猛な)力(ブルートフォース)のいる努力が必要となる。一つのMD5ハッシュ(ポータブルソース)を128b入力についてすることはSun SPARCサーバ1000で約4μsかかるので、2128 MDSは4e25(4×1025)年かかることになる。
【0095】
BHC−T
BHC−Tハイブリッドについてみると、攻撃に対する強度はその攻撃がどの方向をとっているかに依存する。もしBHC−Tの単一要素をとるとすると、そこには四つのシード値があり、2人の親と2人の子供であり、これが表3と図17とにも示されている。四つの値のうちのいずれか一つだけが与えられるとすると、他のいずれもが計算されることはできず、その理由は、正確さを試験するためには不十分な情報しか存在しないことによる。もしちょうど二つだけの値が与えられたとすると、この表は他の二つを計算することが、どの二つが与えられたかに依存して、どんなにむづかしいかを表示している。文字iは入力値を表わし、セル内の値は入力が与えられたとして、出力値の対を見付けることを保証するのに必要なブラインド機能操作の数を表わしている。wは数字空間内のビット数であり、MD5については128である。図17は同じ情報を図式的に示し、入力値は丸を付してあり、またブラインドされた値は灰色の(グレイ)背景上に示されている。
【0096】
【表3】
Figure 0004723141
【0097】
もし、親と子供の“方形”の片側下が与えられると、反対側の親が大層な規模で探査でき、各値がそれをブラインドすることにより、また二つの与えられた値のXORで比較されることにより試験される。こうして成功が“側面”からの攻撃について2w 回のブラインド操作後に保証される。
【0098】
もし、二つの子供の値だけが与えられると、親の一方についての大規模な探査が僅かに多く関与することになる。すなわち、一方の親の値s(0,1)が推量されて、次のことが真であれば正しいものとされる。
【0099】
c(s(0,1),b(c(s(1,1),b(s(0,1)))))=s(1,2)
したがって、“上方”への攻撃について2(w+1)ブラインド操作後に成功が保証される。
【0100】
二つの与えられた値と両立可能性があるが正しい値の対ではない二つの未知の値(二重の衝突)を見付けることの確率はこの構成では小さい。このような対が生ずる(turn up)すると、それらの値でキーを作り暗号化したデータをキーを試験することによってのみそれらの値が試験されるようにできる。二重衝突のより小さな確率はそこで攻撃者の課題の複雑を僅かに減らすことになる。
【0101】
側部攻撃は最高のシードですでに知られているのと同じレベルでたかだか一つのシードを得ることだけができる。右への攻撃は偶数のインデックスが付いている子供で終るが、それは右への次の“箱”の中で一つの値だけが知られていることによる。同じように左への攻撃は奇数のインデックスが付いている子供によって阻止される。上への攻撃はそこで唯一の残っている選択肢ということになる。一つの成功する上への攻撃は余分のキーを何も与えないが、側部攻撃が続くときには最終の側部攻撃のキーの二倍を啓示する。
【0102】
BHT2
攻撃に対するBHT2の強度はBHC−Tハイブリッドのものに対するのと同じ形式をとり、例外は上への攻撃に対する強度がもっと大きくなるように設定されていることである。BHC−Tについてのように、四つの“方形”からのたった一つの既知の値は他のいずれをも決して啓示することはできない。しかしながら、BHC−Tとは違って、三つの値は直ちに第四のものを与える必然性はない。もし、一方の親だけが未知であるとすると、2w のブラインド操作がそれを見付けることを保証するために必要とされる。二つだけの値が与えられたとすると、表4はどの二つが与えられているかに依存して、他の二つを計算することがどのくらいむづかしいかをリストとしてある。前のように、セル内の値は入力が与えられたとして、出力値の対を見付けることを保証するのに必要なブラインド操作の数を表わしている。図18は同じ情報を図式的に示し、入力値が丸を付してあり、ブラインドした値はグレイ背景上に示されている。
【0103】
【表4】
Figure 0004723141
【0104】
図18はBHT2におけるシードサブセットの啓示とブラインドを示している。
【0105】
もし一つの親といずれかの子供で“方形”の片側の下のものとが与えられると、反対側の親が大規模に探査でき、各値はそれをブラインドして二つの既知の値のXORとそれを比較することにより試験される。こうして成功が“側部”攻撃についての2w のブラインド操作後に保証される。一人の親と反対側の子供とが与えられるとすると同じことが適用される。
【0106】
もし二人の子供の値だけが与えられるとすると、両親についての大規模な探査が設計されて、BHT2に含まれるもっと多くのものとなる。右の親の値s(0,1)での各推測に対して、それが左ブラインドされねばならず、そこで左の親の値が大規模に探査されて、左ブラインドされた値を見付けるようにしなければならず、この値は第一の左ブラインドされた推測と組合されるときには左の子供の与えられた値を与える。しかしながら、これら二つの親の推測は右ブラインドされるときには、正しい右の子供をあたえるために組合されそうもない。したがって、右の親での次の推測は左親のブラインドされた値の大規模な探査と組合されなければならず、このようなことが続行される。これは次の同時に成立する方程式を解くのと同じであり、条件はs(1,1)とs(1,2)とだけが与えられているものとする。
【0107】
c(b0 (s(0,0),b0 (s(0,1)))=s(1,1)
c(b1 (s(0,0),b1 (s(0,1)))=s(1,2)
成功を保証するためには、ここで二つの親の組合せの方形マトリックスについての大規模な探査を必要とし、これが22wブラインド操作となる。野蛮な力の攻撃を子供の中から親に向けてすることに対抗するより大きな力が濃いグレイ背景により図示されている。代りとなるものは左と右との、一方の親のブラインドした値のすべてを記憶して、再計算を維持するようにすることである。しかし、一方の親の可能とされる値のすべてについてインデックスを付けていない左ブラインド値だけでメモリの5e27TB(テラバイト)以上を使ってしまうことになり、このコストは他の攻撃手段がもっと経済的に価値があるものとしてしまう。
【0108】
二重の衝突についての同じコメントがBHC−Tについてしたのと同じようにBHT2に対して適応するが、値についての悪い対は、四つのハッシュ衝突が同時に遭遇するとして現れるという例外があるが、これはほとんどないに等しい小さな確率の事象である。
【0109】
BHT2の側部攻撃は、それらがBHC−T内であるのでたかだか一つの“箱”にいずれにしても限定される。したがって、キーについて何らかの顕著な数を得るためには上への攻撃が間もなく直面されるようにならなければいけない。側部攻撃についての2w のブラインド操作は恐らくは攻撃されているキーを合法的に取得するよりも経費がかかるものとなろう。一旦、上への攻撃に直面しなければならなくなると、2w のブラインド操作が他の方法を見付けるための刺戟にたしかになる。
【0110】
一般的なセキュリテイ(安全性)
一般に、一つのトリー(木)を構築するために必要とされるランダム値が多くなると、より一層各新しいランダムシードから作られる境界内部に向けた受けることになる攻撃を含むことができる。しかしながら、長く実行されているセッションについては、セキュリテイと連続しているキー空間の便利さとの間のトレードオフが存在することは連続するトリーとの関係で前述した通りである。ランダムに生成されたシードのランダムさは正しく設計されなければならないとされる弱さについての別の潜在的な領域である。
【0111】
すべてのMARKS構成は有効なグループメンバー間の通謀(collusion)に向けての攻撃を受け易いものである。もしメンバーのサブグループがメンバーの中で同意して、各々がキー空間の異なるレンジを購入するとすると、メンバー達は送られたシードを皆んな共用できて、それにより皆んながそうでなければ別個なキー空間を統合したものをアクセスすることができる。アービトラージュ(arbitrage)はメンバーの通謀(すでに論じた)の変形である。これは、一つのグループメンバーが全体のキーシーケンスを購入して、次にその一部をその売り値よりも安く売り、それでもなお、大部のキーが一人の顧客ではなく多勢によって買われるとすると利益を得る場合である。グループでないメンバーとの通謀に対する保護についてはウォーターマーキング(すかしのしるし)について別節(シーケンシャルでない、またはマルチシーケンシャルなキーアクセス)で記述する。
【0112】
最後に、いずれかの特定の応用についての全体のシステムのセキュリテイは明らかにセッションを設定するときに使用されるセキュリテイの強度に依存している。上記の例にあげたシナリオは強調される必要のある問題点(issues)を記述しており、適切とされる標準的な暗号技術を示唆している。いつもそうであるように、いずれかのMARKS構成を用いる応用の全体のセキュリテイは一番弱い部分と同じに強いものである。
【0113】
キー管理スキームで現在の仕事の中で記述されているものは他の機構(メカニズム)とモジュール形式で組合せるためにそれ自体を役立たせていて、以下に記述する追加の商用要件に適うようにしている。
【0114】
複数の送り側のマルチキャスト
複数の送り側のマルチキャストセッションは、同じキーシーケンスをすべての送り側が使用する限りは、MARKS構成を用いて安全とされるようにできる。使用するキーがすべて同じシーケンスの部分である限りは、同じキーを同時にすべてが使用していることを要しない。受け側はどのキーを使うべきかを知ることができ、それは各送り側が他のものとシーケンスから外れていても言えることであるが、ADUインデックスが平文で暗号化されたADUについてのヘッダとして送られることを条件とする。例としてあげたシナリオはどのようにして複数の送り側が使用しているADUインデックスを同期するかを、もしこれが応用の商用モデルにとって重要であったとして、記述した。
【0115】
もし複数の送り側のマルチキャストで各送り側が異なるキーまたはキーシーケンスを使用するとすると、各送り側は、皆が同じマルチキャストアドレスを使用する場合であっても、異なるマルチキャストセッションを作っている。これはマルチキャストセッションと前出の節で定義した安全なマルチキャストセッションとの間の差異から続いているものである。このような場合には、各安全なマルチキャストセッションは作られて、他のものからは別に維持されなければならない。しかしながら、“amortised initialisation”[Balen 99](償還した初期化)と呼ばれているものについての若干のスコープ(見通し)があってよい。言い換えると、はっきりとした安全なマルチキャストセッションがすべて同じ設定データをメッセージ送りをセーブするために使用できる。例えば、各々からともかくもいずれかを購入することを条件に、商用モデルは、顧客が常に同じADUを関係している送り側の組の各個から購入しなければならない。このようなシナリオでは、各送り側はその送り側に特有の長期間キーをもつすべての送り側に共通のキーのMARKSシーケンスを組合せることになる。顧客はキーの共通レンジについての関連するシードを購入することがでたときには、その者が解号したいと望んでいる各送り側についての追加の長期間キーを購入する。
【0116】
シーケンシャルでない、またマルチシーケンシャルなキーアクセス
MARKS構成は、各受け側にキーシーケンスへのアクセスを与えるときに効果があるように設計されていて、このキーシーケンスはより広いシーケンスの任意のサブレンジであるが、しかしデータがシーケンシャルではない場合ではないし、あるいはシーケンスの任意のばらばらにされた部品が必要とされる場合ではないとする。したがって、MARKSは、実時間マルチメディアストリームのような一次元で自然にシーケンシャルとなっているデータストリームでターゲットとされる。
【0117】
しかし、受け側がキーのレンジにアクセスをもつようになると、明らかにそこにシーケンシャルな順序でアクセスすることを強制されない。例えば受け側はMARKSキーシーケンスの一つを用いて暗号化されて、インターネット上でマルチキャストされている音楽の流れのサブレンジを記憶できる。ダウンロードされたトラックのインデックスを用いて、受け側は後にランダムな順序で聴くためにトラックをピックアップし、その際にMARKSシーケンスから順序を外れて採った関連のキーを使用する。
【0118】
MARKSはまたシーケンシャルではあるが複数のディメンション(次元)にあるデータへのアクセスを制限するために使用することもできる。このような応用のいくつかの例は、M.Fuchs, C.Diot, T.Turletti, M.Hoffman,“A Naming Approach for ALF Design”, proceedings of HIPPARCH workshop, London, (June 1998)に記述されている。三次元のキーシーケンス空間は図19に示されている。
【0119】
例えば、マルチキャストストック引用(quote)へのアクセスは加入についての継続期間によるのと加入する将来のマーケットのレンジによるのとの両方で販売されるようにできる。各引用はそこで二つの中間キーを一緒にXORしたもので暗号化されなければならなくなる。こうして“最終のキー”として暗号化に使用されるものが、
i,j =c(k′0,i ,k′i,j )となる。
【0120】
一つの中間キーはシーケンスk′0,i からのものとなろう、ここでiは毎分歩増(インクレメント)する。他の中間キーはシーケンスk′i,j からとすることができ、ここでjは引用の将来にわたる月数を表わす。一年ないし二年先に特定している商人はその者がどのくらい長く加入を望んでいるかに依存してk′0,i の関連するサブレンジを購入することになるだけでなく、中間キーk′1,12ないしk′1,24のレンジをも購入することになる。
【0121】
Ross Anderson & Charalampos Manifavas(Cambridge Uni),“Chameleon-A New Kind of Stream Cipher”Encryption in Haifa(Jan 1997)(前述)、のようなやり方がデータのストリームを解号化するために使用されるキーをウォーターマークする(透かしを入れる)ために使用できる。このようにして、MARKSのいずれかの構成により生成されるキーは中間キーとして取扱うことができる。送り側は前節で述べたように長ターム(長期間)のキーブロック(具体的な例では512kB(キロバイト))をもつ各中間キーを組合せることによって最終のキーのシーケンスを作る。各受け側は、同じブロックの長タームウォーターマークとしたバージョンを与えられて、中間キーについての受け側のシーケンスから最終キーのウォーターマークとしたシーケンスを作り、これによってウオーターマークした解号化を強制する。
【0122】
しかしながら、このやり方はChameleon(カメレオン)での一般的な不備(flaw)を背負うことになる。このやり方は反逆的な商人された受け側により完全に承認されていない受け側(すなわち受け側には長タームキーブロックをもっていない。)へ送られたいずれかのキーもしくはデータについての監査試行を作り出す。このような場合には、反逆者でキーもしくはデータを啓示するものは、そのキーまたはデータがトレースされているとすると、トレースされることができる。しかし、中間キー(最終キーではない)はいずれもの受け側にも送られるようにでき、この受け側はある時刻に依然有効である長タームキーブロックを与えられるものとする。したがって、受け側で、中間キーの組のうちの特定のキー(これはウォーターマークされていない)についての資格を与えられていないものが、受け側キーブロックでウォーターマークされた最終キーを作ることができて、それにより、暗号ストリームを解号できる。作られたキーとデータとは受け側自体のウォーターマークでスタンプされているけれども、これは単に監査試行を洩れのターゲット(ソースではない)に与える。したがって、“内部の”反逆者のこの形式に対してはほとんど抑止力が存在しない。
【0123】
MARKS構成の特定の場合に戻ると、Cameleonの一般的な不備は、中間シードもしくは中間キーのいずれかが監査試行についての恐れなしに内部で送られるようにできることを意味している。例えば、上述の網ゲーム例では、遊戯者のグループが通謀することができて、それぞれが違ったゲーム時間を購入してそれぞれが購入できる中間シードを仲間の間で共用できるようにする。実際のキーを作るために、各遊戯者はそこで自分自身のウォーターマークした長タームのキーブロックでゲームを遊ぶのにその者が必要とするものを使用できる。監査試行はウォーターマークされていない中間シードを誰が送ったかについてのトレースするために作られることがない。しかし、遊戯者のいずれかが最近にゲームをしていない誰かにウォーターマークしたキーまたはデータを送ることを試みておらず、したがってその者たちの自体の有効な長タームキーブロックをもっていないとすると、監査試行が存在する。同様に、代ってもし遊戯者の一人がその長タームキーブロックを送ったとすると反逆的受け側にとってトレース可能なウォーターマークを含んでいるので、監査試行が存在する。
【0124】
計画されていない立退き( unplanned eviction
すでに指摘したように、MARKS構成は、任意の時刻にグループから立退くことを許しているが、その条件はその時刻に各受け側のセッションが設定されていることに限るとしている。もし予め計画された立退きが普通の場合であるが、時たま計画されていない立退きが必要とされるのであれば、MARKSスキームのいずれかが他のスキーム、例えばLKH++[Chang 99]、と組合されて、時たまの計画されていな立退きを許すようにすることができる。これを達成するためには、上述のウォーターマークでのように、MARKS構成のいずれかによって生成されたキーシーケンスが中間キーとして取扱われる。これらが分散されたグループキーと組合され(例えばXORされて)、例えばLKH++を用いて、データストリームを解号するために使用される最終キーを作るようにする。MARKS中間キーとLKH++中間キーとの両方はいずれかの一時に最終キーを作るのに必要とされる。
【0125】
実際には、中央キーのいずれかの数が組合せされて(例えばXORを用いて)複数の要件を同時に適うようにできる。例えば、MARKS,LKH++とChameleon中間キーは組合されて、低コストの計画された立退きと、時たまの計画されていない立退きと、ウォーターマークした監査試行で長タームグループ外部へのもれに対抗するものとを同時に達成するようにできる。
【0126】
正式には、最終キーは ki,j, =c(k′0,i,k′1,j,
であり、ここで中間キーk′はMARKS構成もしくはウォーターマーキングと多次元キーシーケンスについて前二節で記述してようないずれかの他の手段を用いるシーケンスから生成されるようにできる。
【0127】
一般に、このやり方の組合せは、個別の部品スキームの和であるメモリコストをもつ併合したスキームを作る。しかしながら、LKH++をMARKSとを組合せ、そこでは大部分の立退きが計画されているようにすることは、計画されていない立退きが実際に必要とされている場合を除けば、LKH++の再キーイングメッセージのすべてを切り捨てることになる。
【0128】
この発明は無論のことマルチキャストデータ網とともに使用することに限定されない。他の二つの使用分野が例として以下に記述される。
【0129】
仮想私設網(VPN)
大きな会社はその従業員と契約者とがその会社の他の当事者といずれの場所からもインターネット上でVPNを設定することによって通信することができるようにすることができる。これを行うための一つの方法はすべての作業者に全社で使用されるグループキーを与えることである。その結果、ある作業者が会社に加わりあるいはそこから立ち去る度毎に、グループキーが変更されなければならない。これに代って、キーはMARKS構成の一つによって決められたシーケンスの中で定期的に変更されなければならないとし、作業者が参加もしくは退去したかしないかによらないとする。新しい顧用契約が設定される毎に、シードが各作業者に与えられて、各作業者がシーケンス内の次のキーを計算できるようにし、その者の契約が交信されるまではそのようにする。いずれかの作業者で早期に立ち去る者は計画されていない立退きとして処理される。
【0130】
ディジタルバーサタイルディスク(DVD)
DVDはもともとはディジタルビデオディスクであったが、その理由はその容量がこの媒体に適していたからであった。しかしながら、これが僅かなメモリ空間を必要とするソフトウェアやオーディオといったコンテンツを記憶するのに使用されてもよい。オーディオトラックもしくはソフトウェアタイトルの各選択のために異なるまばらに満たされたDVDをプレスするのに代って、この発明を用いて、各DVDは数百もの関係するトラックもしくはタイトルをもつ容量を一杯とするように作られる。各トラックもしくはタイトルはADUを構成している。各ADUはMARKS構成の一つを用いて作られたシーケンスからの異なるキーで暗号化されるようにできる。こういったDVDは大量生産できて、空き(フリー)を、例えばマガジン上のカバーディスクのように、与えられる。こういったDVDの一つを保有している者は誰でもそこでインターネット上でシードを購入することができ、これがDVD上のADUのあるもののロックを解くためのキーのレンジへのアクセスを与えることになる。MARKSはこのようなシナリオに対して理想的に適していて、その理由は暗号キーはDVDが一度プレスされると変化されるように出来ず、したがって商用のモデルであって物理メディアを使用するものが計画されていない立退きに頼る傾向がないことによる。このスキームはキーとデータとをウォーターマークするためにChameleonと有用に組合されるようにできる。
【0131】
非常に大きなグループのキーを管理するための解を上述してきた。それによると、受け側が開始したインターネットマルチキャストのスケーラビリティを、送り側をすべての受け側の参加と退去活動から完全に切り離すことにより保存している。送り側はまたこの受け側の活動を吸収するキーマネージャから完全に切り離されてもいる。たくさんの商用応用がモデルとして状態のない(着手する処理についての特定状態を記憶していない、換言すれば有限状態機械でない)キーマネージャだけを必要とするものをもつことを示した。この場合には制限されていないキーマネージャの複製(レプリケーション)が実現可能となる。状態のないキーマネージャの複製された組の一つが故障したときには、仲間のサーバでの進行中のトランザクション(業務)に何も影響を与えないので、問題からの全体のシステムの隔離が弾力性を改善している。こういった点を例示するために、大規模網のゲームで分毎に課金される作業ずみの例を呈示した。
【0132】
こういった利得は受け側の参加もしくは退去活動で再度のキーイングを駆動するのではなく、組織的なグループキー変更を使用することにより達成されている。切り離し(デカップリング)は、送り側とキーマネージャによってマルチキャストデータストリームにおける経済的価値の単位(“応用データユニット”で課金と関係しているもの)を前もってこしらえておくことによって達成される。組織的なキー変更は、そこでそのデータ内で宣言されたADUインデックスを歩増させることによって信号を発するようにできる。このモデルを用いると、受け側にはなにも脇の効果(サイドエフェクト)がないし、一つの受け側が参加したり退去したりするときに送り側にも効果を生じない。マルチキャストがキー管理のために使用されず、データ転送のためだけであることを確めた。したがって再度のキーイングはランダムな伝送損失に対して脆弱ではなく、マルチキャストを使用するときにスケーラブルに修復することが複雑な損失を受けにくい。伝統的なキー管理解法が技術のスケーラビリティを成功裡に改善して、グループメンバーの計画されていない立退きを許すようにしたが、しかし、最善の技術は依然としてメッセージングという項目でコストのかかるものとなっている。これとは対照的に、ここでは計画された立退きの問題に焦点をあてた。すなわち、ある任意の将来のADUの後の立退きであるが受け側があるセッションを要求した時刻に計画されたものである。たくさんと商用シナリオで前支払いもしくは加入を基礎としたものは計画されていない立退きを必要としないが、任意の計画された立退きを求めている点を主張した。この例は、ペイTVとか、ペイパービューTVとかネットワークゲーミングなどである。
【0133】
計画されてはいるが任意の立退きを達成するために、ここではキーシーケンス構成であって、送り側によって組織的にグループキーを変更するために使用されるものの選択を設計した。こういった構成はシーケンスのいずれものサブレンジが少数のシード(それぞれ16B)を啓示することによって再構成されるようにできるよう設計されている。したがって、受け側はデータシーケンスの任意のサブレンジに対するアクセスを与えられるようにできる。実用的なスキームのすべてはO(log(N))シードを用いて各受け側へのNのキーを啓示することができる。このスキームは各キーを計算するための処理のロード(負荷)で違っていて、これがセキュリティとのトレードオフとなっている。一番重いスキームは平均でちょうどO(2(log(N)−1))高速ハッシュ操作を開始するのに必要とし、続いて、平均でちょうど16余計にハッシュをシーケンス内で新しい各キーを計算するのに必要とし、これは先行して実行できる。一番軽い機構はこれよりも4倍少い処理を必要とする。
【0134】
この作業を文脈に加えて、ペイTVで秒当り課金され、一千万人の看者の10%が15分間に同調をとったり、同調を外したりする場合についてみると、最善の代替スキーム(Chang et al.)では、再キーメッセージとしてすべてのグループメンバに向けてマルチキャストする毎秒数千バイト(kB)の10倍オーダーを生成することになる。この発明の作業は数百バイトのユニキャストメッセージを多分四時間の視聴の開始時に各受け側に向けて一度だけ送ればよい。
付録A−BHTについて中間シードの最小組を識別するためのアルゴリズム
次のCのようなコードの部分では
・機能odd(x)はxが奇数であるかどうか試験をする。また、
・機能reveal(d,i)は受け側に対してシードsd,i を啓示する。
【0135】
【表5】
Figure 0004723141
【0136】
付録B−BHC−Tについての中間シードの最小組を識別するためのアルゴリズム。
【0137】
次のCのようなコードの部分では、
・機能odd(x)はxが奇数であるかどうか試験をする。また、
・機能reveal(d,i)は受け側に対してシードsd,i を啓示する。
【0138】
【表6】
Figure 0004723141
【0139】
【図面の簡単な説明】
【図1】 この発明を実施する網の模式図。
【図2】 図1の網とともに使用するための顧客端末の構造を示す図。
【図3】 図1の網とともに使用するキー管理ノードの構造を示す図。
【図4】 図1の網とともに使用するデータ送り側の構造を示す図。
【図5】 図1の網上を送られるデータパケットのフォーマットを示す図。
【図6】 キー管理ノードを経たキーの分配を示す図。
【図7】 双方向ハッシュチェーンを示す図。
【図8】 二つのブラインデング機能の生成を示す図。
【図9】 二進ハッシュトリーを示す図。
【図10】 連続する二進ハッシュトリーを示す図。
【図11】 ハイブリッド二進ハッシュチェーントリーの要素を示す図。
【図12】 ハイブリッド二進ハッシュチェーントリーを示す図。
【図13】 ハイブリッド二進ハッシュチェーントリーの構造を示す図。
【図14】 二進ハッシュチェーントリーの成長のシーケンスを示す図。
【図15】 連続する二進ハッシュチェーントリーハイブリッドを示す図。
【図16】 第二の二進ハッシュトリーの要素を示す図。
【図17】 BHC−Tにおけるシード対の啓示とブラインデングを示す図。
【図18】 第二の二進ハッシュトリーにおけるシードの啓示とブラインデングを示す図。
【図19】 多次元キーシーケンスキーを示す図。
【図20】 普通モデルを示す図。
【図21】 普通モデルを示す図。
【図22】 普通モデルを示す図。
【図23】 普通モデルを示す図。
【図24】 普通モデルを示す図。

Claims (8)

  1. データを複数のユーザ端末に安全に配信する方法であって、
    (a)データサーバが、複数のデータユニットをそれぞれキーの第一のシーケンスのうちの異なるキーで暗号化する段階と、
    (b)前記データサーバが、暗号化したデータユニットを複数のユーザ端末に向けて通信網を経由して通信する段階と、
    (c)前記データサーバが、少くとも一つのシード値をキー管理ノードを介してユーザ端末に向けて通信する段階と、
    (d)前記ユーザ端末が、少くとも一つのシード値から、該ユーザ端末に向けて通信されたシード値の数よりも大きな数のキーの第のシーケンスを生成する段階と、
    (e)前記キーの第のシーケンスを用いて該ユーザ端末データユニットを復号化する段階、とを備え、
    段階(d)では、段階(a)のキーの第一のシーケンスの中の任意に二重に境界を画成した部分を構成しているキーのシーケンスが生成され、
    前記部分の下側の境界と上側の境界との中のシーケンス内の位置が段階(c)で通信された少くとも一つのシード値によって決められる段階を特徴とする、方法。
  2. (A)少くとも一つの初期シード値に作用して初期シード値をブラインドするより大きな数の中間シード値を生成する段階と、
    (B)段階(A)で生成された前記中間シード値にさらに作用して、段階(A)で生成された前記中間シード値をブラインドする、さらに大きな数の別のシード値を生成する段階と、
    (C)生成された別のシード値の数が段階()で必要とされるキーの数以上となるまで、段階(B)を繰返す段階とにより、
    段階(a)で使用されるキーの第一のシーケンスが生成される請求項1に記載の方法。
  3. 段階(d)が複数の異なるシード値から得られた値を組合せる段階を含む請求項1に記載の方法。
  4. 前記段階(d)は、
    (I)異なるそれぞれのシード値を有する第一と第二のブラインド機能チェーンからそれぞれ得られた第一と第二の値を組合せる段階と
    (II)第一の値の位置に続く第一のブラインド機能チェーン内の位置から得られた値と第二の値の位置に先行する第二のブラインド機能チェーン内の位置から得られた値とを組合せて、それにより別の次のシードまたはキー値を生成する段階とを含む請求項3に記載の方法。
  5. 段階(II)を繰返して、それによって、別のキー値を生成し、
    各繰返しでは第一のブラインド機能チェーン内の前位置に続く位置からの値第二のブラインド機能チェーンの前の位置に先行する位置からの値とを組合せる請求項4に記載の方法。
  6. 段階(d)が複数の異なるブラインド機能の各々を用いて、複数のシード値に作用する段階を含む請求項1に記載の方法。
  7. (I)一組の異なるブラインド機能の各々を用いて、少くとも一つのルートシード値に作用して、それにより複数の別の値を生成する段階と、
    (II)該一組の異なるブラインド機能の各々を用いて、段階(I)で生成された該別の値もしくはそこから得られた値に作用する段階と、
    (III)段階(II)を繰返して、それにより、各繰返しにより値のツリー内次の継続するレイヤを生成する段階と、
    (IV)段階(III)で生成されたレイヤのうちの少なくとも一つレイヤにおけるシードのシーケンスから得られた値をキーのシーケンスとして段階(a)において用いる段階と、
    (V)段階(c)において、ユーザ端末に向けて、ツリーの本体内部からの少くとも一つの値を通信して、値のツリー内の位置がユーザ端末に通信されることによって、データユニットを復号化するときに使用するためユーザにとって利用可能なキーのシーケンスの部分の位置と拡がりとを判断する段階、とをさらに含む請求項6に記載の方法。
  8. 前記段階(I)では、
    (i)該一組の異なるブラインド機能を用いて、複数の異なるシード値に作用する段階と、
    (ii)異なるブラインド機能の各々について、一つのブラインド機能を用いてシード値のうちの一つのシード値に作用した結果と、同じ又は別のブラインド機能を用いてそれぞれのシード値のうちののシード値に作用した結果とを組合せて、それにより複数の別の値を生成する段階、とをさらに含む請求項7に記載の方法。
JP2001512739A 1999-07-23 2000-07-20 データ分配 Expired - Lifetime JP4723141B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP99305870.0 1999-07-23
EP99305870A EP1075108A1 (en) 1999-07-23 1999-07-23 Cryptographic data distribution
PCT/GB2000/002813 WO2001008348A1 (en) 1999-07-23 2000-07-20 Data distribution

Publications (3)

Publication Number Publication Date
JP2003505978A JP2003505978A (ja) 2003-02-12
JP2003505978A5 JP2003505978A5 (ja) 2007-08-30
JP4723141B2 true JP4723141B2 (ja) 2011-07-13

Family

ID=8241539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001512739A Expired - Lifetime JP4723141B2 (ja) 1999-07-23 2000-07-20 データ分配

Country Status (9)

Country Link
US (1) US7212634B2 (ja)
EP (2) EP1075108A1 (ja)
JP (1) JP4723141B2 (ja)
KR (1) KR20020026547A (ja)
CN (1) CN1238989C (ja)
AU (1) AU6005600A (ja)
CA (1) CA2379578C (ja)
IL (1) IL147549A0 (ja)
WO (1) WO2001008348A1 (ja)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001015162A2 (en) * 1999-08-13 2001-03-01 Microsoft Corporation Methods and systems of protecting digital content
US6886098B1 (en) * 1999-08-13 2005-04-26 Microsoft Corporation Systems and methods for compression of key sets having multiple keys
US7103185B1 (en) * 1999-12-22 2006-09-05 Cisco Technology, Inc. Method and apparatus for distributing and updating private keys of multicast group managers using directory replication
US7434046B1 (en) * 1999-09-10 2008-10-07 Cisco Technology, Inc. Method and apparatus providing secure multicast group communication
US7013389B1 (en) 1999-09-29 2006-03-14 Cisco Technology, Inc. Method and apparatus for creating a secure communication channel among multiple event service nodes
US7181014B1 (en) 1999-09-10 2007-02-20 Cisco Technology, Inc. Processing method for key exchange among broadcast or multicast groups that provides a more efficient substitute for Diffie-Hellman key exchange
US7089211B1 (en) 2000-01-12 2006-08-08 Cisco Technology, Inc. Directory enabled secure multicast group communications
JP4581246B2 (ja) * 2000-12-26 2010-11-17 ソニー株式会社 情報処理システム、および情報処理方法、並びにプログラム記録媒体
WO2002067494A1 (de) * 2001-02-21 2002-08-29 Stockburger, Andreas Verfahren und system zur gesicherten codierungsschlüsselvermittlung, sowie zur befehls- und datenübertragung in datennetzen
US7404080B2 (en) 2001-04-16 2008-07-22 Bjorn Markus Jakobsson Methods and apparatus for efficient computation of one-way chains in cryptographic applications
FR2825209A1 (fr) * 2001-05-23 2002-11-29 Thomson Licensing Sa Dispositifs et procede de securisation et d'identification de messages
US7124442B2 (en) 2001-07-25 2006-10-17 440 Pammel, Inc. System and method for insertion and retrieval of microthreads in transmitted data
DE10142498A1 (de) * 2001-08-30 2003-03-27 Siemens Ag Verfahren zur Ver- und Entschlüsselung von Kommunikationsdaten
US7334125B1 (en) 2001-11-27 2008-02-19 Cisco Technology, Inc. Facilitating secure communications among multicast nodes in a telecommunications network
WO2003084166A1 (en) * 2002-03-27 2003-10-09 British Telecommunications Public Limited Company Key management protocol
JP4218256B2 (ja) 2002-05-02 2009-02-04 富士ゼロックス株式会社 データ転送方法及びシステム
US7486795B2 (en) * 2002-09-20 2009-02-03 University Of Maryland Method and apparatus for key management in distributed sensor networks
US7702904B2 (en) * 2002-11-15 2010-04-20 Nec Corporation Key management system and multicast delivery system using the same
US7450722B2 (en) * 2002-12-13 2008-11-11 General Instrument Corporation Subset difference method for multi-cast rekeying
GB2398210A (en) * 2003-02-05 2004-08-11 Sony Uk Ltd Encryption using a binary tree structure
JP2004272317A (ja) * 2003-03-05 2004-09-30 Hitachi Ltd プログラム管理方法及びシステム並びにその処理プログラムを格納した記憶媒体
GB0328012D0 (en) * 2003-12-03 2004-01-07 Oxford Semiconductor Ltd Data distribution method and apparatus
JP4602675B2 (ja) * 2004-02-10 2010-12-22 エヌ・ティ・ティ・コミュニケーションズ株式会社 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム
AU2005255946C1 (en) * 2004-06-14 2009-10-29 The University Of North Carolina At Greensboro Systems and methods for digital content security
KR101092543B1 (ko) 2004-11-12 2011-12-14 삼성전자주식회사 브로드캐스트 암호화를 위한 사용자 키 관리 방법
US7536016B2 (en) * 2004-12-17 2009-05-19 Microsoft Corporation Encrypted content data structure package and generation thereof
JP2006262450A (ja) * 2005-02-17 2006-09-28 Ricoh Co Ltd 電子機器,情報管理方法および情報管理プログラム
US8081657B2 (en) 2005-03-22 2011-12-20 Bigband Networks Inc. Method and device for providing video, data and voice to end user devices
US7716250B1 (en) * 2005-05-27 2010-05-11 Microsoft Corporation Erasure coding and group computations using rooted binary and ternary trees
GB0519814D0 (en) * 2005-09-29 2005-11-23 Hewlett Packard Development Co Methods and apparatus for managing and using one-time pads
US9191198B2 (en) 2005-06-16 2015-11-17 Hewlett-Packard Development Company, L.P. Method and device using one-time pad data
DE102005033285C5 (de) 2005-07-15 2019-11-07 Institut für Rundfunktechnik GmbH Consumer-Electronic-Gerät
DE102005033836B4 (de) * 2005-07-20 2009-11-19 Institut für Rundfunktechnik GmbH Verfahren zum Weiterleiten von Nutzungsberechtigungsinformationen
EP1927189B1 (en) 2005-09-20 2016-04-27 Gula Consulting Limited Liability Company Insertion and retrieval of identifying artifacts in transmitted lossy and lossless data
US8566858B2 (en) 2005-09-20 2013-10-22 Forefront Assets Limited Liability Company Method, system and program product for broadcast error protection of content elements utilizing digital artifacts
US8566857B2 (en) 2005-09-20 2013-10-22 Forefront Assets Limited Liability Company Method, system and program product for broadcast advertising and other broadcast content performance verification utilizing digital artifacts
US8966517B2 (en) 2005-09-20 2015-02-24 Forefront Assets Limited Liability Company Method, system and program product for broadcast operations utilizing internet protocol and digital artifacts
US8842839B2 (en) 2005-09-29 2014-09-23 Hewlett-Packard Development Company, L.P. Device with multiple one-time pads and method of managing such a device
US8250363B2 (en) 2005-09-29 2012-08-21 Hewlett-Packard Development Company, L.P. Method of provisioning devices with one-time pad data, device for use in such method, and service usage tracking based on one-time pad data
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7946910B2 (en) * 2005-10-06 2011-05-24 Vergence Entertainment Llc Substantially simultaneous intermittent contest
US20070143216A1 (en) * 2005-12-16 2007-06-21 Benaloh Josh D Data Signal with a Database and a Compressed Key
US8176568B2 (en) * 2005-12-30 2012-05-08 International Business Machines Corporation Tracing traitor coalitions and preventing piracy of digital content in a broadcast encryption system
JP2007193602A (ja) * 2006-01-19 2007-08-02 Fujitsu Ltd ストリーム・データ配信管理方法及び装置
WO2008054456A2 (en) * 2006-02-22 2008-05-08 Luna Innovations Inc. Hardware-facilitated secure software execution environment
US20070245018A1 (en) * 2006-04-12 2007-10-18 International Business Machines Corporation Dynamic access control in a content-based publish/subscribe system with delivery guarantees
KR20070119335A (ko) * 2006-06-15 2007-12-20 삼성전자주식회사 브로드캐스트 암호화를 위한 사용자 키 할당 방법
US20070298781A1 (en) * 2006-06-22 2007-12-27 Innovative Sonic Limited Method and apparatus for handling status report after handover in a wireless communications system
US20080022117A1 (en) * 2006-07-21 2008-01-24 Antonius Kalker Enabling access to more than one encrypted data segment of a segmentable data stream
KR101223499B1 (ko) * 2006-09-27 2013-01-18 삼성전자주식회사 그룹 키 업데이트 방법 및 이를 이용한 그룹 키 업데이트장치
IL178488A0 (en) * 2006-10-05 2008-01-20 Nds Ltd Improved key production system
US7984158B2 (en) * 2007-03-20 2011-07-19 Microsoft Corporation Web service for coordinating actions of clients
US8036965B1 (en) 2007-03-26 2011-10-11 Trading Technologies International, Inc. Distribution of electronic market data
US7936873B2 (en) * 2007-05-07 2011-05-03 Apple Inc. Secure distribution of content using decryption keys
US20080304664A1 (en) * 2007-06-07 2008-12-11 Shanmugathasan Suthaharan System and a method for securing information
AU2009252117B2 (en) * 2008-04-04 2013-05-09 Samsung Electronics Co., Ltd. Method and apparatus for providing broadcast service using encryption key in a communication system
KR101514840B1 (ko) * 2008-06-11 2015-04-23 삼성전자주식회사 휴대 방송 시스템에서의 암호화 키 분배 방법 및 이를 위한시스템
US8595504B2 (en) * 2008-08-12 2013-11-26 Industrial Technology Research Institute Light weight authentication and secret retrieval
JP5255499B2 (ja) * 2009-03-30 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 鍵情報管理方法、コンテンツ送信方法、鍵情報管理装置、ライセンス管理装置、コンテンツ送信システム、及び端末装置
US8607057B2 (en) * 2009-05-15 2013-12-10 Microsoft Corporation Secure outsourced aggregation with one-way chains
CN102725737B (zh) 2009-12-04 2016-04-20 密码研究公司 可验证防泄漏的加密和解密
US8468343B2 (en) * 2010-01-13 2013-06-18 Futurewei Technologies, Inc. System and method for securing wireless transmissions
CN101917623B (zh) * 2010-09-03 2012-11-21 杭州海康威视数字技术股份有限公司 编码码流的防篡改加密方法、检测方法及装置
GB2484931B (en) * 2010-10-26 2014-04-30 Nds Ltd Efficient delivery of structured data items
US8914635B2 (en) * 2011-07-25 2014-12-16 Grey Heron Technologies, Llc Method and system for establishing secure communications using composite key cryptography
US8699703B2 (en) * 2011-10-19 2014-04-15 Apple Inc. System and method for pseudo-random polymorphic tree construction
US8954749B2 (en) 2012-04-06 2015-02-10 At&T Intellectual Property I, L.P. Methods, systems, and product for hashing using twisted tabulation
KR101319586B1 (ko) * 2012-06-19 2013-10-16 경기대학교 산학협력단 클라우드 컴퓨팅 시스템 및 클라이언트 인증방법
KR101947982B1 (ko) 2012-09-11 2019-02-15 삼성전자주식회사 무선 전력 전송 시스템의 공진기 제어 장치 및 방법
US9425967B2 (en) * 2013-03-20 2016-08-23 Industrial Technology Research Institute Method for certificate generation and revocation with privacy preservation
DE102013205166A1 (de) * 2013-03-22 2014-09-25 Robert Bosch Gmbh Verfahren zum Erzeugen einer Einwegfunktion
KR101475747B1 (ko) * 2014-01-22 2014-12-23 고려대학교 산학협력단 동형 암호를 이용한 다자간 위탁 연산 방법
US9338144B2 (en) 2014-02-19 2016-05-10 Raytheon Bbn Technologies Corp. System and method for operating on streaming encrypted data
US9325671B2 (en) 2014-02-19 2016-04-26 Raytheon Bbn Technologies Corp. System and method for merging encryption data using circular encryption key switching
US9313181B2 (en) * 2014-02-28 2016-04-12 Raytheon Bbn Technologies Corp. System and method to merge encrypted signals in distributed communication system
US9461974B2 (en) 2014-02-28 2016-10-04 Raytheon Bbn Technologies Corp. System and method to merge encrypted signals in distributed communication system
US9628450B2 (en) 2014-04-16 2017-04-18 Raytheon Bbn Technologies Corp. System and method for merging encryption data without sharing a private key
US20150370272A1 (en) 2014-06-23 2015-12-24 Google Inc. Intelligent configuration of a smart environment based on arrival time
US9788039B2 (en) 2014-06-23 2017-10-10 Google Inc. Camera system API for third-party integrations
US10218496B2 (en) 2014-08-04 2019-02-26 Cryptography Research, Inc. Outputting a key based on an authorized sequence of operations
CN104767610B (zh) * 2015-04-23 2018-11-20 数据堂(北京)科技股份有限公司 一种数据加密方法及系统
US9985946B2 (en) * 2015-12-22 2018-05-29 Intel Corporation System, apparatus and method for safety state management of internet things (IoT) devices
JP6834771B2 (ja) * 2017-05-19 2021-02-24 富士通株式会社 通信装置および通信方法
KR102413497B1 (ko) 2019-01-28 2022-06-24 크넥트아이큐 인크. 보안 전자 데이터 전송을 위한 시스템 및 방법
CN113874857A (zh) * 2019-05-27 2021-12-31 百可德罗德公司 用于最优信息理论安全的加密密钥管理的方法和设备
US10951697B2 (en) * 2019-06-07 2021-03-16 Holo Limited Holochain—A framework for distributed applications
US11436352B2 (en) 2019-08-19 2022-09-06 Red Hat, Inc. Proof-of-work key wrapping for restricting data execution based on device capabilities
US11411728B2 (en) 2019-08-19 2022-08-09 Red Hat, Inc. Proof-of-work key wrapping with individual key fragments
US11316839B2 (en) 2019-08-19 2022-04-26 Red Hat, Inc. Proof-of-work key wrapping for temporally restricting data access
US11411938B2 (en) 2019-08-19 2022-08-09 Red Hat, Inc. Proof-of-work key wrapping with integrated key fragments
US11271734B2 (en) 2019-08-19 2022-03-08 Red Hat, Inc. Proof-of-work key wrapping for verifying device capabilities
US11303437B2 (en) 2019-08-19 2022-04-12 Red Hat, Inc. Proof-of-work key wrapping with key thresholding
US11424920B2 (en) 2019-08-19 2022-08-23 Red Hat, Inc. Proof-of-work key wrapping for cryptographically controlling data access
CN110728614B (zh) * 2019-09-27 2023-09-19 天津大学 灰狼优化算法和完全三叉树结构小波域彩色多水印方法
DE102020112102B3 (de) * 2020-05-05 2021-05-20 Infineon Technologies Ag Verfahren und Vorrichtungen zur Erzeugung eines symmetrischen Sitzungsschlüssels für die verschlüsselte Kommunikation
WO2022167945A1 (en) * 2021-02-02 2022-08-11 Gsi Technology Inc. System and method for parallel combinatorial design

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103256A (ja) * 1995-10-16 1998-01-06 Sony Corp 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体
JPH1063364A (ja) * 1996-08-22 1998-03-06 Fujitsu Ltd コンテンツ利用管理装置及びその装置を用いたコンテンツ利用システム
JPH1141280A (ja) * 1997-07-15 1999-02-12 N T T Data:Kk 通信システム、vpn中継装置、記録媒体
JPH1185014A (ja) * 1997-09-12 1999-03-30 Teruo Matsumoto 暗号情報交換方式

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0483424A1 (en) * 1990-10-30 1992-05-06 International Business Machines Corporation Key hashing in data processors
US5309516A (en) * 1990-12-07 1994-05-03 Hitachi, Ltd. Group cipher communication method and group cipher communication system
DE19511298B4 (de) * 1995-03-28 2005-08-18 Deutsche Telekom Ag Verfahren zur Erteilung und zum Entzug der Berechtigung zum Empfang von Rundfunksendungen und Decoder
AU728942B2 (en) * 1995-06-30 2001-01-18 Canon Kabushiki Kaisha A communication apparatus and a communication system
US5748734A (en) * 1996-04-02 1998-05-05 Lucent Technologies Inc. Circuit and method for generating cryptographic keys
US6125186A (en) * 1996-11-28 2000-09-26 Fujitsu Limited Encryption communication system using an agent and a storage medium for storing that agent
JP2001514834A (ja) * 1997-03-10 2001-09-11 ガイ・エル・フィールダー 安全決定性暗号鍵発生システムおよび方法
EP1653463A1 (en) * 1997-05-13 2006-05-03 Kabushiki Kaisha Toshiba License information copying method and apparatus, license information moving method
DE69827410T2 (de) * 1997-12-19 2005-10-27 British Telecommunications P.L.C. Datenkommunikation
US6182220B1 (en) * 1998-03-30 2001-01-30 International Business Machines Corporation System and method for building and exchanging encrypted passwords between a client and server
US6801999B1 (en) * 1999-05-20 2004-10-05 Microsoft Corporation Passive and active software objects containing bore resistant watermarking
US6772340B1 (en) * 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
US6931128B2 (en) * 2001-01-16 2005-08-16 Microsoft Corporation Methods and systems for generating encryption keys using random bit generators

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH103256A (ja) * 1995-10-16 1998-01-06 Sony Corp 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体
JPH1063364A (ja) * 1996-08-22 1998-03-06 Fujitsu Ltd コンテンツ利用管理装置及びその装置を用いたコンテンツ利用システム
JPH1141280A (ja) * 1997-07-15 1999-02-12 N T T Data:Kk 通信システム、vpn中継装置、記録媒体
JPH1185014A (ja) * 1997-09-12 1999-03-30 Teruo Matsumoto 暗号情報交換方式

Also Published As

Publication number Publication date
KR20020026547A (ko) 2002-04-10
CN1408153A (zh) 2003-04-02
US20030044017A1 (en) 2003-03-06
EP1197031B1 (en) 2014-10-01
EP1075108A1 (en) 2001-02-07
CA2379578C (en) 2009-11-24
IL147549A0 (en) 2002-08-14
CA2379578A1 (en) 2001-02-01
AU6005600A (en) 2001-02-13
CN1238989C (zh) 2006-01-25
EP1197031A1 (en) 2002-04-17
WO2001008348A1 (en) 2001-02-01
US7212634B2 (en) 2007-05-01
JP2003505978A (ja) 2003-02-12

Similar Documents

Publication Publication Date Title
JP4723141B2 (ja) データ分配
Briscoe MARKS: Zero side effect multicast key management using arbitrarily revealed key sequences
KR102154469B1 (ko) 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치
Canetti et al. Multicast security: A taxonomy and some efficient constructions
Challal et al. A taxonomy of multicast data origin authentication: Issues and solutions
US7058809B2 (en) Method and system to uniquely associate multicast content with each of multiple recipients
Devet et al. The best of both worlds: Combining information-theoretic and computational PIR for communication efficiency
JP2003143121A (ja) ネットワークシステム、端末装置、その暗号化方法及び復号方法
EP1264436A1 (en) Method and system to uniquely associate multicast content with each of multiple recipients
AU2001243465A1 (en) Method and system to uniquely associate multicast content with each of multiple recipients
Safavi-Naini et al. New constructions for multicast re-keying schemes using perfect hash families
Briscoe et al. Nark: Receiver-based multicast non-repudiation and key management
CN110446108A (zh) 一种媒体云系统及视频加密、解密方法
Di Crescenzo et al. Efficient kerberized multicast in a practical distributed setting
WO2010074621A1 (en) A key management method
Guttikonda et al. Secret Sharing with Reduced Share Size and Data Integrity.
RU2775994C2 (ru) Способы и устройство эффективной реализации распределенной базы данных в сети
Chang et al. Fault tolerant multi-party authenticated quantum conference against collective noise
Raj et al. A novel approach for computation-efficient rekeying for multicast key distribution
De Decker et al. Semi-trusted hosts and mobile agents: enabling secure distributed computations
CN116471005A (zh) 一种同态密文转换方法及系统
Aparna et al. Key management schemes for multilayer and multiple simultaneous secure group communication
Celik et al. Supporting subscription oriented information commerce in a push-based environment
Neven et al. Implementing secure distributed computing with mobile agents
CN116527254A (zh) 一种对组播视频流进行加密及管理密钥的方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070704

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110407

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4723141

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term