JP4955181B2 - 安全なコラボレーティブ・トランザクションを管理する方法及び装置 - Google Patents

安全なコラボレーティブ・トランザクションを管理する方法及び装置 Download PDF

Info

Publication number
JP4955181B2
JP4955181B2 JP2001585004A JP2001585004A JP4955181B2 JP 4955181 B2 JP4955181 B2 JP 4955181B2 JP 2001585004 A JP2001585004 A JP 2001585004A JP 2001585004 A JP2001585004 A JP 2001585004A JP 4955181 B2 JP4955181 B2 JP 4955181B2
Authority
JP
Japan
Prior art keywords
key
message
delta
authentication
data
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 - Fee Related
Application number
JP2001585004A
Other languages
English (en)
Other versions
JP2004501547A (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004501547A publication Critical patent/JP2004501547A/ja
Application granted granted Critical
Publication of JP4955181B2 publication Critical patent/JP4955181B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • 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
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Stored Programmes (AREA)

Description

【0001】
発明の分野
本発明は安全なデータ交換トランザクションを提供するための方法及び装置に関連し、更に詳しくは、共同作業環境(以下、コラボレーティブ環境)における安全なデータ交換トランザクションを提供する方法及び装置に関する。
【0002】
発明の背景
現在の計算機アプリケーションはほとんどがシングル・ユーザ・システムである。例えば、従来の編集アプリケーションでは、一人のユーザがファイルを開き内容に変更を加えることができる。第1のユーザがファイルを開いている間に、第2のユーザがそのファイルを開こうとすると、第2のユーザはファイルを開くことができないか変更を加えることができないことになる。第2のユーザはファイルの一時的なコピー(以下、スナップショット・コピー)を取得することができる場合がある。しかしスナップショット・コピーは第1のユーザが作成したオリジナルのコピーに加えたそれ以降の変更は何も更新されない。つまり、第2のユーザはファイルの変更として表現された第1のユーザのアイデアを共有することができない。更に、第2のユーザはオリジナルのファイル内容の変更を行なうことができないので、ファイルの変更として表現されるそのユーザのアイデアを共有することができない。要するに、第1と第2のユーザはファイルの共同作業による(以下、コラボレーティブな)編集ができない。
【0003】
本明細書で用いている術語であるコラボレーション(collaboration)は複数クライアントがアイデアを共有できるようにする能力を意味する。この共有には一人のアイデアを他のメンバーに対して自動的に表明し、他のメンバーがそのアイデアを明示的に要求しなくても良いようにする能力を含む。コラボレーションは更にアイデアを送信するメンバーからのアイデアを自動的にそれぞれのメンバーが受信できるようにする能力も含む。つまり、最低限、コラボレーションは共同作業(collaborative effort)に参加しているメンバーの間での通信を意味する。この通信/コラボレーションは多くのモデルをもとにすることができる。「ブレーン・ストーミング型」セッションは制約されないコラボレーション・モデルである。一方、「ラウンド・ロビン」型モデルはそれぞれのメンバーがアイデアを表明するのに特定の順番を待つもので、制約型のコラボレーション・モデルである。
【0004】
米国特許5,781,732号に開示された一つのコラボレーション・システムでは、データ変更要求がユーザとの対話に対する応答として生成されすべてのコラボレータに接続されているトランスポンダ・ユニットへ送出される。トランスポンダはコラボレーションに参加しているユーザ全部に対してデータ変更要求をブロードキャストする。各ユーザはコラボレーション用データ(以下、コラボレーティブ・データ)のローカルなコピーを持ち、データ変更要求を受信してローカルなデータ・コピーへ要求された変更を加えるメカニズムを備える。すべてのデータ変更要求がトランスポンダを経由しなければならないため、データ変更要求はすべて同じ順番でそれぞれのコラボレータに受信されることになり、データの完全性が維持される。
【0005】
コラボレーションは1台の計算機またはサーバで作業しているユーザ間でローカルに行なわれたり、ユーザそれぞれがネットワークに接続された計算機に向かっているようなネットワーク上で行なわれることもある。インターネットはこのようなネットワークの一つで、数百万のユーザ間での通信及び対話のためのダイナミックな公衆環境を作り出した。ビジネスにおいて、インターネットまた特にインターネット上で動作するワールドワイドウェブ・アプリケーションはベンダ/メーカ間、メーカ/ディストリビュータ間、ディストリビュータ/顧客間、その他の関係を再編成した。インターネット技術を企業内の機密ネットワークへ拡張すると、「イントラネット」あるいは「プライベート・インターネット」と呼ばれるようなものが、企業のディレクトリとネットワーク基盤を使用する従業員それぞれや作業グループの間で、新しい形態のドキュメント及び情報の共有を可能にした。
【0006】
ワールド・ワイド・ウェブ(「ウェブ」)はその中核にサーバ・クライアント・アーキテクチャを有し個々のクライアント(すなわちウェブ・コンテンツのユーザ)はブラウザを通して、公衆ネットワーク上にあるサーバ(すなわち、インターネット・コンテンツ・プロバイダ)とインタフェースすることで、ウェブ・サイトからドキュメントを取得する。ブラウザはパーソナル・コンピュータがインターネット・ドキュメントを要求し、受信し(例えばダウンロードし)、解釈し、表示し、また一般的にはインターネットをナビゲーションできるようにするソフトウェア・プログラムである。ウェブ・サイトはドキュメントの集合体で、ドキュメントは一般にホームページやこれに関連しリンクされるドキュメントから構成され、クライアントからは離れたサーバ上に配置される。ドキュメントはコンパウンド・ドキュメントとすることができ、データ、グラフィックス、ビデオ、サウンド、及び/または他の種類のメディアや、他のドキュメントへのリンクも含められる。
【0007】
基盤となるウェブ及びその他のインターネット技術は、パーソナル・コンピュータのハードウェア、ソフトウェア、ネットワーク・プロトコル、インフラストラクチャの取り決め(例えば一元的資源指定子Uniform Resource LocatorまたはURL)を含め、標準化が進んでいる。URLはWWW上のすべてのドキュメント・オブジェクトについて所在アドレスを提供する。URLはドキュメント・オブジェクトを択一的に指定しインターネット・プロトコルを使用するアクセス・アルゴリズムも定義することが多い。
【0008】
インターネットを利用するため、インターネット・プロトコルに準拠した形でツールや資源が開発されており、これには電子メール(e−mail)などのアプリケーションを含む。電子メールは電子的な郵便で、これを用いてドキュメントを電子的に、選択したアドレスで送受信する。インターネット上での対話(interaction)のほとんどが「ドキュメント送受信」モデルに従う電子メールやその他のブラウザを使うメディアであると予想された。おそらくはそのモデルのため、ユーザは高次の権威者による介入なしに個人が他の個人の提供した文書にアクセスすることでインターネットを本質的に「ピアツーピア」であると見なすことが多い。
【0009】
結果として、更に「ピアツーピア」的に動作する新しいコラボレーション・モデルが開発された。これらのモデルは「テレスペース」と呼ばれる共有プライベート空間にいるユーザ間の直接接続の上に構築される。各ユーザは「アクティビティ」と呼ばれるプログラムを持ち、これはパーソナル・コンピュータ・システムや、通信機器またはその他のネットワーク接続可能な装置で動作可能である。アクティビティ・プログラムは「デルタ」と呼ばれるデータ交換要求を生成することでユーザとの対話に応答する。アクティビティはまたデータ変更エンジンを備え、これがローカルなデータ・コピーを維持しており、デルタによって要求されたデータへの変更を実行する。デルタはダイナミクス・マネージャによって一人のユーザから別のユーザへと配布される。後者の形式のコラボレーション・システムは「通信マネージャを備えたコンピュータ・システムによるアクティビティ・ベースのコラボレーションのための方法及び装置(method and apparatus for activity−based collaboration by a computer system equipped with a communications manager)」と題するRaymond E. Ozzie, Kenneth G. Moore, Robert H. Myhill and Brian M. Lambertによる1999年7月19日付け米国特許出願第09/357,007号、「ダイナミクス・マネージャを備えたコンピュータ・システムによるアクティビティ・ベースのコラボレーションのための方法及び装置(method and apparatus for activity−based collaboration by a computer system equipped with a dynamics manager)」と題するRaymond E. Ozzie and Jack. E. Ozzieによる1999年7月19日付け米国特許出願第09/356,930号、「アクティビティ・ベースのコラボレーション用に装備した分散コンピュータ・システムにおいてデータ変更要求に優先順位をつけデータ完全性を維持するための方法及び装置(method and apparatus for prioritizing data change requests and maintaining date consistency in a distributed computer system equipped for activity−based collaboration)」と題するRaymond E. Ozzie and Jack E. Ozzieによる1999年7月19日付け米国特許出願第09/356,148号に詳細に記載されている。
【0010】
インターネットは、ユーザに娯楽と有用な通信方法を提供する点でダイナミックかつフレキシブルだが、ユーザのニーズ全部には適合しない。例えば、インターネットは各種のハードウェアとソフトウェアで広範囲のユーザを接続する能力を有することから理想的にはコラボレーションに適したものであろう。しかし、インターネットのセキュリティは希望するのとは程遠い。インターネット上で様々な人数のユーザへメッセージを送信できるが、これらのメッセージは代表的にはサード・パーティのウェブ・サイトを経由しここで通信を傍受したり機密性を侵害することが可能である。結果として、ユーザがインターネット経由でいっそう対話する一方、例えば複数媒体(電話、ファクシミリ、ホワイトボード)や、複数時刻(リアルタイム、翌日配達郵便(overnight mail))及びその他の通信告知手段など従来の安全な方法でインターネット「以外で」対話を続けることになる。
【0011】
共有プライベート空間にいる個人間及び中小グループ間でコラボレーティブな通信やその他の共有及び同時的アクティビティを安全なものにするようにインターネットを拡張するのが望ましい。このような対話は参加者のパーソナル・コンピュータ間またはその他のネットワーク接続可能な装置間で望ましくは瞬間的、直接的、かつ機密に行なわれるべきである。また様々なリモートサイトにいるユーザが安全に通信でき、安全な通信リンクの構築やセキュリティ・システムの維持にユーザの広範囲の関与を必要としないような技術を提供するのも望ましい。また安全なトランザクションを提供する上で関係する「オーバヘッド」を最小限にまで減らして通信量(以下、スループット)と動作速度を改善するのも望ましい。
【0012】
発明の要約
本発明の図示した実施態様の一つによれば、異なるセキュリティ・レベルを提供してユーザが彼ら自身の通信のセキュリティ・レベルを決定できるようにする。ユーザは低いセキュリティ・レベルを選択してセキュリティ関係のオーバヘッドを可能な限り小さくすることが可能である。これ以外に、セキュリティ関係のオーバヘッドの増加をもたらすもっと高いセキュリティ・レベルを選択することも可能である。異なるセキュリティ・レベルは2種類の鍵のうちの一つまたはそれ以上の使用により作成される:暗号化鍵は平文テキストデータをデルタへ暗号化するために使用し、メッセージ認証鍵を使ってデータを認証しデータの完全性を保証する。2種類の鍵を使ってテレスペースの各メンバーでデータを再暗号化しなくて済むようにする。
【0013】
好適実施態様において、鍵管理のオーバヘッドを減少させるため、同一の物理鍵を暗号化鍵とメッセージ認証鍵に使用する。
【0014】
一つの実施態様において、セキュリティ・レベルはテレスペースが作成されてテレスペースの寿命がある間は固定されたままである。テレスペースでは、セキュリティ・レベルは全くセキュリティがない状態からテレスペースのメンバーと部外者との間のセキュリティ、更にテレスペースのメンバーのペア間でのセキュリティまで範囲がある。
【0015】
別の実施態様において、「トライブ(tribe)」と呼ばれるサブグループをテレスペース内に形成しそれぞれのトライブが自分のいるテレスペースのセキュリティ・レベルを採用する。
【0016】
更に別の実施態様において、中程度または高度なセキュリティ・レベルを有するテレスペースのメンバーはウィスパー(whispers)と呼ばれテレスペースの他のメンバーに対しても機密化される機密通信で通信することができる。
【0017】
好適実施態様の詳細な説明
図1は代表的なコンピュータ・システム100の従来のシステム・アーキテクチャを示したもので、これに開示された本発明を実装することができる。ただし図1の代表的なコンピュータ・システムは説明目的のみで議論するもので本発明の制限と見なすべきではない。以下の説明では特定のコンピュータ・システムを記述する際に共通に使用される術語を参照することがあるが、記載される概念は図1に図示したものとは異なるアーキテクチャを有するシステムを含めた他のコンピュータ・システムに等しく適用される。
【0018】
コンピュータ・システム100は従来のマイクロプロセッサを含む中央演算処理装置(CPU)105、一時的な情報記憶のためのランダムアクセス・メモリ(RAM)110、及び永久的情報記憶のためのリードオンリー・メモリ(ROM)を含む。メモリ・コントローラ120はシステムRAM110を制御するために提供される。バス・コントローラ125はバス130を制御するために設けてあり、割り込みコントローラ135は他のシステム要素からの各種割り込み信号を受信し処理するために使用される。
【0019】
大容量記憶はディスケット142、CDROM147、またはハードディスク152によって提供される。データとソフトウェアは取り出し可能な媒体例えばディスケット142やCDROM147を介してクライアント・コンピュータ100と交換できる。ディスケット142はディスケット・ドライブ141へ挿入でき、このディスケット・ドライブ141はコントローラ140によってバス130へ接続されている。同様に、CDROM147はCDROMドライブ146へ挿入でき、CDROMドライブ146はコントローラ145によってバス130へ接続されている。最後に、ハードディスク152は固定ディスク・ドライブ151の一部であり、これはコントローラ150を介してバス130へ接続されている。
【0020】
コンピュータ・システム100へのユーザ入力は様々な装置から提供される。例えば、キーボード156とマウス157はキーボード及びマウス・コントローラ155によってバス130へ接続される。オーディオ・トランスデューサ196はマイクロホンとスピーカの両方として機能するもので、オーディオ・コントローラ197によってバス130へ接続されている。その他の入力装置例えばペン及び/またはタブレットや音声入力用マイクロホンなどがバス130と適当なコントローラを介してクライアント・コンピュータ100へ接続できることは当業者には明らかであろう。DMAコントローラ160はシステムRAM110へのダイレクト・メモリ・アクセスを実行するために提供される。視覚表示はビデオ・ディスプレイ170を制御するビデオ・コントローラ165によって生成される。
【0021】
コンピュータ・システム100はクライアント・コンピュータ100をバス191経由でネットワーク195へ相互接続できるようにするネットワーク・アダプタ190も含む。ネットワーク195はローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、またはインターネットであり、多数のネットワーク・デバイスを相互接続する汎用通信回線を使用する。
【0022】
コンピュータ・システム100は一般にオペレーティング・システム・ソフトウェアによって制御調節される。コンピュータ・システム制御機能のなかでも、オペレーティング・システムはシステム資源の割り当てを制御しプロセスのスケジュール、メモリ管理、ネットワーク及びI/Oサービスなどのタスクを実行する。
【0023】
図2は略ブロック図の形で代表的なコラボレーション・システムの構成を示す。図2はネットワーク216へ接続された2台のコラボレーティブ・ワークステーション200、202を示す。ワークステーション200、202のそれぞれは図1に示したようなコンピュータ・システムとすることができ、ネットワーク216はプライベート・コンピュータ・ネットワーク例えばLANやWAN、あるいは公衆コンピュータ・ネットワーク例えばインターネットとすることができる。これ以外に、ワークステーション200、202は同一のコンピュータ(図示していない)上に構成することができ、この場合2つの端末間の通信はそのコンピュータに対してローカルなものとなる。
【0024】
好適実施態様において、端末200、202のそれぞれは共同作業を実行するデータのローカルなコピー204、210をそれぞれ保持している。それぞれのローカルなデータ・コピー、例えばデータ・コピー204はこれに対応する「ダイナミクス・マネージャ」206と呼ばれるソフトウェア・プログラムによって管理される。同様に、データ・コピー210はこれに対応するダイナミクス・マネージャ212によって管理される。特定のコラボレーション装置を説明の目的で議論するが、他のコラボレーション装置も精神と範囲において本発明の原理から逸脱することなく使用できることが当業者には明らかであろう。
【0025】
ダイナミクス・マネージャ206は「デルタ」と呼ばれる一つまたはそれ以上のデータ変更要求を含む自己内包型データユニットの受信に応答してこれのローカル・データ・コピー204を変更し更新する。データ変更要求はデータの希望通の変更に関してダイナミクス・マネージャやその他のコンポーネント(図示していない)への通知または催促である。デルタは例えばマネージャ206などのダイナミクス・マネージャによって、ユーザとの対話に応答して作成されるもので、対応するローカル・データ・コピー204と、ネットワーク越しに同じコラボレーティブ・セッションに参加しているコラボレータに属する他のコンピュータ上のローカル・データ・コピーとの両方を更新するために用いられる。
【0026】
デルタは制御情報を提供するへッダ部分と要求が関係するデータについての情報を提供するペイロード部分とを含む特定のフォーマットを有する。個々のデルタは一つまたはそれ以上のペイロードを有することができる。多数のペイロードが使用されるような場合、以下で詳細に説明するように、それぞれが独自の装置機能またはユーザの役割を有する特定のコラボレーション・メンバーを対象とすることができる。
【0027】
ダイナミクス・マネージャ206によって生成されたデルタが他のコラボレータに送信される場合、ダイナミクス・マネージャ206は通信マネージャ208と相互作用する。同様に、ダイナミクス・マネージャ212は通信マネージャ214と相互作用する。通信マネージャ208は内向きと外向きのデルタを適当な宛先へ配送するメカニズムである。好適実施態様において、通信マネージャはコンピュータで実行可能なプログラムとして実装することができ、このプログラムが別のリモート・パーソナルコンピュータまたは別の形のネットワーク接続可能な装置へネットワーク216上で送信するため通信マネージャ206によって開始されたデルタを配送し、またネットワーク216上で受信したリモートで生成されたデルタをダイナミクス・マネージャ206へ配送する。
【0028】
一般に、通信マネージャ208、214はダイナミクス・マネージャ206、212によって生成された全デルタがコラボレーションに参加している全ユーザによって受信されるように構成される。それぞれのデルタは内部シーケンス番号を含みそれぞれのコラボレータのダイナミクス・マネージャは全部のデルタがいつ受信されたかを決定できるようにしてある。別のコラボレータからのデルタはそれぞれのコラボレータへ多数の違う経路を通って送信されることがあるので、デルタは生成された順序と同じ順序で到着するとは限らない。しかし、それぞれのコラボレータによって全デルタが受信され内部シーケンス番号を使って正しい順序でデルタを適用できる。したがって、それぞれのコラボレータによって保持されているローカル・データ・コピーは、全部のデルタで更新されると、コラボレーションの他のメンバーによって保持されているローカル・データ・コピーと一致することになる。
【0029】
特定のコラボレーションに参加しているコラボレータの間での機密性を維持することが望ましい。これはデルタが公衆ネットワーク例えばインターネット上に送信される場合にとくに言えることである。情報のセキュリティにとって重要な3つの基本概念が存在する。その第1は認証で、これはデータ受信者がデータ作成者(data source)の同一性を知っており信用できることを保証するものである。第2は完全性で、データが転送中に変更されなかったことを保証するものである。完全性はデータ作成者以外のものによってデータを書き込むことができないことまた既知の作成者から到着したものであることを実効的に保証する。データ完全性は不正なデータの生成または「なりすまし」による第三者からの攻撃を防止する。最後のセキュリティ概念は機密性で、これは転送中のデータがデータ作成者とデータ受信者以外の第三者によって読み取ることができないことを保証するものである。機密性は第三者によるデータの読み取りまたは「盗聴」による攻撃を防止する。
【0030】
前述したように、セキュリティはコラボレータが一つまたはそれ以上のアクティビティに参加して項目を共有したり、アクティビティの結果がユーザのパーソナル・コンピュータ上にあるいは他の形のネットワーク接続可能な装置上に永続的に保存されるような仮想空間に基づいている。仮想空間は「テレスペース」または「グループ」と呼ばれるもので各ユーザの装置の中で同期が保たれる。図示したセキュリティ/モデルによると、テレスペースのセキュリティは、テレスペースを形成して、メンバーを受け入れ、更にメンバーシップが安定したあとで「全体の」セキュリティとしてほとんどのユーザが体験するものである。これは安定状態デルタ・プロトコルと呼ばれグループ・メンバー間に渡されるデルタに含まれる情報の認証、完全性及び機密性に関連する。図3は5人のメンバーM0、M1、M2、M3、M4(302〜310)からなるテレスペースまたはグループ例300の模式図である。各テレスペース300内には一つまたはそれ以上のトライブまたはサブグループが存在する。図3には、3人のメンバーM2、M3、M4(306、308、310)からなるトライブ312が図示してある。
【0031】
各メンバー302〜310はその内部に「プロトコル・エンジン」(それぞれエンジン303〜311)を有し、これは他のメンバーへセキュリティ・メッセージを送信しセキュリティ情報を操作するアプリケーション・プログラムである。
【0032】
テレスペース300とトライブ312において情報は一つまたはそれ以上の鍵により保護される。これは、Kとして示してある暗号化鍵と、Lで示したメッセージ認証/完全性コード(MAC)鍵である。K及びL鍵は対称暗号化(symmetric cipher)用の従来の鍵でありテレスペース全体への広がり(スコープ)を有する。本発明のシステムはブロック暗号化(block ciphers)とストリーム暗号化(stream ciphers)の両方を用いることができるが、メッセージ間での状態は維持されない。つまり一つのメッセージから次のメッセージへセキュリティ暗号ストリーム状態を維持するためには通信しているエンドポイントが必要とされない。この方法では、一時的な通信の中断が発生した場合にも再同期が必要とされない。
【0033】
ブロック暗号化はカウンター・モードにおいて使用する度に必ず新しく無作為生成される初期化ベクトルを使って使用される。初期化ベクトルは暗号のブロック長と等しい長さを有し従来の方法による典型的なへッダ攻撃を妨害(thwart)するために使用する。ストリーム暗号化はブロック・モードにおいて初期ベクトルと鍵を組み合わせる、例えば排他的論理和演算により、ついですべてのメッセージで鍵文字列を再初期化することで使用される。この場合、初期ベクトルは鍵長と等しい長さを有する。初期ベクトルは一般に機密性保護されないしまたは認証/完全性の保護もされない。
【0034】
更にすべての鍵がなんらかの種類の陳腐化メカニズム例えばタイムアウトを関連させるか一定数のメッセージまたはバイト数を保護すると想定する。このメカニズムはテレスペースによって決定されるローカル・ポリシーの一種で以下で説明するいずれのプロトコルでも送信する必要はない。
【0035】
/Lで示したグループ鍵は(それぞれ)暗号化/MAC鍵で、グループ300の全メンバーによって共有される。これらの鍵は第三者(グループ外の者)による攻撃からデルタに含まれる情報の機密性/完全性をそれぞれ保護するために使用される。同様に、K/Lで示したトライブ鍵は暗号化/MAC鍵で、トライブ312の全メンバーによって共有される。これらの鍵はトライブ以外のグループ・メンバーや第三者による攻撃からデルタの機密性/完全性を(それぞれ)保護するために使用される。
【0036】
更にK01/L01で示してある対になった鍵はメンバーMとMが共有しかつ他のグループ・メンバーの誰も共有していない暗号化/MAC鍵(それぞれ)MとMで、MとMの間で双方向に通信を保護するために使用される双方向鍵である。これらの鍵はグループ・メンバーM、M、Mによる攻撃からデルタの機密性/完全性を(それぞれ)保護するために使用される。同様に対になった鍵Kij/Lijは別のメンバーの組み合わせMとMの間で交換される情報を他のグループ・メンバーによる攻撃から保護するために使用される。
【0037】
テレスペース内で安定状態セキュリティは5段階のレベルの一つに組み込まれることになるが、そのレベルはテレスペース300の作成者がテレスペースを作成する時点で選択できる。5レベルには何らの鍵も使用する必要がない低レベル・セキュリティを含む。このレベルは全く暗号セキュリティを提供しない。次のレベルは1対の鍵(K/L)をグループの全メンバーに対して使用する中程度レベルのセキュリティである。このレベルでは、K/L鍵のうちのMAC鍵Lだけを使ってデルタを保護することにより認証/完全性が提供できる。同様に、認証/完全性及び機密性はK/L鍵の両方を使ってデルタを保護することで提供できる。
【0038】
次のレベルは高レベルのセキュリティで、グループ鍵K/Lと鍵ペアKij/Lijの組み合わせを使用する。認証/完全性だけが要求される場合にはMAC鍵のペア(Lij)だけを使用してデルタを保護し、グループ鍵(K)は使用しない。これ以外に、認証/完全性/機密性が要求される場合にはグループ暗号化鍵KとMAC鍵ペアLijを使用してデルタを保護する。
【0039】
中レベルと高レベルのセキュリティ・レベル双方で、暗号化鍵(Kij)とMAC鍵(Lij)のペアを使用してグループ鍵またはトライブ鍵(K/LまたはK/L)の再キーイングを行なう。
【0040】
以上のレベルやモードはグループ(テレスペース)全体に適用可能であり、また全トライブ(サブグループ)にも同様に適用可能である。テレスペース内のトライブ全部がテレスペース自体と同一の「全体的セキュリティ」を有するので、グループに対して前述したレベルやモードは、前記のグループ鍵K/Lをトライブ鍵K/Lで置き換えればトライブに適用できる。
【0041】
図4はグループ・メンバー間に情報を転送するのに使用する「デルタ」の内容を示す。各デルタはメッセージ・へッダ400からなり、これにはセキュリティ・システムの特定の実装に依存する情報を含む。この情報にはプロトコルのバージョン番号を含められるので、ここにコラボレーション・システムとセキュリティ・サブシステム両方のバージョン番号を含められる。メッセージ・へッダ400はメッセージ・フラグ種別またはタグIDも含み、これはメッセージの種類が異なるごとに異なる識別子である。メッセージ・へッダに含めることができる他の情報としては、構造化シーケンス番号がある。この番号はテレスペースのスコープを有する部分順列シーケンス番号で、そのスコープ内でメッセージの送信者とメッセージそれ自体の特定インスタンスとを論理的に同定する。
【0042】
へッダ400は機密を保護することができないが要求されるセキュリティ・レベルによっては実際にグループ・メンバー間に送出されるペイロードまたは情報を含むアプリケーション・データ402と全く同様に認証/完全性を保護する必要がある場合がある。例えば図4に図示してあるようなデルタが符号化される方法は希望するセキュリティ・レベルによって変化する。例えば、暗号としての意味でセキュリティを何も保証しない「低レベル」セキュリティ・モードでは、デルタは図4に図示したように送信され、へッダ情報400がペイロード402よりも先に送信されるのが望ましいが、へッダとペイロードの順序は本発明の動作にとって重要ではない。この場合、第三者(非グループ・メンバー)がデルタ情報402を読み取るまたは盗聴でき、またデルタを書き込んだり真似たり、または「なりすます」ことができる。
【0043】
前述の認証/完全性モードで動作する「中レベル」セキュリティ・システムの場合、デルタ情報は図5に図示したように保護される。更に詳しく説明すると、それぞれのデルタについて、へッダ情報500が送信され、それに続けて鍵バージョン番号502、平文データ504、更に認証子506が送信される。ここでもこれらの要素の順序は重要ではない。認証子はデータ504の認証/完全性を保護しグループ・メンバーによって送信されたメッセージであることを保証するMACコード506とすることができるが、これはグループ認証鍵Lを知っているのはグループのメンバーだけだからである。別の実施態様において、メッセージ認証子として公開鍵署名認証子を使用することもできる。この場合、メッセージ認証子506はハッシュして連結したへッダ及びデータの公開鍵署名で構成する。
【0044】
好適実施態様において、鍵バージョン番号は2つの部分を有しており、これは「鍵識別子KeyIdentifier」と呼ばれるテレスペース全体で使われる独自の文字列と、「鍵バージョンKeyVersion」と呼ばれるインクリメンタルなシーケンス番号である。鍵識別子はテレスペースの別のメンバーが独自に生成する鍵同士を識別するために必要とされる。一方のメンバーが、他方のメンバーも新しい鍵を生成していることについて知らないので、鍵識別子は鍵を個別に識別できるようにする。鍵バージョンは古い鍵、現在の鍵、新しい鍵を識別するために必要とされる。安定状態では、メンバーは鍵識別子の値は異なるが鍵バージョンの値が同じ一組の鍵を使用することになる。メンバーは現在の鍵バージョンの値よりも鍵バージョンの値が小さい「古い鍵」を削除することができる。
【0045】
好適な実装において、MACコード506は、最初にデータ504と連結したへッダ500をハッシュし、次にハッシュの結果を従来のメッセージ認証アルゴリズムに沿って保護する。中間ハッシュ関数を使用して後述するような高セキュリティ・バージョンに沿った方法でMACコードを作成する。また従来のMACアルゴリズムを使用してグループ認証キーLで単純にへッダとデータを保護すれば、中間ハッシュ関数を使用せずにこのモードを実装することも可能である。前述のように、認証/完全性モードにおいて動作する中レベルのセキュリティ・システムは、第三者が読んだり盗聴できるがグループ・メンバーだけが他のグループ・メンバーのデルタに書き込み、真似(impersonate)または成りすまし(spoof)できるようなセキュリティ・システムを作成する。
【0046】
認証/完全性/機密性モードで動作する中レベルのセキュリティ・システムは図6に図示してあるようにデルタのデータを保護する。更に詳しく説明すれば、デルタは鍵バージョン番号602及び初期ベクトル603の付いたへッダを、データ604及びメッセージ認証コード606とともに送信することで伝達される。しかし、この場合、データ604は暗号化されている。このプロトコルはグループ暗号化鍵Kで暗号化することでデルタ・データの機密性を保護しておりグループ認証子606による完全性と認証の保護が継続する。データ604は従来の暗号化アルゴリズムを用いてグループ暗号化鍵Kで暗号化され、暗号化されたデータは初期ベクトルと連結される。ここでも認証またはMACコードは好適実施態様においてへッダと平文データの連結をハッシュ化してからグループ認証鍵Lでハッシュ情報を符号化することにより形成されている。またデータとへッダ及びデータのハッシュの連結をひとつの暗号化キーKで暗号化してからその結果をへッダ、鍵バージョン番号、初期ベクトルと連結することでこのモードを実装することも可能である。後者の暗号化は機密性と認証/完全性を両方とも保証し、2つの鍵KとLの間で機密性及び認証・完全性の責任を分担する別々のMAC部分を使用しなくてすむ。図6に図示した実装を実際に使用して後述する高セキュリティ・モードに沿った実装を行なうことができる。
【0047】
認証/完全性モードで動作する「高レベル」セキュリティ・システムにおいてデルタ・データは図5に図示した構成または図7に図示した構成のどちらかを用いて保護できる。このシステムで使用されるプロトコルは平文デルタ情報を送信するが、認証/完全性を保証するため、シングルターゲットの秘密鍵多重認証子か公開鍵署名認証子のいずれかを使用する。
【0048】
シングルターゲット秘密鍵多重認証子の場合、図5に図示した構成を使用する。更に詳しく説明すれば、へッダ情報500は鍵バージョン502、暗号化していないデータ504、メッセージ認証子506とともに送信される。しかし、この場合、鍵バージョン番号502は送信者と受信者全部との間の鍵バージョンのすべてを連結したもので構成する。同様に、メッセージ認証子506は送信者とそれぞれの受信者との間の個別のメッセージ認証子を連結したもので構成する。それぞれのメッセージ認証子は認証鍵で保護されるが、この認証鍵は送信者と受信者との間でのみ使用されるものである(Lij鍵の一つ)。
【0049】
更に、好適実施態様では、中間ハッシュをメッセージ認証コードに使用する。更に詳しく説明すると、へッダとデータは連結され、ハッシュされ、更に適当な認証鍵によって保護される。この場合、中間ハッシュは認証鍵それぞれに対してへッダとデルタ全体を再ハッシュするのを避けるために使用している。へッダとデルタをハッシュしたら、適当な認証鍵でハッシュした情報を単純に保護することでこのハッシュを複数回使用できる。
【0050】
別の実施態様では、公開鍵署名認証子をメッセージ認証コードとして使用する。この構成が図7に図示してある。この構成では、へッダ情報700が最初に送信され、これに暗号化されていない(A/Iモード)または暗号化された(A/I/Cモード)データ702が続く。メッセージ認証子コード704はハッシュし連結したへッダとデータの公開鍵署名から構成される。
【0051】
認証/完全性/機密性モードで動作する高レベルセキュリティ・システムは図6と図7に図示したデルタ構成でデータを保護する。基本的にこれは図5と図7に図示してある認証/完全性モードと同じであるが、グループ暗号化鍵Kでデルタ・データが暗号化され図6の場合の初期ベクトルと連結される点で異なっている。
【0052】
デジタル署名またはデジタル証明書を生成して使用するメカニズムが図8に図示してある。データ800のデジタル署名を生成するためには、多数の一般的に周知のハッシュ・アルゴリズムの一つを用いて、ステップ802に示してあるようにデータ800のハッシュ値を計算する。ハッシュしたデータはステップ804に示したように(暗号化と同様の演算で)公開鍵/秘密鍵ペアのうちの秘密鍵を用いて署名される。その結果がデジタル署名806である。更に、データがユーザのIDまたは公開鍵に関係する場合、(署名ではなく)データはデジタル「証明書」と呼ばれる。
【0053】
デジタル署名を使用するには、図8で破線より下に示してあるように有効化手順を実行する。更に詳しく説明すると、ハッシュしたデータの確認(復号に似た動作)のために公開鍵/秘密鍵ペアのうちの公開鍵を使用する署名確認アルゴリズム814へ、デジタル署名が矢印812で示したように提供され、また証明書が矢印818で示したように提供される。データ800それ自体は矢印808で示したようにハッシュ・アルゴリズム810へ提供される。このハッシュ・アルゴリズムはデジタル署名を生成するために使用したハッシュ・アルゴリズム802と同一のものである。囲み816に示したように、データの再ハッシュが確認したハッシュ・データと比較される。結果が同一であれば、確認したハッシュ・データは正しい、すなわちデータは正しく(authentically)署名に関連している。
【0054】
機密グループを形成する手順が模式的に図9に図示してありそのステップが図10に図示してある。図9に図示してあるように、グループ900は議長902とその他のN−1人のメンバーで構成され、そのうち3人がメンバー906、908、910として示してある。グループ900の形成は議長902によって管理され、議長は新しいメンバーを招待して追加する権限を与えられたメンバーである。図示した手順によれば、招待者904は初期認証の後でグループ900へ追加される。以下の議論では認証及び完全性による最高セキュリティ・モードに焦点を当てて説明する。その他の意図されるモードはこのモードから派生させることができる。
【0055】
加入手順はステップ1000から始まりステップ1002に進む。ステップ1002では、議長902が招待されることになる人904へ招待メッセージを送信する。このメッセージは図9の矢印912で模式的に示してある。このメッセージの内容は図11に示してある。メッセージはへッダ1100と、これに続く招待者の名前1102から構成され、この名前はURLやその他の識別情報とすることができる。へッダの順序は本発明の原理から逸脱することなく反転できる。招待者の名前に続くのが署名済み招待「ナンス」(nonce)1104である。署名済みナンスは議長によって生成されたタイムスタンプのハッシュ、議長902の名前/URL、招待者904の証明書(入手可能な場合)、テレスペースの名前/URL、署名つきナンスが発生することが考えられる別の状況を識別するために使用されるタグである招待「オプコード」(Opcode)を含む署名データである。
【0056】
一般的に言って、ナンスはプリンシパルAが生成してプリンシパルBへ送信するもので時間とともに変化するパラメータであり、これは任意の状況で一回だけ使用されるものである(例えば、本明細書で説明している招待プロトコルを介してAがBを招待する場合など)。実際に、ナンスは状況を定義する、言い換えればプロトコル動作の同時性を保証して再生(replay)及びインターリーブ攻撃(interleaving attack)を防止するために使用される。ナンスは秘密にしなくても良く、1回限りの独自なものであれば良い。各種システムで使用されるナンスの典型的な例としては次のようなものがあげられる:衝突しない乱数、タイムスタンプ(十分に信頼できるクロックを備えたシステム、特に信頼できる分散時刻同期プロトコルの存在下ではほぼ理想的である)、シーケンス番号。好適実施態様ではタイムスタンプが使用されている。
【0057】
本明細書の状況で重要なことは、プロトコルの実行の全部において、ナンスが(暗号学的な確実性の範囲で)絶対に(ローカル・ポリシーで決定されるなんらかの時間的制約の中で)反復できないことである。これは例えば自分が発行したナンス/招待を(プロトコルの実行に関する他の情報とともに)、不揮発記憶に、ローカル・クロックに合わせてある程度の期間(ローカル・ポリシーによって変化する)、メンバーが記憶しておくことで実現可能で、この時刻以降はナンス情報を破棄してプロトコルの実行を中断させなければならない。
【0058】
署名つきナンス1104に続くのは暗号データ1106で、これはこのメッセージで使用されるセキュリティ状態情報である。この情報は議長が選択し受信者がメッセージを正しく解釈できるようにするために必要である。更に詳しくは後述するようなワンタイム鍵で情報を暗号化するのに使用したアルゴリズムの名称の文字列を含む。またメッセージ受信者がメッセージを処理するのに必要なその他なんらかの情報、例えば鍵の長さ、ラウンド数、使用したハッシュ・アルゴリズムの名称、鍵ジェネレータ・アルゴリズムの名称、なども含む。
【0059】
暗号データ1106に続くのは、公開鍵暗号化アルゴリズムに基づいてあらかじめなんらかの合意が得られている招待者の公開鍵で暗号化したワンタイム鍵情報1108である。ワンタイム鍵は対称暗号化用の鍵で後述するように招待情報を暗号化するために一回だけ使用される。
【0060】
鍵情報に続くのが招待情報1110で、これはワンタイム鍵で暗号化されている。招待情報も前述したように議長によって生成されたタイムスタンプを含み初期ベクトルと連結できる。招待情報はテレスペース名/URLを含むアプリケーション・データで招待者904に招待を発行したアクティビティの種類について通知する。これは特に、議長902によって権限を委譲(mandated)されたものとしてテレスペース内で使用しなければならない暗号情報(例えば前述の低/中/高レベル、A/I/Cモード)を含む。このようにすると、招待者には参加するように招待されているテレスペースのセキュリティ特性が招待者に通知され、例えば招待者は参加しないと決定することができる。招待者の証明書が不明な場合、暗号化したワンタイム鍵1108を無視しタイムスタンプと招待情報1110を暗号化しないで送信する。
【0061】
招待情報1110に続くのはへッダ情報1100、招待ナンス1104、暗号化していないワンタイム鍵(メッセージに含まれる場合)、暗号データ1106、暗号化していない招待情報(タイムスタンプなし)のハッシュに対する議長の署名である。この署名は議長の証明書に対して示された情報の全部を結合するもので、議長の証明書は招待者のローカルな公開鍵証明書有効化ポリシーを介して議長に結び付けられている。
【0062】
送信される情報の最後の部分1114は議長の証明書で、議長の名称(URL/ペルソナ)、議長の公開署名確認鍵、及びその他の情報例えば公開鍵アルゴリズム識別子、暗号化公開鍵、などが含まれ、これらすべてが(一つまたはそれ以上の)なんらかの「信頼できる」認証局の署名を介して相互に結合されている。証明書は周知のまたは少なくとも招待者に識別可能ななんらかの証明書フォーマットにフォーマットされる。このフォーマットは公開鍵による証明書(ここで証明書認証局は周知の認証局の階層の内部に組み込まれている)、またはPGPやSDSIなどを使用した「信頼の輪証明書」(web−of−trust certificate)、あるいは更に単純にこの目的のためだけにその場で構成した自己署名証明書であっても良い。招待者が証明書を頼れる「信頼度」は招待者のローカル公開鍵証明書有効化ポリシーに依存する。
【0063】
このメッセージを受信すると、招待者は図15に図示してあるフローチャートに概略してあるステップをとる。招待者の手順はステップ1500から始まってステップ1502へと進み、ここで招待者が暗号データ1106を調べてメッセージの暗号化に使用されているアルゴリズムを知る。次にステップ1504で、招待者は招待者の名前を検証してその招待が招待者に向けられたものかどうかを確認する。
【0064】
次に、ステップ1506で、招待者が招待者のローカルな公開鍵有効化ポリシーに従って議長の名前/URLを含む議長の証明書を有効化する。招待者は適当な証明書有効化プロバイダ(招待者のローカル・ポリシーになっている場合にはtrivial/初期設定で「自己署名証明書をすべて信頼する」有効化アルゴリズムが実装することがある)を起動することにより行なう。
【0065】
ステップ1508で、招待者は議長の署名を確認してこの招待が本当に議長902から来たものかどうかを確かめ招待者904が本当に招待されたのかを確かめる。
【0066】
最後にステップ1510で、招待者は招待情報を復号して検証し招待者が議長の招待を受け入れたいかどうかを決定する。そして手順はステップ1512で終了する。
【0067】
図10に戻ると、招待者904が招待を受け入れることに決定した場合、ステップ1004で招待者904は議長902へ受諾メッセージを送信して応答する。このメッセージが図9では矢印914として模式的に図示してある。これ以外に、招待者が招待を受け入れないと決定した場合、エラーメッセージを招待者904から議長902へ送信する。
【0068】
受諾メッセージの内容が図12に図示してある。メッセージはへッダ1200と、これに続く署名付きの招待ナンス1202で構成され、ナンスは招待メッセージで議長から招待者へ送信されたものである。これを用いることで、議長はこの受諾メッセージが招待に応答したものであると認識できることになる。署名付きナンス1202には署名つき受諾ナンス1204が続く。署名付き受諾ナンスは招待者が生成したタイムスタンプ、招待者904の名前/URL、議長902の証明書、テレスペースの名前/URL、そして受諾オプコードを含む。
【0069】
ナンス1204には暗号データ1106と同様のセキュリティ内容暗号データ1206が続く。
【0070】
次に、公開鍵暗号化メカニズムを使用して、新しく生成したワンタイム鍵1208の公開鍵暗号を送信し、パラメータ、情報、公開鍵暗号化鍵が議長902から招待者904へ送信される(例えば公開RSA暗号鍵)。
【0071】
暗号化ワンタイム鍵1208に続くのはアプリケーション・データ1210で、これにはワンタイム鍵を使用して暗号化した2個のタイムスタンプと受諾データを含む。この情報1210は招待者904の受諾について議長902に通知するものである。
【0072】
次に、招待者904の署名を送信する。この署名はへッダ情報1200、議長の名前と招待者のナンス1202に受諾ナンス1204を連結したもの、暗号化していないワンタイム鍵、暗号データ1206と暗号化していない受諾情報(タイムスタンプなし)のハッシュによる。この署名は招待者の証明書にすべての示された情報を結合する(証明書は更に議長の証明書公開鍵有効化ポリシーを介して招待者904に結合されている)。議長902の名前がこの署名のスコープ内に含まれ招待者が署名した、議長には分かっているワンタイム鍵を議長が第三者へ送信するのを防止し、これにより招待者904を真似なければならないことに注意する。最後に、招待者の証明書1214を送信する。
このメッセージの受信時に、議長902は図16のフローチャートに示してある手順を実行する。この手順はステップ1600から始まりステップ1602に進み、ここで議長902が暗号化されたワンタイム鍵を復号し、これにより鍵を取り込む。
【0073】
次に、ステップ1604で、議長902はワンタイム鍵を使って暗号化された受諾情報を復号する。次にステップ1606で、議長は招待者の証明書を検証して招待者の名前を取り出す。
【0074】
ステップ1608で、議長902は招待ナンスを再計算して再計算したナンスと受信した招待ナンスとを調べ受諾メッセージが応答している招待がどれかを決定する。本発明の一つの態様によれば招待ナンス(図11の1104)は「ステートレス」つまり関連するタイミングとは無関係に解釈できることに注意する。例えば、メンバーAが装置1から招待者Bへ招待を発行したが後にBの受諾を装置2で受信したと仮定する。オリジナルの招待メッセージではナンスがデルタ経由でAの使用可能な全装置へ送信されたとしても、招待者Bからの受諾メッセージは招待ナンスを伝達するデルタより先に装置2に到着することがあり装置2でのソフトウェアによる比較ができない場合がある。この問題を回避するため、ナンスに関連した情報は装置2を含めた当該メンバーの装置の全部で視覚的に表示される。この表示の一例が図23に示してあり表示は例えばユーザ・インタフェース・ダイアログボックス2300経由で、またはその他の類似のメカニズムを介して行なわれる。図23に図示してあるように、3項目の情報がダイアログ・ボックス2300に表示される。これは、招待者Bの題名2302、招待者Bの証明書のメッセージ・ダイジェスト2304、及び招待メッセージ署名ナンス2305からのタイムスタンプである。
【0075】
送信者の「証明書」は重要な2項目の情報を伝達するパッケージである:これはメッセージ送信者の「題名」と送信者の「公開鍵」である。この場合、Bの題名は装置2のプロトコル・エンジンによって抽出されダイアログ・ボックス2300のテキストボックス2302に表示されている。この名前の一例としては、「wtuvell@groove.net」がある。Aはこれで受諾メッセージが招待に対応することを確認できる。
【0076】
受諾を有効化するためには、Aはすでに招待者Bの対象者名を知っているので、Aは本発明のコラボレーション・システムとは別の経路から認証のメッセージ・ダイジェストを受け取る必要がある。例えば、この情報を受け取る代表的な方法はAがBを電話で呼び出して証明書のメッセージ・ダイジェストがどのようなものなのかを尋ねることである。例えば、この計算したメッセージ・ダイジェストは「0a,1b,2c,3d;4e,5f,6a,7b;8c,9d,ae,cf;c1,d2,e3,f4;05,16,27,38;49,5a,6b,7c」といったようなものになる。
【0077】
Aが受諾メッセージを介してBの証明書を受け取ったら、メッセージ・ダイジェスト(または証明書の「フィンガープリント」)を、受諾メッセージのBの証明書1214から、従来のメッセージ・ダイジェスト・アルゴリズム(例えばMD5やSHA1など)を用いて図21と図22に図示してあるセキュリティ・サービス・アーキテクチャにより、アルゴリズム的に計算する。この再計算したメッセージ・ダイジェストがボックス2304に表示される。再計算したメッセージ・ダイジェストがすでに分かっている正しいメッセージ・ダイジェストと一致すれば、Aは提示された証明書が正しいものであるとして受け入れることができる。それ以外の場合には破棄される。この操作は「証明書有効化」と呼ばれる。
【0078】
「署名付きナンス」はメッセージの署名である。従って、メッセージのタイムスタンプと送信者の証明書を含む情報を互いに結び付ける。「再生攻撃」を避けるためには(すでに送信された正しいメッセージを再送することによる攻撃)、受諾メッセージに含まれている招待ナンス1202のタイムスタンプが受け入れ可能な範囲内にあることを確認することも必要である。タイムスタンプ情報はナンスから抽出されてダイアログボックス2300のボックス2305に表示される。この情報は、例えば、「20000407121124Zにあるnashtgiri@groove.netあての招待メッセージ」といったものである。Aは幾らか早い時刻にタイムスタンプを生成したのであるから、おそらくAはその時刻を知っている。メンバーAはタイムスタンプを解釈して情報が受け入れられるものかどうかを決定できる。メンバーAが情報を受け入れる場合には、OKボタン2306をクリックし、そうではないなら中止ボタン2308をクリックする。
【0079】
同様の問題は招待者Bが受諾を送信した装置とは別の装置でテレスペース・データを受け取った場合にも発生する。この後者の問題は同じ方法で処理される。
【0080】
次に、ステップ1610で、議長902は議長のローカル公開鍵ポリシーにしたがって招待者の証明書を有効化する。議長がすでに招待者の証明書を先の招待メッセージの時点で持っているならこのステップは省略しても良く、その時点で行なった有効化に満足している。議長は適当な証明書有効化プロバイダを起動することによりこの有効化を行なう。
【0081】
次に、ステップ1612で、議長902は招待者の署名を確認し、招待者の署名は更に受諾メッセージの認証/完全性を確認し、この受諾が本当に招待者904から来たものであることを確かめる。
【0082】
次に、ステップ1614で、議長は復号した受諾情報を検証して招待情報と一致することを確認し、議長が招待者の受諾を認めたいかどうかを決定する。
最後に、ステップ1616で、オプションで追加の署名として議長は自分自身の署名を招待者の証明書に追加することができる。この追加署名によってポリシーが有効になるのでグループ・メンバーは議長902の証明書を信頼している限り招待者の証明書を有効化できる。
【0083】
手順はステップ1618で終了し、情報が真正なものなら招待者はこれ以後「テレスペースのメンバー」となる。図10に戻って、ステップ1006に記載してあるように、議長902が「新規メンバー追加」デルタをグループ900に存在する全メンバーに送信する。これらの新規メンバー・メッセージは図9で矢印916、918、920として模式的に示してある。
【0084】
議長が他のそれまでに存在しているメンバーへ送信する新規メンバー追加メッセージの内容が図13に示してある。デルタ・メッセージはへッダ1300と、これに続けて統合鍵バージョン番号情報を含み、鍵バージョン情報はグループ鍵とすべての認証/完全性の鍵についての全部の鍵バージョン番号を連結したものである。
【0085】
統合鍵バージョン1302には、暗号化した新規グループ暗号鍵及び認証鍵の連結からなる再キーイング情報1304が続く。それぞれのメンバー対に対して、グループ暗号鍵及び認証鍵を連結したものがメンバー同士で対になった鍵を使って暗号化され、結果が初期ベクトルと連結される。これらの連結された鍵が更に連結されて統合再キーイング情報1304を形成する。新しいキーは古い/現在のグループ鍵K/Lを置き換える。新規に追加されたメンバーは古い/現在のグループ鍵を知ることはない。この再キーイングは新規メンバーがそれ以前のテレスペース通信を記録したり読み取れないようにするために必要である。
【0086】
次に、新規グループ暗号鍵で暗号化し初期ベクトル1306と連結した参加情報を送信する。このデルタの内容は、招待者の名前に招待者の証明書と参加情報を連結したものである。参加情報は議長902が生成したアプリケーション・データで、他のグループ・メンバーが、メンバー・マネージャ情報を含めて、知る必要のある新規メンバーについての情報に関連する。またテレスペースのメンバーやその他各種情報例えば招待者の役割などのリストを含めることができる。
【0087】
最後に、メッセージ多重認証コード1308を送信する。これは議長と各メンバーの間の認証子を連結したものとすることができる。各認証子は議長からメンバーへのペアになった認証鍵L0jで保護されているハッシュ情報である。ハッシュ情報はへッダ1300と、統合新規グループ鍵情報1304と、暗号化していないデルタ情報を含む。これ以外に、メッセージ認証コードは前述のハッシュ情報の議長署名とすることができる。
【0088】
図13に示したメッセージを受け取ると、各メンバー906〜910は図17のフローチャートに示してあるステップを実行する。この手順はステップ1700で始まりステップ1702へ進み、ここでメンバーが暗号化されたグループ鍵を復号し、これによって新しいグループ鍵K/Lを知る。しかし、各メンバーは、K/Lで保護された古いデータが存在しないことを確認するのに必要とされる限り、古い/現在のグループ鍵K/Lの知識を保持している必要がある。その後、各メンバーは古い鍵K/Lを破棄しその痕跡をすべて抹消する。
【0089】
次に、ステップ1704で、暗号化されたデルタ情報を各メンバーが復号し、これによってデルタ内の情報を知る。ステップ1706では、メンバーが認証鍵で暗号化された多重認証子の項目を介して、メッセージの認証/完全性を確認する。
【0090】
次に、ステップ1708で、メンバーは議長902が(議長のIDはへッダ情報として送信される)議長であること、また新規メンバーを追加する権限があることを確かめる。
【0091】
ステップ1710では、メンバーがデルタ情報を実行する。これを行なう最中に、メンバーは招待者の名前、証明書、参加情報を含めた新規メンバー・マネージャ情報に気づく。手順はステップ1712で終了する。
【0092】
最後に、図10に戻って、ステップ1008で、矢印922で模式的に示したように、議長902が招待者904へテレスペース情報を送信する。手順はステップ1010で終了する。テレスペース情報は図14に示したメッセージとともに招待者904へ送信される。この情報はへッダ1400で始まり、ノンス1204と同一の署名つき受諾ナンスが続く。これに、図12に示した受諾メッセージに関連して説明したように暗号データ1404と暗号化したワンタイム鍵(これは新規に生成する)1406が続く。
【0093】
暗号化したワンタイム鍵1406のあとには直前のメッセージ部分にあるワンタイム鍵で暗号化されたテレスペース(TSP)データが続く。このデータはワンタイム鍵で暗号化したペイロードと連結された初期ベクトルを含む。ペイロードは招待者が生成したタイムスタンプと連結グループ暗号及び認証鍵K/L、及びTSPデータである。TSPデータは招待者がメンバーから受信を許可されているTSPデータのメンバーによるバージョンを含むアプリケーション・データである。
【0094】
暗号化されたTSPデータ1408には、へッダ1400、招待者の名前、署名付きナンス1402、連結グループ暗号及び認証鍵、暗号化していないワンタイム鍵、暗号情報1404、暗号化していないTSPデータを含むハッシュ情報に対する議長の署名1410が続く。最後に、議長の証明書1412が後続する。
【0095】
このメッセージを受信すると、招待者904は図18に示した手順を実行し、手順はステップ1800で始まりステップ1802へ進みここで招待者904は暗号化された1回限りの鍵(以下、ワンタイム鍵)を復号してワンタイム鍵を取り出す。
【0096】
次に、ステップ1804で、招待者はワンタイム鍵を使用して暗号化されたTSPデータを復号し、TSP情報を取り出す。次に、ステップ1806で、招待者904は署名つき受諾ナンスを再計算してこれと受信したナンスとを比較してこれが受け入れられるものであることを確認する。先に説明したように、この比較はソフトウェアでまたは視覚的検査によって行なうことができる。このノンスは議長の証明書を含んでいるので、招待者はこの証明書を再有効化する必要がない。
【0097】
ステップ1806では、招待者904が議長の署名を検証し、ステップ1808では、招待者が復号したTSPデータを初期の「作成中テレスペース」に広める。唯一残っている、なすべきことはテレスペースの他のすべてのメンバーと鍵ペアを交換することで、そのあと、招待者はテレスペースの完全なメンバーとなる。
【0098】
鍵ペアは再キーイング手順で交換でき、ここで再キーイング情報は他の情報を搬送するデルタに「ピギーバック(相乗り)」する形になる。この再キーイングを実行するための一つのプロトコルは図13に示した新規メンバー追加デルタ・メッセージで前述した。再キーイング情報は他のデルタ・メッセージに挿入することもできる。このようなピギーバック型デルタ・メッセージは通常のデルタ・メッセージだが、鍵変更(グループ/テレスペース鍵(K/L)、トライブ/サブグループ鍵(トライブT、TについてKT1/LT1、KTn/LTn)及び/または鍵ペア(Kij/Lij)のあらゆる組み合わせに同時に関係する)がデルタ・メッセージにピギーバックする点で異なっている。デルタそれ自体は同時にトライブTkに適した新しい鍵で暗号化される。新しい(再キーイングされた)鍵はこのメッセージで搬送される。鍵ペアがメッセージにピギーバックしている場合、メッセージは公開鍵署名認証子によって保護される。それ以外の場合では、メッセージは現在の鍵ペアを用いる多重認証コードによって保護される。
【0099】
このようなメッセージの一例が図19に示してある。デルタ・メッセージはへッダ1900と、これに続く統合鍵バージョン情報1902を含み、統合鍵バージョン情報は新規グループ鍵とすべての新規トライブ認証/完全性鍵についてのすべての鍵バージョン番号の連結である。
【0100】
統合鍵バージョン情報1902には第2のセクション1904が続き、これも統合鍵バージョン情報を含む。鍵ペア変更が送信中の場合、この情報は新しい鍵ペアについてのすべての鍵バージョン番号の連結を含む。別の場合は、グループ鍵とトライブ鍵を再キーイングしている場合情報1904は古いまたは現在の鍵ペアについての統合鍵バージョン情報を含む。
【0101】
統合鍵バージョン1904に続くのが統合再キーイング情報1906で、これは新しいグループ及びトライブ鍵(K/L及びK/L)の連結から構成される。各メンバーのペアについて、連結されたグループ暗号化及び認証鍵はメンバーのペアに対して鍵ペアを用いて暗号化され、その結果が初期化ベクトルに連結される。これらの連結された鍵はそれら自身連結されて統合再キーイング情報1906を形成する。新しい鍵は古い/現在のグループ鍵K/Lを置換する。新しい鍵ペアが転送中の場合、統合グループ再キーイング情報には新しい鍵ペアに対する統合再キーイング情報が続く。各メンバーのK/L鍵は連結されそのメンバーの公開鍵を用いて暗号化される。これらの暗号化された鍵は連結されて統合鍵ペア再キーイング情報を形成する。
【0102】
次に、新しいグループ暗号化鍵で暗号化されて、新しい鍵1908に対応する初期ベクトルに連結されたデルタ情報が送信される。このデルタの内容は従来のあらゆるデルタ・メッセージとすることができる。
【0103】
最後に、メッセージ多重認証コード1910が送信される。これはメンバー間の認証子を連結したものとすることができる。それぞれの認証子は送信側メンバーから受信側メンバーへのペアになった認証鍵Lijで保護されたハッシュ情報である。ハッシュ情報はへッダ1900と、統合新規グループ鍵情報1904(またこれが送信中の場合には統合新規鍵ペア情報)、更に暗号化されてないデルタ情報を含む。ペアになった鍵がメッセージにピギーバックしている場合には、多重認証コードの代わりに、公開鍵署名認証子を送信する。
【0104】
前述のセキュリティ・システムは様々な方法で実装できる。好適実施態様では、図20に模式的に示したプロバイダ・アーキテクチャを使用する。このようなアーキテクチャが好ましいのは、前述したセキュリティ・プロトコルが「アルゴリズム中立」であることによる、つまり特定の暗号化及び保護アルゴリズムに依存していないためである。このプロトコルはアルゴリズムに中立なインフラストラクチャ例えば図20に図示してあるそれを利用できる。図20は縦方向の次元と横方向の次元で構成される2次元構造を示す。縦方向の次元は数個の抽象層から構成され、横方向の次元は縦方向の層を含めた各種アプリケーション及びサービスで構成される。最上部の層はアプリケーション層で、アプリケーションの組を含み、そのうちのアプリケーション2000と2002が図示してある。これらのアプリケーションには、分散通信システム及びコラボレーション・システム、例えば前述のコラボレーション・システムや、保護データ記憶、可用性(サービスの非拒絶)、システム管理、医療情報システム、航空管制システム、原子力発電所、軍事情報作戦指令管制システムなどを含み、これだけに限定されない。
【0105】
アプリケーション2000及び2002は一つまたはそれ以上のセキュリティ・サービスにアクセスするが、そのうちサービス2004と2006を図示してある。これらのサービスには、例えば識別、認証、完全性、機密性、プライバシー、許可、権威の代理、アカウンタビリティと非拒絶、タイムスタンプ、公証(notarization)、監査、信頼ポリシー管理、侵入検知及び復旧サービスなどを含む。
【0106】
セキュリティ・サービスは抽象プリミティブ・サービス2008と2010を含む抽象(またはアルゴリズムに中立な)プリミティブ・サービスの組み合わせにより実装される。抽象プリミティブ・サービスは実際には具象(またはアルゴリズム特異的な)プリミティブ・サービスの組み合わせによって実装される。例えば、抽象プリミティブ・サービス2008は具象プリミティブ・サービス2012、2014、2016により実装され、一方抽象プリミティブ・サービス2010は具象プリミティブ・サービス2018、2020、2022によって実装される。これらの具象プリミティブ・サービスは例えば特定の暗号サービスやプロトコルなどのサービスを含む。
【0107】
各抽象層は高次の抽象層または層群によって消費されるサービスを作成する。好適な実装では、アプリケーション2000、2002とセキュリティ・サービス2004、2006の間の関連性、ならびにセキュリティ・サービス2004、2006と抽象プリミティブ・サービス2008、2010の間の関連性は従来どおりの、これらの層の間で静的なコンパイル時に決定される結合(compile−time bindings)である。しかし抽象プリミティブ・サービス2008、2010と具象プリミティブ・サービス(2012、2014、2016、2018、2020、2022)の間の結合は、制約された方法で一つの抽象プリミティブ・サービスと一つまたはそれ以上の具象プリミティブ・サービスを関連づける動的なランタイム結合であるのが望ましい。この動的な結合は「プロバイダ・アーキテクチャ」と呼ばれ、抽象またはアルゴリズム中立なプリミティブ・サービスをなんらかの具象またはアルゴリズム特定のそれで作成することにより実装できるメカニズムであり、実装は任意の時刻にその環境内でアクティブにすることができるようなものである。
【0108】
図21と図22はプロバイダ・アーキテクチャの特定の実装を模式的に示している。オブジェクト指向プログラミング技術をこの実装では用いているが、他の等価な技術やプログラミング言語で実装することもできることは当業者に理解されるであろう。更に詳しく説明すると、図示した実装はダイナミック・リンク・ライブラリ(DLL)を使用して各種サービスを提供している。
【0109】
DLLは図21と図22のそれぞれに図示してある。図21に図示したDLL はセキュリティ・サービス・マネージャ(SSM)と呼ばれるもので、図22に図示したDLLはセキュリティ・サービス・プロバイダ(SSPまたは単にプロバイダ)と呼ばれる。セキュリティ・サブシステムのどのランタイム・インスタンシエーションにも必ず一つだけSSM DLLがロードされる。一方でSSP DLLは何個でもロードでき、それらがすべて独立しているという制限が加えられるだけである(これらがすべてシステム・レジストリなどのファイルに記録されている通りの独立したLIBIDとファイル名を有するという意味で)。SSP DLLの名称はそのデベロッパが選択する。図示したSSP DLLの例はSecProvXXX.dllというような名前がつけられていると考えられ、他のDLLはSecYYYProv.dllまたはZZZSecProv.dllというような名前をつけることができる。
【0110】
図21と図22のボックスはマイクロソフト・コモン・オブジェクト・モデル(Microsoft Common Object Model)に適合するCOMクラスを示す。これらのクラスは、エンジン・クラス(右側に示す)と非エンジン・クラス(左側に示す)の2種類のグループに大別される。COMエンジン・クラスのそれぞれは一つだけIDLインタフェースを実装してエクスポートする。例えば、エンジン・クラス2106(MessageDigest)はインタフェース2104(IMessageDigest)をエクスポートし、エンジン・クラス2118(KeyGenerator)はインタフェース2116(IKeyGenerator)をエクスポートし、エンジン・クラス2126(Cipher)はインタフェース2124(ICipher)をエクスポートする。これはインタフェース2100をエクスポートするSecurityクラス2102についても言えることである。図22に図示した具象クラスについても同じことが当てはまる。例えば、具象エンジン・クラス2204(XXXMessageDigestSpi)はインタフェース2206(IMessageDigsetSpi)をエクスポートし、エンジン・クラス2208(XXXKeyGeneratorSpi)はインタフェース2206(IKeyGeneratorSpi)をエクスポートし、エンジン・クラス2210(XXXCipherSpi)はインタフェース2212(ICipherSpi)をエクスポートする。
【0111】
プロバイダ抽象クラス2122とXXXProvider具象クラス2200(図22)で形成されるプロバイダ/XXXプロバイダ(Provider/XXXProvider)「複合クラス」についても同じことが言える。更に詳しく説明すると、Providerクラス2122はIProviderインタフェース2120をサポートし、XXXXProviderクラス2200はIProviderCtorインタフェース(図22には図示していない)をサポートする。しかし、Providerクラス2122はXXXProvider クラス2200の内部でのみ統合可能で、したがって独立してインスタンシエーションできない。つまり、IProvider2120インタフェースとIProviderCtorインタフェースの両方がProvider/XXXProvider複合クラス2122/2200によって「エクスポート」されることになる。
【0112】
Provider/XXXProvider複合クラスと図21に図示したエンジン・クラスの全部は図22に図示してある他の一つのクラスと組み合わされる(ただしこれは多数のSSPを構成することができそれぞれが多数のアルゴリズムをサポートできることから多面的な関係である)。SSM DLL(図21)のパートナーは抽象パートナーと呼ばれ、SSP DLL(図22)のパートナーは具象パートナーと呼ばれる。図21と図22の左側には、「マスター」クラスと呼ばれる2種類のCOMクラスがあり、これはSecurityクラス2102とProvider/XXXProvider複合クラス2122/2200である。Securityクラス2102が「マスター」クラスであるという意味は、各種「スレーブ」Provider/XXXProviderクラスを制御できるということである。逆に、各種Provider/XXXProviderクラスが「マスター」であるということの意味は、これらが各種のスレーブ低レベル/具象エンジン・クラスを制御すると言うことである。マスター・クラスはほとんどセキュリティ・サブシステムの内部的なもので大半のアプリケーションからは見えない。
【0113】
図21と図22の右側にはエンジン・クラスと呼ばれる2種類のCOMクラスがあり、これらは図21に図示した抽象エンジン・クラスと図22に図示した具象エンジン・クラスである。抽象エンジン・クラスはm_Engineフィールドの値に0を持っていれば純粋に抽象的であると言われる。3種類のエンジン・クラス(MessageDigest、KeyGenerator、Cipher)が説明のために図示してあるが、これらの個数は原理的に制限されない。これらのエンジン・クラスは図21と図22に図示してあるように対で発生し、低レベルのクラスが高レベルのクラスの内部に内包または封入される(m_Engineメンバーを経由する)。高レベル・エンジン・クラスの機能はセキュリティ・サービスの消費者が起動するアプリケーション・プログラミング・インタフェース(API)をエクスポートすることである。低レベル・エンジン・クラス名に見られる接尾辞「Spi」はサービス・プロバイダ・インタフェース(またはセキュリティに関して言えばセキュリティ・プロバイダ・インタフェース、また時に他の状況下ではシステム・プログラミング・インタフェース)を意味するもので、これの唯一の消費者は高レベル・エンジン・クラスである。これらの低レベル・エンジン・クラス内に実際のアルゴリズム特有の実装コードが存在する−−これが「SSP DLL」の実際に「提供する」最終的な機能である。エンジン・クラスを2つの部分に分割したことが、これらのサポートするサービスの命名構造に反映されており、完全認証サービス名は抽象/概念の接頭辞と具象/アルゴリズムの接尾辞、例えばMessageDigest.MD5というように構造化される。
【0114】
各具象SSP(XXXProviderクラス2200)は静的な情報を含み、これにはその名前(s_MyName、文字列)、バージョン(s_MyVersion、数字)、クラスID(s_MyClsid、16バイト二進数)、情報(s_MyInfo、文字列)、DLLにバンドルされているサービスのリスト(s_MySvcMap[]、文字列のペアのリスト)を含む。s_MySvcMap[]の各エントリでは、一方の文字列がそのサービスで実装するアルゴリズムの名称、他方がそのアルゴリズムを実装する具象エンジン・クラス(SecProvXXX.dllにバンドルされる)のCOM CLSID(クラスID)である。
【0115】
エンジン・クラスに加えて、セキュリティ・サブシステムは多数の非エンジン・クラスを含む。代表的な2つのクラス、KeyとKeyPairが図21に示してある。図面が示すように、このような非エンジン・クラスは相対的に通常のCOM クラスで、唯一普通とは違う特徴は(抽象)インタフェース・クラスであり(具象)実装クラスはSSM DLL(図21)とSSP DLL(図22)の間で分割される(されない)ことである。例えば、Keyクラス2110の場合だと、SSMは一般に任意のSSPの鍵がどのようなものであるべきかについての優先的な(インタフェース)知識を持っているが、SSPそれ自体はSSMによって例えばXXXKeyクラス2210によって定義されるインタフェースに準拠したKeyクラスの詳細な実装を供給する必要がある。しかしKeyPairクラス2114の場合、SSMはすでに実装についての詳細な知識を持っている−−これはKey(それがどのようなものであっても)のペアで構成される。
【0116】
セキュリティ・サブシステムをブートする場合、例えば、Securityクラス2102がランタイム時に最初にCoCreateされ、Securityクラス2102はSecurityクラスのFinalConstruct()メソッドで次のようなことを行なう。第1に、Securityクラス2102は例えばレジストリ(Registry)に保存されている構成情報を読み込む。
【0117】
次に、それぞれの構成された具象プロバイダXXXProvider(レジストリから読み出したばかりの)のProgID(またはCLSID)に基づいて、セキュリティ・クラスがXXXProvider2200のインスタンスをCoCreateし、XXXProviderのIProviderCtorインタフェース(Ctorはコンストラクタ(constructor)の意味)へのポインタを得る。XXXProviderクラスをCoCreateするこの動作は更にXXXPrividerのFinalConstruct()にXXXProvider2200内部の抽象ProviderクラスのオブジェクトをCoCreateして統合する。
【0118】
次に、いまCoCreateしたばかりのXXXProviderのIProviderCtorインタフェースを使って、Securityクラス2102がXXXProviderのno−arg−Ctor()メソッドをIProviderCtorインタフェースから呼び出す。この特別なno−arg−Ctor()メソッドはXXXProviderの名称/バージョン/情報/clsid/サービス・データを、「ハードワイヤードな」静的数値変数の位置から統合Providerオブジェクト内の非静的メンバー変数へ「アップロード」する(no−arg−Ctor()メソッドはXXXProviderの統合Providerサブオブジェクトによってエクスポートされるなんらかのメソッドを呼び出すことでこれを完了する)。
【0119】
第4に、Securityクラス2102は各種の構成された具象プロバイダを指すIProviderの静的内部構成リストs_ProvList[]を構築する。Securityクラス2102は、Securityクラス2102がこの時点まで使っていたXXXProviderのIProviderCtorインタフェースでQueryInterfaceを呼び出すことで各IProviderを構築する。構成されたSSPのリストs_ProvList[]はSecurityクラス2102のgetProviders()メソッドを介してクライアントが利用できるようになる。
【0120】
アプリケーションは次のような方法でプロバイダ・アーキテクチャを実際に使用する。あるアプリケーションがMessageDigestオブジェクト上でdigest()メソッドを呼び出して特定メッセージ(バッファ)のダイジェストを実際に計算したいと想定する。アプリケーションはSSMで抽象エンジン・クラスを知っている(すなわちSecuritySvcs.dllのクラスのCLSID)。これは作成中にこの情報へリンクされたためだが、現実のアルゴリズム実装が実際に存在するSSP内の具象エンジン・クラスについては優先順位(すなわち、SecProvXXX.dllのクラスのCLSID)を知らない。したがって、アプリケーションは抽象エンジン・オブジェクトを直接CoCreateできるが、具象エンジン・オブジェクトは直接CoCreate できない。しかし、好適実施態様では、抽象エンジン・オブジェクトがgetInstance()と呼ばれるファクトリ・メソッドを有するクラス・ファクトリ・オブジェクトとして処理され、次のように、間接的に具象エンジン・オブジェクトを作成している。
【0121】
アプリケーションはMessageDigestクラス2106から純粋な抽象MessageDigestオブジェクトをCoCreateすることから開始する。このようなオブジェクトは具象エンジン・オブジェクトへ接続されないのでダイジェストを作成するためには使えない、すなわち主状態変数m_Engineは値に0を持っている(副状態変数m_AlgNameとm_ProvNameも同様)。いまCoCreateしたIMessageDigestインタフェース2104を使って、アプリケーションはMessageDigestのgetInstance()メソッドを呼び出し、使いたいメッセージ・ダイジェスト・アルゴリズムの周知の名前を指定する。getInstance()メソッドはファクトリ・メソッドで、次のステップを実行する。第1に、getInstance()メソッドがSecurityオブジェクトでgetProviders()メソッドを呼び出して現在構成されているプロバイダのリストをフェッチする。次に、getInstance()メソッドはいまフェッチしたばかりのSSPのリストを使って、要求されたアルゴリズムをサポートする最初のSSPが見つかるまで、好適な順番で各SSPのget()メソッドを呼び出す。SSPのget()メソッドはSSPのm_SvcMap[]を使用し、アルゴリズム名を具象エンジン・クラスProgIDにマッピングする。つまりこの例では、クラス2022のget()メソッドが要求されたアルゴリズムをサポートしているMessageDigestSpi具象エンジン・クラスのProgIDを返す。
【0122】
次に、getInstance()メソッドはgetInstance()メソッドが呼び出されたMessageDigestとは別に新しく抽象MessageDigestオブジェクトをCoCreateする。まず、この新しいMessageDigestオブジェクトはもう一つの純粋な抽象エンジン・オブジェクトだが、次のステップでgetInstance()メソッドは完全な/接続されたエンジン・オブジェクトへ(すなわちm_Engineフィールドを介してこれの内部に含まれる/作成される具象エンジンとあわせて「非純粋」抽象エンジン・オブジェクトに)変化させる。
【0123】
最後に、getInstance()メソッドは新しいMessageDigestオブジェクトのconstructor()メソッドを呼び出し、パラメータとして上記で呼び出したget()オブジェクトから取得したMessageDigestSpi CLSID(またはProgID)を渡す。そのconstructor()メソッドはクラス2104からMessageDigestSpiオブジェクトのインスタンスをCoCreateし、新しいMessageDigestのm_Engineフィールドへ得られたIMessageDigestSpiポインタを格納する。
【0124】
つまり、getInstance()メソッドはアプリケーションへ完全に完成/接続したMessageDigestエンジン・オブジェクトを返す。この時点で、アプリケーションはエンジン・オブジェクトのdigest()メソッドを呼び出してメッセージのダイジェストを計算する。(抽象)エンジン・オブジェクトのdigest()メソッドは具象エンジン・オブジェクトのengineDigest()メソッドへの呼び出しを代理または転送して実際の作業を行なわせる。
【0125】
上記で説明した実施態様のソフトウェアによる実装は、有形の媒体例えばコンピュータで読み取り可能な媒体例えばディスケット、CDROM、ROMメモリ、または固定ディスクなどに固定されるか、モデムまたは媒体上のその他のインタフェース装置を介してコンピュータ・システムへ転送可能な一連のコンピュータ命令を含む。媒体は光またはアナログ通信線を含みこれに限定されない有形の媒体としたり、マイクロ波、赤外線またはその他の電送技術を含みこれに限定されない無線技術で実装することができる。媒体はインターネットの場合もある。一連のコンピュータ命令は本発明に関して本明細書ですでに説明した機能の全部または一部を実現する。このようなコンピュータ命令は多くのコンピュータ・アーキテクチャまたはオペレーティング・システムで使用される多数のプログラミング言語で書けることが当業者には理解されよう。更に、このような命令は、現在または将来の、半導体、磁気、光、またはその他のメモリ装置を含みこれに限定されないなんらかのメモリ技術を用いて保存したり、あるいは現在または将来の、光、赤外線、マイクロは、またはその他の伝送技術を含みこれに限定されないなんらかの通信技術を用いて伝送される。このようなコンピュータ・プログラムは印刷物または電子文書を伴なう取り出し自由な媒体として、例えばシュリンクラップ包装ソフトウェアとして配布されたり、コンピュータ・システムに例えばシステムROMや固定ディスク上にプリロードされていたり、またはサーバまたは電子掲示板から例えばインターネットまたはワールド・ワイド・ウェブなどのネットワーク上で配布されることがあると想定される。
【0126】
本発明の代表的実施態様を開示したが、本発明の利点のいくつかを実現し本発明の主旨と範囲から逸脱しない各種の変化及び変更を加えることができることは当業者に明らかであろう。例えば、説明は特定のハードウェア・システム及びオペレーティング・システムを指向したものだったが、他のハードウェアやオペレーティング・システム・ソフトウェアを説明したそれと同じ方法で使用できることは当業者には明らかであろう。例えば特定の関数を実現するために使用された特定の命令などのその他の態様ならびに本発明の概念に対するその他の変更も付録の請求の範囲によって包含されることを意図している。
【図面の簡単な説明】
【図1】 図1は、従来のコンピュータ・システムの代表的アーキテクチャのブロック図である。
【図2】 図2、はデルタを用いてローカルなデータ・コピーを更新する代表的なコラボレーション・システムの略ブロック図である。
【図3】 図3は、グループ、トライブ、またそれらを保護するために使用される暗号化及び認証鍵を示す略ブロック図である。
【図4】 図4は、低レベルのセキュリティ・システムにあるグループ内のメンバー間で送信されるデルタの内容を示す略図である。
【図5】 図5は、認証/完全性モードで動作する中レベルのセキュリティ・システムまたは高レベルのセキュリティ・システムにあるグループ内のメンバー間で送信されるデルタの内容を示す略図である。
【図6】 図6は、認証/完全性/機密モードで動作する中レベルのセキュリティ・システムまたは高レベルのセキュリティ・システムにあるグループ内のメンバー間で送信されるデルタの内容を示す略図である。
【図7】 図7は、認証/完全性モードで動作する高レベルのセキュリティ・システムにあるグループ内のメンバー間で送信されるデルタの内容を示す略図である。
【図8】 図8は、デジタル署名と証明書の作成及び確認を示す略ブロック図である。
【図9】 図9は、既存のグループへの新規メンバー(招待者)の追加を示す略ブロック図である。
【図10】 図10は、既存のグループへ新規メンバーを追加するために議長(chair)を使用するような代表的ルーチンのステップを示すフローチャートである。
【図11】 図11は、議長から招待者へ送信される招待メッセージの内容を示す略図である。
【図12】 図12は、招待者から議長へ送信される受け入れメッセージの内容を示す略図である。
【図13】 図13は、グループの既存のメンバー全員へ議長から送信されて新規メンバーが追加されたことを告知する新規メンバー追加デルタの内容を示す略図である。
【図14】 図14は、議長から新規に追加されたメンバーへ送信されてテレスペース・データのメンバーを告知するメッセージの内容を示す略図である。
【図15】 図15は、招待者が招待に応答するために使用できる代表的ルーチンのステップを示すフローチャートである。
【図16】 図16は、招待者からの受け入れメッセージに応答するために議長が使用できる代表的ルーチンのステップを示すフローチャートである。
【図17】 図17は、新規メンバー追加デルタに応答するために既存のメンバーが使用できる代表的ルーチンのステップを示すフローチャートである。
【図18】 図18は、テレスペース情報を搬送する議長からのメッセージに応答するために新規追加メンバーが使用できる代表的ルーチンのステップを示すフローチャートである。
【図19】 図19は、再キーイング情報が「ピギーバック」したデルタ・メッセージの内容を示す略図である。
【図20】 図20は、本発明のセキュリティ・システムの好適な実装の全体的アーキテクチャを示す略ブロック図である。
【図21】 図21は、本発明のセキュリティ・システムのオブジェクト指向実装におけるサンプル抽象クラスを示す略ブロック図である。
【図22】 図22は、本発明のセキュリティ・システムのオブジェクト指向実装におけるサンプル具象クラスを示す略ブロック図である。
【図23】 図23は、視覚的確認のための情報を表示しその情報を受け入れるかまたは破棄するようにユーザに要求するダイアログ・ボックスの画面表示を示す略図である。

Claims (26)

  1. ローカル・データ・コピーを有する複数のコラボレータ装置が、デルタ・メッセージを交換するテレスペースを管理するための方法であって、各メッセージはヘッダと、前記ローカル・データ・コピーを更新するためのデータとを含み、
    (a)前記テレスペースを作成するコラボレータ装置が、デルタ・メッセージの真正性と完全性と機密性を保護すべきかどうかを決定するセキュリティのレベル選択を受信するステップと、
    (b)ステップ(a)で選択されたセキュリティのレベルがデルタ・メッセージの真正性及び完全性を保護する必要がある場合、デルタ・メッセージを送信するコラボレータ装置が、認証鍵及びメッセージに含まれる前記ヘッダと前記データとに基づいて、予め定められたMACアルゴリズムを使用して生成されるメッセージ認証コードを、前記メッセージ内に追加するステップと、
    (c)ステップ(a)で選択されたセキュリティのレベルがデルタ・メッセージの前記機密性を保護する必要がある場合、デルタ・メッセージを送信する前記コラボレータ装置が、前記認証鍵とは異なる暗号化鍵を用いて予め定められた暗号化アルゴリズムにより前記データを暗号化するステップと
    を含み、
    前記テレスペースは、前記複数のコラボレータ装置のうちの任意のコラボレータ装置からなるサブグループを有し、前記サブグループ内で送信するデルタ・メッセージに対して、サブグループ毎に個別の前記暗号化鍵および前記認証鍵を用いることを特徴とする方法。
  2. 前記テレスペースの前記複数のコラボレータ装置が、前記テレスペースの全てのコラボレータ装置に送信するデルタ・メッセージに対して、単一の暗号化鍵を用いることを特徴とする請求項1に記載の方法。
  3. 前記テレスペースの前記複数のコラボレータ装置が、前記テレスペースの全てのコラボレータ装置に送信するデルタ・メッセージに対して、単一の認証鍵を用いることを特徴とする請求項2に記載の方法。
  4. ステップ(b)は、前記単一の認証鍵、及び一方向ハッシュ関数で前記ヘッダと前記データとをハッシュした結果を、前記MACアルゴリズムに提供することを含むことを特徴とする請求項3に記載の方法。
  5. 各メッセージは、鍵バージョン番号をさらにことを特徴とする請求項4に記載の方法。
  6. 前記鍵バージョン番号は前記単一の認証鍵の鍵バージョンであることを特徴とする請求項5に記載の方法。
  7. 前記鍵バージョン番号はユニークな鍵識別子とインクリメンタル・シーケンス番号とを含むことを特徴とする請求項5に記載の方法。
  8. 前記テレスペースの前記複数のコラボレータ装置は、当該複数のコラボレータ装置のペア毎に個別の認証鍵を用いることを特徴とする請求項2に記載の方法。
  9. ステップ(b)は、各個別の認証鍵、及び一方向ハッシュ関数で前記ヘッダと前記データとをハッシュした結果を、前記MACアルゴリズムに提供してコラボレータ装置の各ペアについて別個の認証子を生成し、前記別個の認証子を連結して前記メッセージ認証コードを生成することを含むことを特徴とする請求項8に記載の方法。
  10. 各メッセージは、鍵バージョン番号をさらにことを特徴とする請求項8に記載の方法。
  11. 前記鍵バージョン番号は別々の認証鍵全部の鍵バージョンであることを特徴とする請求項10に記載の方法。
  12. ローカル・データ・コピーを有する複数のコラボレータ装置が、デルタ・メッセージを交換するテレスペースを管理するための装置であって、各メッセージはヘッダと、前記ローカル・データ・コピーを更新するためのデータとを含み、
    前記テレスペース作成するに、デルタ・メッセージの真正性と完全性と機密性を保護すべきかどうかを決定するセキュリティのレベル選択を受信するメカニズムと、
    前記セキュリティ・レベル選択受信メカニズムと協調動作して、デルタ・メッセージの送信前に、認証鍵及びメッセージに含まれる前記ヘッダと前記データとに基づいて、予め定められたMACアルゴリズムを使用して生成されるメッセージ認証コードを、前記メッセージ内に追加することにより、デルタ・メッセージの真正性及び完全性を保護するプロトコル・エンジンとを含み、
    前記プロトコル・エンジンはデルタ・メッセージの送信前に、前記認証鍵とは異なる暗号化鍵を用いる予め定められた暗号化アルゴリズムにより前記データを暗号化することで、デルタ・メッセージの機密性を保護し、
    前記テレスペースは、前記複数のコラボレータ装置のうちの任意のコラボレータ装置からなるサブグループを有し、前記サブグループ内で送信するデルタ・メッセージに対して、サブグループ毎に個別の前記暗号化鍵および前記認証鍵を用いることを特徴とする装置。
  13. 前記テレスペースの前記複数のコラボレータ装置が、前記テレスペースの全てのコラボレータ装置に送信するデルタ・メッセージに対して、単一の暗号化鍵を用いることを特徴とする請求項12に記載の装置。
  14. 前記テレスペースの前記複数のコラボレータ装置が、前記テレスペースの全てのコラボレータ装置に送信するデルタ・メッセージに対して、単一の認証鍵を用いることを特徴とする請求項13に記載の装置。
  15. 前記プロトコル・エンジンは、一方向ハッシュ関数で前記ヘッダと前記データとをハッシュする認証モジュールであって、前記単一の認証鍵、及び前記ハッシュした結果を前記MACアルゴリズムに提供する認証モジュールを含むことを特徴とする請求項14に記載の装置。
  16. 各メッセージは、鍵バージョン番号をさらにことを特徴とする請求項15に記載の装置。
  17. 前記鍵バージョン番号は前記単一の認証鍵の鍵バージョンであることを特徴とする請求項16に記載の装置。
  18. 前記鍵バージョン番号はユニークな鍵識別子とインクリメンタル・シーケンス番号とを含むことを特徴とする請求項16に記載の装置。
  19. 前記テレスペースの前記複数のコラボレータ装置は、当該複数のコラボレータ装置のペア毎に個別の認証鍵を用いることを特徴とする請求項13に記載の装置。
  20. 前記プロトコル・エンジンは、一方向ハッシュ関数で前記ヘッダと前記データとをハッシュする認証モジュールであって、各個別の認証鍵、及び前記ハッシュした結果を前記MACアルゴリズムに提供してコラボレータ装置の各ペアについて別個の認証子を生成し、前記別個の認証子を連結して前記メッセージ認証コードを生成する認証モジュールを含むことを特徴とする請求項19に記載の装置。
  21. 各メッセージは、鍵バージョン番号をさらにことを特徴とする請求項19に記載の装置。
  22. 前記鍵バージョン番号は別々の認証鍵全部の鍵バージョンを連結したものであることを特徴とする請求項21に記載の装置。
  23. ローカル・データ・コピーを有する複数のコラボレータ装置が、デルタ・メッセージを交換するテレスペースであって、各メッセージはヘッダと、前記ローカル・データ・コピーを更新するためのデータとを含む、テレスペースにおいて、コンピュータに、
    前記テレスペース作成するに、デルタ・メッセージの真正性と完全性と機密性を保護すべきかどうかを決定するセキュリティのレベル選択を受信するステップと、
    選択されたセキュリティのレベルがデルタ・メッセージの真正性と完全性を保護する必要がある場合に、認証鍵及びメッセージに含まれる前記ヘッダと前記データとに基づいて、予め定められたMACアルゴリズムを使用して生成されるメッセージ認証コードを、前記メッセージ内に追加するステップと、
    選択されたセキュリティのレベルがデルタ・メッセージの機密性を保護する必要がある場合に、前記認証鍵とは異なる暗号化鍵を用いる予め定められた暗号化アルゴリズムにより前記データを暗号化するステップ
    実行させるプログラムを記録し、
    前記テレスペースは、前記複数のコラボレータ装置のうちの任意のコラボレータ装置からなるサブグループを有し、前記サブグループ内で送信するデルタ・メッセージに対して、サブグループ毎に個別の前記暗号化鍵および前記認証鍵を用いることを特徴とするコンピュータ読み取り可能な記録媒体
  24. 前記テレスペースの前記複数のコラボレータ装置が、前記テレスペースの全てのコラボレータ装置に送信するデルタ・メッセージに対して、単一の暗号化鍵を用いることを特徴とする請求項23に記載のコンピュータ読み取り可能な記録媒体
  25. 前記テレスペースの前記複数のコラボレータ装置が、前記テレスペースの全てのコラボレータ装置に送信するデルタ・メッセージに対して、単一の認証鍵を用いることを特徴とする請求項24に記載のコンピュータ読み取り可能な記録媒体
  26. メッセージ認証コードを追加する前記ステップは、前記単一の認証鍵、及び一方向ハッシュ関数で前記ヘッダと前記データとをハッシュした結果を、前記MACアルゴリズムに提供することを特徴とする請求項25に記載のコンピュータ読み取り可能な記録媒体
JP2001585004A 2000-05-12 2001-05-02 安全なコラボレーティブ・トランザクションを管理する方法及び装置 Expired - Fee Related JP4955181B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/571,851 2000-05-12
US09/571,851 US6986046B1 (en) 2000-05-12 2000-05-12 Method and apparatus for managing secure collaborative transactions
PCT/US2001/014093 WO2001088674A2 (en) 2000-05-12 2001-05-02 Method and apparatus for managing secure collaborative transactions

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011181880A Division JP2012019534A (ja) 2000-05-12 2011-08-23 安全なコラボレーティブ・トランザクションを管理する方法及び装置

Publications (2)

Publication Number Publication Date
JP2004501547A JP2004501547A (ja) 2004-01-15
JP4955181B2 true JP4955181B2 (ja) 2012-06-20

Family

ID=24285327

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001585004A Expired - Fee Related JP4955181B2 (ja) 2000-05-12 2001-05-02 安全なコラボレーティブ・トランザクションを管理する方法及び装置
JP2011181880A Pending JP2012019534A (ja) 2000-05-12 2011-08-23 安全なコラボレーティブ・トランザクションを管理する方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011181880A Pending JP2012019534A (ja) 2000-05-12 2011-08-23 安全なコラボレーティブ・トランザクションを管理する方法及び装置

Country Status (10)

Country Link
US (4) US6986046B1 (ja)
EP (4) EP1698959A1 (ja)
JP (2) JP4955181B2 (ja)
KR (1) KR100905141B1 (ja)
AT (1) ATE346333T1 (ja)
AU (1) AU2001261117A1 (ja)
CA (1) CA2408437C (ja)
DE (1) DE60124765T2 (ja)
IL (2) IL152351A0 (ja)
WO (1) WO2001088674A2 (ja)

Families Citing this family (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086508B2 (en) 2000-07-24 2011-12-27 Cashedge, Inc. Method and apparatus for delegating authority
US7536340B2 (en) 2000-07-24 2009-05-19 Cashedge, Inc. Compliance monitoring method and apparatus
US7013310B2 (en) 2002-01-03 2006-03-14 Cashedge, Inc. Method and apparatus for retrieving and processing data
US7797207B1 (en) 2000-07-24 2010-09-14 Cashedge, Inc. Method and apparatus for analyzing financial data
US7146338B2 (en) 2001-06-28 2006-12-05 Checkfree Services Corporation Inter-network financial service
US7383223B1 (en) 2000-09-20 2008-06-03 Cashedge, Inc. Method and apparatus for managing multiple accounts
FR2823928B1 (fr) * 2001-04-19 2003-08-22 Canal Plus Technologies Procede pour une communication securisee entre deux dispositifs
JP4604422B2 (ja) 2001-07-31 2011-01-05 ソニー株式会社 通信システム、通信装置及び通信方法
US7203845B2 (en) * 2002-01-11 2007-04-10 Cashedge, Inc. Multiple trust modes for handling data
US7627753B2 (en) * 2002-03-19 2009-12-01 Microsoft Corporation Secure digital data format and code enforced policy
US7120797B2 (en) * 2002-04-24 2006-10-10 Microsoft Corporation Methods for authenticating potential members invited to join a group
US20040006705A1 (en) * 2002-07-05 2004-01-08 Walker Jesse R. Secure two-message synchronization in wireless networks
US7515569B2 (en) * 2002-11-27 2009-04-07 Agere Systems, Inc. Access control for wireless systems
US7730446B2 (en) * 2003-03-12 2010-06-01 Microsoft Corporation Software business process model
US7577934B2 (en) * 2003-03-12 2009-08-18 Microsoft Corporation Framework for modeling and providing runtime behavior for business software applications
US7376834B2 (en) * 2003-07-18 2008-05-20 Palo Alto Research Center Incorporated System and method for securely controlling communications
US7103779B2 (en) * 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
US8190893B2 (en) 2003-10-27 2012-05-29 Jp Morgan Chase Bank Portable security transaction protocol
US7302060B2 (en) * 2003-11-10 2007-11-27 Qualcomm Incorporated Method and application for authentication of a wireless communication using an expiration marker
US8060743B2 (en) * 2003-11-14 2011-11-15 Certicom Corp. Cryptographic method and apparatus
US7783769B2 (en) * 2004-03-31 2010-08-24 Intel Corporation Accelerated TCP (Transport Control Protocol) stack processing
CN1950775B (zh) * 2004-04-29 2011-03-16 Nxp股份有限公司 用于程序执行期间的入侵检测的方法,设备和计算机系统
US20060010205A1 (en) * 2004-05-21 2006-01-12 Bea Systems, Inc. Systems and methods for collaboration impersonation
US20050262075A1 (en) 2004-05-21 2005-11-24 Bea Systems, Inc. Systems and methods for collaboration shared state management
US20060010125A1 (en) * 2004-05-21 2006-01-12 Bea Systems, Inc. Systems and methods for collaborative shared workspaces
JP2006018430A (ja) * 2004-06-30 2006-01-19 Ricoh Co Ltd 情報処理装置、ネットワークシステム、プログラム、データ構造及び記憶媒体
US7480803B1 (en) * 2004-07-23 2009-01-20 Sprint Communications Company L.P. System and method for securing system content by automated device authentication
US7636841B2 (en) 2004-07-26 2009-12-22 Intercall, Inc. Systems and methods for secure data exchange in a distributed collaborative application
US7840002B2 (en) * 2004-07-29 2010-11-23 Vadium Technology, Inc. Techniques to strengthen one-time pad encryption
US8656161B2 (en) * 2004-11-30 2014-02-18 Nec Corporation Information sharing system, information sharing method, group management program and compartment management program
JP4701706B2 (ja) * 2004-12-22 2011-06-15 富士ゼロックス株式会社 情報処理装置、方法、及びプログラム
US7752253B2 (en) * 2005-04-25 2010-07-06 Microsoft Corporation Collaborative invitation system and method
JP4900891B2 (ja) 2005-04-27 2012-03-21 キヤノン株式会社 通信装置及び通信方法
US7890220B2 (en) * 2005-05-03 2011-02-15 Mks Instruments, Inc. Low overhead closed loop control system
US7647508B2 (en) * 2005-06-16 2010-01-12 Intel Corporation Methods and apparatus for providing integrity protection for management and control traffic of wireless communication networks
US20070076709A1 (en) * 2005-07-01 2007-04-05 Geoffrey Mattson Apparatus and method for facilitating a virtual private local area network service with realm specific addresses
US20070086456A1 (en) * 2005-08-12 2007-04-19 Electronics And Telecommunications Research Institute Integrated layer frame processing device including variable protocol header
US8306918B2 (en) 2005-10-11 2012-11-06 Apple Inc. Use of media storage structure with multiple pieces of content in a content-distribution system
US20070101400A1 (en) * 2005-10-31 2007-05-03 Overcow Corporation Method of providing secure access to computer resources
US20070157266A1 (en) * 2005-12-23 2007-07-05 United Video Properties, Inc. Interactive media guidance system having multiple devices
US20070157281A1 (en) * 2005-12-23 2007-07-05 United Video Properties, Inc. Interactive media guidance system having multiple devices
US8364965B2 (en) * 2006-03-15 2013-01-29 Apple Inc. Optimized integrity verification procedures
WO2007108660A1 (en) * 2006-03-22 2007-09-27 Lg Electronics Inc. Asymmetric cryptography for wireless systems
US8224751B2 (en) 2006-05-03 2012-07-17 Apple Inc. Device-independent management of cryptographic information
US7945053B2 (en) * 2006-05-15 2011-05-17 Intel Corporation Methods and apparatus for a keying mechanism for end-to-end service control protection
US7940926B2 (en) * 2006-06-08 2011-05-10 Novell, Inc. Cooperative encoding of data by pluralities of parties
US7668954B1 (en) 2006-06-27 2010-02-23 Stephen Waller Melvin Unique identifier validation
US8301753B1 (en) 2006-06-27 2012-10-30 Nosadia Pass Nv, Limited Liability Company Endpoint activity logging
GB0612775D0 (en) * 2006-06-28 2006-08-09 Ibm An apparatus for securing a communications exchange between computers
US20080005558A1 (en) * 2006-06-29 2008-01-03 Battelle Memorial Institute Methods and apparatuses for authentication and validation of computer-processable communications
US8127135B2 (en) * 2006-09-28 2012-02-28 Hewlett-Packard Development Company, L.P. Changing of shared encryption key
JP4886463B2 (ja) 2006-10-20 2012-02-29 キヤノン株式会社 通信パラメータ設定方法、通信装置及び通信パラメータを管理する管理装置
KR101365603B1 (ko) * 2006-12-04 2014-02-20 삼성전자주식회사 조건부 인증 코드 삽입 방법 및 그 장치, 인증을 통한조건부 데이터 사용 방법 및 그 장치
US10416838B2 (en) * 2006-12-11 2019-09-17 Oath Inc. Graphical messages
US8060887B2 (en) * 2007-03-30 2011-11-15 Uranus International Limited Method, apparatus, system, and medium for supporting multiple-party communications
US7765266B2 (en) * 2007-03-30 2010-07-27 Uranus International Limited Method, apparatus, system, medium, and signals for publishing content created during a communication
US8627211B2 (en) * 2007-03-30 2014-01-07 Uranus International Limited Method, apparatus, system, medium, and signals for supporting pointer display in a multiple-party communication
WO2008119149A1 (en) * 2007-03-30 2008-10-09 Uranus International Limited Method, apparatus, system, and medium for supporting multiple-party communications
US7950046B2 (en) * 2007-03-30 2011-05-24 Uranus International Limited Method, apparatus, system, medium, and signals for intercepting a multiple-party communication
US8702505B2 (en) 2007-03-30 2014-04-22 Uranus International Limited Method, apparatus, system, medium, and signals for supporting game piece movement in a multiple-party communication
US7765261B2 (en) * 2007-03-30 2010-07-27 Uranus International Limited Method, apparatus, system, medium and signals for supporting a multiple-party communication on a plurality of computer servers
US8705348B2 (en) * 2007-04-18 2014-04-22 Cisco Technology, Inc. Use of metadata for time based anti-replay
EP1986151A1 (en) * 2007-04-23 2008-10-29 Hewlett-Packard Development Company, L.P. A data processing system, method and computer program product for providing a service to a service requester
US20080288400A1 (en) 2007-04-27 2008-11-20 Cashedge, Inc. Centralized Payment Method and System for Online and Offline Transactions
US8347098B2 (en) * 2007-05-22 2013-01-01 Apple Inc. Media storage structures for storing content, devices for using such structures, systems for distributing such structures
US9311492B2 (en) 2007-05-22 2016-04-12 Apple Inc. Media storage structures for storing content, devices for using such structures, systems for distributing such structures
WO2009018483A1 (en) * 2007-07-31 2009-02-05 Viasat, Inc. Input output access controller
TWI378702B (en) * 2007-08-24 2012-12-01 Ind Tech Res Inst Group authentication method
WO2009033248A1 (en) * 2007-09-10 2009-03-19 Novell, Inc. A method for efficient thread usage for hierarchically structured tasks
KR100959074B1 (ko) * 2007-12-12 2010-05-20 한국전자통신연구원 P2p 네트워크 상에서의 보안 그룹 생성 방법, 생성장치, 인증 방법, 인증 장치
US9043603B2 (en) * 2008-01-28 2015-05-26 Seagate Technology Llc Security threshold enforcement in anchor point-based digital rights management
US8533474B2 (en) * 2008-02-27 2013-09-10 Red Hat, Inc. Generating session keys
US8688975B2 (en) * 2008-03-25 2014-04-01 International Business Machines Corporation Certifying a virtual entity in a virtual universe
CN101547443B (zh) * 2008-03-28 2011-12-21 上海华为技术有限公司 信令的传输方法及通信装置
WO2009132668A1 (en) * 2008-04-30 2009-11-05 Nec Europe, Ltd. Method and system for verifying the identity of a communication partner
WO2009145587A2 (en) 2008-05-29 2009-12-03 Lg Electronics Inc. Method of encrypting control signaling
CN101321209B (zh) * 2008-06-19 2011-11-16 上海软中信息技术有限公司 基于pstn的安全通信分布式数据提取方法及实现系统
US8230217B2 (en) * 2008-10-13 2012-07-24 International Business Machines Corporation Method and system for secure collaboration using slepian-wolf codes
US7899056B2 (en) * 2009-01-13 2011-03-01 Fujitsu Limited Device and method for reducing overhead in a wireless network
US8023513B2 (en) * 2009-02-24 2011-09-20 Fujitsu Limited System and method for reducing overhead in a wireless network
US8812854B2 (en) * 2009-10-13 2014-08-19 Google Inc. Firmware verified boot
US8806190B1 (en) 2010-04-19 2014-08-12 Amaani Munshi Method of transmission of encrypted documents from an email application
CN102484791A (zh) * 2010-05-19 2012-05-30 三洋电机株式会社 基站装置
WO2012003504A2 (en) * 2010-07-02 2012-01-05 Air Computing, Inc. A system and method for cloud file management
WO2012099617A1 (en) 2011-01-20 2012-07-26 Box.Net, Inc. Real time notification of activities that occur in a web-based collaboration environment
US8751777B2 (en) 2011-01-28 2014-06-10 Honeywell International Inc. Methods and reconfigurable systems to optimize the performance of a condition based health maintenance system
US8990770B2 (en) 2011-05-25 2015-03-24 Honeywell International Inc. Systems and methods to configure condition based health maintenance systems
US20120303310A1 (en) * 2011-05-26 2012-11-29 First Data Corporation Systems and Methods for Providing Test Keys to Mobile Devices
WO2013009337A2 (en) 2011-07-08 2013-01-17 Arnold Goldberg Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US8856530B2 (en) 2011-09-21 2014-10-07 Onyx Privacy, Inc. Data storage incorporating cryptographically enhanced data protection
US20130080768A1 (en) * 2011-09-26 2013-03-28 Erik Lagerway Systems and methods for secure communications using an open peer protocol
DE112012004308B4 (de) * 2011-10-12 2020-08-27 International Business Machines Corporation Verfahren, System, Vermittlungsserver, Client und Computerprogramm zum Löschen von Daten zum Aufrechterhalten einer Sicherungsstufe
US8726084B2 (en) 2011-10-14 2014-05-13 Honeywell International Inc. Methods and systems for distributed diagnostic reasoning
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US9773051B2 (en) 2011-11-29 2017-09-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US20130191629A1 (en) * 2012-01-19 2013-07-25 Laconic Security, Llc Secure group-based data storage in the cloud
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
WO2013166520A1 (en) 2012-05-04 2013-11-07 Box, Inc. Repository redundancy implementation of a system which incrementally updates clients with events that occurred via cloud-enabled platform
CN102708192B (zh) * 2012-05-15 2017-11-28 华为技术有限公司 一种文档共享的方法及系统、设备
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8832649B2 (en) * 2012-05-22 2014-09-09 Honeywell International Inc. Systems and methods for augmenting the functionality of a monitoring node without recompiling
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9081953B2 (en) 2012-07-17 2015-07-14 Oracle International Corporation Defense against search engine tracking
US9166958B2 (en) * 2012-07-17 2015-10-20 Texas Instruments Incorporated ID-based control unit-key fob pairing
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US8832716B2 (en) 2012-08-10 2014-09-09 Honeywell International Inc. Systems and methods for limiting user customization of task workflow in a condition based health maintenance system
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9037920B2 (en) 2012-09-28 2015-05-19 Honeywell International Inc. Method for performing condition based data acquisition in a hierarchically distributed condition based maintenance system
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
KR101659113B1 (ko) * 2012-10-09 2016-09-23 엘에스산전 주식회사 전력시스템을 위한 클라우드 서비스 제공 시스템
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
CN103067156B (zh) * 2012-12-28 2016-01-20 北京移数通电讯有限公司 移动互联网用户资源访问的url加密、验证方法和装置
US20140188728A1 (en) 2012-12-31 2014-07-03 Fiserv, Inc. Systems and methods for performing financial transactions
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (en) 2013-01-11 2014-09-24 Box, Inc. Functionalities, features and user interface of a synchronization client to a cloud-based environment
US10599671B2 (en) 2013-01-17 2020-03-24 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US9467283B2 (en) 2013-06-24 2016-10-11 Blackberry Limited Securing method for lawful interception
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9584313B2 (en) * 2013-08-09 2017-02-28 Introspective Power, Inc. Streaming one time pad cipher using rotating ports for data encryption
US9584488B2 (en) 2013-08-09 2017-02-28 Introspective Power, Inc. Data encryption cipher using rotating ports
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
KR101524743B1 (ko) * 2013-11-15 2015-06-24 주식회사 날리지큐브 버츄얼 클러스터
GB2512748B (en) 2014-02-25 2015-02-18 Cambridge Silicon Radio Ltd Auto-configuration of a mesh relay's TX/RX schedule
GB2515853B (en) 2014-02-25 2015-08-19 Cambridge Silicon Radio Ltd Latency mitigation
US9735967B2 (en) 2014-04-30 2017-08-15 International Business Machines Corporation Self-validating request message structure and operation
DK3127300T3 (da) * 2014-05-12 2019-10-07 Google Llc Håndtering af nic-krypterede flows til at migrere gæster eller opgaver
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US9942211B1 (en) * 2014-12-11 2018-04-10 Amazon Technologies, Inc. Efficient use of keystreams
US10185946B2 (en) 2014-12-31 2019-01-22 Fiserv, Inc. Facilitating presentation of content relating to a financial transaction
EP3248360B1 (en) 2015-01-19 2020-05-06 Inauth, Inc. Systems and methods for trusted path secure communication
RU2017132104A (ru) * 2015-02-16 2019-03-18 Нек Корпорейшн Система связи, устройство узла, терминал связи, способ управления ключами и энергонезависимый читаемый компьютером носитель, на котором хранится программа
US9509709B2 (en) * 2015-03-19 2016-11-29 International Business Machines Corporation Mechanism to augment IPS/SIEM evidence information with process history snapshot and application window capture history
US10104047B2 (en) * 2015-04-08 2018-10-16 Microsemi Solutions (U.S.), Inc. Method and system for encrypting/decrypting payload content of an OTN frame
US9432340B1 (en) * 2015-05-07 2016-08-30 Bogart Associates System and method for secure end-to-end chat system
US10360287B2 (en) 2015-05-22 2019-07-23 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing user callouts
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
WO2017091672A1 (en) 2015-11-25 2017-06-01 InAuth, Inc. Systems and methods for cross-channel device binding
US10009328B2 (en) * 2015-12-07 2018-06-26 Mcafee, Llc System, apparatus and method for providing privacy preserving interaction with a computing system
US9590956B1 (en) * 2015-12-18 2017-03-07 Wickr Inc. Decentralized authoritative messaging
US10334062B2 (en) 2016-02-25 2019-06-25 InAuth, Inc. Systems and methods for recognizing a device
US9596079B1 (en) 2016-04-14 2017-03-14 Wickr Inc. Secure telecommunications
US20180012190A1 (en) * 2016-07-06 2018-01-11 International Business Machines Corporation Automatic inference of meeting attendance
FR3054905B1 (fr) * 2016-08-04 2019-10-18 Safran Identity & Security Procede de generation de cle et procede de controle d'acces
US11093852B2 (en) 2016-10-19 2021-08-17 Accertify, Inc. Systems and methods for recognizing a device and/or an instance of an app invoked on a device
US11403563B2 (en) 2016-10-19 2022-08-02 Accertify, Inc. Systems and methods for facilitating recognition of a device and/or an instance of an app invoked on a device
US10541814B2 (en) 2017-11-08 2020-01-21 Wickr Inc. End-to-end encryption during a secure communication session
US10855440B1 (en) 2017-11-08 2020-12-01 Wickr Inc. Generating new encryption keys during a secure communication session
US11101999B2 (en) 2017-11-08 2021-08-24 Amazon Technologies, Inc. Two-way handshake for key establishment for secure communications
US10778432B2 (en) 2017-11-08 2020-09-15 Wickr Inc. End-to-end encryption during a secure communication session
US11310078B2 (en) * 2018-01-11 2022-04-19 Wesley Rogers Cipher stream based secure packet communications with key stream transmission over diverse paths
US10754972B2 (en) 2018-01-30 2020-08-25 Salesforce.Com, Inc. Multi-factor administrator action verification system
US11615208B2 (en) * 2018-07-06 2023-03-28 Capital One Services, Llc Systems and methods for synthetic data generation
US11222311B2 (en) * 2018-12-18 2022-01-11 The Toronto-Dominion Bank System and method for secure data transfer
JP2022184560A (ja) * 2021-06-01 2022-12-13 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
US11804970B2 (en) * 2021-10-15 2023-10-31 Lenovo Global Technology (United States) Inc. Baseboard management controller group administration

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07235921A (ja) * 1994-02-23 1995-09-05 Nippon Telegr & Teleph Corp <Ntt> 情報通信のセキュリティ管理方法及び装置
GB9502182D0 (en) * 1995-02-03 1995-03-22 Plessey Telecomm Telecommunications service interactions
JP3982848B2 (ja) * 1995-10-19 2007-09-26 富士通株式会社 セキュリティレベル制御装置及びネットワーク通信システム
US5787175A (en) 1995-10-23 1998-07-28 Novell, Inc. Method and apparatus for collaborative document control
FR2743235B1 (fr) * 1995-12-27 1998-01-23 Alsthom Cge Alcatel Methode pour securiser les collaborations entre objets d'un programme oriente objet
JP3562134B2 (ja) * 1996-04-19 2004-09-08 富士ゼロックス株式会社 協調設計支援システム及び方法
JPH09319673A (ja) * 1996-05-27 1997-12-12 Matsushita Electric Works Ltd 暗号鍵更新方法およびそのシステム
DE19622630C1 (de) * 1996-06-05 1997-11-20 Siemens Ag Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
US6453327B1 (en) * 1996-06-10 2002-09-17 Sun Microsystems, Inc. Method and apparatus for identifying and discarding junk electronic mail
US6272639B1 (en) * 1996-07-30 2001-08-07 Micron Technology, Inc. Mixed enclave operation in a computer network
JPH10111825A (ja) * 1996-10-04 1998-04-28 Kokusai Denshin Denwa Co Ltd <Kdd> 複数データベース一致化更新方法および装置
JP3512311B2 (ja) * 1997-03-27 2004-03-29 日立ソフトウエアエンジニアリング株式会社 情報リンク管理方法および情報提供システム
JPH1115373A (ja) * 1997-06-20 1999-01-22 Fuji Xerox Co Ltd 公開鍵暗号方式
US6775382B1 (en) 1997-06-30 2004-08-10 Sun Microsystems, Inc. Method and apparatus for recovering encryption session keys
JPH11150554A (ja) * 1997-11-14 1999-06-02 Casio Comput Co Ltd データ通信装置、データ通信方法及び記憶媒体
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
US6195751B1 (en) 1998-01-20 2001-02-27 Sun Microsystems, Inc. Efficient, secure multicasting with minimal knowledge
US6334146B1 (en) * 1998-06-05 2001-12-25 I2 Technologies Us, Inc. System and method for remotely accessing data
US6295361B1 (en) * 1998-06-30 2001-09-25 Sun Microsystems, Inc. Method and apparatus for multicast indication of group key change
JP2000066941A (ja) * 1998-08-25 2000-03-03 Nec Corp 分散ファイル更新方法及びそのシステム
US6584566B1 (en) * 1998-08-27 2003-06-24 Nortel Networks Limited Distributed group key management for multicast security
US6606706B1 (en) * 1999-02-08 2003-08-12 Nortel Networks Limited Hierarchical multicast traffic security system in an internetwork
US6542993B1 (en) * 1999-03-12 2003-04-01 Lucent Technologies Inc. Security management system and method
US6961855B1 (en) * 1999-12-16 2005-11-01 International Business Machines Corporation Notification of modifications to a trusted computing base

Also Published As

Publication number Publication date
EP1698959A1 (en) 2006-09-06
JP2004501547A (ja) 2004-01-15
KR20030010620A (ko) 2003-02-05
IL152351A0 (en) 2003-05-29
EP1348152A2 (en) 2003-10-01
EP1708406A2 (en) 2006-10-04
EP1705599A3 (en) 2006-11-22
US20060041752A1 (en) 2006-02-23
DE60124765D1 (de) 2007-01-04
KR100905141B1 (ko) 2009-06-29
US7415606B2 (en) 2008-08-19
CA2408437C (en) 2010-11-30
US7171001B2 (en) 2007-01-30
US7213147B2 (en) 2007-05-01
AU2001261117A1 (en) 2001-11-26
EP1708406A3 (en) 2006-11-22
WO2001088674A3 (en) 2003-07-24
EP1705599A2 (en) 2006-09-27
US20060036862A1 (en) 2006-02-16
IL152351A (en) 2009-08-03
US20060050869A1 (en) 2006-03-09
US6986046B1 (en) 2006-01-10
CA2408437A1 (en) 2001-11-22
ATE346333T1 (de) 2006-12-15
DE60124765T2 (de) 2008-02-14
WO2001088674A2 (en) 2001-11-22
EP1348152B1 (en) 2006-11-22
JP2012019534A (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
JP4955181B2 (ja) 安全なコラボレーティブ・トランザクションを管理する方法及び装置
Kohl et al. The evolution of the Kerberos authentication service
US7620824B2 (en) Data communicating apparatus, data communicating method, and program
US7395549B1 (en) Method and apparatus for providing a key distribution center without storing long-term server secrets
US7120797B2 (en) Methods for authenticating potential members invited to join a group
US7089211B1 (en) Directory enabled secure multicast group communications
US20030081774A1 (en) Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
GB2357229A (en) Security protocol with messages formatted according to a self describing markup language
WO2002054665A1 (en) Trusted intermediary
Elgohary et al. Design of an enhancement for SSL/TLS protocols
El-Ema et al. A network authentication protocol based on Kerberos
Åslund Authentication in peer-to-peer systems
Cengiz A practical key agreement scheme for videoconferencing
Buchberger Adopting the Noise key exchange in Tox
Li Secure group communication protocol and implementation for JetMeeting, an application based on P2P
Cui et al. Approaching secure communications in a message-oriented mobile computing environment
Rodeh Secure Group Communication
Finin et al. A Security Architecture for Agent Communication Language
Lee et al. Design of a system to support security communication between a Web proxy and a CGI program based on PKI
Power et al. Authentication in a heterogeneous environment
CN117675383A (zh) 针对网络化协同设计的数据传输架构及数据传输方法
Sriramulu et al. A Secure Network Communication Based on Kerberos & MD5
Raghunathan A security model for mobile agent environments using X. 509 proxy certificates
Bai et al. Access revocation and prevention of false repudiation in secure email exchanges
Schmidt A framework for peer-to-peer applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080304

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100218

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110823

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120315

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350