JP2017523508A - セキュアな統合型クラウドストレージ - Google Patents

セキュアな統合型クラウドストレージ Download PDF

Info

Publication number
JP2017523508A
JP2017523508A JP2016572396A JP2016572396A JP2017523508A JP 2017523508 A JP2017523508 A JP 2017523508A JP 2016572396 A JP2016572396 A JP 2016572396A JP 2016572396 A JP2016572396 A JP 2016572396A JP 2017523508 A JP2017523508 A JP 2017523508A
Authority
JP
Japan
Prior art keywords
cloud storage
storage server
client
server
ucd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016572396A
Other languages
English (en)
Inventor
ホゥ,ジーユエン
ウー,リン
イエン,シュエチアン
ルオ,ジーガン
Original Assignee
アルカテル−ルーセント
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 アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2017523508A publication Critical patent/JP2017523508A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • 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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

クライアントが、第1のサービスプロバイダと関連を持ち得る第1のクラウドストレージサーバによって認証されることを要求する。識別子連携要求が、クライアントから第1のクラウドストレージサーバに送信され、識別子連携要求は、第1のクラウドストレージサーバ上のクライアントのユーザアカウントを、第2のサービスプロバイダと関連を持ち得る第2のクラウドストレージサーバ上のクライアントのユーザアカウントと連携するよう求める。クライアントは、第1のクラウドストレージサーバから第2のクラウドストレージサーバへとリダイレクトされる。クライアントが、第2のクラウドストレージサーバによって認証されることを要求し、認証されれば、第2のクラウドストレージサーバが、第1のクラウドストレージサーバ上のユーザアカウントを第2のクラウドストレージサーバのユーザアカウントとマッピングし、それらの間に識別子連携を成立させる。

Description

