JP5513500B2 - クレームを使用したセキュリティアイデンティティの表示 - Google Patents

クレームを使用したセキュリティアイデンティティの表示 Download PDF

Info

Publication number
JP5513500B2
JP5513500B2 JP2011517472A JP2011517472A JP5513500B2 JP 5513500 B2 JP5513500 B2 JP 5513500B2 JP 2011517472 A JP2011517472 A JP 2011517472A JP 2011517472 A JP2011517472 A JP 2011517472A JP 5513500 B2 JP5513500 B2 JP 5513500B2
Authority
JP
Japan
Prior art keywords
identity
computer
entity
component
security
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
JP2011517472A
Other languages
English (en)
Other versions
JP2011527482A (ja
JP2011527482A5 (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 JP2011527482A publication Critical patent/JP2011527482A/ja
Publication of JP2011527482A5 publication Critical patent/JP2011527482A5/ja
Application granted granted Critical
Publication of JP5513500B2 publication Critical patent/JP5513500B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、クレームを使用したセキュリティアイデンティティの表示に関する。
ほとんどの現在の企業のセキュリティ基盤は、同じセキュリティドメイン(例えば、Active Directory Trust Domains)内のリソースにアクセスするユーザを識別するように設計されている。この環境では、KDC(Key Distribution Center、以下KDC)と通信するのに、Kerberosのような対称鍵プロトコルが使用され、クライアントとドメイン内の保護情報をホスティングするサーバとの間で交換される証明書を作成し、検証する。サーバは、各保護リソースに関連付けられたアクセス制御リストに関連してこれらの証明書を評価して、アクセスを決定する。
クライアントとサーバとが異なるセキュリティドメイン内にある時、このモデルは、1つのKDCが存在しない時に機能することができない。その代わり、信頼のポイントが各ドメインにおいて確立されて、異質なセキュリティドメイン内のリソースへのアクセスを要求するアプリケーションおよびユーザのアイデンティティの信頼できるステートメントを生成する(および潜在的に検証する)フェデレーテッドモデルが使用されなければならない。このフェデレーテッドモデルは、以下でより詳細に説明するが、WS−Trust、WS−Federation、SAML(Security Assertion Markup Language、以下SAML)などの多くの公的規格によってサポートされ、採用されている。
前述の点を考慮すると、先行技術の欠点を克服し、セキュリティドメイン全体のアクセス制御に影響を与えることができるシステムおよび方法が必要である。
以下に、読者が基本的な理解を得ることができるように、本開示の簡単な概略を示す。この概略は、本開示の広範な概要ではなく、また重要/決定的な要素を特定するものではない。単に、本明細書内に開示されるいくつかの概念を、後述する詳細な説明の前置きとして簡略化して示すためのものである。
対象者のアイデンティティは、クレームのセットとして表すことができる。クレームは、発行者によって同意された、対象者に関連付けられた属性である。デジタルアイデンティティは、デジタルエンティティによって自身または別のデジタル対象者に関して作成されたクレームのセットである。クレームは、クレームベースのセキュリティスキームの基本要素である。クレームベースのデータモデルは、主な要素として、クレーム、クレームアイデンティティ、クレームプリンシパルを有する。クレームモデルは、本明細書内で説明するいくつかの実施形態では、セキュリティアイデンティティをモデル化して別のセキュリティアイデンティティとして機能することができる。セキュリティアイデンティティのアイデンティティ委任チェーンの長さは、任意の長さにすることができる。最後に、クレームベースのセキュリティスキームは、既存の.NETアイデンティティモデルに統合することができる。
多くの付随する特徴は、添付図面と併せて考察された以下の詳細な説明を参照することによってより十分に理解された時に、より容易に認識できるであろう。
本発明の説明は、添付図面に照らした以下の詳細な説明からより十分に理解できるであろう。
コンピューティング環境の態様が実装される例示的なコンピューティング環境のブロック図である。 例示的なフェデレーテッドモデルのブロック図である。 データモデルの種々の要素間の動作関係を示すデータモデルの図である。 クレームベースのセキュリティモデルの態様が実装される例示的なプラットフォーム環境のブロック図である。 クレームベースのセキュリティモデルと共に使用できる方法を示すフロー図である。
同一の附番は、添付図面内の同一の部分を指すのに使用される。
添付図面と併せて以下に示した詳細な説明は、本発明の一例として示されたものであって、本発明の例を構成し、利用する唯一の形態を示すものはない。説明は、本発明の例の機能および本発明の例を構成および動作するためのステップの順序を示すものである。しかし、異なる例によって、同一または等価な機能および順序を達成してもよい。
アイデンティティ認証システムおよびプロトコルによって、種々のドメインやプラットフォームにわたるコンピュータネットワークがユーザを認証することができ、ネットワーク上に記憶されている種々のリソースへのユーザアクセスが可能になる。詳細な説明および関連図面に示されたデータモデルにより、アイデンティティをクレームのセットとして表示し、アイデンティティを認証するのに使用された認証機構を抽象化することができる。モデルは、クレーム内に含まれている情報を表し、同時に、クレームによって示されたセキュリティアイデンティティ間の関係をキャプチャする。最後に、データモデルは、CLR(common language runtime:共通言語ランタイム)クラスのセットに変換され、.NET環境からクレームベースのモードにアクセスすることができる。さらに、変換は、クレームベースのアイデンティティモデルを既存の.NETアイデンティティモデルと統合し、同時に、これらを再実装しなくても、既存の.NETアプリケーションが新しいクレームベースのアイデンティティモデルと共に使用できるように下位互換性を保つことができる。
図1は、種々の態様の環境が実装される例示的なコンピューティング環境を示す図である。コンピューティングシステム環境100は、適切なコンピューティング環境の単なる一例であり、コンピューティングシステム環境の使用または機能性の範囲を限定するものではない。また、コンピューティング環境100は、例示的なオペレーティング環境100に示されるコンポーネントのいずれか1つまたは組み合わせに関する依存関係または要件を有するものと解釈すべきでない。
本システムは、多数の他の汎用または専用のコンピューティングシステムの環境または構成と共に動作可能である。本システムとの使用に適した周知のコンピューティングシステム、環境および/または構成の例として、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セット・トップ・ボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、埋め込みシステム、任意の上述のシステムまたは装置を含む分散コンピューティング環境などが挙げられるが、これらに限定されない。
クレームベースのアイデンティティモデルは、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストに記述される。一般に、プログラムモジュールは、特定のタスクを実行または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。クレームベースのアイデンティティモデルはさらに、通信ネットワークまたは他のデータ送信媒体を介してリンクされた遠隔処理装置によってタスクが実行される分散コンピューティング環境で実施することも可能である。分散コンピューティング環境では、プログラムモジュールおよび他のデータは、メモリ記憶装置などのローカルおよび遠隔の両方のコンピュータ記憶媒体に置くことができる。
図1では、クレームベースのアイデンティティモデルを実装する例示的なシステムは、コンピュータ110の形で汎用コンピューティング装置を含む。コンピュータ110のコンポーネントは、処理ユニット120、システムメモリ130、およびシステムメモリなどの種々のシステムコンポーネントを処理ユニット120に結合するシステムバス121を含むが、これらに限定されない。処理ユニット120は、マルチスレッドプロセッサによってサポートされるような複数の論理処理ユニットを表すことができる。システムバス121は、例えば、メモリバスまたはメモリコントローラ、周辺バス、種々のバスアーキテクチャのいずれかを使用するローカルバスのような複数のタイプのバス構造のいずれかとすることができる。例として、このようなアーキテクチャには、ISA(Industry Standard Architecture、以下ISA)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、PCI(Peripheral Component Interconnect)バス(Mezzanineバスとしても周知である)が挙げられるが、これらに限定されない。システムバス121はさらに、通信装置間でポイント・ツー・ポイント接続、スイッチングファブリックなどとして実装することもできる。
コンピュータ110は、典型的には、種々のコンピュータ可読媒体を含む。コンピュータ可読記憶媒体は、コンピュータ110によってアクセス可能で、揮発性および不揮発性媒体、取り外し可能および取り外し不可能な媒体の両方を含む任意の利用可能な媒体とすることができる。例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができるが、これらに限定されない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能な媒体の両方を含む。コンピュータ記憶媒体として、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CDROM、DVD(digital versatile disk:デジタル多用途ディスク)もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクもしくは他の磁気記憶装置、または所望の情報を記憶するのに使用可能で、コンピュータ110によってアクセス可能な任意の他の媒体が挙げられるが、これらに限定されない。
通信媒体は、典型的には、搬送波または他の搬送機構のような変調データ信号でコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具現化し、任意の情報送達媒体を含む。用語「変調データ信号」は、1つまたは複数の特徴セットを有し、信号で情報を符号化するように変化された信号を意味する。例として、通信媒体は、有線ネットワークもしくは直接有線接続のような有線媒体、音響、RF、赤外線および他の無線媒体のような無線媒体を含むが、これらに限定されない。上述のいずれかの組み合わせもコンピュータ可読媒体の範囲に含まれる。
システムメモリ130は、ROM(read only memory:リード・オンリ・メモリ、以下ROM)131やRAM(random access memory:ランダム・アクセス・メモリ、以下RAM)132などの揮発性および/または不揮発性メモリの形態でコンピュータ記憶媒体を含む。起動時などにコンピュータ110内の要素間で情報を伝達するのを助ける基本ルーチンを含むBIOS(basic input/output system:基本入出力システム)133は、典型的には、ROM131内に記憶される。RAM132は、典型的には、処理ユニット120により即座にアクセス可能な、および/または現在動作されているデータおよび/またはプログラムモジュールを含む。例として、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、プログラムデータ137を示しているが、これらに限定されない。
コンピュータ110はさらに、他の取り外し可能/取り外し不可能、揮発性/不揮発性のコンピュータ記憶媒体を含むことができる。例としてのみ、図1では、取り外し不可能で不揮発性の磁気媒体に対して読み出しまたは書き込みをするハードディスクドライブ140、取り外し可能で不揮発性の磁気ディスク152に対して読み出しまたは書き込みをする磁気ディスクドライブ151、CD ROMまたは他の光媒体などの取り外し可能で不揮発性の光ディスク156に対して読み出しまたは書き込みをする光ディスクドライブ155が挙げられる。例示的なオペレーティング環境で使用可能な他の取り外し可能/取り外し不可能、揮発性/不揮発性のコンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体RAM、固体ROMなどを含むことができるが、これらに限定されない。ハードディスクドライブ141は、典型的には、インタフェース140、磁気ディスクドライブ151などの取り外し不可能メモリインタフェースを介してシステムバス121に接続され、光ディスクドライブ155は、典型的には、インタフェース150などの取り外し可能なメモリインタフェースによってシステムバス121に接続される。
上述の図1に示されたドライブとそれに関連するコンピュータ記憶媒体は、コンピュータ110のコンピュータ可読命令、データ構造、プログラムモジュール、他のデータの記憶を行う。図1では、例えば、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、プログラムデータ147を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、プログラムデータ137と同一または異なるものとすることができる。
オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、プログラムデータ147は、ここでは、所与の異なる数であり、最低でも、これらが異なるコピーであることを示している。ユーザは、キーボード162および通常はマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス161などの入力装置によってコンピュータ20にコマンドや情報を入力することができる。他の入力装置(図示せず)は、マイクロホン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナなどが挙げられる。これらの入力装置および他の入力装置は、システムバスに結合されるユーザ入力インタフェース160を介して処理ユニット120に接続されることが多いが、パラレルポート、ゲームポートまたはUSB(universal serial bus)などの他のインタフェースやバス構造によって接続されてもよい。モニタ191または他のタイプのディスプレイ装置も、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタの他に、コンピュータはさらに、出力周辺インタフェース190を介して接続できるスピーカ197、プリンタ196などの他の周辺出力装置を含むことができる。
コンピュータ110は、リモートコンピュータ180のような1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードとすることができる。図1には、メモリ記憶装置181のみが示されているが、典型的には、リモートコンピュータ180は、コンピュータ110に関して上述した多くのまたは全ての要素を含む。図1に示されている論理接続は、LAN(local area network、以下LAN)171およびWAN(wide area network:広域エリアネットワーク、以下WAN)173を含むが、他のネットワークを含んでもよい。このようなネットワーク環境は、オフィス、企業のコンピュータネットワーク、イントラネット、インターネットにおいて一般的である。
LANネットワーク環境で使用される時、コンピュータ110は、ネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーク環境で使用される時、コンピュータ110は、典型的には、モデム172またはインターネットなどのWAN173経由の通信を確立するための他の手段を含む。モデム172は、内蔵または外付けにしてもよいが、ユーザ入力インタフェース160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク環境では、コンピュータ110に関して示されているプログラムモジュールまたはその一部は、リモートメモリ記憶装置内に記憶することができる。例として、図1は、リモートアプリケーションプログラム185はメモリデバイス181に常駐するものとして示しているが、これに限定されない。図示されたネットワーク接続は一例であって、コンピュータ間の通信リンクを確立するための他の手段が使用されてもよいことは理解されたい。
図2は、フェデレーテッドモデルの略ブロック図である。フェデレーテッドモデル200は、ユーザが同一または類似のユーザ名を使用して、複数のネットワークにわたるリソースにアクセスするフレームワークを提供する。図2に示されるように、フェデレーテッドモデル200は、アイデンティティプロバイダSTS(Security Token Service、以下STS)210、フェデレーションプロバイダSTS220、クライアント230、およびサービス240を含む。図2は、フェデレーテッドシステムにおけるメッセージの流れの一例を示す図である。
いくつかの実施形態によれば、クライアント230を介するユーザ(図示せず)は、アイデンティティプロバイダSTS210を使用してアイデンティティを認証する。認証プロセスは、アイデンティティプロバイダSTS210によって決定することができる。当業者は、アイデンティティプロバイダSTS210によって発行される証明書はプラットフォーム固有であり、任意の特定のフォーマットに限定されるものではないことを理解できるだろう。クライアントの証明書の認証の際に、アイデンティティプロバイダSTS210は、クライアント230にトークン(トークンA)を発行する。トークンAは、ユーザレベルのアクセスおよび認証を示す。トークンAは、SAMLトークンとすることができる。クライアント230は、そのトークンをフェデレーションプロバイダSTS220に送信する。フェデレーションプロバイダSTS220は、トークンAを受信すると、トークンAによって作成されたクレームを評価し、クライアント230がフェデレーションプロバイダSTS220に位置するリソースにアクセス可能か否かを判断する。フェデレーションプロバイダSTS220が正確にトークンを認証した場合、フェデレーションプロバイダSTS220はクライアント230にトークンBを発行する。トークンBは、サービス240に必要な認証を示すものである。クライアント230は、トークンBを受領すると、トークンBをサービス240に提示し、トークンBが認証されると、クライアント230のユーザは240のリソースにアクセスすることができる。フェデレーションデータモデルは、クレームベースのセキュリティモデルにおけるエンティティ関係のデータモデルである。これについては、図3に関してより詳細に説明する。
図3は、データモデル300のエンティティ関係の略ブロック図である。データモデル300は、クレームベースのセキュリティモデルの要素間の動作関係を示している。データモデル300は、クレームがセキュリティアイデンティティを示すのに使用されるセキュリティフレームワークを実現化する。セキュリティアイデンティティは、対象者が自身または別の対象者に関して作成した1つまたは複数のクレームとすることができる。本明細書で説明されるいくつかの実施形態では、データモデル300は、.NET環境で動作することができる。しかし、当業者は、データモデルは特定の環境に限定されないことを理解するであろう。先行技術のシステムでは、セキュリティアイデンティティは、SAMLおよびKerberosトークンで維持されるものであった。本明細書で説明されるいくつかの実施形態では、データモデル300は、エンティティ、発行者、クレームに関して、セキュリティアイデンティティを処理する。クレームは、エンティティによって作成される宣言である。例えば、クレームは、バンクアプリケーションサーバに、ボブが特定の財務記録にアクセスする特権を有すると宣言することができる。この例では、ボブはエンティティと見なされ、ボブのアイデンティティは、クレームで表されるエンティティが財務記録にアクセスする特権を有するとの宣言を含む、信頼できるエンティティによって作成されたクレームによって特徴付けられる。当業者は、上述の例は単なる例であって、何ら実施形態を制限するものではない。
本明細書で説明されるいくつかの実施形態では、宣言は、エンティティに関して作成される属性を含むステートメントである。これらの属性は、名前/値の組とすることができる。この場合、値はデータまたは情報であり、名前はURI(universal resource identifier:ユニバーサルリソース識別子)である。本明細書で説明されるいくつかの実施形態では、属性値は、.NET環境における文字列形態を有する。文字列の属性値は、文字列形態(例えば、XML要素またはXMLスキーマのストリング表示)への属性値のシリアライゼーションと見なすことができる。クレームは、(シリアライゼーションプロセスによって)ドメイン間での送信のためのセキュリティトークンに表すことができる。
図3に見られるように、本明細書で説明されるいくつかの実施形態では、モデル300の要素は、クレームアイデンティティ310、クレームプリンシパル320、クレーム330、クレームプロパティ340から成る。これらの要素間の相互関係は、自己完結型のクレームを作成する効果がある。クレームに一致すると、関連する識別情報の全てにアクセスするのに、外部情報は必要でなくなる。
クレームアイデンティティ310は、エンティティの表示である。表1は、クレームアイデンティティ310オブジェクトの表示例である。
(表1)
Figure 0005513500
クレームプリンシパル320は、アプリケーションコードが正確なアイデンティティに関連する決定を行うために、アプリケーションコードに対する発信者のアイデンティティ(単数または複数)の表示である。表2は、クレームプリンシパル320オブジェクトの表示例である。
(表2)
Figure 0005513500
本明細書で説明されるいくつかの実施形態では、クレームプリンシパル320は、アプリケーションコードがアイデンティティに関連する決定を行うために、アプリケーションコードに対する発信者のエンティティセキュリティ情報を表す。クレームプリンシパル320は、.NETフレームワークにおけるIPrincipalクラスと同様の用法でクレームアイデンティティ(単数または複数)をアプリケーションコードに提示する。当業者は、要求に関連付けられた異なる役割で動作する複数のエンティティがある場合、アプリケーションコードに提示された1つのクレームプリンシパル320が複数のクレームアイデンティティ310を含むことを理解するであろう。
クレーム330は、エンティティ(単数または複数)によって作成された宣言の表示である。表4は、クレーム330構造の表示例である。
(表4)
Figure 0005513500
本明細書で説明されるいくつかの実施形態では、クレームプロパティ340により、メタデータをクレーム330内に記憶されている宣言に関連付けることができる。クレームプロパティ340の例は、クレーム値照合エンティティの識別子またはその照合の終了の識別子である。
本明細書で説明されるいくつかの実施形態では、クレームアイデンティティ310、クレーム330、クレームプロパティ340、クレームプリンシパル320に関連付けられたフィールドがある。クレーム330は、クレームタイプ、クレーム値、クレーム値タイプ、プロパティコレクション、発行者、対象者(図示せず)のフィールドを含むことができる。本明細書で説明されるいくつかの実施形態では、クレームアイデンティティ310は、クレームのコレクション、ラベル、委任アイデンティティ(図示せず)のフィールドを含むことができる。クレームプリンシパル320は、アイデンティティコレクション(図示せず)のフィールドを含むことができる。当業者は、種々のフィールドは、文字列形態で実装されてもよいが、フィールドの他の表示も可能であることを理解できるであろう。
図3に示されるように、エンティティ関係図は、データモデルの基本要素間の関係を示す。クレーム330は、クレームアイデンティティ310およびクレームプロパティ340と直接的な関係を有する。クレームアイデンティティ310は、クレーム330およびクレームプリンシパル320と直接的な関係を有することができる。クレーム330は、複数(0〜N)のクレームアイデンティティ310を含むことができる。また、複数のクレーム330は、クレームアイデンティティ310によって発行することができる。クレーム330は、複数のクレームプロパティ340を有することができる。また、クレームプリンシパル320は、複数のクレームアイデンティティを含むことができる。
クレームアイデンティティ310は、0または複数のクレーム330を所有し、0から1つのクレームアイデンティティ310を委任することができる。委任については、図4に関して、より詳細に説明する。上述したように、クレームアイデンティティ310は、クレームを発行するエンティティを表すのにも使用される。本明細書で説明されるいくつかの実施形態では、クレームは、クレームが関係する情報に関して自己完結型である。クレームのコンテンツ、クレームが参照するクレームとエンティティとの関係、クレームを発行するエンティティ(単数または複数)間の関係を理解するのに追加のデータが通信される必要はない。
データモデル300は、クレームベースのアイデンティティシステムの主エンティティ間の関係を示す。しかし、クレームベースのアイデンティティシステムにおいて重要な要素は、1つのエンティティが別のエンティティとして動作する場合である。これは、アイデンティティ委任と呼ばれる。
図4は、委任システムの動作例を示すブロック図400である。ブロック図400は、クライアント410、企業サーバ(複数可)420、バックエンドユニット(複数可)430を含む。本明細書で説明されるいくつかの実施形態では、ファイアウォールまたは他の既知のセキュリティ装置(図示せず)が少なくとも1つの企業サーバ420および少なくとも1つのデータベース430へのアクセスを承認する。クライアントのユーザは、既知のセキュリティ方法(例えば、トークン、ユーザ名/パスワード、および他の既知の方法)を使用して、企業サーバ(複数可)420にアクセスする。本明細書で説明されるいくつかの実施形態では、クレームシリアライゼーションを使用して、クライアント410と企業サーバ(複数可)420との間、企業サーバ(複数可)420とバックエンドユニット330との間でクレームを送信することができる。例えば、クレームをトークンに変換して、要素間で送信することができる。
アイデンティティ委任システムでは、企業サーバ(複数可)420は、元の要求者(クライアント)が自身の要求を満たすためにバックエンドユニット(複数可)430にアクセスする時に、そのクライアントとして動作することができる。本明細書で説明されるいくつかの実施形態では、信頼できる第三者の要求者(図示せず)も元の要求者として動作することができる。この場合、クライアント410は、信頼できる第三者の要求者に代わりにクレームを発行してもらえるか尋ねる。第三者の要求者は、クライアント410のアイデンティティを承認して、クライアントに代わってクレームを発行する。本明細書で説明されるいくつかの実施形態では、バックエンドユニット(複数可)430におけるクレーム処理サービスは、発信者のアイデンティティの委任プロパティを見てエンティティを見分けることができる。ここで示されるモデル400により、元の発信者(クライアント410)のアイデンティティと中間処理ユニット(企業サーバ(複数可)420)のアイデンティティとの両方がバックエンド処理ユニット(複数可)330に可視となる。本明細書で説明されるいくつかの実施形態では、元の発信者のアイデンティティ(クライアント310)は最上位のクレームアイデンティティにあり、個々の仲介者のアイデンティティは、元の発信者のアイデンティティから、呼び出しが仲介者に渡った同じ順序でつながれることになる。
図3にもどって、データモデル300のアイデンティティ(またはエンティティ)の委任を表すのに、委任構造が存在する。表1は、さらにエンティティ構造の表示例を示している。
(表1)
Figure 0005513500
図5は、使用される方法500を示すフロー図である。方法500の実行は、クレーム生成ブロック510で始まり、アイデンティティブロック550におけるクレーム基づくサーバ認証へと続く。プロセスブロック510では、図3に関して上述したデータモデルを使用して、クライアントを表すクレームセットが生成される。図3に関して上述したデータモデルに従って、クレームセット内の各クレームは、クレーム発行者による宣言を作成するエンティティを示す特定のアイデンティティに関連付けられる。本明細書で説明されるいくつかの実施形態では、クレームセットが発行者によって生成されると、クレームは、通常は、(SAML)のようなセキュリティトークンの形態でまとめてパッケージ化され、クライアントに送信される。図4に関して上述したように、クレームセットは信頼できる第三者(図示せず)によって発行されてもよい。信頼できる第三者は、クライアントのアイデンティティを承認し、代わりにクレームを発行する。本明細書で説明されるいくつかの実施形態では、その後、クライアントは、処理ブロック520で示されるように、パッケージ化されたクレームを中間処理ユニットに送信する。当業者は、他の送信方法も可能であり、これは方法の範囲を制限するものではないことを理解するであろう。セキュリティトークンは、中間処理ユニットによって受信され、中間処理ユニットによって、周知のプロセスを使用してクレームセットと共にクレームアイデンティティに変換される。
プロセスブロック530では、中間処理ユニットは、バックエンドユニットと通信する前に、バックエンドユニットによって信頼されているクレーム発行者によって発行されたパッケージ化されたクレーム(例えば、セキュリティトークン)を取得する必要がある。本明細書で説明されるいくつかの実施形態では、中間ユニットは自身のアイデンティティとクライアントのアイデンティティとの両方をクレーム発行者に送信する。クレーム発行者は、両方のアイデンティティからの情報を変換し組み合わせて、アイデンティティ委任チェーン情報を形成する適切な関係(中間ユニットを介してクライアントが呼び出しを行う)で中間ユニットのアイデンティティとクライアントのアイデンティティとの両方を表すパッケージ化されたクレームセット、つまりセキュリティトークンを中間ユニットに送り返す。当業者は、本発明の方法は、1つの処理ユニットに限定されず、複数の処理ユニットがある場合には、各処理ユニットが対応するクレーム発行者によって別のアイデンティティとしてアイデンティティ委任チェーンに追加できることを理解できるであろう。処理ブロック440では、中間サーバがセキュリティトークンをバックエンド処理ユニットに送信する。本明細書で説明されるいくつかの実施形態では、バックエンド処理ユニットまたはデータベースは、セキュリティトークンを受信し、セキュリティトークンをクレームアイデンティティに変換する。クライアントのアイデンティティは、中間サーバのアイデンティティと同じようにバックエンド処理ユニットには可視である。つまり、クライアントのアイデンティティは与えられた最上位のアイデンティティで表わされ、中間ユニットのアイデンティティはクライアントのアイデンティティに関する委任プロパティを使用してクライアントのアイデンティティに添付されることになる。処理ブロック450では、バックエンドサーバは、中間サーバおよびクライアントの両方のアイデンティティを受けてセキュリティに関する決定を行うことができる。
この例では、本発明の方法は、クライアントのアイデンティティと中間サーバのアイデンティティとを共につなぐ方法とした。当業者は、本発明の方法がバックエンド処理ユニットに達する前に複数の中間サーバを共につなぐことも可能であることを理解できるであろう。この場合、クライアントのアイデンティティと複数の中間サーバのアイデンティティとが、バックエンド処理ユニットに可視となる。
上述したように、本明細書で説明されるいくつかの実施形態では、データモデル300は、.NETプラットフォーム上に存在してもよい。当業者は、データモデルが.NETプラットフォームに限定されず、例えば、JAVA(登録商標)などの他のプラットフォームにも適用できることを理解できるであろう。データモデル300は、既存の.NETアイデンティティモデルに統合できる構造であり、アプリケーションコードをさらに符号化または調整せずに、既存の.NETアプリケーションによって採用可能である。表5に、データモデル300の.NETへの統合を示すC#疑似コードの表示例を示す。
(表5)
Figure 0005513500
当業者は、プログラム命令を記憶するのに使用される記憶装置がネットワークにわたって分散されてもよいことを理解するであろう。例えば、リモートコンピュータは、ソフトウェアとして記述されるプロセスの例を記憶することができる。ローカルまたはターミナルコンピュータは、リモートコンピュータにアクセスして、プログラムを実行するソフトウェアの一部または全てをダウンロードすることができる。あるいは、ローカルコンピュータは、必要に応じてソフトウェアをダウンロードしてもよいし、またはローカル端末でいくつかのソフトウェア命令を実行し、リモートコンピュータ(またはコンピュータネットワーク)でいくつかのソフトウェア命令を実行してもよい。また、当業者は、当業者に既知の従来の技術を使用することで、ソフトウェア命令の全てまたは一部が、DSP、プログラム可能な論理アレイなどの専用回路によって実行されてもよいことを理解するであろう。

Claims (20)

  1. セキュリティアイデンティティを表すためのデータモデルを実行するように構成されたコンピュータを備えるシステムであって、前記データモデルは、
    なくとも1つの他のエンティティに対する複数の属性によって示されるエンティティのアイデンティティを表す少なくとも1つのアイデンティティコンポーネント、
    前記エンティティのアイデンティティに関連付けられたセキュリティ情報を表す少なくとも1つのアイデンティティ・プリンシパル・コンポーネント、
    前記エンティティによって少なくとも1つの他のエンティティに対して作成された宣言を表す少なくとも1つのクレームコンポーネント、および
    前記宣言に関連付けられたメタデータを表す少なくとも1つのクレーム・プロパティ・コンポーネントを備え、
    少なくとも1つのクレームを表すために、前記アイデンティティコンポーネント、アイデンティティ・プリンシパル・コンポーネント、クレームコンポーネント、クレーム・プロパティ・コンポーネントが組み合わされ、
    前記データモデルが前記エンティティまたは前記データモデルを作成したコンピュータから他のエンティティに送られ、
    前記他のエンティティは、前記エンティティまたは前記データモデルを作成したコンピュータから受け取ったデータモデルを使用することにより前記エンティティのアイデンティティを認証することを特徴とするシステム
  2. 前記アイデンティティコンポーネントは、前記クレームのコレクション、ラベル、および委任アイデンティティのフィールドを含むことを特徴とする請求項1に記載のシステム
  3. 前記アイデンティティ・プリンシパル・コンポーネントは、アイデンティティコレクションのフィールドを含むことを特徴とする請求項1に記載のシステム
  4. 前記クレームコンポーネントは、前記クレームのタイプ、クレーム値、クレーム値タイプ、プロパティコレクション、発行者、および対象者のフィールドを含むことを特徴とする請求項1に記載のシステム
  5. 前記少なくとも1つのクレーム・プロパティ・コンポーネントは、前記各々の少なくとも1つのクレームコンポーネントに関連付けられ、前記少なくとも1つのクレームコンポーネントは、前記少なくとも1つのアイデンティティ・プリンシパル・コンポーネントに関連付けられ、前記少なくとも1つのクレーム・プロパティ・コンポーネントは、前記少なくとも1つのクレームコンポーネントに関連付けられることを特徴する請求項1に記載のシステム
  6. 前記少なくとも1つのクレーム・アイデンティティ・コンポーネントは、1つのクレームコンポーネントに関連付けられることを特徴とする請求項1に記載のシステム
  7. 前記データモデルを作成したコンピュータにより前記クレームがセキュリティトークンに変換されることをさらに含むことを特徴とする請求項1に記載のシステム
  8. エンティティのアイデンティティを少なくとも1つの他のエンティティに対する複数の属性として表す第1のパラメータ、
    前記エンティティのアイデンティティに関連付けられたセキュリティ情報を表す第2のパラメータ、
    前記エンティティによって前記少なくとも1つの他のエンティティに対して作成された宣言を表す第3のパラメータ、
    前記宣言に関連付けられたメタデータを表す第4のパラメータ、および
    前記第1〜第4のパラメータを格するステップと
    当該格納された第1〜第4のパラメータを使用することにより前記エンティティのアイデンティティを認証するステップと
    、コンピュータに実行させるプログラム
    を記憶していることを特徴とするコンピュータ可読記憶媒体。
  9. 前記第1のパラメータは、クレーム・アイデンティティ・パラメータであることを特徴とする請求項8に記載のコンピュータ可読記憶媒体。
  10. 前記第2のパラメータは、アイデンティティ・プリンシパル・パラメータであることを特徴とする請求項8に記載のコンピュータ可読記憶媒体。
  11. 前記第3のパラメータは、クレームパラメータであることを特徴とする請求項8に記載のコンピュータ可読記憶媒体。
  12. 前記第4のパラメータは、クレーム・プロパティ・パラメータであることを特徴とする請求項8に記載のコンピュータ可読記憶媒体。
  13. 前記クレーム・アイデンティティ・パラメータは、レームのコレクション、ラベル、および委任アイデンティティのフィールドを含むことを特徴とする請求項9に記載のコンピュータ可読記憶媒体。
  14. 前記アイデンティティ・プリンシパル・パラメータは、前記アイデンティティのコレクションのフィールドを含むことを特徴とする請求項10に記載のコンピュータ可読記憶媒体。
  15. 前記クレームパラメータ、クレームのタイプ、クレーム値、クレーム値タイプ、プロパティコレクション、発行者、および対象者のフィールドを含むことを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  16. 第1のコンピュータが、第1のエンティティに関連付けられている第1のセキュリティ識別子を発行するステップ、
    前記第1のコンピュータが、前記第1のセキュリティ識別子を少なくとも1つの処理サーバに送信するステップ、
    第2のコンピュータが、第2のエンティティに関連付けられている第2のセキュリティ識別子を発行するステップであって、前記第2のセキュリティ識別子には前記第1のセキュリティ識別子が組み込まれている、第2のセキュリティ識別子を発行するステップ、および
    第3のコンピュータが、前記第2のセキュリティ識別子を受信し、前記第1のエンティティに関して、前記第2のセキュリティ識別子に基づいて認証決定を行うことを特徴とする方法。
  17. 前記第1のセキュリティ識別子は少なくとも1つのクレームを含み、前記第2のセキュリティ識別子は少なくとも1つのクレームを含むことを特徴とする請求項16に記載の方法。
  18. 前記少なくとも1つのクレームは、エンティティに関する宣言を含むことを特徴とする請求項17に記載の方法。
  19. 前記第1のコンピュータで、前記第1のセキュリティ識別子を第1のセキュリティトークンにパッケージ化して前記第2のコンピュータに送信するステップおよび前記第2のコンピュータで前記第2の識別子を前記第2のセキュリティトークンにパッケージ化して前記第3のコンピュータに送信するステップをさらに含むことを特徴とする請求項16に記載の方法。
  20. 前記第3のコンピュータは、前記第1のエンティティのアイデンティティに関して、前記第2のセキュリティ識別子の中に組み込まれた第1のセキュリティ識別子に基づいて認証決定を行うことを特徴とする請求項16に記載の方法。
JP2011517472A 2008-07-07 2009-06-26 クレームを使用したセキュリティアイデンティティの表示 Expired - Fee Related JP5513500B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US7867308P 2008-07-07 2008-07-07
US61/078,673 2008-07-07
US12/485,859 2009-06-16
US12/485,859 US8910257B2 (en) 2008-07-07 2009-06-16 Representing security identities using claims
PCT/US2009/048893 WO2010005813A2 (en) 2008-07-07 2009-06-26 Representing security identities using claims

Publications (3)

Publication Number Publication Date
JP2011527482A JP2011527482A (ja) 2011-10-27
JP2011527482A5 JP2011527482A5 (ja) 2012-08-09
JP5513500B2 true JP5513500B2 (ja) 2014-06-04

Family

ID=41463919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011517472A Expired - Fee Related JP5513500B2 (ja) 2008-07-07 2009-06-26 クレームを使用したセキュリティアイデンティティの表示

Country Status (5)

Country Link
US (1) US8910257B2 (ja)
EP (1) EP2321760B1 (ja)
JP (1) JP5513500B2 (ja)
CN (1) CN102084374B (ja)
WO (1) WO2010005813A2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776255B2 (en) 2010-09-30 2014-07-08 Microsoft Corporation Claims-aware role-based access control
US8528069B2 (en) * 2010-09-30 2013-09-03 Microsoft Corporation Trustworthy device claims for enterprise applications
US9237155B1 (en) 2010-12-06 2016-01-12 Amazon Technologies, Inc. Distributed policy enforcement with optimizing policy transformations
US8769642B1 (en) * 2011-05-31 2014-07-01 Amazon Technologies, Inc. Techniques for delegation of access privileges
US9507927B2 (en) * 2011-09-30 2016-11-29 Oracle International Corporation Dynamic identity switching
US20130275282A1 (en) * 2012-04-17 2013-10-17 Microsoft Corporation Anonymous billing
US9356918B2 (en) * 2013-03-13 2016-05-31 Google Inc. Identification delegation for devices
US10104090B2 (en) * 2015-08-25 2018-10-16 Oracle International Corporation Restrictive access control for modular reflection
US10360008B2 (en) 2016-09-16 2019-07-23 Oracle International Corporation Metadata application constraints within a module system based on modular encapsulation
US11328115B2 (en) 2018-05-10 2022-05-10 Microsoft Technology Licensing, Llc. Self-asserted claims provider
US11870766B2 (en) 2020-12-16 2024-01-09 Microsoft Technology Licensing, Llc. Integration of legacy authentication with cloud-based authentication

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698381B2 (en) * 2001-06-20 2010-04-13 Microsoft Corporation Methods and systems for controlling the scope of delegation of authentication credentials
US20030074579A1 (en) 2001-10-16 2003-04-17 Microsoft Corporation Virtual distributed security system
US7221935B2 (en) 2002-02-28 2007-05-22 Telefonaktiebolaget Lm Ericsson (Publ) System, method and apparatus for federated single sign-on services
US8037299B2 (en) 2002-06-18 2011-10-11 Ericsson Ab Domain-less service selection
US7200674B2 (en) * 2002-07-19 2007-04-03 Open Invention Network, Llc Electronic commerce community networks and intra/inter community secure routing implementation
US7526798B2 (en) * 2002-10-31 2009-04-28 International Business Machines Corporation System and method for credential delegation using identity assertion
US8108920B2 (en) * 2003-05-12 2012-01-31 Microsoft Corporation Passive client single sign-on for web applications
US8528063B2 (en) * 2004-03-31 2013-09-03 International Business Machines Corporation Cross domain security information conversion
US7454623B2 (en) * 2004-06-16 2008-11-18 Blame Canada Holdings Inc Distributed hierarchical identity management system authentication mechanisms
US8607322B2 (en) 2004-07-21 2013-12-10 International Business Machines Corporation Method and system for federated provisioning
CN101069402B (zh) * 2004-10-26 2010-11-03 意大利电信股份公司 透明地验证访问web服务的移动用户的方法和系统
US20070094400A1 (en) 2005-10-20 2007-04-26 Childress Rhonda L Software installation within a federation
CN100401687C (zh) 2005-10-20 2008-07-09 华为技术有限公司 网络中的个人数据搜索系统和方法
GB0523871D0 (en) 2005-11-24 2006-01-04 Ibm A system for updating security data
US8418234B2 (en) 2005-12-15 2013-04-09 International Business Machines Corporation Authentication of a principal in a federation
US7788499B2 (en) 2005-12-19 2010-08-31 Microsoft Corporation Security tokens including displayable claims
JP2007179171A (ja) 2005-12-27 2007-07-12 Internatl Business Mach Corp <Ibm> 秘密保持が要求されるモデル用のソフトウエア開発装置
US8117459B2 (en) 2006-02-24 2012-02-14 Microsoft Corporation Personal identification information schemas
US8201215B2 (en) * 2006-09-08 2012-06-12 Microsoft Corporation Controlling the delegation of rights
US7676586B2 (en) 2006-10-05 2010-03-09 Microsoft Corporation Hierarchical federation metadata
US20080263644A1 (en) * 2007-04-23 2008-10-23 Doron Grinstein Federated authorization for distributed computing

Also Published As

Publication number Publication date
WO2010005813A2 (en) 2010-01-14
EP2321760A2 (en) 2011-05-18
CN102084374B (zh) 2013-08-07
EP2321760B1 (en) 2020-08-19
US8910257B2 (en) 2014-12-09
CN102084374A (zh) 2011-06-01
US20100001833A1 (en) 2010-01-07
EP2321760A4 (en) 2016-10-26
JP2011527482A (ja) 2011-10-27
WO2010005813A3 (en) 2010-03-11

Similar Documents

Publication Publication Date Title
JP5513500B2 (ja) クレームを使用したセキュリティアイデンティティの表示
KR101150108B1 (ko) 피어-투-피어 인증 및 허가
US7698375B2 (en) Method and system for pluggability of federation protocol runtimes for federated user lifecycle management
US8607322B2 (en) Method and system for federated provisioning
US8528058B2 (en) Native use of web service protocols and claims in server authentication
US8181225B2 (en) Specializing support for a federation relationship
TWI439883B (zh) 在聯合環境中供識別提供者用之數位權利管理(drm)致能之策略管理
US20080010665A1 (en) Method and system for policy-based initiation of federation management
EP3424176A1 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
Squicciarini et al. PP-trust-X: A system for privacy preserving trust negotiations
US20060048216A1 (en) Method and system for enabling federated user lifecycle management
US20060021018A1 (en) Method and system for enabling trust infrastructure support for federated user lifecycle management
US20060021017A1 (en) Method and system for establishing federation relationships through imported configuration files
TW201025068A (en) Digital rights management (DRM)-enabled policy management for a service provider in a federated environment
US8479006B2 (en) Digitally signing documents using identity context information
Bhatti et al. An integrated approach to federated identity and privilege management in open systems
CN111177246A (zh) 一种业务数据的处理方法及装置
Singh et al. Identity management in cloud computing through claim-based solution
Koshutanski et al. Distributed identity management model for digital ecosystems
Al-Sinani et al. Client-based cardspace-openid interoperation
Breggeman An Authentication Service for Domestic Self-Hosting
Koshutanski et al. Towards user-centric identity interoperability for digital ecosystems
Ma et al. Authentication delegation for subscription-based remote network services
Akram et al. User-centric identity management in ambient environments
Shin Web services

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120620

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120620

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140327

R150 Certificate of patent or registration of utility model

Ref document number: 5513500

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees