JP5724017B1 - 複数コンピュータシステムの認証連携システム - Google Patents
複数コンピュータシステムの認証連携システム Download PDFInfo
- Publication number
- JP5724017B1 JP5724017B1 JP2014110789A JP2014110789A JP5724017B1 JP 5724017 B1 JP5724017 B1 JP 5724017B1 JP 2014110789 A JP2014110789 A JP 2014110789A JP 2014110789 A JP2014110789 A JP 2014110789A JP 5724017 B1 JP5724017 B1 JP 5724017B1
- Authority
- JP
- Japan
- Prior art keywords
- account
- service
- master
- authentication
- service system
- 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.)
- Active
Links
Images
Abstract
【課題】同じ利用者が複数のシステムを利用するとき、アカウントとパスワードを複数管理することによって発生する、管理コストとセキュリティ課題を解決する方法およびプログラムを提供する。また、同じ利用者が複数のシステムを一括利用出来なくなるとき、システム認証不可の手続き漏れが発生するセキュリティ課題を解決する方法およびプログラムを提供する。さらに、同じ利用者が複数のシステムで個人情報を自動連携する方法およびプログラムを提供する。【解決手段】利用者とシステムの間に代理を設置し、複数のシステム間で、代理同志が情報交換して、複数のシステムで情報連携をさせる。ここでアカウント認証と管理を一本化させる。【選択図】図2
Description
この発明は、複数既存コンピュータシステム間のアカウント認証情報を共通利用できる複数コンピュータシステムの認証連携システムである
現状として、情報処理するために、1つ1つ特定機能を実現するため、各コンピュータシステムは開発された。基本的にこんなコンピュータシステムはユーザID、パスワードをペアにして利用者を認証している。
開発時期、開発技術、開発担当会社はバラバラなので、同じ利用者でも各システムの認証部分も独立して、それぞれのユーザID、パスワードを使ってシステム利用しないといけないことは多い。SSO(シングルサインオン)という技術はあるが、この技術を導入すると、既存システムに対して改修しないといけないので、導入コストとリスクが高くなる。
そして、業務を一連システムで実現する場合、各システム間でアカウント情報(有効性、氏名、部署など)の連携は個別するので、管理コストとセキュリティ問題はある。
開発時期、開発技術、開発担当会社はバラバラなので、同じ利用者でも各システムの認証部分も独立して、それぞれのユーザID、パスワードを使ってシステム利用しないといけないことは多い。SSO(シングルサインオン)という技術はあるが、この技術を導入すると、既存システムに対して改修しないといけないので、導入コストとリスクが高くなる。
そして、業務を一連システムで実現する場合、各システム間でアカウント情報(有効性、氏名、部署など)の連携は個別するので、管理コストとセキュリティ問題はある。
OAuth:オー オース(oauth.net)
SSO:シングルサインオン(英語:Single Sign-On)
SAML:Security Assertion Markup Language
この発明は下記の課題を解決することを目指します。
1.同じ利用者は複数システム利用するとき、アカウントとパスワードを複数管理することによって、管理コストとセキュリティ課題
2.同じ利用者は複数システム一括利用出来なくなるとき、システム認証不可手続き漏れ発生のセキュリティ課題
3.同じ利用者の複数システム個人情報自動連携課題
1.同じ利用者は複数システム利用するとき、アカウントとパスワードを複数管理することによって、管理コストとセキュリティ課題
2.同じ利用者は複数システム一括利用出来なくなるとき、システム認証不可手続き漏れ発生のセキュリティ課題
3.同じ利用者の複数システム個人情報自動連携課題
まず、用語を説明する
1.メインアカウントを管理するシステムをマスターアカウントシステムと呼ぶ
2.ネットワーク設定上、マスターアカウントシステムをアクセス時、必ず経由するプログラムをマスター代理と呼ぶ(WEBシステムの場合、HTTPサーバのモジュールである)
3.自体アカウント機能を利用しなく、サービス機能を利用するシステムをサービスシステムと呼ぶ(アカウント認証と管理は本発明により、マスターアカウントシステムに委託する)
4.2と似る、ネットワーク設定上、サービスシステムをアクセス時、必ず経由するプログラムをサービス代理と呼ぶ
課題を解決する手段:
1.利用者は特定なネットワーク設定の上、マスターアカウントシステムの前にマスター代理、サービスシステム前にサービス代理を設定する
2.利用者はサービスシステム未認証時、サービス代理は利用者をマスターアカウントシステムの認証フローに案内する
3.マスター代理はマスターアカウントシステム認証結果を監視し、成功する場合、サービスシステムのサービス代理を経由して、サービスシステムのアカウントの情報を連携するうえ、認証トークンを取得する
4.サービスシステムの認証トークン(一般的にCookieを使う)を利用者クライアントに返して、サービスシステムを利用する
1.メインアカウントを管理するシステムをマスターアカウントシステムと呼ぶ
2.ネットワーク設定上、マスターアカウントシステムをアクセス時、必ず経由するプログラムをマスター代理と呼ぶ(WEBシステムの場合、HTTPサーバのモジュールである)
3.自体アカウント機能を利用しなく、サービス機能を利用するシステムをサービスシステムと呼ぶ(アカウント認証と管理は本発明により、マスターアカウントシステムに委託する)
4.2と似る、ネットワーク設定上、サービスシステムをアクセス時、必ず経由するプログラムをサービス代理と呼ぶ
課題を解決する手段:
1.利用者は特定なネットワーク設定の上、マスターアカウントシステムの前にマスター代理、サービスシステム前にサービス代理を設定する
2.利用者はサービスシステム未認証時、サービス代理は利用者をマスターアカウントシステムの認証フローに案内する
3.マスター代理はマスターアカウントシステム認証結果を監視し、成功する場合、サービスシステムのサービス代理を経由して、サービスシステムのアカウントの情報を連携するうえ、認証トークンを取得する
4.サービスシステムの認証トークン(一般的にCookieを使う)を利用者クライアントに返して、サービスシステムを利用する
本発明に係る複数コンピュータシステムの認証連携システムは、利用者のメインアカウントを管理するマスターアカウントシステムと、該マスターアカウントシステムの通信経路中に、前記マスターアカウントシステムにアクセスする時に必ず経由するマスター代理と、該利用者が利用したいサービスシステムと、前記サービスシステムの通信経路中に、前記サービスシステムにアクセスする時に必ず経由するサービス代理とを設置して、
利用者が前記サービスシステム利用する場合、前記サービス代理は通信を監視し、ログイン認証が必要な場合、前記マスターアカウントシステムへ認証を依頼して、
前記マスター代理はこの依頼を監視して、前記マスターアカウントシステムのアカウント情報ページの内容を取得して、ログイン認証成功後、前記サービス代理と連携し、前記マスターアカウントシステムのアカウント情報がマッピングされない場合は、前記アカウント情報をベースにして、サービスシステムアカウントと乱数でパスワードを生成し、前記サービスシステムのアカウント管理権限を持つアカウントを利用して、前記サービスシステムに上記生成したサービスシステムアカウントの新規登録を行う一方、前記マスターアカウントシステムのアカウント情報がマッピングされ、且つマッピングされた前記サービスシステムのアカウント情報と前記マスターアカウントシステムのアカウント情報が不一致な場合は、前記マスターアカウントシステムのアカウント情報をベースに、前記サービスシステムのアカウント情報を更新するステップを経て前記サービスシステムのアカウント情報のマッピング関係と前記サービスシステムのアカウント情報を保存し、その後、代理ログイン処理後認証トークンをクライアントへ返し、利用者は前記サービスシステムを利用できる。
利用者が前記サービスシステム利用する場合、前記サービス代理は通信を監視し、ログイン認証が必要な場合、前記マスターアカウントシステムへ認証を依頼して、
前記マスター代理はこの依頼を監視して、前記マスターアカウントシステムのアカウント情報ページの内容を取得して、ログイン認証成功後、前記サービス代理と連携し、前記マスターアカウントシステムのアカウント情報がマッピングされない場合は、前記アカウント情報をベースにして、サービスシステムアカウントと乱数でパスワードを生成し、前記サービスシステムのアカウント管理権限を持つアカウントを利用して、前記サービスシステムに上記生成したサービスシステムアカウントの新規登録を行う一方、前記マスターアカウントシステムのアカウント情報がマッピングされ、且つマッピングされた前記サービスシステムのアカウント情報と前記マスターアカウントシステムのアカウント情報が不一致な場合は、前記マスターアカウントシステムのアカウント情報をベースに、前記サービスシステムのアカウント情報を更新するステップを経て前記サービスシステムのアカウント情報のマッピング関係と前記サービスシステムのアカウント情報を保存し、その後、代理ログイン処理後認証トークンをクライアントへ返し、利用者は前記サービスシステムを利用できる。
本発明において、前記サービスシステムにログイン認証がNGとされた場合、
前記サービス代理は、前記サービスシステムのログイン認証がNGというレスポンスを利用者に返さず、前記サービスシステムのアクセスURL情報を添付して前記マスターアカウントシステムにリダイレクトするようにしてもよい。
また本発明において、 前記マスター代理は、前記サービス代理から戻ってくるリダイレクトアクセスを受けて、前記マスターアカウントシステムのログイン利用者情報取得可能なページへアクセスしてログイン利用者のアカウント情報を取得するようにしてもよい。
前記サービス代理は、前記サービスシステムのログイン認証がNGというレスポンスを利用者に返さず、前記サービスシステムのアクセスURL情報を添付して前記マスターアカウントシステムにリダイレクトするようにしてもよい。
また本発明において、 前記マスター代理は、前記サービス代理から戻ってくるリダイレクトアクセスを受けて、前記マスターアカウントシステムのログイン利用者情報取得可能なページへアクセスしてログイン利用者のアカウント情報を取得するようにしてもよい。
1.外部システムを内部に導入するとき、アカウント管理コストを削減する。システム連携もしやすくなる
2.社員退社後の外部サービス無効化の忘れ問題を回避して、セキュリティを強化する
3.アカウント連携後、サービス機能の連携も可能になる
2.社員退社後の外部サービス無効化の忘れ問題を回避して、セキュリティを強化する
3.アカウント連携後、サービス機能の連携も可能になる
本発明の実施形態について、図面の参照しながら詳細に説明する。
図1は現在複数システムを利用するフロー図である。同じユーザでも、システムAとシステムBを利用時、それぞれ各システムのアカウントaとbを使って独立ログインして、システムを利用しないといけない。
図2はこの発明を実施後、複数システムを利用するフロー図である。
本発明は、図1をベースにして、システムA(マスターアカウントシステム、下同)とシステムB(サービスシステム、下同)の通信経路中、それぞれのマスター代理とサービス代理を設置する。
ユーザはサービスシステムアクセス中、サービス代理を監視して認証NGの場合、マスターアカウントシステムへ認証依頼をする。マスター代理も通信を監視してマスターアカウントシステム認証NGの場合、ユーザにマスターアカウントシステムをログインさせる。認証OKの場合、マスター代理はサービス代理と情報交換、ユーザはパスワード知らずアカウントbでサービスシステムBへログインさせて、ログイン結果のアカウントb認証トークンをサービス代理経由して、ユーザに返す。ユーザ次回から、アカウントbの認証トークンを利用して、サービスシステムを利用する。
本発明は、図1をベースにして、システムA(マスターアカウントシステム、下同)とシステムB(サービスシステム、下同)の通信経路中、それぞれのマスター代理とサービス代理を設置する。
ユーザはサービスシステムアクセス中、サービス代理を監視して認証NGの場合、マスターアカウントシステムへ認証依頼をする。マスター代理も通信を監視してマスターアカウントシステム認証NGの場合、ユーザにマスターアカウントシステムをログインさせる。認証OKの場合、マスター代理はサービス代理と情報交換、ユーザはパスワード知らずアカウントbでサービスシステムBへログインさせて、ログイン結果のアカウントb認証トークンをサービス代理経由して、ユーザに返す。ユーザ次回から、アカウントbの認証トークンを利用して、サービスシステムを利用する。
図3はマスターアカウントシステム、サービスシステムともWEBシステムの場合、本発明を実施する処理フローを説明する図である。下記で各ステップを詳細に説明する。
前提:
1.マスター代理はマスターアカウントシステムと同じドメインの下。
2.サービス代理はサービスシステムと同じドメインの下。
3.サービス代理はサービスシステムのアカウント管理権限持つアカウントSを利用可能。
図のステップ番号の書き方の説明:
1.ステップを表現する矢印は左から右への場合、ステップ番号を矢印開始位置の上で書く
2.ステップを表現する矢印は右から左への場合、ステップ番号を矢印開始位置の下で書く
3.図4も同じ
前提:
1.マスター代理はマスターアカウントシステムと同じドメインの下。
2.サービス代理はサービスシステムと同じドメインの下。
3.サービス代理はサービスシステムのアカウント管理権限持つアカウントSを利用可能。
図のステップ番号の書き方の説明:
1.ステップを表現する矢印は左から右への場合、ステップ番号を矢印開始位置の上で書く
2.ステップを表現する矢印は右から左への場合、ステップ番号を矢印開始位置の下で書く
3.図4も同じ
ステップ3.1:利用者はサービスシステムを利用するために、サービス代理を経由して、サービスシステムへアクセスする。例えば、ブラウザのお気に入れから、サービスシステムのメインメニューへアクセスする。
ステップ3.2:サービスシステムはステップ3.1のアクセスリクエストに対して、レスポンスを返す。サービス代理はこのレスポンスをチェックして、認証結果を判断する。認証OKの場合、ステップ3.3へ。認証NGの場合、ステップ3.4へ。
例えば、ログイン画面(特定なパスワード入力項目がある画面)、またはログイン画面へリダイレクトレスポンスである場合、認証NGとして判断する。これ以外の場合、認証OKとして判断する。
例えば、ログイン画面(特定なパスワード入力項目がある画面)、またはログイン画面へリダイレクトレスポンスである場合、認証NGとして判断する。これ以外の場合、認証OKとして判断する。
ステップ3.3;認証OKの場合、サービス代理はサービスシステムのレスポンスを処理せず、そのまま利用者側へ返す。処理は終了。
ステップ3.4:認証NGの場合、サービス代理はサービスシステムのレスポンスを利用者側へ返せず、ステップ3.1のサービスシステムアクセスURL情報も添付してマスターアカウントシステムへのリダイレクトを返す。ステップ3.5へ。
ステップ3.5:利用者側のブラウザはサービス代理から戻ってくるリダイレクト指示を受けて、マスターアカウントシステムへ認証チェックURLへアクセス。マスター代理はアクセスを受けて、マスターアカウントシステムのログイン利用者情報取得可能なおページへアクセス。
一般的に、認証チェックURLはマスターアカウントシステム上として無効、マスター代理しか認識できない特殊URLである。たとえば、/sauth/accountの形式である。マスターアカウントシステムのログイン利用者情報取得可能なおページというものは、一般的にログインユーザのアカウント情報ページである。
一般的に、認証チェックURLはマスターアカウントシステム上として無効、マスター代理しか認識できない特殊URLである。たとえば、/sauth/accountの形式である。マスターアカウントシステムのログイン利用者情報取得可能なおページというものは、一般的にログインユーザのアカウント情報ページである。
ステップ3.6:マスターアカウントシステムはステップ3.5のアクセスリクエストに対して、レスポンスを返す。マスター代理はこのレスポンスをチェックして、認証結果を判断する。認証OKの場合、ステップ7へ。認証NGの場合、ステップ3.8へ。
例えば、ログイン画面(特定なパスワード入力項目がある画面)、またはログイン画面へリダイレクトレスポンスである場合、認証NGとして判断する。これ以外の場合、認証OKとして判断する。
例えば、ログイン画面(特定なパスワード入力項目がある画面)、またはログイン画面へリダイレクトレスポンスである場合、認証NGとして判断する。これ以外の場合、認証OKとして判断する。
ステップ3.7:マスター代理はステップ3.6のレスポンスを解析して、ログインユーザのアカウント情報aを取得して、暗号化の上、サービスシステム上無効、サービス代理しか認識できないのアカウント同期化URLへ送信する。アカウント同期化URLというものは、/sauth/syncAccountの形式である。サービス代理はこのリクエストを受けて、マスターアカウントシステムのアカウントaに対して、マッピングされたサービスシステムのアカウントbは存在するかをチェックして、存在する かつ bの情報とaは一致する場合、ステップ3.14へ、その他の場合、ステップ3.13へ。
ステップ3.8:マスター代理は認証NGを判断する場合、マスター代理自身を経由して、マスターシステムのログイン画面へアクセスする。
ステップ3.9:ステップ3.8のアクセスリクエストに対して、マスターアカウントシステムはログイン画面を返す。マスター代理はログイン画面に識別情報を埋め込んでから、利用者側のブラウザへ帰す。例として、識別情報というものは、このログインはマスター代理からくるものを表現する画面見えない入力項目である。そして、ステップ3.5で添付されたサービスシステムアクセスURLも埋め込む。
ステップ3.10:利用者はマスターアカウントシステムのアカウントaとパスワードを入力して、マスター代理を経由して、ログインをする。
マスター代理は通信を監視するが、ステップ3.9で埋め込んだ識別情報がある場合のみ、監視対象とする。
マスター代理は通信を監視するが、ステップ3.9で埋め込んだ識別情報がある場合のみ、監視対象とする。
ステップ3.11:マスターアカウントシステムはステップ3.10のアカウントaとパスワードをチェックして、認証結果レスポンスを返す。マスター代理はこの結果レスポンスを解析して、認証OKの場合、認証OKトークンを添付して、ステップ3.12へ。認証NGの場合、ステップ3.8へ。
例えば、ログイン画面(特定なパスワード入力項目がある画面)、またはログイン画面へリダイレクトレスポンスである場合、認証NGとして判断する。これ以外の場合、認証OKとして判断する。認証OKトークンというものは、一般的にクッキーの形式である。
例えば、ログイン画面(特定なパスワード入力項目がある画面)、またはログイン画面へリダイレクトレスポンスである場合、認証NGとして判断する。これ以外の場合、認証OKとして判断する。認証OKトークンというものは、一般的にクッキーの形式である。
ステップ3.12:ステップ3.9で埋め込んだサービスシステムアクセスURL情報を添付して、ステップ3.5と同じマスターアカウントシステムへ認証チェックURLへリダイレクトする。
この時、利用者側ブラウザを経由リダイレクトなので、ステップ3.11からもらったマスターシステムの認証トークンはブラウザ側で保管され、認証チェックURLにも付いてアクセスする。ステップ3.6の認証結果はOKになる。
この時、利用者側ブラウザを経由リダイレクトなので、ステップ3.11からもらったマスターシステムの認証トークンはブラウザ側で保管され、認証チェックURLにも付いてアクセスする。ステップ3.6の認証結果はOKになる。
ステップ3.13:この時、サービス代理はマスターアカウントシステムのアカウントaの情報を受けて、サービスシステムへアカウント情報を同期する。
ステップ3.7の判断=マッピングされない場合、アカウント情報aをベースにして、サービスシステムアカウントbを生成して、サービスシステムのアカウントSを利用して、サービスシステムへbを新規登録する。その時、bのパスワードを乱数で生成させる。
ステップ3.7の判断=マッピングされ、かつアカウントaとbの情報が不一致の場合、アカウント情報aをベースにして、サービスシステムアカウントb情報を更新して、サービスシステムのアカウントSを利用して、サービスシステムへbを更新する。
サービスシステムへアカウント情報同期化後、次回のステップ7で利用できるように、アカウントa → アカウントbのマッピング関係とアカウントbの情報を保存する。
アカウントbの情報を持つステップ3.14へ。
ステップ3.7の判断=マッピングされない場合、アカウント情報aをベースにして、サービスシステムアカウントbを生成して、サービスシステムのアカウントSを利用して、サービスシステムへbを新規登録する。その時、bのパスワードを乱数で生成させる。
ステップ3.7の判断=マッピングされ、かつアカウントaとbの情報が不一致の場合、アカウント情報aをベースにして、サービスシステムアカウントb情報を更新して、サービスシステムのアカウントSを利用して、サービスシステムへbを更新する。
サービスシステムへアカウント情報同期化後、次回のステップ7で利用できるように、アカウントa → アカウントbのマッピング関係とアカウントbの情報を保存する。
アカウントbの情報を持つステップ3.14へ。
ステップ3.14:アカウントbとパスワードを利用して、サービスシステムへログインする。ステップ3.15へ。
ステップ3.15:ここでログインは成功になるので、認証用トークン(一般的にクッキーである)はサービス代理へ返される。サービス代理は認証用トークン内容を暗号化してステップ3.6の呼び出す元のマスター代理へ返す。
マスター代理は暗号化されるサービスシステム認証用トークン内容とステップ3.5で受けたサービスシステムアクセスURLと一緒に利用者側ブラウザへ返して、ステップ3.16へ。
マスター代理は暗号化されるサービスシステム認証用トークン内容とステップ3.5で受けたサービスシステムアクセスURLと一緒に利用者側ブラウザへ返して、ステップ3.16へ。
ステップ3.16:ステップ3.15からもらった暗号化認証トークンとサービスシステムアクセスURLを添付して、サービス代理の認証代理URLへリダイレクトする。ステップ3.17へ
サービス代理の認証代理URLというものは、サービスシステム上無効なサービス代理しか認証できないURLである。例えば、/sauth/authProxyの形式である。
サービス代理の認証代理URLというものは、サービスシステム上無効なサービス代理しか認証できないURLである。例えば、/sauth/authProxyの形式である。
ステップ3.17:ステップ3.16で添付された暗号化トークンを復号化して、サービスシステムの認証トークン(一般的にクッキーの形式である)として、利用者側ブラウザ経由して、ステップ3.16で添付されたサービスステムアクセスURLを利用してステップ3.1へ
この時、サービスシステムの認証トークンは利用者側のブラウザで保管されるので、ステップ3.1の次、サービスシステムの認証OKになって、ステップ3.3で処理終了になる。
この時、サービスシステムの認証トークンは利用者側のブラウザで保管されるので、ステップ3.1の次、サービスシステムの認証OKになって、ステップ3.3で処理終了になる。
図3の実施に対して、1つ無視できない課題は存在する。サービスシステムへの接続は暗号化される場合(https)サービス代理をサービスシステムのファイアウォールの裏側(https通信範囲外)に置かないと、サービスシステム本体まで通信内容は監視不可。サービス代理として、動作できないことである。
この課題を解決する手段はいろいろあるが、下記の3つ方法で説明する:
1.サービス代理の設置はサービスシステム運営側に実施してもらう。
2.利用者の利用場所は限定的なの場合、サービスシステムの外部にサービス代理を設置するが、サービス代理のipをサービスシステムのドメインとして利用場所範囲のdnsに登録する。サービス代理は図3のステップ7以外の接続を本当のサービスシステムへ転送する。そうすれば、利用者はサービス代理経由して、サービスシステムを利用することが確保される。サービス代理上自己署名のssl証書を使うが、マスター代理と利用場所の信任CAに登録すれば、セキュリティ問題にならない
3.2と同じように設置するが、サービス代理はサービスシステムのドメインを使わなく、サービスシステムと異なるサービス代理ドメインを使う。2と同じように接続をサービスシステムへ転送するが、返ってくるレスポンスのサービスシステムドメインをサービス代理ドメインへ変換してから返す。利用者側はサービス代理ドメインを利用して、サービスシステムを利用する。
上記の方法は、課題が解決できることを説明するための例として使う。上記の方法に限らず、サービスシステムにアクセス経路中、サービス代理を設置し、アクセスを監視できれば、どんな方法でも利用可能。
この課題を解決する手段はいろいろあるが、下記の3つ方法で説明する:
1.サービス代理の設置はサービスシステム運営側に実施してもらう。
2.利用者の利用場所は限定的なの場合、サービスシステムの外部にサービス代理を設置するが、サービス代理のipをサービスシステムのドメインとして利用場所範囲のdnsに登録する。サービス代理は図3のステップ7以外の接続を本当のサービスシステムへ転送する。そうすれば、利用者はサービス代理経由して、サービスシステムを利用することが確保される。サービス代理上自己署名のssl証書を使うが、マスター代理と利用場所の信任CAに登録すれば、セキュリティ問題にならない
3.2と同じように設置するが、サービス代理はサービスシステムのドメインを使わなく、サービスシステムと異なるサービス代理ドメインを使う。2と同じように接続をサービスシステムへ転送するが、返ってくるレスポンスのサービスシステムドメインをサービス代理ドメインへ変換してから返す。利用者側はサービス代理ドメインを利用して、サービスシステムを利用する。
上記の方法は、課題が解決できることを説明するための例として使う。上記の方法に限らず、サービスシステムにアクセス経路中、サービス代理を設置し、アクセスを監視できれば、どんな方法でも利用可能。
図4は図3の特例として、既存認証技術(ここはOAuth1.0aを例とする)を利用する本発明の実施を説明する図。その時、図3のマスター代理は省略可能。
ステップ4.1は図3のステップ3.1と同じく、利用者はサービスシステムを利用するために、サービス代理を経由して、サービスシステムへアクセスする。
テップ4.2:サービスシステムはステップ4.1のアクセスリクエストに対して、レスポンスを返す。サービス代理はこのレスポンスをチェックして、認証結果を判断する。認証OKの場合、ステップ4.3へ。認証NGの場合、ステップ4.4へ。
ステップ4.3:認証OKの場合、サービス代理はサービスシステムのレスポンスを処理せず、そのまま利用者側へ返す。処理は終了。
ステップ4.4:認証NGの場合、サービス代理はOAuth仕様により、マスターアカウントシステムへ認証要求アクセスを利用者側のブラウザへ返す。
ステップ4.5:利用者側のブラウザはステップ4.4のレスポンスを受けて、マスターアカウントシステムへリダイレクトする。
ステップ4.6:マスターアカウントシステムはOAuth仕様により、認証(権限承認)画面を利用者側のブラウザへ返す。
ステップ4.7:ユーザはマスターアカウントシステムのユーザaとして、認証(権限承認)する。
ステップ4.8:マスターアカウントシステムはOAuthの仕様により、認証(権限承認)OKの場合、リクエストトークンを発行して、ステップ4.9へ。認証NGの場合、ステップ4.5へ戻る。権限承認NGの場合、エラー終了。
ステップ4.9:OAuthの仕様により、ステップ4.8で受けたリクエストトークンをサービスシステムへリダイレクトする。
ステップ4.10:OAuthの仕様により、サービス代理はステップ4.9のリクエストトークンを受けて、このリクエストトークンを使って、マスターアカウントシステムへアクセストークンを請求する。
ステップ4.11:OAuthの仕様により、マスターアカウントシステムはサービス代理へアクセストークンを返す。
ステップ4.12:OAuthの仕様により、サービス代理はアクセストークンを使って、マスターアカウントシステムへアカウントaの情報を請求する。
ステップ4.13:OAuthの仕様により、マスターアカウントシステムはアカウントaの情報を返す。
ステップ4.14:図3の3.7の部分に相当。サービス代理はマスターアカウントシステムのアカウントaに対して、マッピングされたサービスシステムのアカウントbは存在するかをチェックして、存在する かつ bの情報とaは一致する場合、ステップ4.15へ、その他の場合、ステップ4.16へ。
ステップ4.15:図3の3.13に相当。サービス代理はマスターアカウントシステムのアカウントaの情報を受けて、サービスシステムへアカウント情報を同期する。
ステップ4.14の判断=マッピングされない場合、アカウント情報aをベースにして、サービスシステムアカウントbを生成して、サービスシステムのアカウントSを利用して、サービスシステムへbを新規登録する。その時、bのパスワードを乱数で生成させる。
ステップ4.14の判断=マッピングされ、かつアカウントaとbの情報が不一致の場合、アカウント情報aをベースにして、サービスシステムアカウントb情報を更新して、サービスシステムのアカウントSを利用して、サービスシステムへbを更新する。
サービスシステムへアカウント情報同期化後、次回のステップ4.14で利用できるように、アカウントa → アカウントbのマッピング関係とアカウントbの情報を保存する。
アカウントbの情報を持つステップ4.16へ。
ステップ4.14の判断=マッピングされない場合、アカウント情報aをベースにして、サービスシステムアカウントbを生成して、サービスシステムのアカウントSを利用して、サービスシステムへbを新規登録する。その時、bのパスワードを乱数で生成させる。
ステップ4.14の判断=マッピングされ、かつアカウントaとbの情報が不一致の場合、アカウント情報aをベースにして、サービスシステムアカウントb情報を更新して、サービスシステムのアカウントSを利用して、サービスシステムへbを更新する。
サービスシステムへアカウント情報同期化後、次回のステップ4.14で利用できるように、アカウントa → アカウントbのマッピング関係とアカウントbの情報を保存する。
アカウントbの情報を持つステップ4.16へ。
ステップ4.17:ここでログインは成功になるので、認証用トークン(一般的にクッキーである)はサービス代理へ返される。サービス代理の呼び元は利用者側のブラウザので、そのまま認証トークンを含めて、ステップ4.1のアクセスURLへリダイレクトレスポンスを利用者側のブラウザへ返す。ステップ4.18へ。
ステップ4.18:図3のステップ3.19に相当。ステップ4.1のアクセスURLへリダイレクトする。この時、サービスシステムの認証トークンは利用者側のブラウザで保管されるので、ステップ4.1の次、サービスシステムの認証OKになって、ステップ4.3で処理終了になる。
例えば、A社は既に社内業務管理システムMを利用しているが、社外掲示板サービス提供するSシステムを利用したい。本発明を利用すれば、社内業務管理システムのアカウント管理をマスターアカウントシステムとして、掲示板システムSをサービスシステムとして、社内業務管理システムのアカウントを利用して、社外掲示板サービスを利用可能になる。
当然、マスターアカウントシステムはドメインシステムを利用しても構わない。アカウント管理機能を提供、そして、第三者のプログラムは認証、アカウント情報取得できれば、どんなシステムでもマスターアカウントシステムとして利用可能。
当然、マスターアカウントシステムはドメインシステムを利用しても構わない。アカウント管理機能を提供、そして、第三者のプログラムは認証、アカウント情報取得できれば、どんなシステムでもマスターアカウントシステムとして利用可能。
この発明は、複数コンピュータシステム間のアカウント認証と管理を1本化させて、システム統合コストを削減して、セキュリティーを強化する。
Claims (3)
- 利用者のメインアカウントを管理するマスターアカウントシステムと、該マスターアカウントシステムの通信経路中に、前記マスターアカウントシステムにアクセスする時に必ず経由するマスター代理と、該利用者が利用したいサービスシステムと、前記サービスシステムの通信経路中に、前記サービスシステムにアクセスする時に必ず経由するサービス代理とを設置して、
利用者が前記サービスシステム利用する場合、前記サービス代理は通信を監視し、ログイン認証が必要な場合、前記マスターアカウントシステムへ認証を依頼して、
前記マスター代理はこの依頼を監視して、前記マスターアカウントシステムのアカウント情報ページの内容を取得して、ログイン認証成功後、前記サービス代理と連携し、前記マスターアカウントシステムのアカウント情報がマッピングされない場合は、前記アカウント情報をベースにして、サービスシステムアカウントと乱数でパスワードを生成し、前記サービスシステムのアカウント管理権限を持つアカウントを利用して、前記サービスシステムに上記生成したサービスシステムアカウントの新規登録を行う一方、前記マスターアカウントシステムのアカウント情報がマッピングされ、且つマッピングされた前記サービスシステムのアカウント情報と前記マスターアカウントシステムのアカウント情報が不一致な場合は、前記マスターアカウントシステムのアカウント情報をベースに、前記サービスシステムのアカウント情報を更新するステップを経て前記サービスシステムのアカウント情報のマッピング関係と前記サービスシステムのアカウント情報を保存し、その後、代理ログイン処理後認証トークンをクライアントへ返し、利用者は前記サービスシステムを利用できる複数コンピュータシステムの認証連携システム。 - 請求項1において、
前記サービスシステムにログイン認証がNGとされた場合、
前記サービス代理は、前記サービスシステムのログイン認証がNGというレスポンスを利用者に返さず、前記サービスシステムのアクセスURL情報を添付して前記マスターアカウントシステムにリダイレクトする複数コンピュータシステムの認証連携システム。 - 請求項2において、
前記マスター代理は、前記サービス代理から戻ってくるリダイレクトアクセスを受けて、前記マスターアカウントシステムのログイン利用者情報取得可能なページへアクセスしてログイン利用者のアカウント情報を取得する複数コンピュータシステムの認証連携システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014110789A JP5724017B1 (ja) | 2014-05-29 | 2014-05-29 | 複数コンピュータシステムの認証連携システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014110789A JP5724017B1 (ja) | 2014-05-29 | 2014-05-29 | 複数コンピュータシステムの認証連携システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5724017B1 true JP5724017B1 (ja) | 2015-05-27 |
JP2015225562A JP2015225562A (ja) | 2015-12-14 |
Family
ID=53277953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014110789A Active JP5724017B1 (ja) | 2014-05-29 | 2014-05-29 | 複数コンピュータシステムの認証連携システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5724017B1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004234329A (ja) * | 2003-01-30 | 2004-08-19 | Nippon Telegraph & Telephone East Corp | Idマッピングを利用したシングルサインオンシステム、方法、プログラム並びに記憶媒体 |
WO2009084601A1 (ja) * | 2007-12-27 | 2009-07-09 | Nec Corporation | アクセス権限管理システム、アクセス権限管理方法及びアクセス権限管理用プログラム |
JP2010268084A (ja) * | 2009-05-12 | 2010-11-25 | Nippon Telegr & Teleph Corp <Ntt> | ユーザ認証システム、プロキシ装置、ユーザ認証方法およびプログラム |
JP2013149238A (ja) * | 2011-12-22 | 2013-08-01 | Canon Marketing Japan Inc | 情報処理装置、情報処理方法、プログラム |
JP2013152757A (ja) * | 2006-03-22 | 2013-08-08 | Alibaba Group Holding Ltd | システム間シングルサインオン |
-
2014
- 2014-05-29 JP JP2014110789A patent/JP5724017B1/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004234329A (ja) * | 2003-01-30 | 2004-08-19 | Nippon Telegraph & Telephone East Corp | Idマッピングを利用したシングルサインオンシステム、方法、プログラム並びに記憶媒体 |
JP2013152757A (ja) * | 2006-03-22 | 2013-08-08 | Alibaba Group Holding Ltd | システム間シングルサインオン |
WO2009084601A1 (ja) * | 2007-12-27 | 2009-07-09 | Nec Corporation | アクセス権限管理システム、アクセス権限管理方法及びアクセス権限管理用プログラム |
JP2010268084A (ja) * | 2009-05-12 | 2010-11-25 | Nippon Telegr & Teleph Corp <Ntt> | ユーザ認証システム、プロキシ装置、ユーザ認証方法およびプログラム |
JP2013149238A (ja) * | 2011-12-22 | 2013-08-01 | Canon Marketing Japan Inc | 情報処理装置、情報処理方法、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2015225562A (ja) | 2015-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9118657B1 (en) | Extending secure single sign on to legacy applications | |
CN106936853B (zh) | 基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法 | |
US20150188779A1 (en) | Split-application infrastructure | |
US8024777B2 (en) | Domain based authentication scheme | |
US9021570B2 (en) | System, control method therefor, service providing apparatus, relay apparatus and computer-readable medium | |
CN112422532B (zh) | 业务通信方法、系统、装置及电子设备 | |
US8938789B2 (en) | Information processing system, method for controlling information processing system, and storage medium | |
US10218691B2 (en) | Single sign-on framework for browser-based applications and native applications | |
US8966572B2 (en) | Dynamic identity context propagation | |
US20100043065A1 (en) | Single sign-on for web applications | |
US10284374B2 (en) | Code signing system with machine to machine interaction | |
CN107534557A (zh) | 提供访问控制和单点登录的身份代理 | |
JP5644770B2 (ja) | アクセス制御システム、サーバ、およびアクセス制御方法 | |
US9239911B2 (en) | Replacement of security credentials for secure proxying | |
CN109150800B (zh) | 一种登录访问方法、系统和存储介质 | |
JP6572750B2 (ja) | 認証制御プログラム、認証制御装置、及び認証制御方法 | |
CN105592003A (zh) | 一种基于通知的跨域单点登录方法及系统 | |
CN104580211A (zh) | 一种基于soa架构的侵入式系统 | |
CN107294935B (zh) | 虚拟专用网络访问方法、装置和系统 | |
KR20140112643A (ko) | 이종 서비스 간 서비스 제공 방법과 사용자 단말 및 웹 서버 | |
CN105100068A (zh) | 一种实现单点登录的系统及方法 | |
KR101839049B1 (ko) | 서버단 세션 관리 방식 및 쿠키 정보 공유 방식을 병행 지원하는 싱글 사인온 인증 방법 | |
CN114844656A (zh) | 网络访问方法、装置、系统、设备及存储介质 | |
CN104243488A (zh) | 一种跨网站服务器的登录认证方法 | |
JP5724017B1 (ja) | 複数コンピュータシステムの認証連携システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150330 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5724017 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |