IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キンドリル・インクの特許一覧

特許7513584方法、コンピュータプログラム製品、およびシステム(共有認証クレデンシャルの管理)
<>
  • 特許-方法、コンピュータプログラム製品、およびシステム(共有認証クレデンシャルの管理) 図1
  • 特許-方法、コンピュータプログラム製品、およびシステム(共有認証クレデンシャルの管理) 図2
  • 特許-方法、コンピュータプログラム製品、およびシステム(共有認証クレデンシャルの管理) 図3
  • 特許-方法、コンピュータプログラム製品、およびシステム(共有認証クレデンシャルの管理) 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】方法、コンピュータプログラム製品、およびシステム(共有認証クレデンシャルの管理)
(51)【国際特許分類】
   G06F 21/31 20130101AFI20240702BHJP
   G06F 21/44 20130101ALI20240702BHJP
【FI】
G06F21/31
G06F21/44
【請求項の数】 20
(21)【出願番号】P 2021175787
(22)【出願日】2021-10-27
(65)【公開番号】P2022097380
(43)【公開日】2022-06-30
【審査請求日】2023-04-24
(31)【優先権主張番号】17/127,301
(32)【優先日】2020-12-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】ガーグ、クマール、アヌジ
(72)【発明者】
【氏名】デイ、クンタル
(72)【発明者】
【氏名】スタンゲランド、ロバート、ジェフリー
(72)【発明者】
【氏名】クルンガラ、チャトート、ソマン、サンジュ
(72)【発明者】
【氏名】ガウル、ヒマンシュ
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2014-199653(JP,A)
【文献】特開2013-235338(JP,A)
【文献】再公表特許第2013/140680(JP,A1)
【文献】米国特許出願公開第2013/0086060(US,A1)
【文献】特開2018-201090(JP,A)
【文献】特開2005-038411(JP,A)
【文献】米国特許第09461980(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/31
G06F 21/44
(57)【特許請求の範囲】
【請求項1】
1つ以上のプロセッサによって、認証クレデンシャルに関連し、少なくともMACアドレスを含む使用情報を、当該認証クレデンシャルの使用に対応するそれぞれのコンピュータ装置に対応するメディアアクセスコントロール(MAC)アドレスを用いて更新することと、
1つ以上のプロセッサによって、コンピュータ装置から、前記認証クレデンシャルを含むログイン要求を受信することと、
1つ以上のプロセッサによって、前記ログイン要求を送信した前記コンピュータ装置のMACアドレスを、ネットワークを通じて前記コンピュータ装置からフェッチすることと、
1つ以上のプロセッサによって、前記認証クレデンシャルおよび前記MACアドレスを検証することと、
を含む、方法。
【請求項2】
前記認証クレデンシャルおよび前記MACアドレスが前記検証にパスしたと判定した場合に、1つ以上のプロセッサによって、前記コンピュータ装置のアクセスを許可することをさらに含む、
請求項1に記載の方法。
【請求項3】
前記認証クレデンシャルおよび前記MACアドレスが前記検証にパスしないと判定した場合に、1つ以上のプロセッサによって、前記コンピュータ装置のアクセスを制限することをさらに含む、
請求項1に記載の方法。
【請求項4】
前記使用情報を、当該認証クレデンシャルの使用に対応するそれぞれのコンピュータ装置に対応するMACアドレスを用いて更新することは、
1つ以上のプロセッサによって、前記MACアドレスを暗号化することと、
1つ以上のプロセッサによって、前記暗号化されたMACアドレスを前記使用情報に記憶して、前記認証クレデンシャルの使用が当該MACアドレスに結び付けられていることを示すことと、をさらに含む、
請求項1に記載の方法。
【請求項5】
前記認証クレデンシャルは、複数の潜在的ユーザに関連する共有認証クレデンシャルである、
請求項1に記載の方法。
【請求項6】
前記認証クレデンシャルおよび前記MACアドレスを検証することは、
1つ以上のプロセッサによって、前記認証クレデンシャルが、有効な認証クレデンシャルのデータベース内の情報に一致するか否かを判定することと、
1つ以上のプロセッサによって、前記ログイン要求を送信した前記コンピュータ装置の前記フェッチしたMACアドレスが、前記認証クレデンシャルに関連する前記使用情報内の前記MACアドレスに一致するか否かを判定することと、をさらに含む、
請求項1に記載の方法。
【請求項7】
前記ログイン要求を送信した前記コンピュータ装置の前記MACアドレスをフェッチすることは、
1つ以上のプロセッサによって、セキュアシェル(SSH)プロトコル通信を介して、前記ログイン要求を送信した前記コンピュータ装置の前記MACアドレスを示す情報を受信することをさらに含む、
請求項1に記載の方法。
【請求項8】
前記コンピュータ装置のアクセスを制限することは、
前記ログイン要求を送信した前記コンピュータ装置の前記フェッチしたMACアドレスが、前記使用情報内の前記MACアドレスに一致しないと判定した場合に、1つ以上のプロセッサによって、当該コンピュータ装置をブロックすることをさらに含む、
請求項3に記載の方法。
【請求項9】
コンピュータプログラムであって、
前記コンピュータプログラムは、1つ以上のコンピュータ可読記憶媒体と、当該1つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令とを含み、当該プログラム命令は、
認証クレデンシャルに関連し、少なくともMACアドレスを含む使用情報を、当該認証クレデンシャルの使用に対応するそれぞれのコンピュータ装置に対応するメディアアクセスコントロール(MAC)アドレスを用いて更新するプログラム命令と、
コンピュータ装置から、前記認証クレデンシャルを含むログイン要求を受信するプログラム命令と、
前記ログイン要求を送信した前記コンピュータ装置のMACアドレスを、ネットワークを通じて前記コンピュータ装置からフェッチするプログラム命令と、
前記認証クレデンシャルおよび前記MACアドレスを検証するプログラム命令と、
を含む、コンピュータプログラム。
【請求項10】
前記1つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令であって、前記認証クレデンシャルおよび前記MACアドレスが前記検証にパスしたと判定した場合に、前記コンピュータ装置のアクセスを許可するプログラム命令をさらに含む、
請求項9に記載のコンピュータプログラム。
【請求項11】
前記1つ以上のコンピュータ可読記憶媒体に記憶されたプログラム命令であって、前記認証クレデンシャルおよび前記MACアドレスが前記検証にパスしないと判定した場合に、前記コンピュータ装置のアクセスを制限するプログラム命令をさらに含む、
請求項9に記載のコンピュータプログラム。
【請求項12】
前記使用情報を、当該認証クレデンシャルの使用に対応するそれぞれのコンピュータ装置に対応するMACアドレスを用いて更新するプログラム命令は、
前記MACアドレスを暗号化するプログラム命令と、
前記暗号化されたMACアドレスを前記使用情報に記憶して、前記認証クレデンシャルの使用が当該MACアドレスに結び付けられていることを示すプログラム命令と、をさらに含む、
請求項9に記載のコンピュータプログラム。
【請求項13】
前記認証クレデンシャルは、複数の潜在的ユーザに関連する共有認証クレデンシャルである、
請求項9に記載のコンピュータプログラム。
【請求項14】
前記認証クレデンシャルおよび前記MACアドレスを検証するプログラム命令は、
前記認証クレデンシャルが、有効な認証クレデンシャルのデータベース内の情報に一致するか否かを判定するプログラム命令と、
前記ログイン要求を送信した前記コンピュータ装置の前記フェッチしたMACアドレスが、前記使用情報内の前記MACアドレスに一致するか否かを判定するプログラム命令と、をさらに含む、
請求項9に記載のコンピュータプログラム。
【請求項15】
コンピュータシステムであって、
1つ以上のコンピュータプロセッサと、
1つ以上のコンピュータ可読記憶媒体と、
前記1つ以上のコンピュータプロセッサの少なくとも1つが実行するために前記コンピュータ可読記憶媒体に記憶されたプログラム命令と、を含み、当該プログラム命令は、
認証クレデンシャルに関連し、少なくともMACアドレスを含む使用情報を、当該認証クレデンシャルの使用に対応するそれぞれのコンピュータ装置に対応するメディアアクセスコントロール(MAC)アドレスを用いて更新するプログラム命令と、
コンピュータ装置から、前記認証クレデンシャルを含むログイン要求を受信するプログラム命令と、
前記ログイン要求を送信した前記コンピュータ装置のMACアドレスを、ネットワークを通じて前記コンピュータ装置からフェッチするプログラム命令と、
前記認証クレデンシャルおよび前記MACアドレスを検証するプログラム命令と、
を含む、コンピュータシステム。
【請求項16】
前記1つ以上のコンピュータプロセッサの少なくとも1つが実行するために前記コンピュータ可読記憶媒体に記憶されたプログラム命令であって、前記認証クレデンシャルおよび前記MACアドレスが前記検証にパスしたと判定した場合に、前記コンピュータ装置のアクセスを許可するプログラム命令をさらに含む、
請求項15に記載のコンピュータシステム。
【請求項17】
前記1つ以上のコンピュータプロセッサの少なくとも1つが実行するために前記コンピュータ可読記憶媒体に記憶されたプログラム命令であって、前記認証クレデンシャルおよび前記MACアドレスが前記検証にパスしないと判定した場合に、前記コンピュータ装置のアクセスを制限するプログラム命令をさらに含む、
請求項15に記載のコンピュータシステム。
【請求項18】
前記使用情報を、当該認証クレデンシャルの使用に対応するそれぞれのコンピュータ装置に対応するMACアドレスを用いて更新するプログラム命令は、
前記MACアドレスを暗号化するプログラム命令と、
前記暗号化されたMACアドレスを前記使用情報に記憶して、前記認証クレデンシャルの使用が当該MACアドレスに結び付けられていることを示すプログラム命令と、をさらに含む、
請求項15に記載のコンピュータシステム。
【請求項19】
前記認証クレデンシャルは、複数の潜在的ユーザに関連する共有認証クレデンシャルである、
請求項15に記載のコンピュータシステム。
【請求項20】
前記認証クレデンシャルおよび前記MACアドレスを検証するプログラム命令は、
前記認証クレデンシャルが、有効な認証クレデンシャルのデータベース内の情報に一致するか否かを判定するプログラム命令と、
前記ログイン要求を送信した前記コンピュータ装置の前記フェッチしたMACアドレスが、前記使用情報内の前記MACアドレスに一致するか否かを判定するプログラム命令と、をさらに含む、
請求項15に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般にセキュリティの分野に関し、より具体的には、共有認証クレデンシャル(shared authentication credentials)の管理に関する。
【背景技術】
【0002】
セキュアシェル(SSH:Secure Shell)は、安全ではないネットワーク上でネットワークサービスを安全に運用するための暗号化ネットワークプロトコルである。一般的なアプリケーションには、リモートコマンドライン(remote command-line)、ログイン、リモートコマンド実行などがあるが、どのようなネットワークサービスでも、SSHによりセキュリティを確保することができる。SSHは、クライアント/サーバアーキテクチャを用いて、SSHクライアントアプリケーションとSSHサーバを接続することにより、安全ではないネットワーク上で安全なチャネルを実現する。SSHは一般的に、リモートマシンにログインしてコマンドを実行するために用いられるが、SSHはトンネリング(tunneling)、トランスミッションコントロールプロトコル(TCP:Transmission Control Protocol)ポートの転送、およびX11接続(X11 connections)もサポートしている。さらに、SSHは、関連するSSHファイル転送プロトコル(SFTP:SSH File Transfer Protocol)またはセキュアコピープロトコル(SCP:Secure Copy Protocol)によりファイルを転送することができる。SSHは、種々のプラットフォーム(例えば、種々のOS)にわたる種々のアプリケーションに利用可能なプロトコルである。
【0003】
メディアアクセスコントロール(MAC)アドレスとは、ネットワークセグメント内の通信におけるネットワークアドレスとして、ネットワークインタフェースコントローラ(NIC)に割り当てられた一意の識別子である。MACアドレスは、イーサネット(登録商標)、Wi-Fi(登録商標)、Bluetooth(登録商標)など、ほとんどのIEEE802ネットワーク技術で一般的に用いられている。オープンシステムインターコネクション(OSI)ネットワークモデルにおいてMACアドレスは、データリンクレイヤの、媒体アクセス制御プロトコル(medium access control protocol)サブレイヤで用いられる。一般的なMACアドレスは、ハイフンやコロンで区切られるかまたは区切り文字のない、2桁の16進数の6つのグループとして認識される。MACアドレスは主に機器の製造元によって割り当てられるため、バーンインアドレス(burned-in address)、イーサネットハードウェアアドレス、ハードウェアアドレス、または物理アドレスと呼ばれることも多い。各アドレスは、カードのROMなどのハードウェアに保存することもできるし、ファームウェアのメカニズムによって保存することもできる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、共有認証クレデンシャルを管理および使用するための方法、コンピュータプログラム製品、およびシステムを提供する。
【課題を解決するための手段】
【0005】
本発明の態様によれば、共有認証クレデンシャルを管理および使用するための方法、コンピュータプログラム製品、およびシステムが開示される。方法は、認証クレデンシャルに関連する使用情報を、認証クレデンシャルの使用に対応するコンピュータ装置に対応するメディアアクセスコントロール(MAC)アドレスを用いて更新する1つ以上のプロセッサを含む。方法はさらに、コンピュータ装置から、認証クレデンシャルを含むログイン要求を受信する1つ以上のプロセッサを含む。方法はさらに、ログイン要求を送信したコンピュータ装置のMACアドレスをフェッチする1つ以上のプロセッサを含む。方法はさらに、認証クレデンシャルおよびMACアドレスを検証する1つ以上のプロセッサを含む。
【図面の簡単な説明】
【0006】
図1図1は、本発明の実施形態による、データ処理環境の機能ブロック図である。
図2図2は、本発明の実施形態による、共有認証クレデンシャルの使用を管理および追跡するためのプログラムの動作ステップを示すフローチャートである。
図3図3は、本発明の実施形態による、認証クレデンシャルを検証するためのプログラムの動作ステップを示すフローチャートである。
図4図4は、本発明の実施形態による、図1のクライアント装置、共有ID管理システムおよび認証システムを代表するコンピューティングシステムのコンポーネントを示すブロック図である。
【発明を実施するための形態】
【0007】
本発明の実施形態は、特に情報技術(IT)インフラストラクチャ環境における、共有認証クレデンシャル(例えば、共有された識別(ID)クレデンシャルおよびパスワード)の使用に関する機能を拡張するプロセスを可能にするものである。したがって、本発明の実施形態は、パスワード共有によってより完全に実装された共有認証クレデンシャルシステムが迂回されることを回避するための技術ソリューションを創出することによって、既存のツールおよびシステムの機能を拡張するように動作する。本発明の実施形態は、認証クレデンシャルのチェックアウト(checking-out)およびチェックイン(checking-in)のプロセスにおいて、要求元ユーザ(requesting user)の装置のMACアドレスを組み込むように動作する。
【0008】
本発明のいくつかの実施形態は、共有認証クレデンシャルがITインフラストラクチャの標準機能(standard feature)であり、特定の一連のタスクを実行する一連のユーザに対して共通の身元証明(identity)を提供するために用いられているという認識に基づく。また、本発明の実施形態は、共有認証クレデンシャルの現在の実装態様にはいくつかの問題があるという認識に基づく。これらの問題は例えば、特定の操作に関してどのユーザが共有認証クレデンシャルを使用したかの説明責任を目的とした追跡(accountability tracking)、共有IDのパスワードを共有することによるコンプライアンス違反、共有認証クレデンシャルの不正利用の可能性(例えば、セキュリティ違反など)、監査のための開示(audit exposure)、複雑さなどである。
【0009】
また、本発明の実施形態は、共有認証クレデンシャルサービスの既存のアプローチでは、個別の説明責任を維持するためにチェックアウトプロセスおよびチェックインプロセスが用いられ、共有認証クレデンシャルに対応するユーザは、共有認証クレデンシャルの使用ログのセキュリティおよび説明責任を維持するために、このチェックアウトプロセスおよびチェックインプロセスに厳密に従っていると想定される(supposed)という認識に基づく。したがって、本発明の実施形態は、共有認証クレデンシャルツールの既存のアプローチには、漏洩の可能性がある領域が数多く存在するという認識に基づく。例えば、チェックアウト時に、完全なチェックアウトおよびチェックインプロセスを迂回して、一のユーザから他の個人にパスワードが共有される可能性がある。
【0010】
また、本発明の実施形態は、ユーザが使用後にクレデンシャルを正しくチェックインしないと(そして、例えば、対応するパスワードを変更しないと)、共有認証クレデンシャルが不正利用可能な状態のままになりかねないという認識に基づく。さらに、本発明の実施形態は、現在の実装形態においては、手動のコンプライアンスプロセスを用いて(例えば、コンプライアンスチームによって)共有認証クレデンシャルの使用を監視し、適切なプロセスが遵守されていることの確認を行っているという認識に基づく。
【0011】
本発明の種々の実施形態は、共有認証クレデンシャルに関する既存のツールが提供する機能を拡張して、共有認証クレデンシャルを実装するための技術ソリューションを創出するように動作すると共に、共有認証クレデンシャルシステムを迂回してクレデンシャルが共有されることを回避する。本発明の実施形態は、新たなパスワードの受信を含むチェックアウトプロセスを実現する。新たなパスワードを受信するトランザクションは、認証クレデンシャルの要求を実行するシステムのMACアドレスをリンクし(結び付け)、クレデンシャルに対してリンクされた当該MACアドレスの表示(indication)によって、対応するサーバまたはデータベースの記録を更新する。さらに、本発明の実施形態は、ログインスクリプトまたは対応するセキュアシェル(SSH)プロトコルを修正して、共有認証クレデンシャルを有効なログインとして認証する前にMACアドレスの照合を行うための設定を含むようにする。
【0012】
したがって、本発明の実施形態では、認証クレデンシャルと組み合わせて、対応するシステムのMACアドレスをもう1つの認証要素(authentication factor)として利用する。したがって、ログインを実行する装置のMACアドレスが、認証クレデンシャルにリンクされたMACアドレス(すなわち、認証クレデンシャルをチェックアウトしたシステム/装置のMACアドレス)と一致した場合、ログインは成功する。使用後、ユーザは共有認証クレデンシャルをチェックインし、本発明の実施形態は、共有認証クレデンシャルのパスワードを更新するように動作することができ、これにより、他の個人によって(チェックアウトなしで)使用される可能性を低減することができる。さらに、本発明の実施形態は、他のユーザ(および装置)がチェックアウトを完了するまで、共有認証クレデンシャルに関連付けられたMACアドレスを維持することができる。
【0013】
本発明の実施形態は、種々の形態で実施することができる。以下、図面を参照して例示的な実施形態の詳細について説明する。
【0014】
それでは、図面を参照して本発明を詳細に説明する。図1は、本発明の一の実施形態による、分散型データ処理環境の機能ブロック図である。当該環境を全体として符号100で示す。なお、図1は、1つの実施形態を例示したものに過ぎず、異なる実施形態を実施可能な環境に関していかなる制限も意味するものではない。図示の環境に対しては、特許請求の範囲に記載された本発明の範囲から逸脱することなく、当業者によって多くの変更が可能である。
【0015】
データ処理環境100の一実施形態は、ネットワーク105を介して相互に接続された、クライアント装置110、クライアント装置120、共有ID管理システム130、および認証システム140を含む。例示的な実施形態において、共有ID管理システム130は、クライアント装置110およびクライアント装置120に関連するユーザなど、ユーザのグループ(例えば、一の企業に関連するユーザのグループ)のための共有認証クレデンシャルを管理するコンピューティングシステム(例えば、1つ以上の管理サーバ)を代表する。別の例示的な実施形態において、認証システム140は、共有ID管理システム130における共有認証クレデンシャルを利用するユーザ(例えば、クライアント装置110およびクライアント装置120に関連するユーザ)に対して、保護されたリソースもしくは資産またはその両方に関する認証サービスを提供するコンピューティングシステム(例えば、1つ以上の管理サーバ)を代表する。他の実施形態において、データ処理環境100は、本発明の種々の実施形態に従って、共有ID管理システム130および認証システム140と連携可能な追加のコンピュータ装置(不図示)を含むことができる。
【0016】
ネットワーク105は、例えば、ローカルエリアネットワーク(LAN)、電気通信ネットワーク、インターネットなどの広域ネットワーク(WAN)、またはこれら3つの任意の組み合わせとすることができ、有線、無線、または光ファイバ接続を含むことができる。概して、本発明の実施形態に係るネットワーク105は、クライアント装置110、クライアント装置120、共有ID管理システム130および認証システム140の間での通信をサポート可能な接続およびプロトコルの任意の組み合わせとすることができる。種々の実施形態において、ネットワーク105は、複数のネットワーク化されたコンピュータ装置(例えば、クライアント装置110、クライアント装置120、共有ID管理システム130、認証システム140、不図示の他の装置)、対応するユーザ(例えば、クライアント装置110やクライアント装置120などのユーザ)、および対応する管理サービス(例えば、共有ID管理システム130や認証システム140など)の間の通信を容易にする。
【0017】
本発明の種々の実施形態において、クライアント装置110およびクライアント装置120は、ワークステーション、パーソナルコンピュータ、PDA、携帯電話、またはコンピュータ可読プログラム命令を実行可能な任意の他の装置とすることができる。概して、クライアント装置110およびクライアント装置120は、コンピュータ可読プログラム命令を実行可能な任意の電子装置または電子装置の組み合わせを代表する。本発明の実施形態に係るクライアント装置110およびクライアント装置120は、図4を参照してより詳細に説明されるコンポーネントを含んでもよい。
【0018】
例示的な実施形態において、クライアント装置110およびクライアント装置120は、共有ID管理システム130によって管理される1つ以上の共有認証クレデンシャルを利用するそれぞれのユーザに関連する(例えば、ユーザによって登録もしくは利用またはその両方が行われる)それぞれのパーソナルワークステーションまたはモバイル装置である。一例として、クライアント装置110のユーザは、共有ID管理システム130における共有認証クレデンシャルを使用する(すなわち、チェックアウトする)ことを要求する。さらに、この例では、クライアント装置110のユーザは、チェックアウトした認証クレデンシャルを利用して、認証システム140によって管理されている保護された資産またはリソースへのアクセスを試みる。したがって、本発明の実施形態によれば、クライアント装置120のユーザは、クライアント装置110のユーザがこのチェックアウトした認証クレデンシャルを共有ID管理システム130に返却するまで、当該クレデンシャルを利用することができない。
【0019】
クライアント装置110およびクライアント装置120は、それぞれユーザインタフェース112、ユーザインタフェース122、アプリケーション114およびアプリケーション124のインスタンスを含む。ユーザインタフェース112およびユーザインタフェース122は、クライアント装置110およびクライアント装置120のそれぞれのユーザと、装置に存在する複数のアプリケーション(例えば、アプリケーション114およびアプリケーション124)との間のインタフェースを提供するプログラムである。ユーザインタフェース112やユーザインタフェース122などのユーザインタフェースとは、プログラムがユーザに提示する情報(グラフィック、テキスト、音など)と、ユーザがプログラムを制御するために使用する制御シーケンスとを指す。様々なタイプのユーザインタフェースが存在する。一の実施形態において、ユーザインタフェース112もしくはユーザインタフェース122またはその両方は、グラフィカルユーザインタフェース(GUI)である。GUIは、テキストベースのインタフェース、タイピングされたコマンドラベル、またはテキストナビゲーションとは対照的に、グラフィカルアイコンや、補助表記(secondary notation)などの視覚的インジケータを介して、コンピュータのキーボードやマウスなどの電子装置とユーザが対話することを可能にするユーザインタフェースである。コンピューティングの分野において、キーボードでのコマンド入力が必要なコマンドラインインタフェースの習得が困難であることを受けて、GUIが導入された。GUIにおけるアクションは、多くの場合、グラフィカル要素を直接操作することによって実行される。別の実施形態において、ユーザインタフェース112もしくはユーザインタフェース122またはその両方は、スクリプトまたはアプリケーションプログラミングインタフェース(API)である。
【0020】
アプリケーション114およびアプリケーション124は、クライアント装置110およびクライアント装置120のそれぞれのインスタンス上で動作する1つ以上のアプリケーション(例えば、アプリケーションスイート)を代表するものとすることができる。種々の例示的な実施形態において、アプリケーション114およびアプリケーション124は、クライアント装置110またはクライアント装置120のユーザが、共有ID管理システム130および認証システム140にデータを送信する、もしくはこれらからデータを受信する、またはその両方を行うために利用するアプリケーションとすることができる。例えば、アプリケーション114およびアプリケーション124は、クライアント装置110またはクライアント装置120のユーザがアクセスして利用可能なウェブブラウザとすることができる。
【0021】
他の例として、アプリケーション114およびアプリケーション124は、共有ID管理システム130、認証システム140もしくは対応する組織またはこれらの組み合わせに関連する企業固有のアプリケーションである。さらに他の例として、アプリケーション114およびアプリケーション124は、認証システム140によって保護された、特定の保護リソースまたは資産へのアクセスに対応するアプリケーション(保護された資産に対する特定のアプリケーション)である。さらに、本発明の種々の実施形態において、アプリケーション114およびアプリケーション124は、共有ID管理システム130上の管理プログラム200との間で(例えば、管理プログラム200のクライアント側アプリケーションとして)データを送受信し、認証システム140上の認証プログラム300との間で(例えば、認証プログラム300のクライアント側アプリケーションとして)データを送受信することができる。
【0022】
例示的な実施形態において、共有ID管理システム130は、デスクトップコンピュータ、コンピュータサーバ、または本技術分野で公知の任意の他のコンピュータシステムとすることができる。一部の実施形態において、共有ID管理システム130は、データ処理環境100の各要素(例えば、クライアント装置110、クライアント装置120、認証システム140、および不図示の他の装置)によってアクセスされた際に、シームレスリソース(seamless resources)の単一のプールとして機能する、クラスタ化されたコンピュータおよびコンポーネント(例えば、データベースサーバコンピュータ、アプリケーションサーバコンピュータなど)を利用したコンピュータシステムを表す。概して、共有ID管理システム130は、コンピュータ可読プログラム命令を実行可能な任意の電子装置または電子装置の組み合わせを代表する。本発明の実施形態に係る共有ID管理システム130は、図4を参照してより詳細に説明されるコンポーネントを含んでもよい。
【0023】
共有ID管理システム130は、共有クレデンシャル保管部(shared credential vault)132および管理プログラム200を含む。種々の実施形態において、共有ID管理システム130は、本発明の種々の態様に従って、クライアント装置110およびクライアント装置120に関連するユーザなどのユーザグループ(例えば、一の企業に関連するユーザグループ)の共有認証クレデンシャルを管理するコンピューティングシステムとして動作する。本発明の一の実施形態において、共有ID管理システム130は、共有認証クレデンシャルのチェックアウトプロセスおよびチェックインプロセスを改善する。
【0024】
種々の実施形態において、共有ID管理システム130は、複数の共有認証クレデンシャルを共有クレデンシャル保管部132に記憶する。さらなる実施形態において、共有クレデンシャル保管部132は、共有認証クレデンシャルに対応する使用情報(usage information)(例えば、チェックアウトおよびチェックインの履歴など)も記憶する。例えば、共有クレデンシャル保管部132は、どのユーザが特定の共有認証クレデンシャルを利用したかの履歴や、対応するMACアドレスなどを記憶する。さらなる例示的な実施形態において、管理プログラム200は、共有クレデンシャル保管部132を用いて、共有認証クレデンシャルの進行中の(および完了した)配分や割り当て(すなわち、チェックアウト)を追跡する。
【0025】
共有クレデンシャル保管部132は、共有ID管理システム130がアクセスおよび利用する可能性のあるデータを記憶可能な任意の種類のストレージ装置で実現することができ、例えば、データベースサーバ、ハードディスクドライブ、またはフラッシュメモリなどの永続ストレージ(permanent storage)405で実現することができる。他の実施形態において、共有クレデンシャル保管部132は、共有ID管理システム130内の複数のストレージ装置と、データの集合体(collections)とを表すことができる。
【0026】
例示的な実施形態において、管理プログラム200は、本発明の実施形態に従って、共有認証クレデンシャルの使用を管理および追跡する。種々の実施形態において、管理プログラム200は、本発明の実施形態に従って、ユーザによる共有認証クレデンシャルのチェックアウトおよびチェックインを管理すると共に、当該ユーザの要求元装置(requesting device)に対応するMACアドレスを追跡する。さらに、管理プログラム200は、認証システム140と通信して、共有認証クレデンシャルの認証(authentication)を管理する。
【0027】
例示的な実施形態において、認証システム140は、デスクトップコンピュータ、コンピュータサーバ、または本技術分野で公知の他の任意のコンピュータシステムとすることができる。一部の実施形態において、認証システム140は、データ処理環境100の各要素(例えば、クライアント装置110、クライアント装置120、共有ID管理システム130、および不図示の他の装置)によってアクセスされた際に、シームレスリソースの単一のプールとして機能する、クラスタ化されたコンピュータおよびコンポーネント(例えば、データベースサーバコンピュータ、アプリケーションサーバコンピュータなど)を利用したコンピュータシステムを表す。概して、認証システム140は、コンピュータ可読プログラム命令を実行可能な任意の電子装置または電子装置の組み合わせを代表する。本発明の実施形態に係る認証システム140は、図4を参照してより詳細に説明されるコンポーネントを含んでもよい。
【0028】
認証システム140は、追跡データベース(tracking database)142および認証プログラム300を含む。種々の実施形態において、認証システム140は、共有ID管理システム130における共有認証クレデンシャルを利用するユーザ(例えば、クライアント装置110およびクライアント装置120に関連するユーザ)に対して、保護されたリソースもしくは資産またはその両方に関する認証サービスを提供するコンピューティングシステムとして動作する。さらなる実施形態において、認証システム140は、本発明の実施形態に従ってSSHプロトコルを利用して、安全なリソースおよび資産への安全な通信およびアクセスを容易にするコンピューティングシステムである。
【0029】
本発明の種々の実施形態において、クライアント装置110(またはクライアント装置120)のユーザは、共有ID管理システム130および認証システム140に(例えば、対応するアプリケーションを介して)登録される。例えば、ユーザは、登録プロセスを完了し、情報を提供して、少なくともクライアント装置110によって提供される関連データ(例えば、共有ID管理システム130および認証システム140がそれぞれ管理プログラム200および認証プログラム300で利用するための、MACアドレス、ユーザプロファイル情報、ユーザ連絡先情報、認証情報、ユーザプリファレンス、または情報の種類)を共有ID管理システム130および認証システム140が収集分析(すなわち、オプトイン)することを許可する。
【0030】
種々の実施形態において、追跡データベース142は、共有クレデンシャルを割り当てられた装置(例えば、クレデンシャルをチェックアウトしたユーザ)のMACアドレスなど、共有認証クレデンシャルの使用に関連する情報を記憶する。さらなる態様において、認証システム140は、追跡データベース142に記憶された情報を暗号化する。例示的な実施形態において、追跡データベース142は、認証システム140上でホストされる、データの組織化された集合体とすることができる。
【0031】
追跡データベース142は、認証システム140がアクセスおよび利用する可能性のあるデータを記憶可能な任意の種類のストレージ装置で実現することができ、例えば、データベースサーバ、ハードディスクドライブ、またはフラッシュメモリなどの永続ストレージ405で実現することができる。他の実施形態において、追跡データベース142は、認証システム140内の複数のストレージ装置と、データの集合体とを表すことができる。
【0032】
例示的な実施形態において、認証プログラム300は、本発明の実施形態に従って、MACアドレスを含む認証クレデンシャルを検証(validate)する。種々の実施形態において、認証プログラム300は、ユーザからログイン要求を受信し、当該ユーザの要求元装置のMACアドレスをフェッチする。そして、本発明の実施形態に係る認証プログラム300は、ログイン要求の認証クレデンシャルおよびフェッチしたMACアドレスを検証して、保護リソースへのアクセスを許可するか制限するかを決定するように動作することができる。
【0033】
種々の実施形態において、認証システム140は、保護された/安全な資産をホストするかまたはゲートウェイ(すなわち、中間装置)として動作して、ユーザが保護された/安全な資産へのアクセスもしくは利用またはその両方を行うのに先立って当該ユーザを認証することができる。別の実施形態において、共有ID管理システム130および認証システム140は、本発明の種々の実施形態に従って、上述したそれぞれの機能を組み合わせた、クライアント装置110およびクライアント装置120のユーザと通信する単一のシステム内に含めることができる。
【0034】
図2は、本発明の実施形態による、共有認証クレデンシャルの使用を管理および追跡するプログラムである管理プログラム200の動作ステップを示すフローチャートである。種々の実施形態において、管理プログラム200は、共有ID管理システム130上で動作し、共有クレデンシャル保管部132に記憶された共有認証クレデンシャルのチェックアウトプロセスおよびチェックインプロセスを管理する。例示的な実施形態において、管理プログラム200は、バックグラウンドプロセスとして動作し、ユーザからの要求の受信を待機する。さらなる実施形態において、管理プログラム200は、認証クレデンシャルの要求を処理する前に、認証クレデンシャルを要求するユーザが認証ユーザ(authorized user)(すなわち、共有認証クレデンシャルを利用する登録および許可を受けたユーザ)であるか否かを判定する。
【0035】
ステップ202にて、管理プログラム200は、認証クレデンシャルをチェックアウトする要求を受信する。一の実施形態において、管理プログラム200は、クライアント装置110のユーザから認証クレデンシャルをチェックアウトする要求を受信する。いくつかの実施形態において、クライアント装置110のユーザは、共有クレデンシャル保管部132から特定の認証クレデンシャルセットを要求することができる。さらなる実施形態において、クライアント装置110のユーザは、特定の安全なリソース/資産へのアクセスを要求することができ(例えば、SSHプロトコルを利用)、管理プログラム200は、共有クレデンシャル保管部132から対応する認証クレデンシャルを特定することができる。種々の実施形態において、認証クレデンシャルは、ユーザ名とパスワードの組み合わせ、または、本発明の種々の実施形態に従って動作可能な任意の他の共有認証クレデンシャルの形態とすることができる。
【0036】
ステップ204にて、管理プログラム200は、MACアドレスをフェッチする。一の実施形態において、管理プログラム200は、ネットワーク105を介して、要求元のコンピュータ装置のMACアドレスを当該装置(すなわち、クライアント装置110)からフェッチ、すなわち取得する。MACアドレスは、ネットワークセグメント内の通信におけるネットワークアドレスとして、ネットワークインタフェースコントローラ(NIC)に割り当てられた一意の識別子である。例示的な実施形態において、管理プログラム200は、特定の装置を利用するユーザの識別要素(identifying factor)/クレデンシャルとして、クライアント装置110のMACアドレスを(SSH送信を利用して)フェッチする。
【0037】
種々の実施形態において、共有ID管理システム130(および管理プログラム200)は、ネットワーク105を介して、1つ以上のコマンド(またはユーティリティ)を要求元のコンピュータ装置に送信して、(例えば、当該要求元装置のオペレーティングシステムに基づいて)対応するMACアドレスをフェッチ(または要求)することができる。例示的なシナリオにおいて、管理プログラム200は、「getmac」や「ifconfig」などのユーティリティおよびコマンド、または特定の要求元装置の特性に対応する他のコマンドを利用することができる。別の実施形態において、管理プログラム200は、要求元ユーザに対してMACアドレスを提供するように要求することができる。そして、管理プログラム200は、ユーザが提供したMACアドレスが、要求元のコンピュータ装置の正しいMACアドレスであることを検証することができる。
【0038】
ステップ206にて、管理プログラム200は、MACアドレスを認証システムに送信する。一の実施形態において、管理プログラム200は、(ステップ204にて)フェッチしたMACアドレスを認証システム140に送信する。種々の実施形態において、管理プログラム200は、追跡データベース142内の共有クレデンシャルのインスタンスに関して必要な追跡情報を更新するために、MACアドレスを認証システム140に送信する。別の態様において、管理プログラム200は、MACアドレスを暗号化してから、認証システム140に送信することができる。別の実施形態において、管理プログラム200は暗号化されていないMACアドレスを認証システム140に送信し、認証システムにて記憶前に暗号化することができる。
【0039】
種々の実施形態において、要求元装置のMACアドレスをフェッチして記憶するプロセスにより、共有認証クレデンシャルは、要求元装置が当該認証クレデンシャルをチェックインするまで、当該要求元装置(すなわち、クライアント装置110)による使用に結び付け(bind)られる。したがって、本発明の実施形態により、共有認証クレデンシャルを利用するプロセスにおいて追加のセキュリティ要素が実現される。
【0040】
例示的な実施形態では、共有ID管理システム130および認証システム140は、本発明の種々の態様に従って、iptablesユーティリティを利用して、フェッチしたMACアドレスの利用を管理することができる。iptablesは、Linux(登録商標)カーネル内のNetfilterを管理するフロントエンドのユーザ空間ツール(user space tool)である。iptablesは主にトランスポート層(レイヤ4)およびネットワーク層(レイヤ3)で機能するが、iptablesはデータリンク層でも機能することができる。本発明の実施形態では、iptablesユーティリティを利用して、ユーザの装置のMACアドレスに基づいてログイン要求を許可または拒否することができる(図3を参照して詳述する)。例示的なシナリオにおいて、管理プログラム200は、コマンド「iptables -A INPUT -p tcp --dport #port No.# -m mac --mac-source #MAC Add.# -j ACCEPT」を認証システム140(すなわち、エンドサーバ)上で実行するように送信し、特定のMACアドレス(すなわち、ステップ204でフェッチしたMACアドレス)を有するコンピュータ装置を除いて、共有認証クレデンシャルの使用をブロックするようにiptablesを修正する。
【0041】
ステップ208にて、管理プログラム200は、認証クレデンシャルを要求元ユーザに送信する。一の実施形態において、管理プログラム200は、(ステップ202で要求された)認証クレデンシャルを、クライアント装置110(すなわち、フェッチしたMACアドレスに対応する要求元のコンピュータ装置)のユーザに送信する。さらなる実施形態において、管理プログラム200は、MACアドレスを認証システムに送信する(ステップ206)のと同時に、認証クレデンシャルを要求元ユーザに送信することができる(ステップ208)。別の実施形態において、管理プログラム200は、MACアドレスが受信され適切に記録された(すなわち、追跡データベース142内の共有認証クレデンシャルの特定のインスタンスに対応する記録の更新に使用された)という確認を認証システム140から受信した後に、認証クレデンシャルを要求元ユーザに送信することができる。
【0042】
ステップ210にて、管理プログラム200は、返却された認証クレデンシャルを受信する。一の実施形態において、管理プログラム200は、クライアント装置110のユーザから、認証クレデンシャルの返却(チェックイン)を受信する。種々の実施形態において、管理プログラム200は、(ステップ208にて)送信された認証クレデンシャルを受信するまで待機する。別の態様において、管理プログラム200は、認証クレデンシャルが、当該認証クレデンシャルを要求した同一の装置から受信したものであることを(MACアドレスの比較によって)検証することができる。さらなる実施形態において、管理プログラム200は、別の装置(例えば、クライアント装置120)が認証クレデンシャルをチェックアウトするまで、認証クレデンシャルとクライアント装置110のMACアドレスとの結び付けを維持することができる。
【0043】
別の実施形態において、管理プログラム200は、認証クレデンシャルのチェックインを受信したことに応じて、認証クレデンシャルの少なくとも1つを変更する。例えば、管理プログラム200は、認証クレデンシャルのパスワードを変更し、その後、この更新された認証クレデンシャルを共有クレデンシャル保管部132に記憶する。他の例として、クライアント装置110のユーザが、認証クレデンシャルのチェックインプロセスの一部としてパスワードを変更することができる。さらなる実施形態において、管理プログラム200は、更新された認証クレデンシャルを認証システム140に送信して、認証プロセスに使用される記録を更新することができる。
【0044】
図3は、本発明の実施形態による、認証クレデンシャルを検証するためのプログラムである認証プログラム300の動作ステップを示すフローチャートである。種々の実施形態において、認証プログラム300は、保護された資産またはリソースにアクセスしようとするユーザを認証するプロセスとして動作する(例えば、企業の場合、SSHを利用)。例示的な実施形態において、認証プログラム300は、バックグラウンドプロセスとして動作し、本発明の種々の実施形態に従って、(例えば、共有ID管理システム130からの)MACアドレス情報もしくは(例えば、クライアント装置110を利用するユーザからの)ログイン要求またはその両方の受信を待機する。
【0045】
ステップ302にて、認証プログラム300は、認証クレデンシャルセットに対応するMACアドレスを受信する。一の実施形態において、認証プログラム300は、(管理プログラム200のステップ206にて)共有ID管理システム130からクライアント装置110のMACアドレスを受信する。例示的な実施形態において、認証プログラム300は共有ID管理システム130から、MACアドレスと、当該MACアドレスに結びつけられた対応する認証クレデンシャルセットの表示(indication)とを受信する。さらなる実施形態において、認証プログラム300は、保護されたリソースまたは資産の表示を受信することができる。種々の実施形態において、認証プログラム300は、暗号化されたMACアドレスを受信する。また、別の実施形態において、認証プログラム300は、受信したMACアドレスを記憶する前に暗号化することができる。
【0046】
いくつかの実施形態において、認証プログラム300(および認証システム140)は、(管理プログラム200のステップ206に関して上述した)本発明の種々の態様に従って、iptablesユーティリティを用いて、フェッチしたMACアドレスの利用を管理することができる。例示的な実施形態において、認証プログラム300は、(クライアント装置110の)MACアドレスを受信し、当該MACアドレスが対応する認証クレデンシャルセットと結び付けられていることを示す情報によって追跡データベース142を更新する。例えば、認証プログラム300は、追跡データベース142を更新して、クライアント装置110のMACアドレスが特定の認証クレデンシャルセットに結び付けられていることを追跡する。したがって、本発明のさらなる実施形態によれば、認証プログラム300はその後、当該特定の認証クレデンシャルセットを検証する際に、追加の認証要素としてMACアドレスを利用する。
【0047】
ステップ304にて、認証プログラム300は、ログイン要求を受信する。一の実施形態において、認証プログラム300は、クライアント装置110を利用するユーザから、保護された/安全なリソースへのアクセス要求を受信する。種々の実施形態において、認証プログラム300は、認証クレデンシャルを利用して保護されたリソースまたは資産にアクセスするためのログイン要求または他の形式の要求を受信するまで待機する。さらなる実施形態において、認証プログラム300は、ステップ304にて、ログインプロセスのための認証を開始することができる。例示的なシナリオにおいて、認証プログラム300は、SSHプロトコルを利用したログイン要求および対応する認証クレデンシャル(例えば、クライアント装置110からリモートマシンに安全にログインする要求)を受信する。
【0048】
ステップ306にて、MACアドレスをフェッチする。一の実施形態において、認証プログラム300は、ネットワーク105を介して、要求元のコンピュータ装置のMACアドレスを当該装置(すなわち、クライアント装置110)からフェッチ、すなわち取得する。例示的な実施形態において、認証プログラム300は、特定の装置を利用するユーザの識別要素/クレデンシャルとして、クライアント装置110のMACアドレスを(SSH送信を利用して)フェッチする。種々の実施形態において、認証システム140(および認証プログラム300)は、ネットワーク105を介して、1つ以上のコマンド(またはユーティリティ)を要求元のコンピュータ装置に送信して、(例えば、当該要求元装置のオペレーティングシステムに基づいて)対応するMACアドレスをフェッチ(または要求)することができる。
【0049】
例示的なシナリオにおいて、認証プログラム300は、「getmac」や「ifconfig」などのユーティリティおよびコマンド、または特定の要求元装置の特性に対応する他のコマンドを利用することができる。別の実施形態において、認証プログラム300は、要求元ユーザに対してMACアドレスを提供するように要求することができる。そして、認証プログラム300は、ユーザが提供したMACアドレスが、要求元のコンピュータ装置の正しいMACアドレスであることを検証することができる。さらなる実施形態において、認証プログラム300は、(ステップ304での)ログイン要求の一部(例えば、SSHログイン要求に含まれる)として、要求元装置(クライアント装置110)のMACアドレスを受信することができる。
【0050】
ステップ308にて、認証プログラム300は、認証クレデンシャルおよびMACアドレスを検証する。一の実施形態において、認証プログラム300は、(ステップ304のログイン要求に関して)受信した認証クレデンシャルを検証し、さらに、(ステップ306でフェッチした)要求元装置のMACアドレスを検証する。例示的な実施形態において、認証プログラム300は、受信した認証クレデンシャルを、有効な認証クレデンシャルのデータベースと比較して、受信した認証クレデンシャルがデータベース内のエントリと一致するか否かを判定する。さらに、認証プログラム300は、フェッチした(クライアント装置110の)MACアドレスを、受信した認証クレデンシャルに関連付けられた、(追跡データベース142内に)記憶され(かつ暗号化された)MACアドレスと比較して、MACアドレスを利用している要求元クライアント装置を検証する。種々の実施形態において、認証プログラム300は、ユーザ名とパスワードの組み合わせを検証し、さらに、ユーザ名とパスワードを送信した装置のMACアドレスを検証する。
【0051】
判定ステップ310にて、認証プログラム300は、検証にパスしたか否か判定する。一の実施形態において、認証プログラム300は、(ステップ304のログイン要求に関して)受信した認証クレデンシャルおよび(ステップ306でフェッチした)要求元装置のMACアドレスが、対応する有効な記憶データと一致するか否かを判定する。(クライアント装置110を利用する)ユーザが正しい認証クレデンシャルを提供したと判定した場合、認証プログラム300は、検証にパスしたと判定する(判定ステップ310にてYES)。(クライアント装置110を利用する)ユーザが提供した認証クレデンシャルが正しくないと判定した場合、認証プログラム300は、検証にパスしないと判定する(判定ステップ310にてNO)。
【0052】
ステップ312にて、認証プログラム300はアクセスを許可する。より具体的には、検証にパスしたと判定した場合(判定ステップ310にてYES)、認証プログラム300は、要求された資産/リソースへのアクセスを許可する(ステップ312)。いくつかの実施形態において、認証プログラム300は、追跡データベース142にて許可されたユーザおよび装置を追跡可能にすることができる。さらなる実施形態において、認証プログラム300は、接続されたクライアント装置のMACアドレスを定期的にフェッチして、アクセスするユーザおよび装置の身元を検証することができる。別の実施形態において、認証プログラム300は、ユーザがログアウトした場合に処理を終了することができる。
【0053】
ステップ314にて、認証プログラム300はアクセスを制限する。より具体的には、検証にパスしないと判定した場合(判定ステップ310にてNO)、認証プログラム300は、資産/リソースにアクセスしようとしたユーザのアクセスを制限する。一の実施形態において、認証プログラム300は、MACアドレス認証の検証に失敗したユーザ(および装置)をブロックして、処理を終了することができる。
【0054】
別の実施形態において、検証にパスしないと判定した場合(判定ステップ310にてNO)、認証プログラム300はステップ304に戻り、次の認証の試行を許可することができる。例えば、システムは、ユーザもしくは装置またはその両方に対するアクセス制限を実行する前に、共有認証クレデンシャルのユーザ名およびパスワードによるログイン試行の失敗(また、場合によってはMACアドレスの検証についても)を限られた回数(例えば、3回)だけ許可してもよい。種々の実施形態において、認証プログラム300は、クライアントのプリファレンス(例えば、ユーザもしくは保護されたリソース/資産またはその両方に関連する企業によるガイドライン)に従って、検証に失敗したユーザもしくは装置またはその両方に対してアクションを取ることができる。
【0055】
図4は、本発明の例示的な実施形態による、クライアント装置110、クライアント装置120、共有ID管理システム130、および認証システム140を代表するコンピュータシステム400を示す図である。なお、図4は、1つの実施形態を例示したものに過ぎず、異なる実施形態を実施可能な環境に関していかなる制限も意味するものではない。図示の環境に対しては多くの変更が可能である。コンピュータシステム400は、(1つ以上の)プロセッサ401、キャッシュ403、メモリ402、永続ストレージ405、通信ユニット407、(1つ以上の)入力/出力(I/O)インタフェース406、および通信ファブリック(communications fabric)404を含む。通信ファブリック404は、キャッシュ403、メモリ402、永続ストレージ405、通信ユニット407、および入力/出力(I/O)インタフェース406間の通信を可能にする。通信ファブリック404は、プロセッサ(マイクロプロセッサ、通信およびネットワークプロセッサなど)、システムメモリ、周辺機器、およびシステム内の他のハードウェアコンポーネントの間でデータもしくは制御情報またはその両方を渡すように設計された任意のアーキテクチャで実現することができる。例えば、通信ファブリック404は、1つ以上のバスまたはクロスバースイッチで実現することができる。
【0056】
メモリ402および永続ストレージ405は、コンピュータ可読記憶媒体である。本実施形態では、メモリ402はRAMを含む。概して、メモリ402は、任意の適切な揮発性または不揮発性のコンピュータ可読記憶媒体を含むことができる。キャッシュ403は高速メモリ(fast memory)であり、最近アクセスされたデータ、および最近アクセスされたデータに近いデータをメモリ402から保持することによって、プロセッサ401の性能を向上させる。
【0057】
本発明の実施形態を実施するために使用されるプログラム命令およびデータ(例えば、ソフトウェアおよびデータ410)は、キャッシュ403を介して1つ以上のプロセッサ401のそれぞれが実行するために、永続ストレージ405およびメモリ402に記憶することができる。一の実施形態において、永続ストレージ405は、磁気ハードディスクドライブを含む。磁気ハードディスクに代えて、またはこれに加えて、永続ストレージ405は、ソリッドステートハードドライブ、半導体記憶装置、ROM、消去可能プログラマブルROM(EPROM)、フラッシュメモリ、またはプログラム命令もしくはデジタル情報を記憶可能な任意の他のコンピュータ可読記憶媒体を含むことができる。
【0058】
永続ストレージ405が使用する媒体は、取り外し可能であってもよい。例えば、永続ストレージ405には、取り外し可能なハードドライブを用いてもよい。他の例としては、光ディスク、磁気ディスク、サムドライブ、およびスマートカードが挙げられ、これらは、永続ストレージ405の一部でもある別のコンピュータ可読記憶媒体に転送するためにドライブに挿入される。ソフトウェアおよびデータ410は、キャッシュ403を介して1つ以上のプロセッサ401のそれぞれがアクセスもしくは実行またはその両方を行うために、永続ストレージ405に記憶することができる。クライアント装置110に関しては、ソフトウェアおよびデータ410は、ユーザインタフェース112およびアプリケーション114を含む。クライアント装置120に関しては、ソフトウェアおよびデータ410は、ユーザインタフェース122およびアプリケーション124を含む。共有ID管理システム130に関しては、ソフトウェアおよびデータ410は、共有クレデンシャル保管部132および管理プログラム200を含む。認証システム140に関しては、ソフトウェアおよびデータ410は、追跡データベース142および認証プログラム300を含む。
【0059】
これらの例において、通信ユニット407は、他のデータ処理システムまたは装置との通信を可能にする。これらの例において、通信ユニット407は、1つ以上のネットワークインタフェースカードを含む。通信ユニット407は、物理通信リンクおよび無線通信リンクのいずれかまたは両方を用いて通信を可能にしてもよい。本発明の実施形態を実施するために用いられるプログラム命令およびデータ(例えば、ソフトウェアおよびデータ410)は、通信ユニット407を介して永続ストレージ405にダウンロードしてもよい。
【0060】
I/Oインタフェース406は、各コンピュータシステムに接続可能な他の装置とのデータの入出力を可能にする。例えば、I/Oインタフェース406は、キーボード、キーパッド、タッチスクリーン、もしくは他の適切な入力装置またはこれらの組み合わせなどの(1つ以上の)外部装置408との接続を可能にする。また、外部装置408は、例えば、サムドライブ、ポータブル光ディスク、ポータブル磁気ディスク、およびメモリカードなどのポータブル・コンピュータ可読記憶媒体を含むこともできる。本発明の実施形態を実施するために用いられるプログラム命令およびデータ(例えば、ソフトウェアおよびデータ410)は、かかるポータブル・コンピュータ可読記憶媒体に記憶することができ、I/Oインタフェース406を介して永続ストレージ405にロードすることができる。I/Oインタフェース406は、ディスプレイ409にも接続する。
【0061】
ディスプレイ409は、ユーザにデータを表示する機構を実現するものであり、例えば、コンピュータモニタとすることができる。
【0062】
本明細書に記載したプログラムは、本発明の特定の実施形態においてプログラムが実装されるアプリケーションに基づいて識別される。ただし、本明細書における特定のプログラムの名称は、便宜上使用しているに過ぎず、したがって、本発明は、かかる名称によって識別もしくは示唆またはその両方がなされる特定のアプリケーションで使用することのみに限定されない。
【0063】
本発明は、任意の可能な技術詳細レベルで統合されたシステム、方法もしくはコンピュータプログラム製品またはそれらの組み合せとすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を記憶したコンピュータ可読記憶媒体を含むことができる。
【0064】
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、一例として、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置またはこれらの適切な組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な一例としては、ポータブルコンピュータディスケット、ハードディスク、RAM、ROM、EPROM(またはフラッシュメモリ)、SRAM、CD-ROM、DVD、メモリスティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などに命令を記録した機械的に符号化された装置、およびこれらの適切な組み合せが挙げられる。本明細書で使用されるコンピュータ可読記憶装置は、電波もしくは他の自由に伝播する電磁波、導波管もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号のような、一過性の信号それ自体として解釈されるべきではない。
【0065】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピュータ装置/処理装置へダウンロード可能である。あるいは、ネットワーク(例えばインターネット、LAN、WANもしくはワイヤレスネットワークまたはこれらの組み合わせ)を介して、外部コンピュータまたは外部記憶装置へダウンロード可能である。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバまたはこれらの組み合わせを備えることができる。各コンピュータ装置/処理装置内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、当該コンピュータ可読プログラム命令を、各々のコンピュータ装置/処理装置におけるコンピュータ可読記憶媒体に記憶するために転送する。
【0066】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、スモールトークやC++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語や類似のプログラミング言語などの手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかとすることができる。コンピュータ可読プログラム命令は、スタンドアロン型ソフトウェアパッケージとして完全にユーザのコンピュータ上で、または部分的にユーザのコンピュータ上で実行可能である。あるいは、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または、完全にリモートコンピュータもしくはサーバ上で実行可能である。後者の場合、リモートコンピュータは、LANやWANを含む任意の種類のネットワークを介してユーザのコンピュータに接続してもよいし、外部コンピュータに(例えば、インターネットサービスプロバイダを使用してインターネットを介して)接続してもよい。いくつかの実施形態において、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行する目的で当該電子回路をカスタマイズするために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
【0067】
本発明の各態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、およびコンピュータプログラム製品のフローチャートもしくはブロック図またはその両方を参照して説明されている。フローチャートもしくはブロック図またはその両方における各ブロック、および、フローチャートもしくはブロック図またはその両方における複数のブロックの組み合わせは、コンピュータ可読プログラム命令によって実行可能である。
【0068】
これらのコンピュータ可読プログラム命令は、機械を生産するために、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサに提供してよい。これにより、かかるコンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行するための手段を創出する。上記のコンピュータ可読プログラム命令はさらに、コンピュータ、プログラマブルデータ処理装置もしくは他の装置またはこれらの組み合わせに対して特定の態様で機能するよう命令可能なコンピュータ可読記憶媒体に記憶してよい。これにより、命令が記憶された当該コンピュータ可読記憶媒体は、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作の態様を実行するための命令を含む製品を構成する。
【0069】
また、コンピュータ可読プログラム命令を、コンピュータ、他のプログラマブル装置、または他の装置にロードし、一連の動作ステップを当該コンピュータ、他のプログラマブル装置、または他の装置上で実行させることにより、コンピュータ実行プロセスを生成してもよい。これにより、当該コンピュータ、他のプログラマブル装置、または他の装置上で実行される命令が、フローチャートもしくはブロック図またはその両方における1つ以上のブロックにて特定される機能/動作を実行する。
【0070】
図面におけるフローチャートおよびブロック図は、本発明の種々の実施形態に係るシステム、方法およびコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示している。この点に関して、フローチャートまたはブロック図における各ブロックは、特定の論理機能を実行するための1つ以上の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表すことができる。他の一部の実装形態において、ブロック内に示した機能は、各図に示す順序とは異なる順序で実行してもよい。例えば、連続して示される2つのブロックは、実際には、関係する機能に応じて、1つの工程として達成してもよいし、同時もしくは略同時に実行してもよいし、部分的もしくは全体的に時間的に重複した態様で実行してもよいし、または場合により逆順で実行してもよい。なお、ブロック図もしくはフローチャートまたはその両方における各ブロック、および、ブロック図もしくはフローチャートまたはその両方における複数のブロックの組み合わせは、特定の機能または動作を行う専用ハードウェアベースのシステムによって、または専用ハードウェアとコンピュータ命令との組み合わせによって実行可能である。
【0071】
本発明の種々の実施形態を例示として説明してきたが、網羅的であることや、これらの実施形態に限定することを意図したものではない。当業者には明らかなように、本発明の範囲および要旨から逸脱することなく、多くの変更および変形が可能である。本明細書で用いられる用語は、各実施形態の原理、実際の用途、もしくは市場で確認される技術に対する技術的な改善を最もよく説明するために、または、当業者が本明細書に開示する各実施形態を理解できるように選択されたものである。
図1
図2
図3
図4