本出願は、概してデータストレージシステムに関し、より詳細には、セキュアな統合型クラウドストレージを実装するための技法に関する。
本項では、本発明をより良く理解するのに有用であり得る諸態様を紹介する。よって本項の記述は、かかる観点から読まれるべきであり、先行技術が含む要素の有無に関する自認として理解されてはならない。
「クラウド」という用語は、通常、クラウドコンピューティングの枠組みを実装する集合的なコンピューティングインフラを指す。たとえば、米国国立標準技術研究所(NIST Special Publication No.800−145)によれば、クラウドコンピューティングとは、構成可能なコンピューティングリソース(たとえば、ネットワーク、サーバ、ストレージ、アプリケーション、およびサービス)の共有プールに対する、ユビキタスかつオンデマンドの利便性の高いネットワークアクセスを可能にするためのモデルとみなすことができる。こうしたコンピューティングリソースは、最低限の管理作業またはサービスプロバイダとの対話により、迅速にプロビジョニングし、リリースすることが可能である。
また、クラウドベースのコンピューティングシステムは、通例、ハイパーバイザを利用することによって「仮想化」機能を実装することができる。ハイパーバイザとは、物理的なコンピューティングシステムの最上位で実行され、仮想マシンや論理(ストレージ)ユニットといった仮想資産を作成および管理するソフトウェアプログラムである。ハイパーバイザは、その物理的コンピューティングシステムが持つハードウェアリソースを、動的かつ透過的な形で仮想資産に割り当てる。
よって、「クラウドストレージ」とは、仮想化されたストレージプールにデータが格納される、ネットワーク化されたオンラインストレージであるとみなされる。たとえば、こうしたクラウドストレージを備えたデータセンタをサービスプロバイダが運営し、そのサービスプロバイダを通じて自身のデータをホスティングしたいと思う顧客が同プロバイダからストレージ容量を購入またはリースするといったことが考えられる。サービスプロバイダは、必要な分のリソースを動的かつ透過的に仮想化し、ストレージプールとして公開する。顧客はそのストレージプールをデータ格納のために利用する。限定するものではないが、企業レベルのクラウドデータストレージサービスから顧客レベルのファイルホスティングサービスまで、種々のクラウドストレージサービスが数多くのサービスプロバイダによって提供されていることは知られている(このようなサービスはSaaS(Storage−as−a−Service)としても知られている)。しかしながら、サービスプロバイダが提供するさまざまなクラウドストレージサービスの1つ1つに対し、通例は異なるSaaSアプリケーションプログラミングインタフェース(API)が存在していることも認識されている。このAPIに関する不統一性により、こうした種々のクラウドストレージサービスへのアクセスに必要なAPIの数は、法外なほど多くなる。
上記の問題を解決する試みとして、Open Mobile Alliance(OMA)は、Unified Cloud Disk(UCD)という手法を提案している。これについては、たとえば、OMA Work Item DocumentのW0273番、2012年9月4日付けのUnified Cloud Disk V1.0と題された文書に概説されている。UCDのフレームワークは、モバイルオペレータ(ここではサービスプロバイダ)のモバイルクラウドコンピューティング環境に、統合型クラウドストレージシステムを提供するものである。このUCDフレームワークでは、モバイルユーザまたはアプリケーションは、標準SaaSアプリケーションプログラミングインタフェース(API)の使用を通じて、複数のモバイルオペレータにまたがる連携型(統合型)クラウドストレージにデータを格納することが可能となる。
NIST Special Publication No.800−145 OMA Work Item Document、W0273、Unified Cloud Disk V1.0、2012年9月4日 Cantor、Scott、Kemp、John、Champagne、Darryl編、「Liberty ID−FF Bindings and Profiles Specification」、Version1.2−errata−v2.0、Liberty Alliance Project、2004年9月12日 Cantor、Scott、Kemp、John編、「Liberty ID−FF Protocols and Schema Specification」、Version1.2−errata−v3.0、Liberty Alliance Project、2004年9月12日
本発明の例示的実施形態は、セキュアな統合型クラウドストレージのための技法および装置を提供するものである。各実施形態は多種多様なデータストレージシステムに適用可能であるが、1つ以上の実施形態はUCDフレームワークでの使用に特によく適合する。
たとえば、一実施形態では、方法が以下のステップを含む。クライアントが、第1のサービスプロバイダと関連を持ち得る、第1のクラウドストレージサーバによって認証されることを要求する。識別子連携要求が、クライアントから第1のクラウドストレージサーバに送信される。このとき、識別子連携要求は、第1のクラウドストレージサーバ上のクライアントのユーザアカウントを、第2のサービスプロバイダと関連を持ち得る第2のクラウドストレージサーバ上のクライアントのユーザアカウントと連携するよう求める。クライアントは、第1のクラウドストレージサーバから第2のクラウドストレージサーバへとリダイレクトされる。クライアントが、第2のクラウドストレージサーバによって認証されることを要求し、認証されれば、第2のクラウドストレージサーバが、第1のクラウドストレージサーバ上のユーザアカウントを第2のクラウドストレージサーバのユーザアカウントとマッピングし、それらの間に識別子連携を成立させる。クライアントは、第2のクラウドストレージサーバから第1のクラウドストレージサーバへとリダイレクトされ、このとき、識別子連携が成立したことの確認を受信してもよい。他の実施形態は、シングルサインオン方法、シングルログアウト方法、および識別子連携解除方法を含む。
別の実施形態では、1つ以上のソフトウェアプログラムの実行可能コードが内部に符号化されたプロセッサ可読記憶媒体を備えた、製品が提供される。この1つ以上のソフトウェアプログラムは、少なくとも1つの処理デバイスによって実行されると、上記の方法のステップを実施する。
さらに別の実施形態では、装置が、メモリと、上記の方法に含まれるステップを遂行するように構成されたプロセッサとを備える。
UCDの一例では、クライアントはUCDクライアントを含み、第1のクラウドストレージサーバはスレーブUCDサーバを含み、第2のクラウドストレージサーバはマスタUCDサーバを含む。
有利には、例示的実施形態は、各セキュリティ技法をUCDフレームワークにおいて統合する。
本発明が有する、これらおよび他の特徴や利点は、添付図面および以下の詳細な説明から、より明白なものとなろう。
本発明の1つ以上の実施形態が実装された統合型データストレージシステム環境を示す図である。 本発明の一実施形態による、識別子連携要求に関する方法体系を示す図である。 本発明の一実施形態による、シングルサインオンに関する方法体系を示す図である。 本発明の一実施形態による、シングルログアウトに関する方法体系を示す図である。 本発明の一実施形態による、識別子連携解除要求に関する方法体系を示す図である。 本発明の1つ以上の実施形態による統合型データストレージシステムおよび方法体系が実装された、処理プラットフォームを示す図である。
本明細書では、例示的なコンピューティングシステム、データストレージシステム、通信システム、処理プラットフォーム、ネットワーク、ユーザデバイス、ネットワークノード、ネットワーク要素、クライアント、サーバ、および関連する通信プロトコルを参照しながら、本発明の例示的実施形態について記述する。たとえば、例示する実施形態は、とりわけ統合型クラウドディスク(UCD)環境での使用によく適する。とはいえ、本発明の実施形態は、記述される特定の構成による使用に限定されることはなく、より一般的にはセキュアな統合型データストレージ機能の提供によってパフォーマンスを向上させることが望ましい、あらゆる環境に広く適用可能であることを理解すべきである。
本明細書で用いられる場合、「クライアント」という用語は、エンドユーザ(たとえば顧客)向けの機能やサービスを実行するようにプログラミングおよび/または構成された、ソフトウェア、ハードウェア、またはそれらの組合せを例示的に指している。「サーバ」という用語は、サービスプロバイダ向けの機能やサービスを、通常はエンドユーザ(たとえば顧客)からの要求に応答して実行するようにプログラミングおよび/または構成された、ソフトウェア、ハードウェア、またはそれらの組合せを例示的に指している。処理デバイスは、ある目的のためにはクライアントとして動作し、また別の目的のためにはサーバとして動作するようにプログラミングおよび/または構成されてもよいし、あるいは専用クライアントや専用サーバとして動作するようにプログラミングおよび/または構成されてもよい。以降、こうした文脈において、「UCDクライアント」や「UCDサーバ」が参照される(たとえば、以下でさらに説明するように、マスタUCDサーバ、スレーブUCDサーバなど)。これらは、UCD環境において動作するクライアント要素およびサーバ要素である。
上述したように、UCDが提供するクラウドストレージのフレームワークは、顧客が異なるクラウドストレージサービスおよびプロバイダにまたがってデータを格納することを選択する際に、顧客が多くの異なるAPIを利用しなくてはならないという問題を克服するために提案されたものである。例として、異なるサービスプロバイダが維持する異なるクラウドストレージサービス間を横断してファイルを格納することを望む顧客を考えたい。UCDフレームワークの登場以前であれば、顧客のクライアントデバイスは、異なるサービスプロバイダのサーバにアクセスするために別々の異種のインタフェースを使用することになっただろう。しかし、UCDフレームワークを用いれば、顧客は標準インタフェースを介して、複数の異なるサービスプロバイダにアクセスすることができる。
図1は、統合型クラウドストレージシステム100(たとえば、UCDシステム)を示しており、顧客(たとえば、顧客102−1、102−2、…、102−M)はクライアントを介して、各々が1つ以上のサーバを備える複数の異なるクラウドストレージシステム(104−1、104−2、…、104−N)に、標準SaaS API106を通じてアクセスすることができる。たとえば、初めに顧客102−1のクライアント(UCDクライアント)が、API106を通じて、各クラウドストレージシステム104−1、104−2、…、104−Nのサーバ(UCDサーバ)に登録を行うと仮定する。その後、顧客102−1のクライアントは、単一の標準インタフェース、すなわち標準SaaSAPI106を通じて、さまざまなクラウドストレージシステムの各々に含まれるデータにアクセス(たとえば、格納や取得)することが可能となる。かかるシステムは「連携型クラウドストレージ」と呼ばれる。その理由は、クライアントは、共通のインタフェースを通じて、異なるクラウドストレージシステムの組合せにまたがって格納されたデータにアクセスすることができ、したがってそれらのストレージシステムが統合型クラウドストレージシステムを形成するためである。
ただし、他のあらゆるデータストレージに関するシナリオと同様に、UCDフレームワークにおいても、セキュリティが重要な問題となる。よって、UCDフレームワーク内の連携型クラウドストレージにアクセスしようとするUCDクライアントの識別子を認証するためのセキュリティ技法が望まれる。
セキュリティ技法の1つに、「識別子連携(アイデンティティフェデレーション)」と呼ばれるものがある。識別子連携では、ユーザは、各サービスプロバイダ用に作成されているローカルな「識別子」(たとえば、ユーザ識別子、パスワード、電子メールアドレス、個人の選好など)を連携(たとえば、リンク、接続、または結合)することができる。リンクされたローカルな識別子(「連携型識別子」と呼ばれる)を用いることで、ユーザはあるサービスプロバイダのウェブサイトにログインできるとともに、クリックして他の提携しているサービスプロバイダにアクセスすることができる。よって、識別子連携は、別個のサービスプロバイダのアカウントを1つ以上の識別子プロバイダのアカウントと統合することをユーザが選択した際に発生する。ユーザは、各プロバイダに伴う個別のアカウント情報を保持しつつ、プロバイダ間での情報のやりとりを可能にするリンクを同時に確立する。識別子連携プロトコルの一例がLiberty Alliance Projectであり、識別子連携に関するオープン標準ベースの仕様を定義している。たとえば、Cantor、Scott、Kemp、John、Champagne、Darrylが編集した「Liberty ID−FF Bindings and Profiles Specification」、Version1.2−errata−v2.0、Liberty Alliance Project、2004年9月12日(本明細書では「LibertyBindProf」と呼ぶ)や、Cantor、Scott、Kemp、Johnが編集した「Liberty ID−FF Protocols and Schema Specification」、Version1.2−errata−v3.0、Liberty Alliance Project、2004年9月12日(本明細書では「LibertyProtSchema」と呼ぶ)を参照されたい。これらの開示内容は、その全体が参照により本明細書に組み込まれる。
しかし、Liberty Alliance Projectによる仕様は、UCDフレームワークに重大なオーバヘッド負荷を課すことも、本明細書では認識されている。したがって、本発明の例示的実施形態は、UCDフレームワークなどの統合型クラウドストレージシステムでの使用を目的とした、改良型の識別子連携管理方法体系を提供する。
図2から図5に関する以下の文脈で説明されるように、本発明の例示的実施形態は、Liberty Alliance Projectによる識別子連携メッセージの適合された態様のいくつかを利用することができるUCD環境の中で実装される識別子連携方法体系を提供するものである。とはいえ、本明細書に提供される本発明の教示を踏まえれば、そのように適応した特定のLiberty Alliance Projectメッセージをそのままの方法で用いることなく、本発明の代替的実施形態が実装され得ることを理解されたい。
あるエンドユーザ(たとえば、図1の顧客102−1)が、第1のクラウドストレージサービスプロバイダ(すなわち、この例ではマスタUCDサーバ)と関連付けられた第1のクラウドストレージシステム(たとえば、図1のクラウドストレージシステム104−1)に識別子連携手順の実行を望んでいると仮定する。マスタUCDサーバは、識別子プロバイダの機能を持つUCDサーバであり(以下でさらに説明する)、マスタUCDアカウントの登録のためにエンドユーザによって選択される。一実施形態による、こうした識別子連携のための方法体系200が、UCDクライアント202、マスタUCDサーバ204、およびスレーブUCDサーバ206に関連して、図2に示されている。スレーブUCDサーバは、識別子プロバイダの機能を備える場合も備えない場合もあるUCDサーバであり、スレーブUCDアカウントの登録のためにエンドユーザによって選択される。なお、説明を簡略化するため、マスタUCDサーバ204から開始される識別子連携要求手順に関する説明は、ここでは省略する。ただし、図2についての本明細書の記述を踏まえれば、かかる手順は明白なものであり、造作なく実現することが可能である。
1つ以上の例示的実施形態において、図2に関する以下の文脈で例示的に示され説明される識別子連携手順は、図3に関する以下の文脈で例示的に示され説明されるシングルサインオン手順、図4に関する以下の文脈で例示的に示され説明されるシングルログアウト手順、および図5に関する以下の文脈で例示的に示され説明される識別子連携解除手順を実行するための前提条件となることを理解されたい。つまり、エンドユーザは、自身がシングルサインオン、シングルログアウト、および/または識別子連携解除を実行する前に、スレーブUCDサーバ内の自身のアカウントをマスタUCDサーバと連携する必要がある。ただし、本発明の個々の実施形態は、それぞれ図2から図5に描かれる、各別個の方法体系を含むことを理解されたい。
この例示的実施形態では、識別子連携の実行のためのいくつかの前提は下記の通りである:(i)IdP機能を含むUCDサーバのサービスプロバイダが、UCDサービスを提供する他のサービスプロバイダとの間で、サービスに関する契約を締結する(なお、識別子プロバイダ(IdP)は、識別子アサーションプロバイダとしても知られ、所与のシステムとの対話/サービスを提供しようとするサービスプロバイダに対し識別情報を発行する責務を負うものである)。(ii)エンドユーザが、自身のスレーブUCDサーバとするために、IdP機能を持つ場合も持たない場合もあるUCDサーバを決定し、登録してある。
方法体系200は、以下に記述する、スレーブUCDサーバ204から開始される識別子連携手順を表す(なお、以下で用いる1.、1.1、1.2、2.、…、9.、といったステップの参照番号は、図2に描かれた方法体系が有する各ステップの番号に対応する):
1.エンドユーザが、スレーブUCDサーバ206へのログインを要求する。したがって、UCDクライアント202が、ユーザ識別子(たとえば、スレーブUCDサーバ206におけるユーザアカウント識別子)を含むメッセージUserLoginRequest(HTTP要求)を、スレーブUCDサーバ206に送信する。エンドユーザがスレーブUCDサーバ206によって既に認証済みであり、ログイン状態を保っている場合、方法体系200は直接ステップ3へと進む。エンドユーザが認証済みでなければ、本方法体系は以下の通りに進行する:
1.1 スレーブUCDサーバ206がユーザの認証を要求する。メッセージには、ユーザ認証に使用するチャレンジ値またはランダム値が含まれ得る。
1.2 UCDクライアント202が、スレーブUCDサーバ204に返信する。メッセージには、ユーザ認証情報(たとえば、クレデンシャルのダイジェスト)が含まれる。
2.スレーブUCDサーバ206が、認証情報(たとえば、スレーブUCDサーバにおけるユーザアカウント識別子、クレデンシャルのユーザダイジェストなど)に従って、ユーザを認証する。
スレーブUCDサーバ206は、UCDクライアント202に対し、応答が成功したという表示と、IdP機能を持つUCDサーバのリスト(少なくとも1つのUCDサーバが含まれる)を含む、メッセージUserLoginResponseを用いて返信する。なお、エンドユーザが自身のマスタUCDサーバにログインするのであれば、このサーバリストは、スレーブUCDサーバ候補のリストとなる。しかし、ユーザが自身のスレーブUCDサーバにログインするのであれば、このサーバリストは、IdP機能をサポートする、マスタUCDサーバ候補のリストとなる。
3.エンドユーザが、UCDサーバのうちの1つを、連携を行うのに用いる自身のマスタUCDサーバとして選択する(選択されるサーバには、ユーザが既にマスタUCDアカウントを登録している)。UCDクライアント202が、スレーブUCDサーバ206に、メッセージIdentityFederationRequestを送信する。この要求メッセージには、スレーブUCDサーバにおけるユーザアカウント識別子、マスタUCDサーバにおけるユーザアカウント識別子、およびマスタUCDサーバに関する情報(たとえば、マスタUCDサーバのアドレス)が含まれる。
つまり、スレーブユーザアカウントをマスタユーザアカウントと連携するために、UCDクライアント202がスレーブUCDサーバ206に識別子連携要求を送信する。メッセージフォーマットの一例は、IdentityFederationRequest(userIdM,useIdS,serverIdM,serverIdS)である。このとき、userIdMは、マスタUCDサーバ204におけるユーザ識別子であり、userIdSは、スレーブUCDサーバ206におけるユーザ識別子であり、serverIdMは、スレーブUCDサーバ206に対する連携要求時のマスタUCDサーバ204の統一資源識別子(URI)であり、serverIdSは、マスタUCDサーバ204に対する連携要求時のスレーブUCDサーバ206のURIである。
4.スレーブUCDサーバ206が、マスタUCDサーバ204の位置情報を取得する。
5.スレーブUCDサーバ206が、メッセージRegisterNameIdentifierRequest(ステータスコードが302のHTTPメッセージ)を用いて、UCDクライアント202をマスタUCDサーバ204へとリダイレクトする。メッセージRegisterNameIdentifierRequestには、マスタUCDサーバ204のアドレス、スレーブUCDサーバ206のアドレス、マスタUCDサーバ204におけるユーザアカウント識別子、スレーブUCDサーバ206におけるユーザアカウント識別子、およびスレーブUCDサーバ証明書が含まれる。
より具体的には、この要求メッセージのフォーマットの一例は、RegisterNameIdentifierRequest(IDPProvidedNameIdentifier,SPProvidedNameIdentifier,ProviderID)、である。このとき、IDPProvidedNameIdentifierフィールドは、マスタUCDサーバにおけるユーザ識別子userIdMであり、SPProvidedNameIdentifierフィールドは、スレーブUCDサーバにおけるユーザ識別子userIdSであり、ProviderIDフィールドは、(i)serverIdM、すなわちスレーブUCDサーバに対する連携要求時のマスタUCDサーバのURI、または(ii)serverIdS、すなわちマスタUCDサーバに対する連携要求時のスレーブUCDサーバのURIのいずれか一方である。この要求メッセージは、スレーブUCDサーバ206により、デジタル的に署名される。スレーブUCDサーバ206が、マスタUCDサーバ204のデジタル署名を検証する。
連携情報を記録する前に(たとえば、マスタUCDサーバとスレーブUCDサーバの間でユーザアカウントをマッピングする前に)、マスタUCDサーバ204がユーザを認証して、マスタUCDサーバ204のユーザアカウントをスレーブUCDサーバ206のユーザアカウントと連携する権利を同ユーザが有することを保証する。いくつかの認証手続が利用可能である。1つの例示的かつ非限定的な認証手続を以下に示す:
5.1 マスタUCDサーバ204が、ユーザ認証のためにUCDクライアント202に応答する。メッセージには、ユーザ認証に使用するチャレンジ値またはランダム値が含まれ得る。
5.2 UCDクライアント202が、マスタUCDサーバ204に返信する。メッセージには、ユーザ認証情報(たとえば、ユーザクレデンシャルのダイジェスト)が含まれる。
5.3 マスタUCDサーバ204がユーザを認証する。マスタUCDサーバ204が、HTTPメッセージ200 OKを用いて、UCDクライアント202に返信する。
6.マスタUCDサーバ204が、連携情報(すなわち、マスタUCDサーバ204とスレーブUCDサーバ206の間におけるユーザアカウントのマッピング)を記録する。
7.マスタUCDサーバ204が、メッセージRegisterNameIdentifierResponse(ステータスコードが302のHTTPメッセージ)を用いて、UCDクライアント202をスレーブUCDサーバ206へとリダイレクトする。メッセージRegisterNameIdentifierResponseには、シングルサインオントークン(SSOToken)、マスタUCDサーバ識別子、スレーブUCDサーバにおけるユーザアカウント識別子、マスタUCDサーバにおけるユーザアカウント識別子、およびマスタUCDサーバ証明書が含まれる。このメッセージは、マスタUCDサーバ204により、デジタル的に署名される。
RegisterNameIdentifierResponseメッセージのフォーマットの一例は、RegisterNameIdentifierResponse(ProviderID,Status,Assertion)、である。ProviderIDフィールドは、(i)serverIdM、すなわちマスタUCDサーバからスレーブUCDサーバへのログアウト要求を用いて応答するときのマスタUCDサーバのURI、または(ii)serverIdS、すなわちスレーブUCDサーバからマスタUCDサーバへのログアウト要求に応答するときのスレーブUCDサーバのURI、のいずれか一方とすることができる。Statusフィールドは、要求された処理の結果を含んでいる。識別子連携に成功した場合、SSOTokenを含む認証アサーションが生成され、Assertionフィールドに入れられる。スレーブUCDサーバ206が、マスタUCDサーバ204のデジタル署名を検証する。
8.スレーブUCDサーバ206が、連携情報(すなわち、マスタUCDサーバ204とスレーブUCDサーバ206の間におけるユーザアカウントのマッピング)を記録する。
9.スレーブUCDサーバ206が、メッセージIdentityFederationResponseを用いて、UCDクライアント202に応答する。このメッセージが持ち得るフォーマットの一例は、IdentityFederationResponse(Result,SSOToken)、である。このとき、Resultフィールドは、要求処理の結果であり、識別子連携に成功した場合には、SSOTokenが生成され、SSOTokenフィールドでUCDクライアント202に提供される。
この例示的実施形態において、クライアントとサーバ間でのハイパーテキスト転送プロトコル(HTTP)メッセージングは、機密性およびメッセージの完全性を保つため、トランスポートレイヤセキュリティ(TLS)を用いて実装することが好ましい。TLS1.2プロトコルについては、Internet Engineering Task Force (IETF) Request for Comment standard 5246に記述されており、その開示内容全体が参照により本明細書に組み込まれる。ただし、代替的実施形態では、HTTPやTLS以外のメッセージプロトコルおよびセキュリティプロトコルが採用されてもよい。
図3は、例示的一実施形態による、シングルサインオン(SSO)方法体系300を示している(なお、以下で用いる1.、2.、…、6.、といったステップの参照番号は、図3に描かれた方法体系が有する各ステップの番号に対応する):
1.UCDクライアント202が、サービスにアクセスするために、SSOLogin要求(HTTP要求)をスレーブUCDサーバ206に送信する。このメッセージには、スレーブUCDサーバ206におけるユーザ識別子が含まれる。また、このメッセージには、有効なSSOTokenも含まれ得る。一例として、同メッセージが持ち得るフォーマットは、SSOLoginRequest(userIdS,SSOToken)であり、このときuserIdSは、スレーブUCDサーバにおけるユーザ識別子であり、SSOTokenフィールドにはSSO Tokenが含まれる。SSOトークンが入っていないか無効の場合、UCDサーバは、クラウドストレージサービスへのアクセスを許可する前に、有効なSSOトークンを取得させるためにUCDクライアントをリダイレクトする。
2.スレーブUCDサーバ206がマスタUCDサーバ204のアドレスを取得し、HTTP要求に、マスタUCDサーバ204が生成した有効な認証アサーション(SSOTokenを含む)が含まれているかどうかをチェックする。含まれていれば、本方法体系は直接ステップ6へと進む。
3.ステップ2において、有効な認証アサーションが見つからない場合、スレーブUCDサーバ206が、AuthnRequestを含むHTTP応答メッセージ(ステータスコードが302のHTTPメッセージ)を用いて、UCDクライアント202をマスタUCDサーバ204へとリダイレクトする。なお、一例として、AuthRequestは、AuthnRequest(NameIdentifier,ProviderID)、のフォーマットを持ち得る。ProviderIDフィールドはマスタUCDサーバ204のURIであり、NameIdentifierフィールドには、スレーブUCDサーバ206におけるユーザ識別子が含まれる。
認証アサーションを発行する前に、マスタUCDスレーブ204は、以下のようにしてエンドユーザを認証する:
3.1 マスタUCDサーバ204が、ユーザを認証するためにUCDクライアント202に応答する(ステータスコード401を伴うHTTPメッセージ)。メッセージには、ユーザ認証に使用するチャレンジ値またはランダム値が含まれ得る。
3.2 UCDクライアント202が、マスタUCDサーバ204に返信する。メッセージには、ユーザ認証情報(たとえば、ユーザクレデンシャルのダイジェスト)が含まれる。
3.3 マスタUCDサーバ204がユーザを認証する。マスタUCDサーバ204が、HTTPメッセージ200 OKを用いて、UCDクライアント202に返信する。
4.マスタUCDサーバ204が、ユーザに関する認証アサーション(SSOTokenを含む)を生成し、AuthnReponseを含むHTTP応答メッセージ(認証アサーションを含む)を用いて、マスタUCDサーバ204がUCDクライアント202をスレーブUCDサーバ206にリダイレクトする。なお、一例として、AuthResponseは、AuthnResponse(ProviderID,Assertion)、のフォーマットを持ち得る。ProviderIDフィールドはマスタUCDサーバ204のURIであり、Assertionフィールドが追加され、Assertionフィールドには、要求された処理の結果と、認証成功後に生成されたSSOTokenを含む認証アサーションとが含まれる。
5.スレーブUCDサーバが認証アサーションを検証する。あくまで一例として、この検証は、上述したLibertyBindProfおよびLibertyProtSchemaに記述された検証を用いて行われる。認証アサーションの検証には、その他の方法が採用されてもよい。
6.スレーブUCDサーバ206が、初めに要求されたリソース(たとえばクラウドストレージ)へのアクセスを許可または拒否するメッセージである、SSOLogin応答を用いて、UCDクライアント202に応答する。このメッセージが持つフォーマットの一例は、SSOLoginResponse(Result,SSOToken)である。このとき、Resultフィールドは要求処理の結果であり、SSOTokenフィールドは、スレーブUCDサーバ206がマスタUCDサーバ204から有効なSSOTokenを受け取った場合にはオプションである。UCDクライアント202は、SSOTokenの抽出および格納を行うことになる。
この例示的実施形態でも同様に、クライアントとサーバ間でのHTTPメッセージングは、機密性およびメッセージの完全性を保つため、トランスポートレイヤセキュリティ(TLS)を用いて実装することが好ましい。
図4は、例示的一実施形態による、マスタUCDサーバ204において開始されるシングルログアウト方法体系400を示している(なお、以下で用いる1.、1.1、1.2.、…、8.、といったステップの参照番号は、図4に描かれた方法体系が有する各ステップの番号に対応する)。なお、説明を簡略化するため、スレーブUCDサーバ206において開始される、シングルログアウト手順に関する記述は、ここでは省略する。ただし、図4についての本明細書の記述を踏まえれば、かかる手順は明白なものであり、造作なく実現することが可能である。
方法体系400は、以下の通りに進行する:
1.ユーザが、マスタUCDサーバ204へのログインを要求する。UCDクライアント202が、ユーザ識別子(たとえば、マスタUCDサーバ204におけるユーザアカウント識別子)を含むメッセージUserLoginRequestを、たとえばUserLoginRequest(UserId)といったフォーマットで送信する。ユーザがマスタUCDサーバ204によって既に認証済みであり、ログイン状態を保っている場合、本方法体系はステップ3へと進む。それ以外の場合は、:
1.1 マスタUCDサーバ204が、ユーザ認証のためUCDクライアント202に応答する。メッセージには、ユーザ認証に使用するチャレンジ値またはランダム値が含まれ得る。
1.2 UCDクライアント202が、マスタUCDサーバ204に要求を送信する。メッセージには、ユーザ認証情報(たとえば、ユーザクレデンシャルのダイジェスト)が含まれる。
2.マスタUCDサーバ204が、認証情報(たとえば、マスタUCDサーバ204におけるユーザアカウント識別子、クレデンシャルのユーザダイジェスト、など)に従ってユーザを認証し、マスタUCDサーバ204は図2に関し上述したようにメッセージUserLoginResponseを用いて、UCD202クライアントに返信する。
3.UCDクライアント202が、マスタUCDサーバ204にメッセージSingleLogoutRequestを送信する。この要求メッセージには、マスタUCDサーバ204におけるユーザアカウント識別子、スレーブUCDサーバ206におけるユーザアカウント識別子、およびスレーブUCDサーバ206に関する情報(たとえば、スレーブUCDサーバのアドレス)が含まれる。SingleLogoutRequestのメッセージフォーマットの一例として、SingleLogoutReqest(UserId,ServerId)を示す。このとき、userIdフィールドは、(i)userIdM、すなわちマスタUCDサーバからスレーブUCDサーバへのログアウト要求時のマスタUCDサーバにおけるユーザ識別子、または(ii)userIdS、すなわちスレーブUCDサーバからマスタUCDサーバへのログアウト要求時のスレーブUCDサーバにおけるユーザ識別子、のいずれか一方である。ServerIdフィールドは、userIdMまたはuserIdSに関連付けられた、マスタUCDサーバのアドレス(SingleLogoutRequestがスレーブUCDサーバからの場合)、またはスレーブUCDサーバのアドレス(SingleLogoutRequestがマスタUCDサーバからの場合)である。
4.マスタUCDサーバ204が、マスタUCDサーバ204によって発行されたSSOTokenを用いてエンドユーザがログインしている、すべてのスレーブUCDサーバを発見(たとえば、アドレスを取得)する。
5.次いで、マスタUCDサーバ204が、メッセージLogoutRequestを、UCDクライアント202からこれらのスレーブUCDサーバ(この例ではスレーブUCDサーバ206)へと別個にリダイレクトする。リダイレクトステップ5.1、5.2、および5.3は、上記の図2に関する文脈で説明したものと同様である。メッセージLogoutRequestは、マスタUCDサーバ204によって署名される。このメッセージには、スレーブUCDサーバ206のアドレス、マスタUCDサーバ204のアドレス、マスタUCDサーバ204におけるユーザアカウント識別子、スレーブUCDサーバ206におけるユーザアカウント識別子、およびマスタUCDサーバ証明書が含まれる。なお、LogoutRequestメッセージの持ち得るフォーマットの一例は、LogoutRequest(NameIdentifier,ProviderID)である。このとき、NameIdentifierフィールドは、(i)userIdM、すなわちマスタUCDサーバからスレーブUCDサーバへのログアウト要求時のマスタUCDサーバにおけるユーザ識別子、または(ii)userIdS、すなわちスレーブUCDサーバからマスタUCDサーバへのログアウト要求時のスレーブUCDサーバにおけるユーザ、のいずれか一方である。ProviderIDフィールドは、(i)serverIdM、すなわちマスタUCDサーバからスレーブUCDサーバへのログアウト要求時のマスタUCDサーバのURI、または(ii)serverIdS、すなわちスレーブUCDサーバからマスタUCDサーバへのログアウト要求時のスレーブUCDサーバのURI、のいずれか一方である。
6.スレーブUCDサーバ206が、ログアウト要求を処理する。つまり、スレーブUCDサーバ206が、マスタUCDサーバのデジタル署名を検証する。この署名が、プリンシパルの現在のセッションについて認証を行ったマスタUCDサーバ204の署名であれば、スレーブUCDサーバ206は、<NameIdentifier>要素が指すユーザのセッション、およびメッセージで供給されたあらゆるSessionIndex要素を無効化する。スレーブUCDサーバ206が、特定の要件を満たすあらゆるアサーションにログアウト要求メッセージを適用する。特定の要件の例は、(a)アサーションのSessionIndexがログアウト要求内の特定のSessionIndexとマッチする、かつ/または(b)アサーションがログアウト要求後に到着した場合でも、その他の形で有効である、などである。
7.スレーブUCDサーバ206が、メッセージLogoutResponseを用いて、UCDクライアント202をマスタUCDサーバ204へとリダイレクトする。このメッセージは、スレーブUCDサーバ206により、デジタル的に署名される。Logout Responseメッセージが持ち得るフォーマットの一例は、LogoutResponse(ProviderID,Status)である。このとき、ProviderIDフィールドは、(i)serverIdM、すなわちマスタUCDサーバからスレーブUCDサーバへのログアウトに応答するときのマスタUCDサーバのURI、または(ii)serverIdS、すなわちスレーブUCDサーバからマスタUCDサーバへのログアウトに応答するときのスレーブUCDサーバのURIのうち、いずれか一方を持つ。Statusフィールドには、要求処理の結果が含まれる。
8.スレーブUCDサーバ206の各々(上記ステップ4で説明したもの)からメッセージLogoutResponseを受信した後、マスタUCDサーバ204が、SingleLogoutResponseをUCDクライアント202へと送信し、UCDクライアント202がスレーブUCDサーバ206からログアウトしたことを確認する。メッセージフォーマットの一例は、SingleLogoutResponse(Result)であり、Resultフィールドは要求処理の結果である。
この例示的実施形態でも同様に、クライアントとサーバ間でのHTTPメッセージングは、機密性およびメッセージの完全性を保つため、トランスポートレイヤセキュリティ(TLS)を用いて実装することが好ましい。
次に、ユーザがマスタUCDサーバとの識別子連携解除の実行を望むと仮定する。図5は、そのような識別子連携解除の方法体系を示している。なお、説明を簡略化するために、スレーブUCDサーバ206から開始される識別子連携解除要求手順に関する記述は、ここでは省略する。ただし、図5についての本明細書の記述を踏まえれば、かかる手順は明白なものであり、造作なく実現することが可能である。
方法体系500は、以下に記述する、マスタUCDサーバ204から開始される識別子連携解除手順を表す(なお、以下で用いる1.、1.1、1.2、2.、…、9.、といったステップの参照番号は、図5に描かれた方法体系が有する各ステップの番号に対応する)。
1.ユーザが、マスタUCDサーバ204へのログインを要求する。UCDクライアント202が、ユーザ識別子(たとえば、マスタUCDサーバ204におけるユーザアカウント識別子)を含むメッセージUserLoginRequest(前出)を送信する。ユーザがマスタUCDサーバ204によって既に認証済みであり、ログイン状態を保っている場合、本方法体系は直接ステップ3へと進む。それ以外の場合は、:
1.1 マスタUCDサーバ204が、ユーザ認証のためUCDクライアント202に応答する。メッセージには、ユーザ認証に使用するチャレンジ値またはランダム値が含まれ得る。
1.2 UCDクライアント202が、マスタUCDサーバ204に要求を送信する。メッセージには、ユーザ認証情報(たとえば、ユーザクレデンシャルのダイジェスト)が含まれる。
2.マスタUCDサーバ204が、認証情報(たとえば、マスタUCDサーバにおけるユーザアカウント識別子、ユーザクレデンシャルのダイジェスト、など)に従ってユーザを認証し、スレーブUCDサーバのアドレスリストを含むメッセージUserLoginResponse(前出)を用いてUCDクライアント202に返信する。
3.ユーザが、連携解除するスレーブUCDサーバを選択する(すなわち、ここでは連携解除要求がスレーブUCDサーバ206に関連したものであると仮定する)。UCDクライアント202が、マスタUCDサーバ204に向けて、メッセージIdentityDefederationRequestを送信する。この要求メッセージには、マスタUCDサーバにおけるユーザアカウント識別子、スレーブUCDサーバにおけるユーザアカウント識別子、およびスレーブUCDサーバに関する情報(たとえば、スレーブUCDサーバのアドレス)が含まれる。
連携解除要求メッセージのフォーマットの一例は、IdentityDefederationRequest(userIdM,useIdS,serverIdM,serverIdS)である。このとき、userIdMは、マスタUCDサーバにおけるユーザ識別子であり、userIdSは、スレーブUCDサーバにおけるユーザ識別子であり、serverIdMは、スレーブUCDサーバuserIdSに対する連携解除要求時のマスタUCDサーバのURIであり、serverIdSは、マスタUCDサーバに対する連携要求時のスレーブUCDサーバのURIである。
4.マスタUCDサーバ204が、スレーブUCDサーバ206の位置情報を取得する。
5.マスタUCDサーバ204が、UCDクライアント202をスレーブUCDサーバ206へとリダイレクトする。このリダイレクトは、メッセージFederationTerminationNotificationを用いて遂行され、これにはスレーブUCDサーバのアドレス、マスタUCDサーバのアドレス、マスタUCDサーバにおけるユーザアカウント識別子、スレーブUCDサーバにおけるユーザアカウント識別子、およびマスタUCDサーバ証明書が含まれる。このメッセージは、マスタUCDサーバにより、デジタル的に署名される。
この連携終了通知メッセージのフォーマットの一例は、FederationTerminationNotification(NameIdentifier,ProviderID)である。このとき、NameIdentifierフィールドは、(i)userIdM、すなわちマスタUCDサーバからスレーブUCDサーバへの連携解除要求時のマスタUCDサーバにおけるユーザ識別子、または(ii)userIdS、すなわちスレーブUCDサーバからマスタUCDサーバへの連携解除要求時のスレーブUCDサーバにおけるユーザ識別子、のいずれか一方である。ProviderIDフィールドは、(i)serverIdM、すなわちマスタUCDサーバからスレーブUCDサーバへの連携解除要求時のマスタUCDサーバのURI、または(ii)serverIdS、すなわちスレーブUCDサーバからマスタUCDサーバへの連携解除要求時のスレーブUCDサーバのURI、のいずれか一方である。
スレーブUCDサーバ206が、マスタUCDサーバ204のデジタル署名を検証する。
連携に関する情報(たとえば、マスタUCDサーバとスレーブUCDサーバの間におけるユーザアカウントのマッピング)を無効化する前に、スレーブUCDサーバ206がユーザを認証して、同ユーザがその連携解除を実行する認可を有することを保証する。いくつかの認証手続が利用可能である。1つの例示的かつ非限定的な認証手続を以下に示す:
5.1 スレーブUCDサーバ206が、ユーザ認証のためUCDクライアント202に応答する。メッセージには、ユーザ認証に使用するチャレンジ値またはランダム値が含まれ得る。
5.2 UCDクライアント202が、スレーブUCDサーバ206に返信する。メッセージには、ユーザ認証情報(たとえば、ユーザクレデンシャルのダイジェスト)が含まれる。
5.3 スレーブUCDサーバ206がユーザを認証する。スレーブUCDサーバ206が、HTTPメッセージ200 OKを用いて、UCDクライアント202に返信する。
6.スレーブUCDサーバ206が、自身とマスタUCDサーバ204の間におけるユーザアカウントのマッピングを無効化(および除去/削除してもよい)する。
7.スレーブUCDサーバ206が、UCDクライアント202をマスタUCDサーバ204へとリダイレクトする。応答メッセージには、マスタUCDサーバ204を指し示すURIが含まれる。
8.マスタUCDサーバが、マスタUCDサーバ204とスレーブUCDサーバ206の間におけるユーザアカウントのマッピングを無効化(および除去/削除してもよい)する。
9.マスタUCDサーバ204が、メッセージIdentityDefederationResponseを用いて、UCDクライアント202に応答する。メッセージフォーマットの一例は、IdentityDefederationResponse(Result)であり、Resultフィールドは要求処理の結果である。
この例示的実施形態でも同様に、クライアントとサーバ間でのHTTPメッセージングは、機密性およびメッセージの完全性を保つため、トランスポートレイヤセキュリティ(TLS)を用いて実装することが好ましい。
図6は、本発明の1つ以上の実施形態によるデータストレージシステムおよび方法体系が実装される処理プラットフォームを示している。本実施形態における処理プラットフォーム600は、610、620、および630と表記する複数の処理デバイスを含むものであり、これらの処理デバイスはネットワーク640を介して相互に通信する。図示の通り、処理デバイス610はUCDクライアント(たとえば、図2から図5のUCDクライアント202)を表し、処理デバイス620はマスタUCDサーバ(たとえば、図2から図5のマスタUCDサーバ204)を表し、処理デバイス630はスレーブUCDサーバ(たとえば、図2から図5のスレーブUCDサーバ206)を表す。明示しない追加の処理デバイスが、処理プラットフォーム600の一部をなしてもよい。UCDフレームワークに含まれる1つ以上の要素(UCDクライアントやUCDサーバ)は、各々が1つ以上のコンピュータまたは他の処理プラットフォーム要素(これらは本明細書で広く「処理デバイス」と呼ばれるものの一例とみなすことができる)において動作し得ることは理解されよう。図6に示すように、こうしたデバイスは通常、少なくとも1つのプロセッサおよび関連付けられたメモリを備えており、本明細書で記述したシステムの機能および各方法体系を、インスタンス化かつ/または制御するための1つ以上の機能モジュールを実装するものである。所与の実施形態において、複数の要素またはモジュールが、単一の処理デバイスによって実装されてもよい。
処理プラットフォーム600における処理デバイス610は、メモリ616と結合されたプロセッサ614を備える。プロセッサ614は、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他のタイプの処理回路、さらには、こうした回路要素の部分または組合せを備え得る。本明細書に開示するようなシステムの構成要素は、メモリに記憶され、プロセッサ614などのプロセッサによって実行される1つ以上のソフトウェアプログラムという形で、少なくとも部分的に実装可能なものである。こうしたプログラムコードが内部に具現化されたメモリ616(または他のストレージデバイス)は、本明細書で広く非一時的プロセッサ可読(またはコンピュータ可読)記憶媒体と呼ばれるものの一例である。こうしたプロセッサ可読記憶媒体を備える製品は、本発明の実施形態とみなされる。かかる所与の製品は、たとえば、ストレージディスク、ストレージアレイ、メモリを含む集積回路など、あるストレージデバイスを備え得る。本明細書で用いる場合、「製品」という用語は、一時的な伝播信号を含まないことを理解されたい。
さらに、メモリ616は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、または他のタイプのメモリといった電子メモリを、任意の組合せで備え得る。1つ以上のソフトウェアプログラムは、処理デバイス(610など)によって実行されると、システム/方法体系200、300、400、および/または500が持つ構成要素/ステップのうち、1つ以上と関連付けられた機能を、そのデバイスに実行させる。当業者であれば、本明細書が提供した教示を踏まえ、かかるソフトウェアを容易に実装することが可能である。本発明の実施形態を具現化した、プロセッサ可読記憶媒体の他の例として、たとえば、光学ディスクや磁気ディスクも挙げられる。
また、処理デバイス610には、I/Oデバイス/ネットワークインタフェース回路612も含まれる。I/Oデバイスには、処理デバイスにデータを入力するための1つ以上の入力デバイス(たとえば、キーボード、キーパッド、マウス、タッチスクリーン、など)、ならびに、処理デバイスに関連付けられた結果を提供するための1つ以上の出力デバイス(たとえば、コンピュータディスプレイ、スクリーン、グラフィカルユーザインタフェース、など)が含まれる。ネットワークインタフェースには、処理デバイスをネットワーク(たとえば640)および他のネットワーク構成要素(たとえば620と630)とインタフェースするのに用いられる回路が含まれる。こうした回路には、当技術分野でよく知られているタイプの従来型送受信機が含まれ得る。
処理プラットフォーム600の他の処理デバイス620(I/Oデバイス/ネットワークインタフェース622、プロセッサ624、およびメモリ626を備える)と、処理デバイス630(I/Oデバイス/ネットワークインタフェース632、プロセッサ634、およびメモリ636を備える)とは、図示の処理デバイス610に関して示したものと同様に構成されると仮定する。
本明細書では、いくつかの例示的実施形態について、特定の通信プロトコルを利用する通信ネットワークおよびシステムに関連した文脈で説明したが、他の実施形態では、異なるタイプのネットワークおよびシステムが使用され得る。よって先に触れたように、本明細書で用いた「ネットワーク」または「システム」という用語は、広義に解釈されることを意図している。さらに、上述の各実施形態は例示のためのものにすぎず、いかなる形においても限定と解釈すべきでないことを強調しなければならない。他の実施形態では、ネットワーク、システム、デバイス、およびモジュールの構成は多種多様であってよく、また、セキュリティ機能を実装するために、代替的な通信プロトコル、処理ステップ、および操作が利用されてよい。他の実施形態では、ユーザデバイスおよびネットワークノードの通信方法の詳細は異なり得る。また、例示的実施形態を説明する文脈でなされた特定の仮定は、本発明の要件と解釈すべきではないことも理解されたい。本発明は、これら特定の仮定が適用されない他の実施形態においても実装可能である。以上の実施形態、および添付する特許請求の範囲に含まれる他の多数の代替的実施形態は、当業者であれば容易に理解できるものであろう。

Claims (20)

  1. クライアントが、第1のクラウドストレージサーバによる認証を要求するステップと、
    クライアントから、識別子連携要求を第1のクラウドストレージサーバに送信するステップであって、識別子連携要求が、第1のクラウドストレージサーバ上のクライアントのユーザアカウントを、第2のクラウドストレージサーバ上のクライアントのユーザアカウントと連携することを求める、送信するステップと、
    クライアントを、第1のクラウドストレージサーバから第2のクラウドストレージサーバへとリダイレクトするステップと、
    クライアントが認証されれば、第2のクラウドストレージサーバが、第1のクラウドストレージサーバ上のユーザアカウントを第2のクラウドストレージサーバのユーザアカウントとマッピングし、それらの間に識別子連携を成立させるように、クライアントが第2のクラウドストレージサーバによる認証を要求するステップと、
    クライアントを、第2のクラウドストレージサーバから第1のクラウドストレージサーバへとリダイレクトするステップとを含み、
    ステップの1つ以上が、処理デバイスによって実行される、方法。
  2. クライアントにおいて、第2のクラウドストレージサーバから、クライアントが第1のクラウドストレージサーバのサービスにサインオンするためのサインオントークンを受信するステップをさらに含む、請求項1に記載の方法。
  3. サインオントークンが第2のクラウドストレージサーバによって証明されている、請求項2に記載の方法。
  4. クライアントから第1のクラウドストレージサーバにサインオントークンを送信するステップをさらに含む、請求項2に記載の方法。
  5. サインオントークンが有効であることが検証された場合、クライアントにおいて、第1のクラウドストレージサーバから、クラウドストレージサービスにアクセスする認可を受け取るステップをさらに含む、請求項4に記載の方法。
  6. サインオントークンが有効でない場合、クライアントにおいて、第1のクラウドストレージサーバから、クラウドストレージサービスにアクセスする認可の拒否を受信し、別のサインオントークンを取得するために、第1のクラウドストレージサーバから第2のクラウドストレージサーバへとクライアントをリダイレクトするステップをさらに含む、請求項4に記載の方法。
  7. クラウドストレージサービスへのアクセスを試みるために、クライアントから第1のクラウドストレージサーバに別のサインオントークンを送信するステップをさらに含む、請求項6に記載の方法。
  8. クライアントから第2のクラウドストレージサーバに、クラウドストレージサービスからログアウトする要求を送信するステップをさらに含む、請求項5に記載の方法。
  9. 第2のクラウドストレージサーバから第1のクラウドストレージサーバへとクライアントをリダイレクトし、クライアントが第1のクラウドストレージサーバによって認証され、認証されるとクラウドストレージサービスからログアウトするステップをさらに含む、請求項8に記載の方法。
  10. クライアントにおいて、第1のクラウドストレージサーバから、クラウドストレージサービスからログアウトしたことの確認を受信するステップをさらに含む、請求項9に記載の方法。
  11. クライアントから、識別子連携解除要求を第2のクラウドストレージサーバに送信するステップであって、識別子連携解除要求は、第1のクラウドストレージサーバ上のクライアントのユーザアカウントと、第2のクラウドストレージサーバ上のクライアントのユーザアカウントとを、連携解除するよう求める、送信するステップと、
    クライアントを、第2のクラウドストレージサーバから第1のクラウドストレージサーバへとリダイレクトするステップと、
    クライアントが認証されれば、第1のクラウドストレージサーバが、第1のクラウドストレージサーバ上のユーザアカウントと、第2のクラウドストレージサーバのユーザアカウントとのマッピングを無効化または削除することにより、第1および第2のクラウドストレージサーバ上のユーザアカウント間の識別子連携を終了させるように、クライアントが第1のクラウドストレージサーバによる認証を要求する、ステップと、
    クライアントを、第1のクラウドストレージサーバから第2のクラウドストレージサーバへとリダイレクトするステップと
    をさらに含む、請求項1に記載の方法。
  12. クライアント、第1のクラウドストレージサーバ、および第2のクラウドストレージサーバが、統合型クラウドディスク(UCD)フレームワークの一部であり、クライアントがUCDクライアントを含み、第1のクラウドストレージサーバがスレーブUCDサーバを含み、第2のクラウドストレージサーバがマスタUCDサーバを含む、請求項1に記載の方法。
  13. 処理デバイスによって実行されると請求項1に記載の方法のステップを処理デバイスに遂行させる実行可能プログラムコードを内部に具現化したプロセッサ可読記憶媒体を備える、製品。
  14. メモリと、メモリに動作可能に結合され、請求項1に記載の方法のステップを遂行するように構成されたプロセッサとを備える、装置。
  15. 第1のクラウドストレージサーバにおいて、認証対象となるクライアントからの要求を受信するステップと、
    第1のクラウドストレージサーバにおいて、クライアントから、識別子連携要求を受信するステップであって、識別子連携要求が、第1のクラウドストレージサーバ上のクライアントのユーザアカウントを、第2のクラウドストレージサーバ上のクライアントのユーザアカウントと連携するよう求める、受信するステップと、
    クライアントが第2のクラウドストレージサーバによる認証を要求し、クライアントが認証された後に第2のクラウドストレージサーバが、第1のクラウドストレージサーバ上のユーザアカウントを第2のクラウドストレージサーバ上のユーザアカウントとマッピングするとともにそれらの間に識別子連携を成立させ、さらに第2のクラウドストレージサーバから第1のクラウドストレージサーバへとクライアントをリダイレクトするように、第1のクラウドストレージサーバから第2のクラウドストレージサーバへとクライアントをリダイレクトするステップとを含み、
    上記ステップの1つ以上が、処理デバイスによって実行される、方法。
  16. 処理デバイスによって実行されると請求項15に記載の方法のステップを処理デバイスに遂行させる実行可能プログラムコードを内部に具現化したプロセッサ可読記憶媒体を備える、製品。
  17. メモリと、メモリに動作可能に結合され、請求項15に記載の方法のステップを遂行するように構成されたプロセッサとを備える、装置。
  18. 第1のクラウドストレージサーバに対するクライアントからの識別子連携要求に応答して、第2のクラウドストレージサーバにおいて、認証対象のクライアントから要求を受信するステップであって、識別子連携要求が、第1のクラウドストレージサーバ上のクライアントのユーザアカウントを、第2のクラウドストレージサーバ上のクライアントのユーザアカウントと連携するよう求める、受信するステップと、
    クライアントが認証された後、第1のクラウドストレージサーバ上のユーザアカウントを、第2のクラウドストレージサーバのユーザアカウントとマッピングし、それらの間に識別子連携を成立させるステップと、
    クライアントを、第2のクラウドストレージサーバから第1のクラウドストレージサーバへとリダイレクトするステップとを含み、
    上記ステップの1つ以上が、処理デバイスによって実行される、方法。
  19. 処理デバイスによって実行されると請求項18に記載の方法のステップを処理デバイスに遂行させる実行可能プログラムコードを内部に具現化したプロセッサ可読記憶媒体を備える、製品。
  20. メモリと、メモリに動作可能に結合され、請求項18に記載の方法のステップを遂行するように構成されたプロセッサとを備える、装置。
