(57)【特許請求の範囲】
【請求項１】
コンピュータにインストールされたソフトウェアアプリケーションの１つまたは２つ以上のセキュリティ保護された機能にサインインするための方法であって、
前記コンピュータが、自動サインインが使用可能にされているかを判定することと、
前記自動サインインが使用可能にされているとき前記ソフトウェアアプリケーションが始動されると、
前記コンピュータが、セキュリティ基準が満足されているかどうかを検出することであって、
認証サーバと通信可能なネットワークコネクションを検出し、
前記自動サインインが前記コンピュータのシステム管理ポリシによって使用可能にされていることを検出することと、
セキュリティ基準が満足されていることに応答して、前記コンピュータが、前記セキュリティ保護された機能にアクセスするためのクレデンシャルを認証サーバに送信し、認証されると前記ソフトウェアアプリケーション内の前記セキュリティ保護された機能をアクセス可能にして、サインインした状態にすることと
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記自動サインインは、
前記コンピュータが、前記ソフトウェアアプリケーション内の前記セキュリティ保護された機能にアクセスする要求を受け取るオペレーションと、
前記コンピュータが、クレデンシャルの要求を表示するオペレーションと、
前記コンピュータが、前記ソフトウェアアプリケーションの前記セキュリティ保護された機能にアクセスするために、サインインするための前記クレデンシャルをユーザから受け取るオペレーションと、
前記コンピュータが、前記セキュリティ保護された機能を備えた１つまたは２つ以上のソフトウェアアプリケーション内の１つまたは２つ以上の前記セキュリティ保護された機能にアクセスするために、これ以降、自動的にサインインする要求を受け取るオペレーションと、
前記コンピュータが、前記クレデンシャルを認証サーバに送信して、該クレデンシャルが有効であるかどうかを検出するオペレーションと、
前記コンピュータが、前記クレデンシャルが有効であると検出することに応答して、該クレデンシャルをクレデンシャルマネージャにストアし、自動サインインのためのレジストリキーをアクティブにするオペレーションと
によって使用可能にされることを特徴とする方法。
【請求項３】
請求項２に記載の方法において、前記クレデンシャルは暗号化フォーマットでストアされることを特徴とする方法。
【請求項４】
請求項１に記載の方法において、前記自動サインインは、
前記コンピュータが、前記ソフトウェアアプリケーションのサービスオプションメニューを表示する要求を受け取り、
前記コンピュータが、サービスオプションメニューを表示し、
前記コンピュータが、１つまたは２つ以上のソフトウェアアプリケーション内の１つまたは２つ以上の前記セキュリティ保護された機能にアクセスするために、これ以降、自動的にサインインする要求を受け取り、
前記コンピュータが、クレデンシャルの要求を表示し、
前記コンピュータが、前記ソフトウェアアプリケーション内の前記セキュリティ保護された機能にアクセスするために、サインインするための前記クレデンシャルを受け取り、
前記コンピュータが、前記クレデンシャルを認証サーバに送信し、該クレデンシャルが有効であるかどうかを検出し、
前記コンピュータが、前記クレデンシャルが有効であると検出することに応答して、該クレデンシャルをクレデンシャルマネージャにストアし、自動サインインのレジストリキーをアクティブにするオペレーションによって使用可能にされることを特徴とする方法。
【請求項５】
請求項４に記載の方法において、前記自動サインインは、
前記コンピュータが、前記サービスオプションメニュー内にクレデンシャルを変更するオプションを表示し、
前記コンピュータが、前記クレデンシャルを変更する要求を受け取り、
前記コンピュータが、前記クレデンシャルを変更する要求を受け取ることに応答して、別のクレデンシャルの要求を表示し、
前記コンピュータが、前記ソフトウェアアプリケーションの前記セキュリティ保護された機能にアクセスするためにサインインするための前記別のクレデンシャルを受け取り、
前記コンピュータが、前記別のクレデンシャルを受け取ることに応答して、前記クレデンシャルを除去し、
前記コンピュータが、前記別のクレデンシャルを前記クレデンシャルに代えてストアするオペレーションによって変更されることを特徴とする方法。
【請求項６】
請求項５に記載の方法において、クレデンシャルは暗号化フォーマットでストアされることを特徴とする方法。
【請求項７】
請求項１に記載の方法において、前記セキュリティ基準は、前記ソフトウェアアプリケーションの始動時に、セキュリティ保護された機能を備えた１つまたは２つ以上の他のソフトウェアアプリケーションが実行状態にないことを含むことを特徴とする方法。
【請求項８】
請求項１に記載の方法において、前記セキュリティ基準は、２つまたは３つ以上のソフトウェアアプリケーションの同時サインインを防止するためにロックが使用されていることを含むことを特徴とする方法。
【請求項９】
請求項１に記載の方法において、前記セキュリティ基準は、前記自動サインインを使用可能にするためのレジストリキーがアクティブになっていることを含むことを特徴とする方法。
【請求項１０】
請求項１に記載の方法において、前記セキュリティ基準は、前記ソフトウェアアプリケーションの前記セキュリティ保護された機能にアクセスする目的でサインインするためにクレデンシャルが前記コンピュータにストアされていることを含むことを特徴とする方法。
【請求項１１】
請求項１０に記載の方法において、前記セキュリティ基準は、前記クレデンシャルが有効であることを含むことを特徴とする方法。
【請求項１２】
請求項１に記載の方法において、前記ソフトウェアアプリケーションは、セキュリティ保護された機能を備えた２つまたは３つ以上のソフトウェアアプリケーションの１つであり、オペレーティングシステムは、前記自動サインインをサポートし、前記セキュリティ基準は、さらに、前記ソフトウェアアプリケーションの始動時に、１つまたは２つ以上の他のソフトウェアアプリケーションが実行状態になっていないことを特徴とする方法。
【請求項１３】
請求項１に記載の方法において、前記クレデンシャルはユーザ名およびパスワードを含むことを特徴とする方法。
【請求項１４】
請求項１２に記載の方法において、
サインインした状態を表示するために前記ソフトウェアアプリケーションのインタフェースをアクティブにし、自動サインインが行われたことを示す１つまたは２つ以上のメッセージを送信する、
ことをさらに含むことを特徴とする方法。
【請求項１５】
請求項１に記載の方法において、前記自動サインインは、システム管理ポリシによって使用不可にすることが可能であることを特徴とする方法。
【請求項１６】
請求項１に記載の方法において、前記セキュリティ保護された機能は、１つまたは２つ以上のホストＷｅｂサイトおよび１つまたは２つ以上のホストサービスによって提供される機能を含むことを特徴とする方法。
【請求項１７】
請求項１に記載の方法において、サインインした状態にすることは、認証サーバから暗号化クッキーを受け取ることを含むことを特徴とする方法。
【請求項１８】
請求項２に記載の方法において、これ以降、自動的にサインインする要求は、ユーザが「自動的にサインインする」チェックボックスをクリックして、前記要求を行うことを含むことを特徴とする方法。
【請求項１９】
請求項１に記載の方法において、これ以降、自動的にサインインする要求は、サービスオプションメニュー内でユーザによってアクティブにされたアクティブ状態の「パスワード保存」オプションとアクティブ状態の「自動サインイン」オプションとを含むことを特徴とする方法。
【請求項２０】
コンピュータにインストールされたソフトウェアアプリケーション内の１つまたは２つ以上のセキュリティ保護された機能にサインインするためのコンピュータプロセスを実行するための命令をエンコードしているコンピュータプログラムであって、実行されると、
前記コンピュータに、自動サインインが使用可能にされているかを判定させ、
前記自動サインインが使用可能にされているとき前記ソフトウェアアプリケーションが起動されると、
前記コンピュータに、セキュリティ基準が満足されているかどうかを判定させることであって、
認証サーバと通信可能なネットワークコネクションを検出することと、
前記自動サインインが前記コンピュータのシステム管理ポリシによって使用可能にされていることと
を判定させ、
前記コンピュータに、セキュリティ基準が満足されていることに応答して、前記セキュリティ保護された機能にアクセスするためのクレデンシャルを認証サーバに送信させ、前記ソフトウェアアプリケーション内の前記セキュリティ保護された機能へのアクセスを可能にさせて、前記ソフトウェアアプリケーションをサインインした状態にさせる
ことを含むことを特徴とするコンピュータプログラム。
【請求項２１】
請求項２０に記載のコンピュータプログラムにおいて、実行されると、
前記コンピュータに、前記ソフトウェアアプリケーション内のセキュリティ保護された機能にアクセスする要求を受け取らせ、
前記コンピュータに、前記要求に応答して、ユーザが前記セキュリティ保護された機能にアクセスできるようにさせる、
ことをさらに含むことを特徴とするコンピュータプログラム。
【請求項２２】
請求項２０に記載のコンピュータプログラムにおいて、前記自動サインインは、実行されると、
前記コンピュータに、前記ソフトウェアアプリケーション内の前記セキュリティ保護された機能にアクセスする要求を受け取らせ、
前記コンピュータに、クレデンシャルの要求を表示させ、
前記コンピュータに、前記ソフトウェアアプリケーションの前記セキュリティ保護された機能にアクセスする目的でサインインするために前記クレデンシャルを受け取らせ、
前記コンピュータに、前記セキュリティ保護された機能を備えた１つまたは２つ以上のソフトウェアアプリケーション内の１つまたは２つ以上の前記セキュリティ保護された機能にアクセスするために、これ以降、自動的にサインインする要求を受け取らせ、
前記コンピュータに、前記クレデンシャルを認証サーバに送信させて、該クレデンシャルが有効であるかどうかを検出させ、
前記コンピュータに、前記クレデンシャルが有効であることを検出することに応答して、該クレデンシャルをクレデンシャルマネージャにストアさせ、自動サインインのレジストリキーをアクティブにさせ、これによって使用可能にされることを特徴とするコンピュータプログラム。
【請求項２３】
請求項２２に記載のコンピュータプログラムにおいて、前記クレデンシャルは暗号化フォーマットでストアされることを特徴とするコンピュータプログラム。
【請求項２４】
請求項２２に記載のコンピュータプログラムにおいて、これ以降、自動的にサインインする要求は、ユーザが「自動的にサインインする」チェックボックスをクリックして、前記要求を行うことを含むことを特徴とするコンピュータプログラム。
【請求項２５】
請求項２２に記載のコンピュータプログラムにおいて、これ以降、自動的にサインインする要求は、サービスオプションメニュー内でユーザによってアクティブにされたアクティブ状態の「パスワード保存」オプションとアクティブ状態の「自動サインイン」オプションとを含むことを特徴とするコンピュータプログラム。
【請求項２６】
請求項２０に記載のコンピュータプログラムにおいて、前記セキュリティ基準は、
２つまたは３つ以上のソフトウェアアプリケーションの同時サインインを防止するためにロックが使用されていることと、
レジストリキーが前記自動サインインを使用可能にするためにアクティブになっていることと、
１つまたは２つ以上のソフトウェアアプリケーションの前記セキュリティ保護機能にアクセスする目的でサインインするためにクレデンシャルがコンピュータにストアされていることと、
前記クレデンシャルが有効であることと、
を含むことを特徴とするコンピュータプログラム。
【請求項２７】
請求項２６に記載のコンピュータプログラムにおいて、前記ソフトウェアアプリケーションは、セキュリティ保護された機能を備える１つまたは２つ以上のソフトウェアアプリケーションの１つであって、オペレーティングシステムは、前記自動サインインをサポートし、前記セキュリティ基準は、前記ソフトウェアアプリケーションの始動時に、１つまたは２つ以上の他のソフトウェアアプリケーションが実行状態になっていないことをさらに含むことを特徴とする方法。
【請求項２８】
請求項２６に記載のコンピュータプログラムにおいて、前記クレデンシャルはユーザ名およびパスワードを含むことを特徴とするコンピュータプログラム。
【請求項２９】
請求項２６に記載のコンピュータプログラムにおいて、実行されると、
前記コンピュータに、サインインした状態にあることを示すために前記ソフトウェアアプリケーションのインタフェースを変更させ、
前記コンピュータに、自動サインインが行われたことを示す１つまたは２つ以上のメッセージを送信させる
ことをさらに含むことを特徴とするコンピュータプログラム。
【請求項３０】
請求項２０に記載のコンピュータプログラムにおいて、前記自動サインインは、システム管理ポリシによって使用不可にすることが可能であることを特徴とするコンピュータプログラム。
【請求項３１】
ソフトウェアアプリケーションがインストールされ、前記ソフトウェアアプリケーション内の１つまたは２つ以上のセキュリティ保護された機能にサインインするためのシステムであって、
自動サインインの条件をストアしているメモリユニットと、
自動サインインの条件が満たされているとき前記ソフトウェアアプリケーションを始動し、前記セキュリティ基準が満足されているかどうかを検出する処理ユニットであって、認証サーバと通信可能なネットワークコネクションを検出し、前記自動サインインが前記システムの管理ポリシによって使用可能にされていることを検出し、セキュリティ基準が満足されていることに応答して、前記セキュリティ保護された機能にアクセスするためのクレデンシャルを認証サーバに送信し、前記ソフトウェアアプリケーション内の前記セキュリティ保護された機能へのアクセスを可能にして、前記ソフトウェアアプリケーションをサインインした状態にする前記処理ユニットと
を含むことを特徴とするシステム。
【請求項３２】
請求項３１に記載のシステムにおいて、
前記サインインした状態を示すディスプレイユニットをさらに含むことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、ユーザまたはコンピューティングシステムの身元（identity）を認証するコンピュータシステムに関する。さらに具体的には、本発明は、セキュリティ保護された機能（secured feature）（以下、「セキュリティ保護機能」ともいう。）を備えたソフトウェアアプリケーションにサインインするためのコンピュータオペレーションに関する。
【背景技術】
【０００２】
今日のソフトウェアアプリケーションは、ユーザおよびコンピュータがソフトウェアアプリケーション内のセキュリティ保護機能にアクセスするためにサインインすることによってその身元を検証することを要求し、これによって認証サービスに接続するネットワークサービス機能をもつように作られている。
【０００３】
MICROSOFT CORPORATION（米国ワシントン州レドモンド）が提供しているPASSPORT.NET（商標）のような認証サービスは、セキュリティ保護機能にアクセスするためにユーザを認証することを必要とするソフトウェアアプリケーションには不可欠な一部になりつつある。これらの認証サービスは、ソフトウェアアプリケーション内のセキュリティ保護機能へのアクセスを制御し、ネットワークユーザのために身元および認証 (identity and authentication) サービスを提供している。例えば、ワードプロセッシングアプリケーション内から使用されるセキュリティ保護されたネットワークファックスサービスは、ユーザの身元を認証するためにユーザ名とパスワードの入力を要求し、ネットワークファックスサービスの使用を認可している。いったん身元が認証されると、認証オペレーションは認証ゲートウェイとして働き、サインインしたセッション (signed in session) 期間中にどのネットワークサービスまたはＷｅｂサイトでもユーザ名とパスワードを入力することなく、ユーザがワードプロセッシングアプリケーション内からセキュアにネットワークサービスにアクセスすることができるようにしている。
【０００４】
しかし、ユーザは、ソフトウェアアプリケーション内のセキュリティ保護機能に最初にアクセスするためには、依然としてユーザ名とパスワードを入力するか、あるいはサインインボタン (sign-in button) をクリックしなければならない。現行のサインインオペレーションの１つの問題点は、オペレーションが波及的 (pervasive) であり、セキュリティ保護されたソフトウェア機能にサインインするためのインタフェースに、ユーザが反復的に介入することが要求されることである。これは、セキュリティ保護機能を備えたソフトウェアアプリケーションをクローズしたあとユーザがサインインするたびに行わなければならない。例えば、ユーザがあるソフトウェアアプリケーション内のあるセキュリティ保護機能を使用したい場合は、そのユーザはそのアプリケーションを始動し、ユーザ名とパスワードをタイプインするか、あるいは保存されたパスワードを入力するためにインタフェースボタンをクリックしなければならない。そのユーザがコンピュータを変更する場合は、パスワードが保存されるという利点が失われることになり、ユーザは再びユーザ名とパスワードを入力することを要求されることになる。これらの問題点は、セキュリティ保護機能に定期的にアクセスするユーザには煩わしい負担となっている。
【０００５】
さらに、一部のＷｅｂベースのクッキー (cookie) オペレーションはパスワードとユーザ名を保存しているが、それでもいくつかの問題点がある。先ず第一に、Ｗｅｂベースのシステムは、依然としてユーザに対するプロンプトを必要とし、ユーザが保存したパスワード表示に介入することが要求される。第二に、「パスワード保存(save password)」機能は、ユーザがコンピュータを変更すると失われることになる。最後に、サインインオペレーションは、ネットワーク管理ポリシによって制御することができないため、ネットワークの好みの設定 (network preferences) に対して適応性がない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように従来のシステムには種々の問題があり、さらなる改善が望まれている。本発明は、このような状況に鑑みてなされたもので、その目的とするところは、効率的でフレキシブルなアクセスを可能としたセキュリティ保護機能を備えたソフトウェアアプリケーションにサインする方法およびシステムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明によれば、上記問題点およびその他の問題点を、ソフトウェアアプリケーション内のセキュリティ保護機能にアクセスするために自動的にサインインすることによって解決している。本発明によれば、セキュリティ保護機能を備えたソフトウェアアプリケーションをユーザが始動するとき、ユーザインタフェースがプロンプトを出さなくても、あるいはユーザが手操作で介入しなくても、ユーザが自動的にサインインされるようにしている。あるソフトウェアアプリケーションが始動され、自動サインイン (automatic sign-in) が使用可能にされているときは、そのソフトウェアアプリケーションは、セキュリティ基準が満足されている限り、サインインした状態 (signed-in state) に移行する。サインインした状態への移行は、プロンプトでユーザにクレデンシャル (credential)（例えば、ユーザ名とパスワード）の入力を求めることなく行われる。その結果、サインインするときに不必要で、反復的なステップが回避され、ソフトウェアアプリケーションを使用中に、ランダムなインターバルで割り込みによる (intrusive) ポップアップによるサインインダイアログ (pop-up sign-in dialog) があまり現れることがなくなる。
【０００８】
本発明の別の特徴は、いくつかの方法で自動サインインが開始されることである。自動サインインは、初期システムセットアップを通しても、クレデンシャルの入力を求めるプロンプトを通しても、あるいはサービスオプションメニューを通しても開始することができる。この特徴によると、あるスイート（suite）中のソフトウェアアプリケーション（複数）の各々に、使用可能にされた自動サインインをもたせることができる。このようにすると、ソフトウェアアプリケーションが共同で効率的に稼動する能力が向上することになる。
【０００９】
本発明の別の特徴では、クレデンシャル情報は、ドメインクレデンシャル (domain credential) として暗号化フォーマットでストアされている。さらに、レジストリキーがセットされると、自動サインインが使用可能になるようにしている。このようにすると、セキュリティとローミング (roaming) 能力が強化されるという利点が得られる。
【００１０】
本発明は、コンピュータプロセスとしても、コンピューティングシステムとしても、あるいはコンピュータプログラムプロダクトやコンピュータ可読媒体のような製造物品としても実現することができる。コンピュータプログラムプロダクトは、コンピュータシステムによって読み取り可能で、コンピュータプロセスを実行するための命令からなるコンピュータプログラムをエンコードしているコンピュータ記憶媒体とすることができる。また、コンピュータプログラムプロダクトは、コンピューティングシステムによって読み取り可能で、コンピュータプロセスを実行するための命令からなるコンピュータプログラムをエンコードしている、搬送波上の伝播信号 (propagated signal on a carrier) にすることも可能である。
【００１１】
本発明の利点は、ネットワーク伝送が必要時方式 (as-needed basis) で行われるため、ネットワーク効率性が改善されることである。ソフトウェアアプリケーションがサインインした状態にあっても、ネットワーク伝送は、セキュリティ保護機能が要求されたときだけ行われるので、ネットワークトラフィックは低減されることになる。
【００１２】
本発明の別の利点は、自動サインインがネットワーク内の他のコンピュータにローミングすることができるので、移動することのあるユーザに追随できることである。本発明のさらに別の利点は、自動サインインがネットワーク管理者によって制御可能であるので、ネットワーク管理者は望む時にその機能を使用不可にできることである。
【００１３】
本発明の大きな有用性は、ソフトウェアアプリケーションを始動したあと、プロンプトでユーザにクレデンシャルの入力を求めなくても、また手操作による介入を要求しなくても、ユーザは、ソフトウェアアプリケーション内のセキュリティ保護機能にアクセスするために自動的にサインインされることである。
【００１４】
本発明を特徴付けている、上記およびその他の種々の特徴と利点は、添付図面を参照して下述する詳細な説明を読めば理解されるはずである。
【発明の効果】
【００１５】
以上説明したように本発明によれば、ソフトウェアアプリケーションにサインインするに際し、効率的でフレキシブルなアクセスを可能とする効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施形態を詳細に説明する。  
図１を参照して説明すると、例示の図は、本発明の実際の実施形態で利用されているシステムアーキテクチャ１０を示している。図１に示すように、クライアントコンピュータ２０が用意されているが、これは、ネットワーク５０を通して認証サーバ６０に接続されている。ここで説明している１つの実際の実施形態によれば、クライアントコンピュータ２０は標準的パーソナルコンピュータからなり、これは、デジタル加入者線 (Digital Subscriber Line) またはケーブルモデムなどのコネクションを経由して、インターネットなどのネットワーク５０に接続されている。しかし、当然に理解されるように、クライアントコンピュータ２０は、ＰＤＡ (personal digital assistant) などの、別タイプのコンピューティングデバイスからなることも可能であり、ダイヤルアップや衛星コネクションなどの、別タイプのコネクションを通してネットワーク５０に接続することも可能である。
【００１７】
クライアントコンピュータ２０は、MICROSOFT CORPORATION（米国ワシントン州レドモンド）が提供しているINTERNET EXPLORER（商標）などの標準的Ｗｅｂブラウザアプリケーションプログラムを実行する機能を備えている。このＷｅｂブラウザアプリケーションプログラムがセキュリティ保護されたネットワークサイトとサービス (secured network sites and services)８０にアクセスするために利用できるのは、そのクライアントコンピュータ２０が認証されたクレデンシャルを有している場合である。クレデンシャルは、クライアントコンピュータ２０がそのクレデンシャルをネットワーク５０経由で認証サーバ６０に送信したあと認証される。認証サーバ６０は、セキュリティ保護されたサービスまたはＷｅｂサイト８０へのアクセスをユーザに許可する前にユーザの身元を認証する。例えば、クライアントコンピュータ２０のユーザが、セキュリティ保護されたファックスとプリント機能（secured faxing and printing features）を備えたワードプロセッシングソフトウェアアプリケーション内でセキュリティ保護されたファックスまたはプリントサービスにアクセスする前に、そのユーザは、ネットワーク５０経由でクレデンシャル（例えば、ユーザ名とパスワード）を認証サーバ６０に渡さなければならない。
【００１８】
クライアントコンピュータ２０は、ソフトウェアアプリケーション内のあるセキュリティ保護機能が要求されるときはいつも、ソフトウェアアプリケーション内のそのセキュリティ保護機能にアクセスするためにクレデンシャルと共にサインインまたはログインすることを、プロンプトでユーザに促す。しかし、自動サインインがクライアントコンピュータ２０で使用可能になっているときは、ユーザが介入する必要はないので、ソフトウェアアプリケーションは、ユーザ側にアクションをプロンプトで促すことなく、サインインした状態に移行する。自動サインインが使用可能になっていて、セキュリティ基準が満足されていれば、セキュリティ保護機能をもつソフトウェアアプリケーションが起動されたとき、サインインした状態が達成される。
【００１９】
クレデンシャルが有効であると判定されると、認証サーバ６０は、暗号化クッキー (encrypted cookie) をクライアントコンピュータ２０に戻す。この暗号化クッキーがあると、クライアントコンピュータ２０は、セキュリティ保護されたサービスとＷｅｂサイトにアクセスすることが可能になる。一旦ソフトウェアアプリケーション側のメモリが暗号化クッキーを受け取ると、サインインしたセッション期間中にクレデンシャルを再び認証することなく、クライアントコンピュータ２０はネットワーク５０経由でソフトウェアアプリケーションを通じてセキュリティ保護されたサイトとサービスにアクセスすることが可能になる。しかし、ユーザがソフトウェアアプリケーションから出て、ソフトウェアアプリケーション内のセキュリティ保護機能を再び始動したときは、自動サインインがアクティブではなく、クライアントコンピュータ２０側のソフトウェアアプリケーション内で使用可能になっていない限り、ユーザは、プロンプトでクレデンシャルの入力を求められることになる。
【００２０】
図２は、本発明の実施形態を実現することができる適切なコンピューティング環境を示す図である。以下では、パーソナルコンピュータによって実行されるコンピュータ実行可能命令という広い意味で、本発明の一実施形態について説明することにする。当業者ならば理解されるように、本発明は他のコンピュータシステム構成で実施することが可能であり、その中には、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な民生用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどが含まれている。本発明は、通信ネットワークを通してリンクされているリモート処理デバイスによってタスクが実行されるような、分散型コンピューティング環境で実施することも可能である。
【００２１】
図２を参照して説明すると、本発明を実現するための例示システムは、従来のクライアントコンピュータ２０の形態をした汎用コンピューティングデバイスを含み、そこには、ＣＰＵ（central processing unit）２０４、システムメモリ２０６、およびシステムメモリからＣＰＵ２０４を含む種々のシステムコンポーネントを結合するシステムバス２１２が含まれる。システムバス２１２は、いくつかのタイプのバス構造のいずれにすることも可能であり、その中には、種々のバスアーキテクチャのいずれかを採用したメモリバスまたはメモリコントローラ、ペリフェラル（周辺）バス、およびローカルバスが含まれる。システムメモリは、ＲＯＭ (read only memory)２１０ およびラＲＡＭ (random access memory)２０８を含む。起動期間のように、クライアントコンピュータ２０内のエレメント間で情報を転送するのを支援する基本ルーチンが入っているＢＩＯＳ (basic input/output system)はＲＯＭ２１０に格納されている。
【００２２】
クライアントコンピュータ２０は、さらに、ストレージデバイス２１４を装備し、そこには、オペレーティングシステム２１６、MICROSOFT CORPORATION（米国ワシントン州レドモンド）が提供しているOFFICE（商標）などの、セキュリティ保護機能を備えたソフトウェアアプリケーションプログラム２３０、その他のアプリケーションプログラム２３５、MICROSOFT CORPORATION（米国ワシントン州レドモンド）が提供しているINTERNET EXPLORER（商標）などの、標準的Ｗｅｂブラウザアプリケーションプログラム、およびレジストリ情報が格納されており、レジストリ情報には、暗号化クレデンシャルが書き込まれ、自動サインインを可能にするメカニズムが登録されている。オペレーティングシステム２１６は、クレデンシャルをクライアントコンピュータ２０上にセキュアにストアしておくために使用されるメカニズムである、クレデンシャルマネージャ (credential manager)２３２と共に稼動する。さらに、オペレーティングシステム２１６は、認証サーバ６０から送られてくる暗号化クッキー２２８と共に稼動する。暗号化クッキー２２８があると、クライアントコンピュータ２０は、ネットワーク５０上で稼動しているセキュリティ保護されたサービスとサイトにアクセスすることが可能になる。
【００２３】
暗号化クッキー２２８は、セキュリティ保護機能を備えたソフトウェアアプリケーション２３０の１つを始動し、プロンプトで催促されたときにクレデンシャルを入力することによってサインインしたあとで取得される。ユーザがソフトウェアアプリケーション２３０の１つを始動したとき自動サインインが使用可能になっていれば、サインインまたはログインプロンプトはバイパスされ、クライアントコンピュータ２０は、ユーザからの介入なしでソフトウェアアプリケーションにサインインする。自動サインインまたはログインが使用可能にされたときは、自動サインインまたはログインレジストリキー２３３はアクティブ状態にあり、認証されたクレデンシャルはクレデンシャルマネージャ２３２にストアされる。ホームＨＫＥＹカレントユーザ (hkcu) に書き込まれたレジストリキー２３３は、他のクライアントコンピュータまでユーザプロファイル (user profile) をたどっていくことができるローミング (roaming) 特性をもっているので、自動サインインまたはログインのローミング特性を使用可能にする。
【００２４】
ストレージデバイス２１４は、バス２１２に接続されたストレージコントローラ（図示せず）を通してＣＰＵ２０４に接続されている。ストレージデバイス２１４とその関連するコンピュータ可読媒体は、クライアントコンピュータ２０の不揮発性ストレージを提供している。本明細書では、コンピュータ可読媒体は、ハードディスクやＣＤ−ＲＯＭドライブなどのストレージデバイスを意味するものとして説明されているが、当業者ならば理解されるように、コンピュータ可読媒体は、パーソナルコンピュータ２０によってアクセスできる利用可能な媒体ならば、どのような媒体であってもよい。
【００２５】
コンピュータ可読媒体の例を挙げると、コンピュータ記憶媒体 (computer storage media) と通信媒体 (communication media) があるが、これらに限定されない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための任意の方法またはテクノロジで実現される、揮発性および不揮発性であって、取り外し可能および取り外し不能の媒体を含む。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のソリッドステートメモリテクノロジ、ＣＤ−ＲＯＭ、ＤＶＤもしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、あるいは必要とする情報をストアするために使用可能で、コンピュータによってアクセス可能である任意のその他の媒体が含まれるが、これらに限定されない。
【００２６】
通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを、搬送波などの変調データ信号や他のトランスポートメカニズムの形で具現化しているのが一般的であり、任意の情報配信媒体を含む。ここで「変調データ信号」という用語は、その特性の１つまたは２つ以上が、信号の中で情報を符号化するような形で設定または変更されている信号を意味している。通信媒体の例を挙げると、有線ネットワークまたは直接配線接続のような有線媒体、および音響、ＲＦ、赤外線、他の無線媒体のような無線媒体があるが、これらに限定されない。上記に挙げたものを任意に組み合わせたものも、当然にコンピュータ可読媒体の範囲に含まれる。コンピュータ可読媒体は、コンピュータプログラムプロダクトと呼ばれることもある。
【００２７】
本発明の種々の実施形態によれば、クライアントコンピュータ２０は、インターネットなどの、ネットワーク５０を経由するリモートコンピュータとの論理コネクションを使用するネットワーク化された環境で動作することが可能である。クライアントコンピュータ２０は、バス２１２に接続されたネットワークインタフェースユニット２２０を通してネットワーク５０に接続することができる。当然に理解されるように、ネットワークインタフェースユニット２２０は、他のタイプのネットワークやリモートコンピュータシステムに接続するためにも利用することができる。クライアントコンピュータ２０は、キーボード、マウス、または電子スタイラス（図２に図示せず）を含む、いくつかのデバイスから入力を受信して、処理するための入出力コントローラ２２２を装備することもある。同様に、入出力コントローラ２２２は、ディスプレイスクリーン、プリンタ、または他のタイプの出力デバイスに出力を提供することもできる。
【００２８】
簡単に上述したように、いくつかのプログラムモジュールおよびデータファイルは、クライアントコンピュータ２０のストレージデバイス２１４とＲＡＭ２０８にストアしておくことができるが、その中には、MICROSOFT CORPORATION（米国ワシントン州レドモンド）が提供しているWINDOWS（登録商標）XPオペレーティングシステムのような、ネットワーク化されたパーソナルコンピュータのオペレーションを制御するのに適したオペレーティングシステム２１６が含まれる。ストレージデバイス２１４とＲＡＭ２０８は、１つまたは２つ以上のデータファイルをストアしておくこともできる。具体的には、ストレージデバイス２１４とＲＡＭ２０８は、クレデンシャルマネージャ２３２に書き込まれたクレデンシャルとレジストリ２３３に書き込まれたレジストリデータをストアしておくことができる。自動サインインまたはログインオペレーションの動作に関する更なる詳細について、以下に詳しく説明する。
【００２９】
次に、図３を参照して説明すると、以下ではスクリーン図について説明し、そこには本発明の実際の実施形態によって提供される例示コンピュータディスプレイが示されている。図３は、ソフトウェアアプリケーション内のセキュリティ保護機能にアクセスするためにクレデンシャルが要求されたとき表示されるユーザインタフェース３０を示している。ユーザ名３２とパスワード３４が受け取られると、自動サインインまたはログインを使用可能にするためのオプションまたはチェックボックスがチェックボックス３６として提示される。このチェックボックス３６が確認されるか、あるいはクリックされると、自動サインインまたはログインを使用可能にするオペレーションが開始される。
【００３０】
次に、図４を参照して説明すると、以下ではスクリーン図について説明し、そこには本発明の実際の実施形態によって提供される例示コンピュータディスプレイが示されている。図４は、ユーザがサービスオプションメニューを選択して、ネットワークサービスとサイトとのやりとりのためのクライアントコンピュータ２０の好みの設定 (preferences) を見直したり、変更したりすると、それに応答して表示されるユーザインタフェース４０を示している。別の方法として、ユーザインタフェース４０から自動サインインを開始させることも可能である。自動サインインがまだ使用可能になっていないときは、ユーザ名４２、パスワードを保存するオプション、および自動サインインオプション４８は、ブランクのフィールド状態で表示される。自動サインインを使用可能にするオペレーションを開始するには、ユーザ名４２、パスワード保存４６および自動サインインの各フィールドに記入し、確認またはアクティブ化する。ユーザ名は、「サインイン」ボタン４４をクリックすると記入され、ユーザがユーザ名とパスワードを入力できるようにするユーザインタフェース３０が表示される。
【００３１】
自動サインイン４８を確認することなくパスワード保存オプション４６が確認された場合は、サインインまたはログインオペレーションは、依然としてユーザの介入を求める要求プロンプトを表示する。例えば、ユーザは、ユーザインタフェースから「サインイン」ボタンをクリックすることを要求される場合がある。さらに、自動サインインオプション４８は、パスワード保存オプション４６が確認されるまではグレー化される。つまり、非アクティブになる。ユーザが「サインイン」４４を選択すると、クレデンシャルを入力するためのユーザインタフェース３０が表示される。以下では、ユーザの介入なしで自動サインインまたはログインを使用可能にし、サインインすることに関してさらに詳しく説明する。
【００３２】
本発明の種々の実施形態のロジカルオペレーションは、(1) コンピュータシステム上で稼動するコンピュータに実装したアクト (computer implemented acts) またはプログラムモジュールのシーケンスとして、および/または (2) コンピュータシステム内の相互接続されたマシンロジック回路もしくは回路モジュールとして実現される。どのように実現するかは、本発明を実現するコンピューティングシステムに要求されるパフォーマンスによって決まる選択の問題である。従って、ここで説明されている本発明の実施形態を構成する論理オペレーションは、オペレーション、構造デバイス (structural device)、アクト、またはモジュールといったようにさまざまな言い方で示される。当業者ならば理解されるように、これらのオペレーション、構造デバイス、アクトおよびモジュールは、特許請求の範囲に記載されている本発明の趣旨と範囲から逸脱することなく、ソフトウェアでも、ファームウェアでも、特定用途のデジタルロジックでも、これらの任意の組み合わせでも実現することが可能である。
【００３３】
図５は、ユーザの介入をプロンプトで求めることなく、セキュリティ保護機能を備えたソフトウェアアプリケーションに自動的にサインインまたはログインするために実行または実施されるオペレーションフロー５００を示す図である。このオペレーションフロー５００は、使用可能にするオペレーション (enabling operation)５０２からスタートし、そこでは自動サインインが登録される。図６を参照して説明すると、オペレーションフロー６００は、使用可能にするオペレーション５０２における本発明の実施形態を示し、そこでは、セキュリティ保護機能にアクセスするためにサインインする要求を受信オペレーション６０２で受け取ったあと、ディスプレイオペレーション６０４で表示されるクレデンシャル要求プロンプト３０から、自動サインインまたはログインを使用可能にしている。自動サインインを使用可能にすることは、セキュリティ保護されたソフトウェアアプリケーションにアクセスするためにサインインまたはログインする要求を表示し、セキュリティ保護機能を備えたソフトウェアアプリケーションにサインインまたはログインするためのクレデンシャル３２と３４を受信オペレーション６０６で受け取り、これ以降、セキュリティ保護機能を備えたソフトウェアアプリケーションにサインインまたはログインする要求３６を受信オペレーション６０８で受け取ることによって行うことができる。要求を受け取ることは、ユーザが「自動的にサインインする(sign me in automatically)」チェックボックスをクリックすることで行うことができる。
【００３４】
次に、自動サインインは、認証オペレーション６１０でクレデンシャルを認証し、そのクレデンシャルが有効であるかどうかを検出オペレーション６１２で検出することによって、さらに使用可能にされる。ここで、暗号化クレデンシャルは、認証サーバ６０に送信され、そこでそのクレデンシャルが有効であるかどうかが判定される。クレデンシャルが有効でなければ、オペレーションフロー６００は、分岐してディスプレイオペレーション６０４に戻る。逆に、クレデンシャルが有効であれば、オペレーションフロー６００は次に進み、クレデンシャル３２と３４をクレデンシャルマネージャ２３２にストアし、書き込みオペレーション６１４でレジストリキー２３３をアクティブにする。この時点で、自動サインインが使用可能にされる。オペレーションのコントロールは、結合子６２０で他のルーチンに戻される。
【００３５】
再び図５に戻って説明すると、自動サインインが使用可能にするオペレーション５０２で使用可能にされたあと、ソフトウェアアプリケーションは、自動サインイン条件にある間にオペレーション５０４で始動または起動される。そのあと、検出オペレーション５０６は、セキュリティ基準が満足されているかどうかを判定する。セキュリティ基準としては、ネットワークコネクションが検出されること、有効なクレデンシャルがストアされていること、レジストリキーがアクティブであること、ロックが使用されていること、などがある。セキュリティ基準が満足されていないことを検出オペレーション５０６が検出すると、オペレーションフロー５００はオペレーション５０８で終了する。
【００３６】
セキュリティ基準が満足されていることを検出オペレーション５０６が検出したときは、ソフトウェアアプリケーションは、移行オペレーション５１０でサインインした状態に移行するので、手操作で介入することによりクレデンシャルを入力するか、あるいはサインインボタンをクリックすることをプロンプトで求めなくても、セキュリティ保護機能へのアクセスが許可されることになる。オペレーションのコントロールは、結合子５１２で他のルーチンに戻される。
【００３７】
図７Ａと７Ｂは本発明の別の実施形態を示し、そこでは、セキュリティ保護機能を備えたソフトウェアアプリケーションは、始動オペレーション７２２でソフトウェアアプリケーションを始動することと、特定のセキュリティまたは自動ログイン基準と条件が満足されていることに基づいて、オペレーションフロー７００でサインインした状態またはログインした状態に移行されるようになっている。ソフトウェアアプリケーションを始動したあと、検出オペレーション７２３は、ネットワークコネクションが存在するかどうかを判定する。ネットワークコネクションが存在していなければ、自動サインインは使用不可にされ、コントロールは結合子７３８で他のルーチンに戻される。
【００３８】
ネットワークコネクションが存在するときは、次に、オペレーションフロー７００は検出オペレーション７２４へ進み、そこでセキュリティ保護機能を備えた１つまたは２つ以上の他のソフトウェアアプリケーションが、現在、実行状態またはオープン状態にあるかどうかの判定が行われる。１つまたは２つ以上の他のアプリケーションが実行状態またはオープン状態にある場合は、オペレーションフロー７００はコントロールを結合子７３８で他のルーチンに戻す。他のアプリケーションが実行状態またはオープン状態になければ、検出オペレーション７２６は、別のソフトウェアアプリケーションにサインインまたはログインするためにロック（lock）が、現在使用中であるかどうかを判定する。ロックが使用中でなければ、ロッキングオペレーション７２８はロックを取得して、他のアプリケーションがサインインすることによる割り込み（中断）なしで、基準検出を継続することができる。
【００３９】
オペレーションフロー７００は、自動サインインまたはログインが管理ポリシによって使用可能にされたかどうかを検出オペレーション７３０が判定している状態で継続される。ネットワーク管理者は、管理者の制御下に置かれているクライアントコンピュータシステムのレジストリセクションにレジストリキーを設定することにより自動サインインまたはログイン機能を使用不可にすることができる。この機能は、多数のユーザがいる公衆、企業ネットワーク、またはKIOSKコンピュータで使用されることを主目的にしている。このキーは、機能を使用可能にすることがデフォルト設定値になっている。自動サインインまたはログインが検出オペレーション７３０で使用可能になっていれば、検出オペレーション７３２は、オペレーティングシステムが自動サインインまたはログインをサポートするバージョンであるかどうかを判定する。オペレーティングシステムのバージョンは、自動サインインまたはログインをサポートするように装備されるべきである。
【００４０】
オペレーティングシステムが自動サインインまたはログインをサポートするバージョンであれば、オペレーションフロー７００は、検出オペレーション７３４により、レジストリキー２３３がアクティブであるかどうかを判定する状態で継続される。レジストリキー２３３がアクティブであれば、検出オペレーション７４０は、クレデンシャルがクレデンシャルマネージャにストアされているかどうかを判定する。クレデンシャルが存在するときは、認証オペレーション７４２へ進み、クレデンシャルを認証する。ここで、クレデンシャルは認証サーバ６０に送信され、そこで検出オペレーション７４３はそのクレデンシャルが有効であるかどうかを判定する。クレデンシャルが有効でなければ、エラーが表示され、オペレーションフロー７００は結合子７５２に分岐し、そこでオペレーションのコントロールが他のルーチンに戻される。クレデンシャルが有効であれば、暗号化クッキーが認証サーバ６０からクライアントコンピュータ２０に送信され、ソフトウェアアプリケーションは移行オペレーション７４６でサインインした状態に移行する。
【００４１】
そのあと、オペレーションフロー７００は移行オペレーション７４６からメッセージングオペレーション７４８へ進み、そこでユーザインタフェースは、ソフトウェアアプリケーションがサインインまたはログインした状態にあることを示すように変更され、他のアプリケーションは、自動サインインまたはログインが行われているとの通知を受け取る。他のソフトウェアアプリケーションが通知を受けると、ロッキングオペレーション７５０は、ロックを解放する。次に、オペレーションのコントロールは結合子７５２で他のルーチンに戻される。
【００４２】
以上、本発明の実施形態を参照して本発明を詳細に示し、説明してきたが、当業者ならば理解されるように、本発明の趣旨と範囲から逸脱することなく、形態と細部においてさまざまなその他の変更を行うことが可能である。
【図面の簡単な説明】
【００４３】
【図１】本発明の実際の実施形態で利用されているシステムアーキテクチャを示す図である。
【図２】本発明を実現することができる１つのコンピューティング環境を示す図である。
【図３】本発明の実際の実施形態によって提供される例示コンピュータディスプレイを示すスクリーン図である。
【図４】本発明の実際の実施形態によって提供される例示コンピュータディスプレイを示すスクリーン図である。
【図５】本発明の一実施形態においてセキュリティ保護機能を備えたソフトウェアアプリケーションにサインインを実行するときのオペレーションのフローを示す図である。
【図６】サインインを要求したあと表示されるクレデンシャル要求プロンプトから自動サインインが使用可能にされる場合の本発明の実施形態を示す図である。
【図７Ａ】特定のセキュリティ基準と条件が満足されたことに基づいて、セキュリティ保護機能を備えたソフトウェアアプリケーションがサインインした状態に移行される場合の本発明の別の実施形態を示す図である。
【図７Ｂ】特定のセキュリティ基準と条件が満足されたことに基づいて、セキュリティ保護機能を備えたソフトウェアアプリケーションがサインインした状態に移行される場合の本発明の別の実施形態を示す図である。
【符号の説明】
【００４４】
１０  システムアーキテクチャ
２０  クライアントコンピュータ
３０  ユーザインタフェース
３２  ユーザ名
３４  パスワード
３６  「自動的にサインインする」オプション
４０  ユーザインタフェース
４２  名前表示
４４  サインイン
４６  パスワード保存
４７  ＯＫ
４８  自動サインイン
４９  キャンセル
５０  ネットワーク
６０  認証サーバ
８０  セキュリティ保護されたネットワークサイトとサービス
２０４  ＣＰＵ
２０６  システムメモリ
２０８  ＲＡＭ
２１０  ＲＯＭ
２１２  システムバス
２１４  ストレージデバイス
２１６  オペレーティングシステム
２２０  ネットワークインタフェースユニット
２２２  入出力コントローラ
２２８  暗号化クッキー
２３０  セキュリティ保護機能を備えたソフトウェアアプリケーション
２３１  Ｗｅｂブラウザアプリケーション
２３２  クレデンシャルマネージャ
２３３  レジストリキー
２３５  その他のアプリケーションプログラム
【図１】
0004603791.tif 000002
【図２】
0004603791.tif 000003
【図３】
0004603791.tif 000004
【図４】
0004603791.tif 000005
【図５】
0004603791.tif 000006
【図６】
0004603791.tif 000007
【図７Ａ】
0004603791.tif 000008
【図７Ｂ】
0004603791.tif 000009