(57)【要約】  オペレーティングシステムを用いてアプリケーションのユーザを認証する方法及び／またはシステムを開示する。ユーザは、オンラインアイデンティティサービスに登録されたクラウドベースＩＤを用いて、自分のデバイスに電源投入などのログオンできる。ユーザは、そのクラウドベースアイデンティティを用いて、ユーザのデバイス上のオペレーティングシステムにより認証される。オペレーティングシステムはユーザを認証するためにオンラインアイデンティティサービスにコンテクトできる。ユーザがデバイス上のアプリケーションをアクティブ化すると、アプリケーションはオペレーティングシステムにユーザの認証を要求し、ユーザのクラウドベースアイデンティティの認証トークンがアプリケーションに提供される。アプリケーションは、ユーザのクラウドベースＩＤの利用をサポートする限り、認証トークンを用いて、ユーザを認証する。このようにして、マニュアルによるユーザログイン動作は必要なくなる。
2014512589.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムを用いてアプリケーションのユーザを認証する、コンピュータベースの方法であって、
前記ユーザのクラウドベースのアイデンティティを用いて、前記オペレーティングシステムにより前記ユーザを認証するステップと、
コンピュータベースプロセッサを用いて、前記オペレーティングシステムへの要求があったとき、前記アプリケーションに、前記ユーザのクラウドベースのアイデンティティの認証トークンを提供するステップと、
前記認証トークンを用いて、前記アプリケーションのために前記ユーザを認証するステップとを有する、方法。
【請求項２】
前記アプリケーションが前記ユーザのクラウドベースのアイデンティティをサポートしているとき、前記アプリケーションに前記ユーザのクラウドベースのアイデンティティの認証トークンを提供するステップをさらに有する、
請求項１に記載の方法。
【請求項３】
前記アプリケーションのために、インターネットベースサービスにより前記ユーザのクラウドベースアイデンティティを登録するステップをさらに有する、
請求項１に記載の方法。
【請求項４】
前記アプリケーションは、
前記ユーザのクライアントデバイス上に常駐した、前記ユーザの認証を要求するウェブサイトにナビゲーションするブラウザと、
前記ユーザのクライアントデバイス上に少なくとも部分的に常駐している、リモートサーバと通信でき、前記ユーザの認証を要求できるアプリケーションと、
のうちの一方を含む、
請求項１に記載の方法。
【請求項５】
前記ユーザを認証するステップは、強力な認証プロトコルを用いて前記ユーザのクライアントデバイスに前記ユーザをログインするステップを有する、
請求項１に記載の方法。
【請求項６】
前記アプリケーションから受け取った前記認証トークンの要求は、
前記アプリケーションが、前記オペレーティングシステムに、前記アプリケーションを有するクライアントデバイスにログオンしたユーザのアイデンティティを求めるステップと、
前記オペレーティングシステムが、前記ユーザのクラウドベースのアイデンティティにより応答するステップと、
前記アプリケーションが、前記ユーザのクラウドベースのアイデンティティを用いて、前記ユーザを認証するステップとを有する、
請求項１に記載の方法。
【請求項７】
オペレーティングシステムを用いてアプリケーションのユーザを認証するシステムであって、
前記システムのデータを処理するように構成されたコンピュータベースプロセッサと、
前記プロセッサと動作可能に結合し、前記ユーザに関連するクラウドベースのアイデンティティを用いて、前記オペレーティングシステムにより前記ユーザを認証するように構成されたユーザ認証コンポーネントと、
前記ユーザ認証コンポーネントとオペレーティングシステムに動作可能に結合し、前記オペレーティングシステムへの要求があると、前記アプリケーションのために前記ユーザを認証するために、前記アプリケーションに前記ユーザのクラウドベースのアイデンティティに基づいて認証トークンを提供するように構成された、認証トークン提供コンポーネントとを有する、システム。
【請求項８】
ユーザのクラウドベースのアイデンティティに関連する、クラウドベースアイデンティティサービスと通信し、
前記クラウドベースのアイデンティティのために前記ユーザの認証と、
前記ユーザが認証されると、前記クラウドベースアイデンティティサービスからユーザ関連情報の読み出しと
のうち一または複数を実行するように構成されたクラウドベースアイデンティティサービス通信コンポーネントを有する、
請求項７に記載のシステム。
【請求項９】
前記ユーザ認証コンポーネントにより前記ユーザが認証されると、前記ユーザのクラウドベースアイデンティティに関連する認証トークンを生成するように構成された認証トークン生成コンポーネントを有する、
請求項７に記載のシステム。
【請求項１０】
前記オペレーティングシステムのための前記ユーザのクラウドベースアイデンティティを認証するのに用いられる、前記オペレーティングシステムのためにユーザログイン認証情報を読み出すように構成された、ユーザログインコンポーネントを有する、
請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレーティングシステムとアプリケーション間でのユーザＩＤの共用に関する。
【背景技術】
【０００２】
計算環境において、ユーザは、インターネットその他のネットワークを介してオンラインサービスと接続できる。オンラインサービスとは、電子メールサービス、ソーシャルネットワーク、ファイルストレージ、管理及び協業サービス、ゲーム、エンターテイメント、その他のサービスやオンラインアプリケーションを含む。さらに、ユーザは、アプリケーションプロバイダにより提供されるリモートサーバなどのオンラインコンポーネントと通信するデバイスでアプリケーションを利用できる。ユーザは、オンラインサービス及び／またはアプリケーションに接続するとき、アイデンティティを登録するように要求される。アイデンティティには、サービスでのユーザの認証に用いられるユーザ関連情報及び／またはセキュリティ情報が含まれる。ユーザは、自分のオンラインアイデンティティと関連付けるユーザ名とパスワードなどの共有の秘密とを提供する、及び／またはオンラインサービスプロバイダがユーザの認証に利用できる２要素認証（two  factor  authentication）を提供するように求められることが多い。
【発明の概要】
【課題を解決するための手段】
【０００３】
本欄では、発明の詳細な説明で詳しく説明するコンセプトの一部を選んで、簡単に説明する。本欄は、特許を請求する主題の重要な要因や本質的な特徴を特定するものではなく、特許を請求する主題の範囲を限定するものでもない。
【０００４】
一部のウェブサイト及び／またはオンラインサービスでは、ユーザが、提携していないウェブサイトやサービスによるアイデンティティを用いて、自サイトにサインオンできる。例えば、一部のウェブサイトでは、ユーザは、ソーシャルネットワークサイトに関連するユーザアイデンティティを用いて自分のアイデンティティを認証することができる。例えば、ソーシャルネットワークサイト及び／またはその他のアイデンティティプロバイダは、ユーザ名とパスワードを用いて、及び場合によってはその他のセキュリティ情報（例えば、セキュリティクエスチョン、画像、ファイルなど）を用いて、ユーザを登録する。さらに、そのソーシャルネットワークサイトと提携していないウェブサイトは、ユーザに、そのソーシャルネットワークアイデンティティを用いて自分のウェブサイトにログオンするオプションを提供できる。
【０００５】
言うまでもなく、ここではソーシャルネットワークサイトその他を参照するが、これらはアイデンティティプロバイダその他の単なる例であり、添付した特許請求の範囲を含む本願は、言及する特定の例に限定されない。この例では、ウェブサイトはソーシャルネットワークサイトからのアプリケーションを実行していても、ユーザログインオプションを選択した時に、ソーシャルネットワークサイトにコンタクトしてもよい。ソーシャルネットワークサイトは、ユーザのデバイスにレンダリングされるログインユーザインタフェースを提供でき、ユーザは自分のログイン認証情報を入力できる。この例では、ソーシャルネットワークサイトは、ユーザを認証し、（認証が成功する条件で）ウェブサイトと通信して、そのユーザが認証されたことをそのウェブサイトに知らせる。しかし、この種のユーザ認証が機能するには、ブラウザで実行されていないアプリケーションなどにおいて、ユーザのクラウドベースアイデンティティサービスプロバイダがユーザのデバイス上で（例えば、ブラウザで）実行されていることが必要であり、及び／またはユーザのクラウドベースアイデンティティサービスプロバイダのアプリケーションが、ユーザの認証を欲するアプリケーションにより呼び出し可能である必要がある。
【０００６】
したがって、ユーザがクラウドベースアイデンティティを用いて自分のデバイス（例えば、ハンドヘルドコンピュータ、スマートフォン、ポータブルデバイス、ラップトップ、デスクトップコンピュータなど）にサインインできる方法及び／またはシステムを開示する。この方法及び／またはシステムは、複数のウェブサイトやアプリケーションにサインインするのにも使える。一例として、クラウドベースのアイデンティティをサポートするアプリケーション（例えば、デバイスベースアプリケーション、ウェブアプリケーション、ブラウザ／ウェブサイトなど）は、デバイスで実行されているとき、そのデバイスのオペレーティングシステムに、アイデンティティトークンを求めることができる。この例では、ユーザがこのアイデンティティトークンへのアクセスを認めると、アプリケーションはこのアイデンティティトークンを自分のサーバに送り、そのサーバは、例えば、トークンを確認（validate）し、ユーザのアイデンティティを確認（verify）し、関連データを返すことができる。このようにして、ユーザは、デバイスへの最初のログイントランザクションを行った後、第２のログイントランザクションを行う必要が無く、アイデンティティサービスがデバイスのバックグラウンドで実行されユーザを認証する必要が無い。
【０００７】
オペレーティングシステムを用いてアプリケーションのユーザを認証する一実施形態では、ユーザは、そのユーザのクラウドベースのアイデンティティ（例えば、そのユーザによりオンラインサービスにアクセスするのに用いられているもの）を用いて、例えばそのデバイスに常駐しているオペレーティングシステムで認証される。さらに、ユーザがオペレーティングシステムにより認証されている場合、オペレーティングシステムへの要求があったとき、ユーザのクラウドベースのアイデンティティの認証トークンがアプリケーションに提供される。また、アプリケーションがユーザのクラウドベースＩＤの利用をサポートする場合、認証トークンを用いて、そのアプリケーションに対してユーザを認証する。
【０００８】
上記の及び関連する目的を達成するため、以下の詳細な説明及び図面により、例示的な態様と実施形態とを説明する。これらは、一又は複数の態様が利用される様々な方法のほんの一部を示している。本開示の他の態様、利点及び新規な特徴は、添付した図面を参照して以下の詳細な説明を読めば、明らかとなるであろう。
【図面の簡単な説明】
【０００９】
【図１】オンラインアイデンティティを用いてオンラインサービスのユーザを認証する既存技術の一実施形態を示す図である。
【図２】オペレーティングシステムを用いてアプリケーションのユーザを認証する方法を示すフロー図である。
【図３】ここに説明する一又は複数の技術の一又は複数の部分を実施できる一実施形態を示すフロー図である。
【図４】ここに説明する一又は複数の技術の一又は複数の部分を実施できる一実施形態を示すフロー図である。
【図５】オペレーティングシステムを用いてアプリケーションのユーザを認証するシステムを示すコンポーネント図である。
【図６】ここに説明する一又は複数のシステムを実施できる一実施形態を示すコンポーネント図である。
【図７】ここに記載する一又は複数のプロビジョンを実施するように構成されたプロセッサ実行可能命令を有するコンピュータ読み取り可能媒体を示す図である。
【図８】ここに記載した一又は複数のプロビジョンを実施できる計算環境を示す図である。
【発明を実施するための形態】
【００１０】
特許請求の範囲に記載する本主題を、図面を参照して説明する。図面では、同じ参照数字を用いて同じ要素を示す。以下の説明では、説明を目的として、特許請求の範囲に記載する主題をよく理解できるよう、多数の具体的な詳細事項を記載する。しかし、特許請求の範囲に記載した主題は、これらの具体的な詳細事項が無くても実施できることは明らかである。他の場合では、特許請求の範囲に記載する主題の説明を容易にするために、ブロック図の形式で構造とデバイスを示す。
【００１１】
図１は、オンラインアイデンティティを用いてオンラインサービスのユーザを認証する既存技術の一実施形態１００を示す図である。例えば、ユーザは、「fabrikam.com」などの第１のウェブベースサービスとオンラインでのつながり（online  association）を有する。第１のウェブベースサービスは、ソーシャルネットワーキングサイト、電子メールサービスプロバイダ、オンラインサービスアグリゲータ、その他のクラウドベースの（例えば、インターネット、イントラネット、ローカルまたはワイドネットワークなどオンラインの）サービスプロバイダであり得る。この例では、オンラインサービス１１２とのつながり（association）は、ユーザ名と関連秘密鍵（例えば、パスワード）を生成することなどによる、そのサービス１１２に登録する時の認証提供を含みうる。さらに、オンラインサービス１１２は、セキュリティクエスチョン、イメージ、その他の形式のセキュリティ（例えば、暗号化鍵）などの追加的セキュリティ情報を、ユーザのオンラインＩＤとともに含めるよう、ユーザに要求することがある。
【００１２】
この実施形態１００では、ユーザは、「contoso.com」などの他のドメイン１０２にナビゲートして、例えばそのサイト１０２にユーザとしてログオンや登録することができる。サイトにログオンまたは登録するとき、ウェブサイトドメインは、ログインするための複数の代替手段を提供するウェブページ１０４を提供する。一例として、ユーザは、ウェブサイトのログインアイデンティティ１０６を利用できるし、または「fabrikam.com」ウェブサイト１１２用に生成したユーザアイデンティティ１０８などの他のオンラインアイデンティティ１０８、１１０を用いてログインできる。さらに、例えば、別のユーザアイデンティティ１１０を用いてcontoso.com１０４にログオンしてもよい。
【００１３】
一般的に、ユーザが他のオンラインアイデンティティ１０８、１１０を選択してウェブサイト１０２にログインするとき、そのウェブサイトはサービス１１２などの他のアイデンティティプロバイダ（identity  provider）と通信できる（１１６）。この例では、contoso.comは、ユーザが、サイト１０２にログインする他のオンラインアイデンティティを選択できるボタン（例えば、１０８、１１０）を表示する。ユーザはfabrikam.comオンラインアイデンティティ１０８を選択でき、ウェブサイト１０２はfabrikam.comと通信して（１１６）、ログイン認証情報（login  credentials）を提供する。一実施形態では、fabrikamアプリケーションがcontoso.comで実行されているか、典型的なfabrikam.comログイン画面１１４が呼び出され、ユーザに提供される。ユーザはこれに自分のfabrikam.comアイデンティティ認証情報を入力できる。fabrikam.comによりユーザが認証されると、fabrikam.comウェブサイトはcontoso.comウェブサイト１０２と通信して（１１６）、例えばユーザが認証され、contoso.comにログインすることを許されることを示す。
【００１４】
ユーザが、例えば、クラウドベースのアイデンティティ（例えば、fabrikam.comの）で自分のデバイスにサインオンし、その認証を用いて、他のアプリケーション及び／またはウェブサイトに自動的にサインインする方法を考案できる。一例として、fabrikam.comの認証を起動してcontoso.comにログオンし、オンラインウェブサイトと通信してユーザを認証する替わりに、ユーザデバイスのオペレーティングシステムが、ユーザがアプリケーション及び／またはウェブサイトにログインする認証を提供することもできる。オペレーティングシステムは、例えばユーザがクラウドベースのアイデンティティを用いてデバイスにログオンした後、ユーザの認証を求められた時、単にウェブサイト及び／またはアプリケーションに対してそのユーザをアイデンティファイ（identify）する。
【００１５】
図２は、オペレーティングシステムを用いてアプリケーションのユーザを認証する方法２００を示すフロー図である。この方法２００は、ステップ２０２で始まり、ステップ２０４において、ユーザのクラウドベースのアイデンティティ（cloud-based  identity）を用いて、オペレーティングシステム（ＯＳ）でユーザを認証するステップを含む。例えば、ユーザは、セキュアに認証され得るように、そのユーザの認証情報を含む一又は複数のクラウドベースのアイデンティティ（例えば、一又は複数のウェブサイト、電子メールサービス、オンラインサービス、ソーシャルサイト、ウェブコンテンツアグリゲーションサイトなどでユーザを認証するのに用いられるアイデンティティ）を有する。クラウドベースのアイデンティティとしては、ユーザアイデンティティと関連共有秘密鍵（例えば、パスワード）とを利用して、ユーザを認証することが多い。他の認証方法を用いることもできるし、セキュリティクエスチョン、画像、ヒューマンインターラクティブプルーフ（ＨＩＰ）その他の追加的セキュリティ手段を利用してもよい。
【００１６】
ステップ２０６において、アプリケーションがＯＳにユーザの認証を要求する。例えば、ユーザが利用するデバイスはＯＳを有し、例えばユーザがそのデバイスにログオンした時に、ユーザはそのＯＳに認証されている。この例では、ユーザは、デバイスに電源投入すると、クラウドベースのアイデンティティで認証を受けるように促される。さらに、ユーザがデバイス上のアプリケーション（例えば、デバイス上のアプリケーション、またはオンラインアプリケーションまたはサービス）にアクセスを試みると、そのアプリケーションは、（例えば、ユーザのクラウドベースのアイデンティティを提供するオンラインサービスと通信する替わりに）デバイス上のＯＳにユーザの認証を要求できる。
【００１７】
ステップ２０８において、認証トークンがアプリケーションに提供される。認証トークンはユーザのクラウドベースのアイデンティティ（identity）を示すものである。認証トークンは、ユーザのアイデンティティをプログラム的に具体化するのに用いることができるソフトウェアベースのセキュリティトークンであってもよい。認証トークンは、例えばユーザのアイデンティティとパスワードを入力せずに、アプリケーションにユーザ認証を提供するセキュリティ鍵として機能し得る。例えば、ＯＳは、アプリケーションからの要求があると認証トークンを提供する。トークンはローカルで（例えば、ユーザデバイスで）生成されても、リモートで（例えば、ユーザのアイデンティティに関連するクラウドベースのサービスにより）生成されてもよい。一実施形態では、トークンは、そのアプリケーションによる利用のためだけに生成されてもよいし、複数の要求アプリケーションに対して認証を提供する一般的なトークンであってもよい。
【００１８】
ステップ２１０において、認証トークンは、アプリケーションがユーザを認証するのに用いられる。例えば、ユーザは、クラウドベースのアイデンティティ（identity）（例えば、fabrikam.comログイン認証情報）を用いて自分のデバイスにログオンすると、ユーザがアクセスするアプリケーション（例えば、デバイスベースアプリケーション、ウェブサイト、オンラインサービス、ウェブベースアプリケーションなど）で自動的に（プログラム的に）認証され得る。この例では、ユーザがアプリケーションへのアクセスを試みると、ユーザのクラウドベースのアイデンティティを示す認証トークンがアプリケーションに提供され、ユーザはそのアプリケーションに対して追加的な認証情報を入力しなくても、そのアプリケーションにアクセスできる。さらに、この例では、アプリケーションは、クラウドベースアイデンティティプロバイダ（例えば、「Fabrikam」と通信して、ユーザの認証を要求する必要はない。
【００１９】
方法２００は、認証トークンを用いてユーザを認証して終了する。
【００２０】
図３は、ここに説明する一又は複数の技術の一又は複数の部分を実施できる一実施形態３００を示すフロー図である。ステップ３０２において、ユーザは、アプリケーションで、そのユーザと関連するクラウドベースアイデンティティ（cloud-based  identity）に対するサポートを設定する。一実施形態では、ユーザは、アプリケーション用のインターネットベースサービスで、自分のクラウドベースアイデンティティを登録できる。例えば、第１のウェブサイト（例えば、contoso.com）は、ユーザに一又は複数の第２のウェブサイト（例えば、fabrikam.com）からのアイデンティティを利用して、第１のウェブサイトにログインさせる。このように、この例では、ユーザは、第１のウェブサイトでの認証に使うため、第２のウェブサイトから自分のアイデンティティを登録できる。
【００２１】
実施形態３００のステップ３０４において、ユーザは、そのユーザのクラウドベースのアイデンティティを用いて、自分のデバイスにログオンする。一般的に、ユーザがデバイスに電源を投入すると、オペレーティングシステムがユーザに、そのユーザに関連するアイデンティティ（identity）を提供するよう求める、及び／またはユーザの認証を求める。一実施形態では、強力な認証プロトコルを利用してユーザをデバイスにログインする。例えば、強力な認証には、ユーザ名と共有秘密（例えば、複数の共有秘密）などの、ユーザアイデンティティ（user  identity）に関する少なくとも２つの要素を提供することによる２要素認証（または、例えば多要素認証）がある。他の一例として、強力な認証は、暗号鍵の共有やチャレンジ・レスポンス認証スキームなどであってもよい。
【００２２】
この実施形態では、ユーザは、（例えば、ユーザ名とパスワード認証を含む）fabrikam.comなどの自分のクラウドベースアイデンティティでデバイスにログオンする。ステップ３０６において、ユーザは、自分のクラウドベースアイデンティティに関連するクラウドベースアイデンティティサービスを用いて認証されることができる。一実施形態では、オペレーティングシステムは、デバイスのユーザにログインユーザインタフェース（ＵＩ）を提供でき、ＯＳは、例えばＵＩに入力された情報に用いて、クラウドベースアイデンティティサービスと通信して、クラウドベースアイデンティティのためにユーザを認証できる。
【００２３】
一実施形態では、ユーザの認証は、上記の通り、クラウドベースアイデンティティ（例えば、fabrikam.comによる）に関連するユーザ名とパスワードなどの強力な認証を含む。一例として、ユーザは強力な認証情報によりクライアントデバイスにログオンでき、ログオン情報はクラウドベースアイデンティティサービスに伝送され、クラウドベースアイデンティティサービスはユーザを認証し、ユーザが入力されたアイデンティティに対して認証されていることをＯＳに示すことができる。
【００２４】
さらに、一実施形態では、ユーザがクラウドベースアイデンティティでログインした後、一または複数のブラウザクッキーが、例えばユーザのデバイスで実行されているブラウザで更新される。例えば、更新されたブラウザクッキーは、ユーザがfabrikam.comにサインインしていることを示す。このような一または複数のクッキーの利用により、例えば、自動的な認証は、認証トークンをＯＳから読み出す認証要求をしているアプリケーションに常に依存しなくてもよく、ユーザがクラウドベースアイデンティティサービスにログオンしていることを知るためだけに更新されたブラウザクッキーを用いてもよい。
【００２５】
ステップ３０８において、（例えば、クラウドベースアイデンティティサービスによる）ユーザの認証時に、ユーザのクラウドベースアイデンティティのために、認証トークンが生成される。例えば、ＯＳは、デバイスにログオンしているユーザがクラウドベースアイデンティティのために認証されているとの確認を受け取ると、認証トークンを生成させることができる。一実施形態では、ＯＳ中で実行されているプログラムにより生成できる。他の一実施形態では、認証トークンは、クラウドベースアイデンティティサービスにより生成され、デバイス上のＯＳにより読み出される。
【００２６】
一実施形態では、アプリケーションに対するインターネットベースサービスでのクラウドベースアイデンティティを登録するステップは、そのアプリケーションのインターネットベースサービスが、ユーザのクラウドベースアイデンティティに関連するクラウドベースアイデンティティサービスと通信するステップを含む。例えば、ユーザは、第２のウェブサイトのためのログイン認証情報（login  credentials）を提供することにより、第１のウェブサイトに認証を要求できる。第１のウェブサイトは第２のウェブサイトと通信して、ユーザ認証を要求できる。さらに、この例では、ユーザが第２のウェブサイトで認証されると、第２のウェブサイトは、ユーザが認証されているとの表示を返すことができる。一実施形態では、アプリケーションに対するインターネットベースサービスでの登録は、例えば一度だけ行え、ユーザは、そのユーザのクラウドベースアイデンティティを用いて、アプリケーションに対してインターネットベースサービスでの登録を維持できる（例えば、ユーザは一旦登録されると、後で再登録する必要はない）。
【００２７】
図４は、ここに説明する一又は複数の技術の一又は複数の部分を実施できる一実施形態４００を示すフロー図である。ステップ４０２において、ユーザがデバイス上のアプリケーションをアクティブ化する。ここで、ユーザは、自分のクラウドベースアイデンティティを用いてデバイスに事前にログインしていてもよい。アプリケーションをアクティブ化するステップは、次のステップを含む：
デバイス上に常駐するプログラムを開くステップ
（例えば、メディアプレーヤをスタートするステップであり、そのプレーヤのプログラミングの少なくとも一部はクライアントデバイス上にローカルに記憶されているステップ）；
ウェブブラウザプログラムを開き、ウェブサイトにナビゲーションするステップ；
ウェブサイトからウェブベースアプリケーション（web-app）をスタートするステップ（例えば、web-appにサービスしているリモートサーバにリンクされたデバイスのデスクトップからweb-appをスタートするステップ）；
ユーザのデバイスなどからある形式のプログラミングをアクティブ化するステップ。
【００２８】
ステップ４０４において、ユーザによりアクティブ化されたアプリケーションは、例えば、ユーザのクラウドベースＩＤを用いて、ユーザの認証を求めてＯＳとネゴシエーションできる。一実施形態では、ユーザのクラウドベースアイデンティティがアプリケーションによりサポートされていないこと、及び／またはアプリケーションがそのユーザのクラウドベースアイデンティティを用いることをユーザが許可していないことを、アプリケーションが判断する、及び／またはＯＳが知ることができる。この実施形態では、上記（例えば、図３のステップ３０２）の通り、例えば、ユーザのＩＤに対するサポートが設定されなければ、認証トークンがアプリケーションに提供されない。一例として、ネゴシエーション中に、ＩＤがアプリケーションによりサポートされていないことが分かると、アプリケーションとともに用いるクラウドベースＩＤをユーザが設定するのをガイドするダイアローグボックスＵＩが表示される。
【００２９】
一実施形態では、ネゴシエーションは、アプリケーションでのユーザのＩＤに対するサポート（例えば、ユーザがすでにサポートを設定したこと）を特定するステップと、アプリケーションがユーザの認証をＯＳに求めるステップとを含む。ステップ４０６において、アプリケーションからのユーザのＩＤにアクセスする要求があると、ＯＳは、例えばＵＩダイアローグボックスにおいて、ユーザのクラウドベースＩＤをアプリケーションと共用するユーザの許可を求めることができる。このように、例えば、ユーザにより許可されたアプリケーションのみがユーザの認証トークンにアクセスできる。例えば、悪意のユーザ及び／またはプログラムが、ユーザＩＤや関連情報にアクセスして、例えば悪意のある動作を実行したがるかもしれない。この例では、明示的許可がユーザにより与えられることにより、悪意のある攻撃が減少するかも知れない。
【００３０】
ステップ４０８において、ユーザは、例えば、許可ＵＩダイアローグボックスにおいて「イエス」ボタンを選択することにより、アプリケーションがユーザのクラウドベースＩＤにアクセスする許可を与えることができる。ステップ４１０において、ユーザがそのクラウドベースアイデンティティへのアクセスを許可すると、認証トークンがアプリケーションに提供される。一実施形態では、認証トークンは、アプリケーションからの要求があると、例えばＯＳにより生成され、またはクラウドベースＩＤサービスなどから読み出される。例えば、ユーザがＯＳにより認証された時に生成された認証トークンをＯＳが記憶していてもよいが、アプリケーションがユーザ認証を要求した時にのみトークンが生成されてもよい。さらに、アプリケーションがユーザのクラウドベースＩＤをサポートしている場合にのみ、認証トークンが提供されてもよい。
【００３１】
他の一実施形態では、アプリケーションから認証トークンを要求するステップは、アプリケーションがオペレーティングシステムに、そのアプリケーションを含むクライアントデバイスにログオンしたユーザのアイデンティティを求めるステップを含む。例えば、特定のユーザに対する認証許可を要求する替わりに、アプリケーションは、デバイスにログオンしたユーザの認証のみを欲していることがある。この例では、ユーザはデバイスにログインでき、デバイスＯＳはユーザを認証できる。アプリケーションは、アクティブ化されると、例えば、ログインしているユーザのＩＤをＯＳに求めるだけで、ユーザとインターラクションしない。この実施形態では、オペレーティングシステムがユーザのクラウドベースアイデンティティで応答でき、アプリケーションがユーザのクラウドベースアイデンティティを用いてユーザを認証できる。
【００３２】
ステップ４１２において、ユーザが認証されると、ユーザ関連情報がクラウドベースアイデンティティサービスから読み出せる。例えば、ユーザ関連情報は、ユーザに関するアイデンティティと、メッセージのインテグリティを確認するのに使えるメタデータとを含む。例えば、アプリケーションのオンラインプレゼンスに関する秘密鍵を用いて、メッセージが盗聴されたか判断する。この例では、一旦ユーザが認証されると、アプリケーションはそのアプリケーションとリンクしたリモートサーバ（例えば、アプリケーションプロバイダ）と定期的にまたは連続的に通信し、ユーザのアイデンティティとメタデータを、悪意のハッキングを減らす秘密鍵の一部として使える。
【００３３】
他の一例として、改善されたユーザ体験をアプリケーションが提供するのを援助できる他のユーザ関連情報、例えば、嗜好、利用履歴、利用または記憶されたメディア、コンタクト、お気に入りのウェブサイト、電子メール情報、カレンダなどが提供され得る。あるいは、ユーザが例えばＯＳで認証される時、ユーザ関連情報がクラウドベースＩＤサービスから読み出され、（例えば、ユーザによる許しがあれば）ＯＳはその情報をアプリケーションに提供できる。
【００３４】
ステップ４１４において、認証トークンは、アプリケーションがユーザを認証するのに用いられる。例えば、アプリケーションは、ＯＳとトラスト関係を有し、認証トークンは、ユーザが言うとおりの人であるとのＯＳによる表示（representation）を含み得る。さらに、例えば、アプリケーションが認証目的でユーザのクラウドベースＩＤをサポートするように設定されていると、認証トークンはユーザのクラウドベースＩＤがＯＳにより認証されていることの表示を含み得る。一実施形態では、アプリケーションは、認証トークンの受領時に、ユーザによりアクセスされ得る。
【００３５】
ユーザが、例えば、ラップトップ、スマートフォン、ハンドヘルドコンピュータ、デスクトップなどのデバイスにサインオンできるシステムを考案してもよい。ユーザは、デバイスにログオンするためにユーザにより事前に設定されたクラウドベースアイデンティティを用いる。デバイスのオペレーティングシステムは、そのIDでユーザを認証できる。オペレーティングシステムは、ユーザのクラウドベースIDのサービスプロバイダと通信して、デバイスのユーザを認証できる。アプリケーションが例えばユーザの認証情報を求めた時には、オペレーティングシステムはアプリケーションでの認証のため、アプリケーションにユーザのクラウドベースＩＤを提供できる。
【００３６】
図５は、オペレーティングシステム５５２を用いてアプリケーション５５８のユーザを認証するシステム５００を示すコンポーネント図である。コンピュータベースプロセッサ５０２は、システムのデータを処理するように構成され、ユーザ認証コンポーネント５０４と動作可能に結合している。ユーザ認証コンポーネント５０４はユーザ５５０を認証し、オペレーティングシステム５５２は、ユーザ５５０と関連するクラウドベースアイデンティティ５５４を用いる。例えば、ユーザは、クラウドベースＩＤサービス（例えば、ソーシャルネットワーク、電子メールサービス、またはその他のオンラインサービスなど）で登録されているクラウドベースアイデンティティ（ＩＤ）を有する。この例では、クラウドベースＩＤサービスは、ユーザを認証するのに必要なことをすでに行っており、それゆえユーザによりクラウドベースアイデンティティ５５４を用いてデバイス上のＯＳ５５２でユーザを認証することができる。
【００３７】
認証トークン提供コンポーネント５０６は、ユーザ認証コンポーネント５０４及びオペレーティングシステム５５２と動作可能に結合している。認証トークン提供コンポーネント５０６は、オペレーティングシステム５５２への要求があると（その要求がアプリケーション５５８からのものである場合）、アプリケーション５５８に認証トークン５５６を提供する。認証トークン５５６は、ユーザのクラウドベースアイデンティティ５５４に基づき、アプリケーション５５８のためにユーザを認証するために用いられる。例えば、ユーザのオンラインＩＤ５５４がオペレーティングシステム５５２のために認証コンポーネント５０４により認証されると、認証トークン提供コンポーネント５０６は認証トークン５５６を用いてアプリケーション５５８にユーザが認証されたことを知らせることができる。この例では、アプリケーションがオペレーティングシステム５５２にユーザ５５０の認証を要求すると、認証トークン５５６が要求された認証を提供できる。
【００３８】
図６は、ここに説明する一又は複数のシステムを実施できる一実施形態６００を示すコンポーネント図である。この例では、図５の拡張を提供するので、図５を参照して説明した要素やコンポーネントなどは簡略化のため繰り返し説明しないこともある。クラウドベースアイデンティティサービス通信コンポーネント６１０は、（例えば、ユーザのＩＤを提供され、及び／または維持する）ユーザ６５０のクラウドベースアイデンティティと関連するクラウドベースアイデンティティサービス６６０と通信できる。クラウドベースアイデンティティサービス通信コンポーネント６１０は、クラウドベースアイデンティティのためにユーザを認証し、及び／またはユーザ６５０を認証した時、クラウドベースアイデンティティサービス６６０からユーザ関連情報を読み出し得る。例えば、ユーザ６５０が自分のクラウドベースＩＤ６５４を用いてデバイスにログオンする時、ユーザ認証コンポーネント５０４は、クラウドベースアイデンティティサービス通信コンポーネント６１０を利用してＩＤ６５４と関連するクラウドベースアイデンティティサービス６６０でそのＩＤを認証し、例えば、クラウドベースアイデンティティサービス６６０からアイデンティティ情報などのユーザ関連情報を読み出すこともできる。
【００３９】
ユーザ６５０がユーザ認証コンポーネント５０４により認証されると、認証トークン生成コンポーネント６１２は、ユーザのクラウドベースアイデンティティ６５４に関連する認証トークン６５６を生成できる。ユーザログインコンポーネント６１４は、オペレーティングシステム６５２のためにユーザログイン認証情報を読み出すことができる。このユーザログイン認証情報を用いて、オペレーティングシステム６５２のために、ユーザのクラウドベースアイデンティティ６５４を認証できる。例えば、ユーザがオペレーティングシステム６５２を有するデバイスに電源投入した時、ユーザが（例えば、ユーザのオンラインＩＤに関連するユーザ名とパスワードで）ログインするために、ログインダイアログユーザインタフェース（ＵＩ）が提供される。この例では、ユーザログインコンポーネント６１４は、ログイン情報を読み出し、（ログインＵＩを提供してもよい、）そのログイン情報をユーザ認証コンポーネント５０４に送る。
【００４０】
ユーザ認証コンポーネント５０４は、ユーザ６５０により操作されるクライアントデバイス６１６に含まれていても良く、クライアントデバイス６１６へのユーザログインに少なくとも部分的に基づきユーザのクラウドベースアイデンティティ６５４を取得するように構成され得る。例えば、クライアントデバイス６１６は、例えば、ユーザのクラウドベースＩＤ６５４により、ユーザログインコンポーネント６１４により提供されるログインＵＩを用いて、ユーザにデバイスへのログオンを可能とするコンポーネントを有する。クラウドベースＩＤ６５４は、デバイス上のユーザ認証コンポーネント５０４により認証され得る。このように、例えば、デバイス６１６上に常駐した（または、例えばデバイス６１６によりリモートでアクセスされる）アプリケーション６５８は、ＯＳ６５２による認証を用いて、ユーザがアプリケーションにアクセスするのをローカルで認証でき、ユーザに２度のログインを求める必要はない。
【００４１】
さらに別の一実施形態は、ここに説明した一又は複数の方法を実施するように構成されたプロセッサ実行可能命令を含む、コンピュータ読み取り可能媒体を含む。このように考案されるコンピュータ読み取り可能媒体を図７に示した。実施形態７００は、コンピュータ読み取り可能媒体７０８（例えば、ＣＤ−Ｒ、ＤＶＤ−Ｒ、またはハードディスクドライブのプラッター（platter））を有し、コンピュータ読み取り可能データ７０６がその上にエンコードされている。このコンピュータ読み取り可能データ７０６は、ここに説明した一又は複数の原理により動作するように構成された一組のコンピュータ命令７０４を含む。かかる実施形態７０２では、プロセッサ実行可能命令７０４は、例えば、図２の方法２００などの方法を実行するように構成されている。他の一実施形態では、プロセッサ実行可能命令７０４は、例えば、図５のシステム５００などのシステムを実施するように構成されている。かかる多くのコンピュータ読み取り可能媒体は、ここに説明した方法により動作するように構成された技術分野における当業者により考案され得る。
【００４２】
本主題を個別の構造的特徴及び／又は方法動作を用いて説明したが、言うまでもなく、添付した特許請求の範囲に規定する主題は、上記の特定の特徴や動作には必ずしも限定されない。上記の特定の特徴や動作は、請求項を実施する形式例を開示するものである。
【００４３】
本願では、「コンポーネント」、「モジュール」、「システム」、「インタフェース」などの用語は、概して、コンピュータに関する実体であって、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、又は実行中のソフトウェアを意味する。例えば、コンポーネントは、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行されたスレッド、プログラム、及び／又はコンピュータなどであるが、これらに限定されない。例として、コントローラ上で実行されているアプリケーションとそのコントローラとは両方ともコンポーネントである。プロセス及び／又は実行されたスレッド内に１つ以上のコンポーネントがあってもよく、一コンポーネントは一コンピュータ上にあっても、及び／又は２つ以上のコンピュータ間に分散していてもよい。
【００４４】
さらに、特許請求の範囲に記載した主題は、コンピュータを制御して開示の主題を実施するソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組合せを作る標準的なプログラミング及び／またはエンジニアリング方法を用いて、方法、装置、または製品（article  of  manufacture）として実施できる。ここで用いる「製品」との用語は、任意のコンピュータ読み取り可能デバイス、キャリア、または媒体からアクセス可能なコンピュータプログラムを含むものである。もちろん、当業者には言うまでもなく、特許請求の範囲に記載した主題の範囲や精神から逸脱することなく、この構成に多くの修正を加えることができる。
【００４５】
図８と以下の説明は、ここに説明した一又は複数のプロビジョンを実施するのに好適な計算環境を簡単に説明するものである。図８の動作環境は、好適な動作環境の単なる一例であって、動作環境の利用や機能の範囲に関する限定を示唆するものではない。計算デバイスの例としては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、モバイルデバイス（モバイルフォン、パーソナルデジタルアシスタント（PDA)、メディアプレーヤなど）、マルチプロセッサシステム、コンシューマエレクトロニクス、ミニコンピュータ、メインフレームコンピュータ、上記の任意のシステムやデバイスを含む分散計算環境などが含まれるが、これらに限定されない。
【００４６】
必要ではないが、実施形態を一又は複数の計算デバイスにより実行される「コンピュータ読み取り可能命令」のコンテクストで説明する。コンピュータ読み取り可能命令は、（以下に説明する）コンピュータ読み取り可能媒体を介して配布できる。コンピュータ読み取り可能命令は、特定のタスクを実行したり、特定の抽象データタイプをインプリメントする関数、オブジェクト、アプリケーションプログラムインタフェース（ＡＰＩ）、データ構造などのプログラムモジュールとして実施できる。一般的に、コンピュータ読み取り可能命令の機能は、結合し、または必要に応じて様々な環境に分散されている。
【００４７】
図８は、ここに説明する一又は複数の実施形態を実施するように構成された計算デバイス８１２を有するシステム８１０の一例を示している。ある構成では、計算デバイス８１２は少なくとも１つの処理ユニット８１６とメモリ８１８を含む。計算デバイスの構成とタイプに応じて、メモリ８１８は、（例えばＲＡＭのように）揮発性であっても、（例えばＲＯＭやフラッシュメモリのように）不揮発性であっても、これらの組合せであってもよい。ここ構成を図８の破線８１４で示した。
【００４８】
他の実施形態では、デバイス８１２は、追加的特徴及び／または機能を含み得る。例えば、デバイス８１２は、磁気記憶、光記憶などを含むがこれらに限定されない追加的な（例えば、リムーバブル及び／または非リムーバブルの）記憶も含み得る。かかる追加的記憶は、図８に記憶８２０により示した。一実施形態では、ここに説明した一又は複数の実施形態を実施するコンピュータ読み取り可能命令は記憶８２０にある。記憶８２０は、オペレーティングシステム、アプリケーションプログラムなどを実施する他のコンピュータ読み取り可能命令も記憶できる。コンピュータ読み取り可能命令は、例えば、メモリ８１８にロードされ、処理ユニット８１６により実行される。
【００４９】
ここで用いる「コンピュータ読み取り可能媒体」との用語は、コンピュータ記憶媒体を含む。コンピュータ記憶媒体には、コンピュータ読み取り可能命令その他のデータなどの情報を記憶するための任意の方法や技術で実施された、揮発性および不揮発性、リムーバブルまたは非リムーバブルの媒体を含む。メモリ８１８と記憶８２０はコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリその他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）その他の光ディスク記憶媒体、磁気カセット、磁気テープ、磁気ディスク記憶その他の磁気記憶デバイス、またはその他の、所望の情報の記憶に使え、デバイス８１２によりアクセスできる任意の媒体を含むが、これらに限定されない。かかるコンピュータ記憶媒体はデバイス８１２の一部であり得る。
【００５０】
デバイス８１２は、デバイス８１２が他のデバイスと通信できるようにする通信接続８２６も含み得る。通信接続８２６は、モデム、ネットワークインタフェースカード（ＮＩＣ）、統合ネットワークインタフェース、ＲＦ送信器／受信器、赤外線ポート、ＵＳＢ接続、その他の計算デバイス８１２を他の計算デバイスに接続するインタフェースを含み得るが、これらに限定されない。通信接続８２６は、有線接続または無線接続を含み得る。通信接続８２６は、通信媒体を送信及び／または受信できる。
【００５１】
「コンピュータ読み取り可能媒体」との用語は通信媒体を含み得る。通信媒体は、一般的に、キャリア波やその他の伝送メカニズムである「変調データ信号」中のコンピュータ読み取り可能命令その他のデータを化体し、任意の情報配信媒体を含む。「変調データ信号」との用語は、情報を信号にエンコードするように設定または変更された特徴を有する信号を含む。
【００５２】
デバイス８１２は、キーボード、マウス、ペン、ボイス入力デバイス、タッチ入力デバイス、赤外線カメラ、ビデオ入力デバイス、及び／またはその他の入力デバイスなどの入力デバイス８２４を含み得る。ディスプレイ、スピーカ、プリンタ、及び／またはその他の出力デバイスである出力デバイス８２２もデバイス８１２に含まれ得る。入力デバイス８２４と出力デバイス８２２は、有線接続、無線接続、またはこれらの組合せを介してデバイス８１２に接続されている。一実施形態では、他の一計算デバイスからの入力デバイスまたは出力デバイスを、計算デバイス８１２の入力デバイス８２４または出力デバイス８２２として用いることもできる。
【００５３】
計算デバイス８１２のコンポーネントは、バスなどの様々な相互接続により接続され得る。かかる相互接続には、ＰＣＩエクスプレスなどのＰＣＩ（Peripheral  Component  Interconnect）、ＵＳＢ（Universal  Serial  Bus）、ＩＥＥＥ１３９４（firewire）、光学バス構造などが含まれる。他の一実施形態では、計算デバイス８１２のコンポーネントは、ネットワークにより相互接続され得る。例えば、メモリ８１８は、ネットワークにより相互接続された異なる物理的場所にある複数の物理的メモリユニットよりなるものであってもよい。
【００５４】
当業者には言うまでもないが、コンピュータ読み取り可能命令を記憶するのに用いられる記憶デバイスは、ネットワークにわたって分散していてもよい。例えば、ネットワーク８２８を介してアクセス可能な計算デバイス８３０は、コンピュータ読み取り可能命令を記憶し、ここに説明した一又は複数の実施形態を実施する。計算デバイス８１２は、計算デバイス８３０にアクセスして、コンピュータ読み取り可能命令の一部または全部をダウンロードして実行する。あるいは、計算デバイス８１２は、必要に応じてコンピュータ読み取り可能命令の複数の部分（pieces）をダウンロードして、一部の命令を計算デバイス８１２で実行し、一部の命令を計算デバイス８３０で実行してもよい。
【００５５】
実施形態の様々な動作をここに説明した。一実施形態では、説明した動作のうちの一又は複数は、コンピュータ読み取り可能媒体に記憶されたコンピュータ読み取り可能命令であり得る。コンピュータ読み取り可能命令は、計算デバイスにより実行されると、その計算デバイスに、説明した動作を実行させる。複数の動作の一部または全部を説明した順序は、これらの動作がその順序でなければならないことを示唆するものと解してはならない。当業者には、別の順序でも説明した利益を有することがわかるだろう。さらに、言うまでもなく、ここに説明した各実施形態において必ずしもすべての動作が必要なわけではない。
【００５６】
さらに、「exemplary」との語は、ここでは一例であることを意味する。ここで「exemplary」と説明した態様や設計は、他の態様や設計より有利であると限らない。むしろ、exemplaryとの語の使用は、具体的なコンセプトの提示を意図している。本願において、「または」との用語は、排他的な意味での「または」ではなく、包含的な意味での「または」を意味すると意図している。すなわち、特に断らない限り、またはコンテクストから明らかでない限り、「ＸがＡまたはＢを利用する」は任意の自然な包含的な置換を意味することを意図している。すなわち、ＸがＡを利用し；ＸがＢを利用し；またはＸがＡとＢの両方を利用する場合、前記のどの場合であっても「ＸがＡまたはＢを利用する」が満たされる。さらに、ＡとＢの少なくとも一方などの表現は、一般的に、ＡまたはＢまたはＡとＢの両方を意味する。また、本願及び添付した特許請求の範囲で用いている冠詞「ａ」と「ａｎ」は、特に断らなければ、またはコンテクストから単数形であることが明らかでなければ、一般的に、「一又は複数」を意味すると解釈される。また、ＡとＢの少なくとも一方などの表現は、一般的に、ＡまたはＢまたはＡとＢの両方を意味する。
【００５７】
また、一又は複数の実施形態を参照して本開示を示し説明したが、当業者には、この明細書及び添付した図面を読んで理解すれば、等価な代替や修正が思いつくだろう。本開示はかかる修正や代替のすべてを含み、後述の特許請求の範囲のみにより限定される。上記のコンポーネント（例えば、要素やリソース）により実行される様々な機能に関して、かかるコンポーネントを説明するのに用いた用語は、特に断らなければ、例え開示の構成と構造的に等価でなくても、本開示のここに例示した実施形態の機能を実行する、説明のコンポーネントの指定の機能を実行する（例えば、機能的に高価な）任意のコンポーネントに対応することを意図している。また、本開示の特徴を複数の実施形態の１つのみを参照して開示したとしても、アプリケーションで好ましく有利であるならば、かかる特徴は他の実施形態の一又は複数の特徴と組み合わせてもよい。さらに、「includes」、「having」、「has」、「with」またはこれらの変化形を詳細な説明または特許請求の範囲のいずれかで用いる限り、かかる用語は「comprising」との用語と同様に包含的であることを意図している。
【図１】
2014512589.tif 000003
【図２】
2014512589.tif 000004
【図３】
2014512589.tif 000005
【図４】
2014512589.tif 000006
【図５】
2014512589.tif 000007
【図６】
2014512589.tif 000008
【図７】
2014512589.tif 000009
【図８】
2014512589.tif 000010
【国際調査報告】
2014512589.tif 000011
2014512589.tif 000012