JP2016572396A 2014-06-10 2014-06-10 セキュアな統合型クラウドストレージ Pending JP2017523508A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/079628 WO2015188320A1 (en) 2014-06-10 2014-06-10 Secure unified cloud storage

Publications (1)

Publication Number Publication Date
JP2017523508A true JP2017523508A (ja) 2017-08-17

Family

ID=54832700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016572396A Pending JP2017523508A (ja) 2014-06-10 2014-06-10 セキュアな統合型クラウドストレージ

Country Status (7)

Country Link
US (1) US20170155639A1 (ja)
EP (1) EP3155534A4 (ja)
JP (1) JP2017523508A (ja)
KR (1) KR20170016456A (ja)
CN (1) CN106415519B (ja)
TW (1) TWI569167B (ja)
WO (1) WO2015188320A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021536620A (ja) * 2018-08-31 2021-12-27 ラティスワーク・インコーポレイテッドLatticework, Inc. ハイブリッドクラウド環境のためのパブリッククラウドユーザアカウントとパーソナルクラウドユーザアカウントとのバインド

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2015207842B2 (en) * 2014-07-29 2020-07-02 Samsung Electronics Co., Ltd. Method and apparatus for sharing data
US10623406B2 (en) * 2016-07-22 2020-04-14 Box, Inc. Access authentication for cloud-based shared content
US10389704B1 (en) * 2018-09-12 2019-08-20 Cohesity, Inc. Cluster claim
US11785051B1 (en) * 2019-03-28 2023-10-10 Amazon Technologies, Inc. Cloud computing identity ecosystem
WO2023150527A1 (en) 2022-02-02 2023-08-10 Oracle International Corporation Configuring a network-link for establishing communication between different cloud environments
WO2024081835A1 (en) * 2022-10-14 2024-04-18 Oracle International Corporation Architecture and services provided by a multi-cloud infrastructure

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218628A1 (en) * 2005-03-22 2006-09-28 Hinton Heather M Method and system for enhanced federated single logout
US9614924B2 (en) * 2008-12-22 2017-04-04 Ctera Networks Ltd. Storage device and method thereof for integrating network attached storage with cloud storage services
US8924569B2 (en) * 2009-12-17 2014-12-30 Intel Corporation Cloud federation as a service
US9501365B2 (en) * 2009-12-28 2016-11-22 Netapp, Inc. Cloud-based disaster recovery of backup data and metadata
US8984503B2 (en) * 2009-12-31 2015-03-17 International Business Machines Corporation Porting virtual images between platforms
US9137304B2 (en) * 2011-05-25 2015-09-15 Alcatel Lucent Method and apparatus for achieving data security in a distributed cloud computing environment
US20130007867A1 (en) * 2011-06-30 2013-01-03 Cisco Technology, Inc. Network Identity for Software-as-a-Service Authentication
WO2013065084A1 (en) * 2011-11-01 2013-05-10 Hitachi, Ltd. Information system and method for managing data
TWI469613B (zh) * 2012-03-02 2015-01-11 Univ Nat Cheng Kung 雲端認證系統及方法
CN103023993B (zh) * 2012-11-28 2015-10-07 青岛双瑞海洋环境工程股份有限公司 一种基于云计算的企业信息系统
KR20140119855A (ko) * 2013-03-27 2014-10-13 주식회사 팬택 클라우드 연동 기능을 갖는 휴대 단말 및 이를 위한 파일 관리 방법
US9509694B2 (en) * 2013-12-31 2016-11-29 EMC IP Holding Company LLC Parallel on-premises and cloud-based authentication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Unified Cloud Disk(UCD)", OMA-ER-UCD-V1_0-20140313-D, vol. Draft Version 1.0, JPN7018000374, 13 March 2014 (2014-03-13), pages P1-30 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021536620A (ja) * 2018-08-31 2021-12-27 ラティスワーク・インコーポレイテッドLatticework, Inc. ハイブリッドクラウド環境のためのパブリッククラウドユーザアカウントとパーソナルクラウドユーザアカウントとのバインド
JP7374996B2 (ja) 2018-08-31 2023-11-07 ラティスワーク・インコーポレイテッド ハイブリッドクラウド環境のためのパブリッククラウドユーザアカウントとパーソナルクラウドユーザアカウントとのバインド

Also Published As

Publication number Publication date
TW201606564A (zh) 2016-02-16
CN106415519B (zh) 2019-09-17
US20170155639A1 (en) 2017-06-01
EP3155534A4 (en) 2017-11-29
KR20170016456A (ko) 2017-02-13
EP3155534A1 (en) 2017-04-19
TWI569167B (zh) 2017-02-01
WO2015188320A1 (en) 2015-12-17
CN106415519A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
US9860234B2 (en) Bundled authorization requests
US10084823B2 (en) Configurable adaptive access manager callouts
US10305882B2 (en) Using a service-provider password to simulate F-SSO functionality
US9584615B2 (en) Redirecting access requests to an authorized server system for a cloud service
US9807087B2 (en) Using an out-of-band password to provide enhanced SSO functionality
CN106416125B (zh) 用于虚拟机实例的自动目录加入
JP2017523508A (ja) セキュアな統合型クラウドストレージ
US11418498B2 (en) Single sign on proxy for regulating access to a cloud service
US12058132B2 (en) Integrated hosted directory
Edge et al. Identity and Device Trust

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180501

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180806

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190115