JP6875482B2 - レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム - Google Patents

レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム Download PDF

Info

Publication number
JP6875482B2
JP6875482B2 JP2019185051A JP2019185051A JP6875482B2 JP 6875482 B2 JP6875482 B2 JP 6875482B2 JP 2019185051 A JP2019185051 A JP 2019185051A JP 2019185051 A JP2019185051 A JP 2019185051A JP 6875482 B2 JP6875482 B2 JP 6875482B2
Authority
JP
Japan
Prior art keywords
server
user
legacy
certificates
computer
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
Application number
JP2019185051A
Other languages
English (en)
Other versions
JP2019220238A (ja
Inventor
カティーブ ラルフ
カティーブ ラルフ
Original Assignee
ドキュメント ストレージ システムズ, インコーポレイテッド
ドキュメント ストレージ システムズ, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ドキュメント ストレージ システムズ, インコーポレイテッド, ドキュメント ストレージ システムズ, インコーポレイテッド filed Critical ドキュメント ストレージ システムズ, インコーポレイテッド
Publication of JP2019220238A publication Critical patent/JP2019220238A/ja
Application granted granted Critical
Publication of JP6875482B2 publication Critical patent/JP6875482B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Description

(技術分野)
本開示の実施形態は、概して、レガシーシステムに関し、より具体的には、統合的レガシーコンテキスト管理に関する。
(背景)
現代の企業システムは、企業に関する種々の特徴およびサービスにわたって比較的にシームレスなユーザ体験を提供するための種々のセキュリティ、通信、および認証機構の統合において大きな進歩を果たした。しかしながら、そのような改良にもかかわらず、企業システムの近代化は、限定された拡張性を有するレガシーシステムの統合をまだ十分に対処していない。レガシーシステムが、典型的には、企業システムと適切に統合しないため、多くの組織が、別個のレガシーシステムおよび企業システムを維持することを強いられている。
(概要)
特定の実装は、メモリに結合された処理ユニットを有するコンピュータハードウェアシステムを含んでもよく、メモリは、コンピュータ実行可能な命令でエンコードされ、命令は、実行されると、ユーザと関連付けられた証明書のセットをユーザデバイスから受信することと、証明書のセットをユーザと関連付けられたエージェントの第1の証明書のセットと相互参照することにより、証明書のセットが有効であるかどうかを決定することと、証明書のセットが有効である場合、ユーザデバイスからの第2の証明書のセットの要求に応答して、エージェントの第2の証明書のセットをユーザデバイスに提供することとを処理ユニットに行わせる。特定の実装では、メモリはコンピュータ実行可能な命令でさらにエンコードされてもよく、命令は、実行されると、他の動作の中でもとりわけ、ユーザデバイスのブラウザをウェブベースのインターフェースにダイレクトすることであって、ウェブベースのインターフェースは、証明書のセットを受信するように構成される、こと、および/または、ユーザデバイスとレガシーデバイスとの間のプロキシ接続を確立することを処理ユニットに行わせる。特定の実装では、エージェントの第2の証明書のセットは、レガシーサーバによって提供されるサービスと関連付けられてもよい。ウェブベースのインターフェースは、ユーザデバイスのタイプに基づいてもよい。証明書のセットは、企業サーバと関連付けられてもよい。実行されると、証明書のセットをユーザと関連付けられたエージェントの第1の証明書のセットと相互参照することにより、証明書のセットが有効であるかどうかを決定することを少なくとも1つの処理ユニットに、行わせる命令は、実行されると、API呼出をディレクトリ統合APIまたはレガシー認証統合APIのうちの少なくとも1つに提供することを少なくとも1つの処理ユニットに行わせる命令を含んでもよい。実行されると、エージェントの第2の証明書のセットをユーザデバイスに提供することを少なくとも1つの処理ユニットに行わせる命令は、実行されると、第2の証明書のセットをユーザデバイス上で実行中のプロキシに提供することを少なくとも1つの処理ユニットに行わせる命令を含んでもよい。メモリは、コンピュータ実行可能な命令でエンコードされてもよく、命令は、実行されると、ユーザデバイスとレガシーデバイスとの間のプロキシ接続を確立することを少なくとも1つの処理ユニットに行わせる。
特定の実装は、メモリに結合された少なくとも1つの処理ユニットを備えるコンピュータハードウェアシステムを含んでもよく、メモリは、コンピュータ実行可能な命令でエンコードされ、命令は、実行されると、ユーザと関連付けられたエージェントの第1の証明書のセットの受信に応答して、第1のユーザデバイスを認証することであって、第1の証明書のセットは、レガシーサーバと関連付けられている、ことと、コンテキスト情報を第1のデバイスから受信することであって、コンテキスト情報は、第1のユーザデバイスがサービスにアクセスした様式を示す、ことと、ユーザと関連付けられたエージェントの第2の証明書のセットの受信に応答して、第2のユーザデバイスを認証することと、第2のデバイスがサービスにアクセスしたことに応答して、コンテキスト情報を第2のデバイスに提供することとを少なくとも1つの処理ユニットに行わせる。他の命令は、他の動作の中でもとりわけ、コンテキスト情報をエージェントと関連付けること、コンテキスト情報を第1のデバイス上で実行中のプロキシから受信すること、および/またはユーザデバイスとレガシーデバイスとの間を接続するプロキシを確立することを処理ユニットに行わせる。エージェントの第1の証明書のセットは、第1のデバイス上で実行中のプロキシから受信されてもよく、エージェントの第2の証明書のセットは、第2のデバイス上で実行中のウェブアプリケーションから受信されてもよい。メモリは、コンピュータ実行可能な命令でエンコードされてもよく、命令は、実行されると、ユーザデバイスとレガシーデバイスとの間のプロキシ接続を確立することを少なくとも1つの処理ユニットに行わせる。
特定の実装は、メモリに結合された少なくとも1つの処理ユニットを備えるコンピュータハードウェアシステムを含んでもよく、メモリは、コンピュータ実行可能な命令でエンコードされ、命令は、実行されると、ユーザと関連付けられた証明書をユーザデバイスから受信することと、証明書が有効であるかどうかを決定することと、証明書が有効である場合、ユーザデバイスと関連付けられたトークンを提供することと、トークンが有効である期間の間、要求に応じて、証明書のセットをユーザデバイスに提供することとを少なくとも1つの処理ユニットに行わせる。他の命令は、他の動作の中でもとりわけ、証明書が有効ではない場合、証明書が有効ではないことを示す応答を提供すること、証明書がユーザと関連付けられたエージェント内に記憶される証明書に対応するかどうかを決定すること、ウェブブラウザを証明書を受信するように構成されたウェブベースのインターフェースにダイレクトすること、ユーザと関連付けられた第1の証明書のセットをプロキシに提供すること、ユーザと関連付けられた第2の証明書のセットをウェブアプリケーションに提供すること、トークンが提供された後のある期間の後にトークンを除去すること、および/または、ユーザデバイスとレガシーデバイスとの間のプロキシ接続を確立することを処理ユニットに行わせる。
本明細書は、例えば、以下の項目も提供する。
(項目1)
メモリに結合された少なくとも1つの処理ユニットを備えるコンピュータハードウェアシステムであって、前記メモリは、コンピュータ実行可能な命令でエンコードされ、前記命令は、実行されると、
ユーザと関連付けられた証明書のセットをユーザデバイスから受信することと、
前記証明書のセットを前記ユーザと関連付けられたエージェントの第1の証明書のセットと相互参照することにより、前記証明書のセットが有効であるかどうかを決定することと、
前記証明書のセットが有効である場合、前記ユーザデバイスからの第2の証明書のセットの要求に応答して、前記エージェントの前記第2の証明書のセットを前記ユーザデバイスに提供することと
を前記少なくとも1つの処理ユニットに行わせる、システム。
(項目2)
前記エージェントの前記第2の証明書のセットは、レガシーサーバによって提供されるサービスと関連付けられる、項目1に記載のシステム。
(項目3)
前記メモリはコンピュータ実行可能な命令でさらにエンコードされ、前記命令は、実行されると、
前記ユーザデバイスのブラウザをウェブベースのインターフェースにダイレクトすることであって、前記ウェブベースのインターフェースは、前記証明書のセットを受信するように構成されている、こと
を前記少なくとも1つの処理ユニットに行わせる、項目1に記載のシステム。
(項目4)
前記ウェブベースのインターフェースは、前記ユーザデバイスのタイプに基づく、項目3に記載のシステム。
(項目5)
前記証明書のセットは、企業サーバと関連付けられる、項目1に記載のシステム。
(項目6)
実行されると、前記証明書のセットを前記ユーザと関連付けられたエージェントの第1の証明書のセットと相互参照することにより、前記証明書のセットが有効であるかどうかを決定することを前記少なくとも1つの処理ユニットに行わせる前記命令は、
実行されると、API呼出をディレクトリ統合APIまたはレガシー認証統合APIのうちの少なくとも1つに提供することを前記少なくとも1つの処理ユニットに行わせる命令を含む、項目1に記載のシステム。
(項目7)
実行されると、前記エージェントの第2の証明書のセットを前記ユーザデバイスに提供さすることを前記少なくとも1つの処理ユニットに行わせる前記命令は、
実行されると、前記第2の証明書のセットを前記ユーザデバイス上で実行中のプロキシに提供することを前記少なくとも1つの処理ユニットに行わせる命令を含む、項目1に記載のシステム。
(項目8)
前記メモリはコンピュータ実行可能な命令でさらにエンコードされ、前記命令は、実行されると、
前記ユーザデバイスと前記レガシーデバイスとの間のプロキシ接続を確立すること
を前記少なくとも1つの処理ユニットに行わせる、項目1に記載のシステム。
(項目9)
メモリに結合された少なくとも1つの処理ユニットを備えるコンピュータハードウェアシステムであって、前記メモリは、コンピュータ実行可能な命令でエンコードされ、前記命令は、実行されると、
ユーザと関連付けられたエージェントの第1の証明書のセットの受信に応答して、第1のユーザデバイスを認証することであって、前記第1の証明書のセットは、レガシーサーバと関連付けられている、ことと、
コンテキスト情報を前記第1のデバイスから受信することであって、前記コンテキスト情報は、前記第1のユーザデバイスがサービスにアクセスした様式を示す、ことと、
前記ユーザと関連付けられた前記エージェントの第2の証明書のセットの受信に応答して、第2のユーザデバイスを認証することと、
前記第2のデバイスが前記サービスにアクセスしたことに応答して、前記コンテキスト情報を前記第2のデバイスに提供することと
を前記少なくとも1つの処理ユニットに行わせる、システム。
(項目10)
前記メモリはコンピュータ実行可能な命令でさらにエンコードされ、前記命令は、実行されると、
前記コンテキスト情報を前記エージェントと関連付けること
を前記少なくとも1つの処理ユニットに行わせる、項目9に記載のシステム。
(項目11)
実行されると、コンテキスト情報を前記第1のデバイスから受信することを前記少なくとも1つの処理ユニットに行わせる前記命令は、
実行されると、コンテキスト情報を前記第1のデバイス上で実行中のプロキシから受信することを前記少なくとも1つの処理ユニットに行わせる命令を含む、項目9に記載のシステム。
(項目12)
前記エージェントの前記第1の証明書のセットは、前記第1のデバイス上で実行中のプロキシから受信され、前記エージェントの前記第2の証明書のセットは、前記第2のデバイス上で実行中のウェブアプリケーションから受信される、項目9に記載のシステム。
(項目13)
前記メモリはコンピュータ実行可能な命令でさらにエンコードされ、前記命令は、実行されると、
前記ユーザデバイスと前記レガシーデバイスとの間のプロキシ接続を確立すること
を前記少なくとも1つの処理ユニットに行わせる、項目9に記載のシステム。
(項目14)
メモリに結合された少なくとも1つの処理ユニットを備えるコンピュータハードウェアシステムであって、前記メモリは、コンピュータ実行可能な命令でエンコードされ、前記命令は、実行されると、
ユーザと関連付けられた証明書をユーザデバイスから受信することと、
前記証明書が有効であるかどうかを決定することと、
前記証明書が有効である場合、前記ユーザデバイスと関連付けられたトークンを提供することと、
前記トークンが有効である期間の間、要求に応じて、証明書のセットを前記ユーザデバイスに提供することと
を前記少なくとも1つの処理ユニットに行わせる、コンピュータハードウェアシステム。
(項目15)
前記メモリはコンピュータ実行可能な命令でさらにエンコードされ、前記命令は、実行されると、
前記証明書が有効ではない場合、前記証明書が有効ではないことを示す応答を提供すること
を前記少なくとも1つの処理ユニットに行わせる、項目14に記載のシステム。
(項目16)
実行されると、前記証明書が有効であるかどうかを決定することを前記少なくとも1つの処理ユニットに行わせる前記命令は、
実行されると、前記証明書が前記ユーザと関連付けられたエージェント内に記憶される証明書に対応するかどうかを決定することを前記少なくとも1つの処理ユニットに行わせる命令を含む、項目14に記載のシステム。
(項目17)
実行されると、ユーザと関連付けられた証明書のセットをユーザデバイスから受信することを前記少なくとも1つの処理ユニットに行わせる前記命令は、
実行されると、ウェブブラウザを前記証明書を受信するように構成されたウェブベースのインターフェースにダイレクトすることを前記少なくとも1つの処理ユニットに行わせる命令を含む、項目14に記載のシステム。
(項目18)
実行されると、前記トークンが有効である期間の間、要求に応じて、証明書を前記ユーザデバイスに提供することを前記少なくとも1つの処理ユニットに行わせる前記命令は、
実行されると、
前記ユーザと関連付けられた第1の証明書のセットをプロキシに提供することと、
前記ユーザと関連付けられた第2の証明書のセットをウェブアプリケーションに提供することと
を前記少なくとも1つの処理ユニットに行わせる命令を含む、項目14に記載のシステム。
(項目19)
前記メモリはコンピュータ実行可能な命令でさらにエンコードされ、前記命令は、実行されると、
前記トークンが提供された後のある期間の後に前記トークンを除去すること
を前記少なくとも1つの処理ユニットに行わせる、項目14に記載のシステム。
(項目20)
前記メモリはコンピュータ実行可能な命令でさらにエンコードされ、前記命令は、実行されると、
前記ユーザデバイスと前記レガシーデバイスとの間のプロキシ接続を確立すること
を前記少なくとも1つの処理ユニットに行わせる、項目14に記載のシステム。
図1は、本開示のある実施形態による、コンピュータネットワーキング環境の概略図である。 図2は、本開示のある実施形態による、コンピュータネットワーキング環境の概略図である。 図3は、本開示のある実施形態による、認証管理エンジンの概略ブロック図である。 図4は、本開示のある実施形態による、ウェブアプリケーションのシングルサインオン認証を実装するための方法のフローチャートである。 図5は、本開示のある実施形態による、レガシーアプリケーションのシングルサインオン認証を実装するための方法のフローチャートである。 図6は、本開示のある実施形態による、証明書を企業サーバに提供するための方法のフローチャートである。 図7は、本開示のある実施形態による、コンテキスト情報を管理するための方法のフローチャートである。
(詳細な説明)
統合的レガシーコンテキスト管理のためのシステムおよび方法が、本明細書に開示される。特定の詳細が、本開示の実施形態の十分な理解を提供するために以下に記載される。しかしながら、本開示の実施形態は、これらの特定の詳細を伴わずに実施されてもよい。また、特定の実施形態は、一例として提供され、限定的として解釈されるべきではない。他の場合において、周知の回路、制御信号、タイミングプロトコル、およびソフトウェア動作は、本発明を不必要に曖昧にすることを回避するために詳細に示されていない。
開示される実施形態は、概して、認証に関する。要するに、認証は、デバイスのユーザの識別を検証することと、それに応答して、ユーザアクセスをアプリケーションまたはデータベース等の1つまたは複数のサービスに与えることとを含む。認証は、いくつかの認証タイプを使用して行われてもよい。第1の、最も一般的なタイプの認証は、ユーザによって既知の情報を使用して認証することを対象とする。これは、ユーザ名、パスワード、および/またはアクセスコード等の証明書を使用して認証することを含んでもよい。第2のタイプの認証は、クレジットカード、デビットカード、またはスマートカード等の所有物を使用して認証することを対象とする。第3のタイプの認証は、場所またはバイオメトリック特性(例えば、指紋)等の特性を使用して認証することを対象とする。いくつかの事例では、認証は、複数要素認証を使用して実装されてもよい。多くのシステムでは、複数要素認証は、3つの提示された認証タイプのうちの少なくとも2つの充足を要求する。
ある実施形態はさらに、シングルサインオン(SSO)認証に関し得る。SSO認証は、ユーザの認証に応答して、ユーザが1つまたは複数のサーバ(例えば、企業サービス、レガシーサーバ)によって提供される複数のアプリケーションまたはサービスへのアクセスを提供され得る機構を含む。典型的には、個別のアプリケーション(またはサービス)の各々に対する許可レベルが、ユーザの識別に基づいて、個々に決定されてもよく、殆どの場合、ユーザは、SSOサーバに有効ユーザ証明書(例えば、有効ユーザ名、パスワード、バイオメトリック、および/または他の証明書の任意の組み合わせ)を提供した後、SSO認証されてもよい。いったん認証されると、ユーザは、ユーザが各アプリケーションに個々に認証された場合と同様に、アプリケーションにアクセスし得る。いくつかの事例では、SSOサーバは、1つまたは複数の証明書のセットと引き換えに利用され得るトークンを提供(例えば、生成)してもよい。証明書は、続いて、認証のために使用されてもよい。他の場合において、SSOサーバは、例えば、ユーザに割り当てられ、かつ、各個別のアプリケーションに具体的に対応する証明書を使用して、ユーザの代わりに、1つまたは複数のアプリケーションと認証を行ってもよい。したがって、SSOサーバとのSSO認証が完了すると、ユーザは、いずれの追加の証明書も提供することなく、前述のアプリケーションのいずれかにアクセスし得る。SSO認証の使用は、ユーザが、多数のパスワードを思い出すまたは記憶する必要性を低減させ、アカウント管理を単純化することによって企業レベルにおける効率を改善し、かつ/または、例えば、フィッシングを通じた証明書の不正流用を低減させることによって、ユーザ証明書の保護を増加させ得る。ユーザは、SSO認証を使用することにより、企業レベルでだけではなく、遠隔サーバおよび/または第三者サーバ上でも同様に提供されるアプリケーションにアクセスし得る。
図1を参照すると、ユーザデバイス102は、ウェブアプリケーション106を使用して、ネットワーク110を経由して企業サーバ120と通信してもよい、かつ/または、レガシーアプリケーション107を使用して、ネットワーク110を経由してレガシーサーバ150と通信してもよい。企業サーバ120およびレガシーサーバ150はそれぞれ、例えば、事業プロセス、情報フロー、および/またはデータ記憶を対象とするサービスを提供するために使用され得る、1つまたは複数のアプリケーションをホストするサーバであってもよい。故に、ウェブアプリケーション106は、企業サーバ120によって提供されるサービスにアクセスするために使用されてもよく、レガシーアプリケーション107は、レガシーサーバ150によって提供されるサービスにアクセスするために使用されてもよい。本明細書では、単一の企業サーバ120および単一のレガシーサーバ150を参照するが、説明される実施例は、任意の数のサービスを提供する、1つまたは複数の他の企業サーバ120および/または1つまたは複数の他のレガシーサーバ150を含んでもよいことを理解されたい。
いくつかの実施例では、ウェブアプリケーション106は、企業サーバ120によって提供されるサービスおよびレガシーサーバ150によって提供されるサービスの両方にアクセスするために使用されてもよい。要するに、ウェブアプリケーション106は、トークンおよびアクセスキー等の1つまたは複数の認証機構を使用して、企業サーバ120と認証を行ってもよく、ユーザ名およびパスワードログイン等のより制限された数の認証機構のうちの1つまたは複数のものを使用して、レガシーサーバ150と認証を行ってもよい。レガシーサーバ150によって採用される認証機構の数および/またはタイプが制限されることがあるため、レガシーサーバ150のアプリケーションは、企業サーバ120のアプリケーションと適切に統合しないことがある。その結果、ウェブアプリケーション106は、企業サーバ120およびレガシーサーバ150のそれぞれと別個に認証を行うことが要求され得る。
別個の認証の必要性を避けるために、企業サーバ120は、ウェブアプリケーション106が、企業サーバ120と認証を行い、レガシーサーバ150によって提供されるサービスにアクセスすることを可能にする機構を採用してもよい。しかしながら、このように認証を提供することは、依然として、ウェブアプリケーション106が、サーバ120、150毎に別個の認証機構を使用して、企業サーバ120と認証を行うことを要求し得、さらに、同一ユーザが各場合で認証されたことを企業サーバ120が決定し得るように、提供される証明書の各セットが相互に関連付けられることを要求し得る。
証明書が相互に関連付けられることを確実にするために、ユーザに対する証明書は、典型的には、ユーザデバイス102上にキャッシュされるか、企業サーバ120上にキャッシュされるか、またはレガシーサーバ150へのアクセスが要求される度に、企業サーバ120によって要求されるかしなければならない。要するに、これらのアプローチはそれぞれ、1つまたは複数のトレードオフを含み得る。例えば、証明書をユーザデバイス102上にキャッシュすることは、いったんユーザデバイス102が企業環境から移動すると、証明書がユーザデバイス102によって暴露され得るため、セキュリティリスクをもたらし得る。一方、証明書を企業サーバ120上にキャッシュすることは、複製証明書を複数の認証機構のそれぞれにわたってキャッシュする結果となり得る(例えば、企業サーバ120に対して1つの複製およびレガシーサーバ150毎に1つの複製)。最後に、ユーザがレガシーサーバ150へのアクセスを要求する度に証明書を要求することは、煩雑なユーザ体験の結果となり得る。
図2は、コンピュータネットワーキング環境100の実施形態の概略図である。複数のユーザデバイス102はそれぞれ、モデム、ルータ、ゲートウェイ、サーバ、シンクライアント、ラップトップ、デスクトップ、コンピュータ、タブレット、メディアデバイス、スマートフォン、テレビ、ファブレット、携帯電話、もしくは他のモバイルデバイス、または、モデム、ルータ、ゲートウェイ、サーバ、シンクライアント、ラップトップ、デスクトップ、コンピュータ、タブレット、メディアデバイス、スマートフォン、テレビ、ファブレット、携帯電話、もしくは他のモバイルデバイスの任意の組み合わせまたは部分的組み合わせを含むが、それらに限定されない、コンピュータデバイスを備えてもよい。複数のユーザデバイス102はそれぞれ、ユーザデバイス102の1つまたは複数の処理ユニットと併せて動作することにより、ウェブアプリケーション106、レガシーアプリケーション107、および/またはプロキシ108の実行を可能にする機能性を提供し得る実行可能な命令でエンコードされたメモリを含んでもよい。ウェブアプリケーション106は、1つまたは複数のウェブベースのプログラミング言語に従って動作し、企業サーバ120によってホストされる1つまたは複数のサービス(例えば、ウェブベースのサービス)にアクセスするように構成され得る、ブラウザ等のアプリケーションであってもよい。ある実装では、ブラウザは、ユーザが、ウェブページ等のネットワーク化されたリソースまたはローカルのリソースと相互作用することを可能にするように構成されるソフトウェアであってもよい。いくつかの実施例では、ウェブアプリケーション106はさらに、レガシーサーバ150によって提供される1つまたは複数のサービスにアクセスするために使用されてもよい。レガシーアプリケーション107は、レガシーサーバ150によって提供される1つまたは複数のサービスとのインターフェースをなし得る、実行可能なプログラム等のアプリケーションであってもよい。プロキシ108は、レガシーアプリケーション107とレガシーサーバ150との間の中間体として作用するように構成されてもよい。プロキシ108は、レガシーアプリケーション107が、企業サーバ120と認証を行うことを可能にしてもよく、さらに、統合的レガシーコンテキスト管理を提供してもよい。しかしながら、説明されるように、プロキシ108は、全実施形態において、ユーザデバイス102上に位置する必要はない。ユーザデバイス102上に位置することに加え、またはユーザデバイス102上に位置する代わりに、プロキシ108は、企業サーバ120等の別のネットワーク化されたデバイス上で動作してもよい。
実施例は、単一のレガシーアプリケーション107およびレガシーサーバ150を参照して本明細書に説明されるが、プロキシ108は、コンピュータネットワーキング環境100内で動作する、任意の数のレガシーアプリケーション107と任意の数のレガシーサーバ150との間の中間体として作用してもよい。さらに、ユーザデバイス102aは、ウェブアプリケーション106と、レガシーアプリケーション107と、プロキシ108とを含むように示されるが、ユーザデバイス102はそれぞれ、任意の数のウェブアプリケーション106、レガシーアプリケーション107、および/またはプロキシ108を含んでもよいことを理解されたい。一例として、ユーザデバイス102は、3つのウェブアプリケーション106を含むが、プロキシ108を含まなくてもよい一方、別のユーザデバイス102は、2つのレガシーアプリケーション107と、プロキシ108とを含んでもよい。
ユーザデバイス102はそれぞれ、ネットワーク110を経由して、企業サーバ120およびレガシーサーバ150を含むがこれらに限定されない、任意の数のデバイスと通信するように構成されてもよい。ネットワーク110は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、セルラーネットワーク、および/またはインターネット等の1つまたは複数のネットワークを備えてもよい。ネットワーク110に、ネットワーク110から、およびネットワーク110内で提供される通信は、有線および/または無線であり得、さらに、当技術分野において現在公知もしくは将来的に公知となる、任意のネットワーキングデバイスによって提供されてもよい。ネットワーク110を経由して通信するデバイスは、TCP/IPおよびUDPプロトコルを含む、任意の通信プロトコルを用いて通信してもよい。さらに、ユーザデバイス102は、HTTP、HTTPS、SSL、またはそれらから派生した任意のプロトコル等の公知のプロトコルを使用して、通信するように構成されてもよい。
企業サーバ120は、1つまたは複数の処理ユニット121と、コンピュータ読み取り可能な媒体123とを含んでもよい。本明細書では、用語「コンピュータ読み取り可能な媒体」は、いくつかの実施形態では、単一のコンピュータ読み取り可能な媒体を指すために使用され、他の実施形態では、処理ユニット121等の1つまたは複数の処理ユニットと通信する複数のコンピュータ読み取り可能な媒体を指すために使用される。コンピュータ読み取り可能な媒体123はまた、ストレージ128を含んでもよい。認証管理エンジン124のための実行可能な命令は、ユーザデバイス102の1人または複数のユーザの認証を管理するための命令を含んでもよく、そのさらなる実施例は、以下に提供される。認証管理エンジン124のための実行可能な命令は、同一のコンピュータ読み取り可能な媒体123上に示されるが、いくつかの実施形態では、一部または全ての命令のセットは、複数のコンピュータ読み取り可能な媒体上に提供されてもよく、同一媒体上に存在しなくてもよい。故に、コンピュータ読み取り可能な媒体123は、本明細書で使用される場合、1つまたは複数のコンピュータ読み取り可能な媒体123および/またはストレージ128を含む。コンピュータ読み取り可能な媒体123および/またはストレージ128は、外部もしくは内部に取り付けられたハードディスクドライブ、ソリッドステートストレージ(NANDフラッシュまたはNORフラッシュメディア等)、階層ストレージソリューション、ストレージエリアネットワーク、ネットワークアタッチドストレージ、および/または光ストレージを含むが、それらに限定されない、一過性または非一過性である、任意の形態のコンピュータ読み取り可能なストレージもしくはコンピュータ読み取り可能なメモリを含んでもよい。説明されるように、コンピュータ読み取り可能な媒体123上に記憶された命令は、1つまたは複数の処理ユニット121もしくは他の処理ユニット上で実行されてもよい。認証管理エンジン124のための実行可能な命令は、本明細書では、「認証管理エンジン」と称され得、この場合、認証管理エンジンは、処理ユニット121および/または他の処理ユニットのうちの1つまたは複数のものによって実行される、認証管理エンジン124のための実行可能な命令を指す。
ストレージ128は、認証管理エンジン124の実行の間、処理ユニット121のうちの1つまたは複数のものによって利用され得るデータを含んでもよい。一例として、ストレージ128は、ユーザ証明書(例えば、ユーザ名、パスワード)、認証キー、暗号化/復号化アルゴリズム、および/または認証ルール等の認証情報を含んでもよい。いくつかの実施例では、認証情報は、1つまたは複数の個別のエージェントとして、ユーザ毎に記憶されてもよい。エージェントは、コンピュータネットワーキング環境100において動作する、またはコンピュータネットワーキング環境100上に記憶されるエンティティであってもよい。例えば、エージェントは、ユーザデバイス102上のコンピュータ読み取り可能なメモリまたは企業サーバ128のストレージ内に記憶され、処理ユニット上で実行されるプログラムのような、ユーザの代わりに作用するプログラムであってもよい。エージェントは、企業サーバ120および任意の数のレガシーサーバ150のためのユーザの下層証明書を含む個別のデータセットであってもよい、または個別のデータセットを含んでもよい。各エージェントは、SSO認証が本明細書に説明される実施例に従って提供され得るように、ユーザの証明書の各セットを相互に関連付けてもよい。ストレージ128はさらに、コンテキスト情報を含んでもよい。コンテキスト情報は、企業サーバ120および/またはレガシーサーバ150によって提供されるサービスの使用を記述する情報であってもよい。いくつかの事例では、コンテキスト情報は、サービスの個々の使用が任意の数のユーザデバイス102にわたって追跡および/または再開され得るように、ユーザ毎に記憶されてもよい。実施例として、コンテキスト情報は、ユーザが、第1のユーザデバイス102を使用して、レガシーサーバ150のサービスにアクセスし、続いて、後に、第2のユーザデバイス102を使用して、サービスの使用を再開することを可能にするために使用されてもよい。企業サーバ120のストレージ128または別のモジュールは、プロキシ108の実行を可能にする機能性を提供する実行可能な命令でエンコードされたメモリを含んでもよい。(例えば、1つまたは複数の処理ユニット121上での)プロキシ108の実行は、企業サーバ120が、少なくとも部分的に、プロキシサーバとして動作することを可能にしてもよい。しかしながら、プロキシ108は、企業サーバ120上にインストールされる必要も、企業サーバ120上で起動される必要もない。例えば、プロキシ108は、他の場所で記憶、インストール、または起動されてもよい。
プロキシ108を使用して、企業サーバ120をプロキシサーバとして動作させることは、企業サーバ120が、レガシーサーバ150と呼出側アプリケーション(例えば、レガシーアプリケーション107)との間の要求をインターセプトおよびルーティングする、汎用インターセプトデバイスとなることを可能にし得る。本配列は、ユーザデバイス102上の占有面積の縮小を可能にし得る。いくつかの実施形態では、企業サーバ120をプロキシサーバとして動作させることは、プロキシ108のより容易なアップグレードを可能にし、新しいアプリケーションおよびレガシーアプリケーションのために提供される統合サービスのレベルを拡張させ得る。プロキシ108を企業サーバ120上で動作させることはまた、企業サーバ120が、ライブバックアップに対するホットフェイルオーバ、および、レガシーアプリケーション自体が徐々に存在しなくなるにつれて要求を新しいサービスプロバイダに選択的に再ルーティングするための統合抽象化等の付加的機能を行うことを可能にし得る。プロキシサーバとして動作する企業サーバ120のいくつかの実施形態では、呼出側アプリケーション(例えば、レガシーアプリケーション107)は、新しいTCP/IPアドレスにリダイレクトされ、集中化プロキシと通信するために、さらに何かを要求しなくてもよい。しかしながら、そのような構成でも、ユーザデバイス102は、依然として、デバイスまたはアプリケーション特有の理由から、必要に応じて、ローカルプロキシを有してもよい。
レガシーサーバ150によって提供される各サービスは、ユーザデバイス102によってアクセスされ得る、アプリケーション、データベース、および/または任意の他のサービスであってもよい。いくつかの実施形態では、例えば、1つまたは複数のレガシーサーバ150は、1つまたは複数の要求に応答して、データをデータベースからユーザデバイス102にストリーミング、伝送、または別様に提供するように構成されてもよい。レガシーサーバ150はそれぞれ、ネットワーク110を経由して、企業サーバ120および/または1つまたは複数のユーザデバイス102と通信してもよく、TCP/IP、UDP、HTTP、HTTPS、SSL、それらから派生した任意のプロトコル、または、TCP/IP、UDP、HTTP、HTTPS、SSL、それらから派生した任意のプロトコルの任意の組み合わせもしくは部分的組み合わせを含む、当技術分野において公知の任意のプロトコルを使用して、通信してもよい。他の場合において、レガシーサーバ150は、当技術分野において現在公知または将来的に公知となる他の通信方法論を使用して、企業サーバ120と通信してもよい。
図3は、本発明のある実施形態による、認証管理エンジン300の概略ブロック図である。認証管理エンジン300は、図2の企業サーバ120の認証管理エンジン124を実装するために使用されてもよい。認証管理エンジン300は、エージェント認証および証明書ブロック302と、認証統合ブロック310と、ユーザインターフェースブロック320とを含んでもよい。認証統合ブロック310は、1つまたは複数のディレクトリサービス統合API312を含んでもよく、1つまたは複数のレガシー認証統合API314を含んでもよい。ある実装では、ディレクトリサービスは、データを編成するためのデータベースまたは他の手段であってもよい。ディレクトリサービスの実施例は、MicrosoftTM Active DirectoryTM、NovelTM Directory Services、X.500プロトコルに従ってアクセス可能なディレクトリ、およびLightweight Directory Access Protocol(LDAP)に従ってアクセス可能なディレクトリを含むが、これらに限定されない。ある実装では、ディレクトリサービス統合API312は、ディレクトリサービスと相互作用する、またはディレクトリサービスとのインターフェースをなすように構成されたAPIであってもよい。
エージェント認証および証明書ブロック302は、認証管理エンジン300と通信するユーザデバイス102に認証サービスを提供するように構成されてもよい。概して、エージェント認証および証明書ブロック302は、説明される実施例に従って、ユーザデバイス102の認証ならびにユーザデバイス102によって提供される証明書の要求を管理してもよい。
一例として、さらに詳細に説明されるように、エージェント認証および証明書ブロック302は、ユーザデバイス102が企業サーバ120またはレガシーサーバ150にアクセスし得るように、ユーザデバイス102から、証明書の要求を受信してもよい。ユーザがまだ認証されていない場合、エージェント認証および証明書ブロック302は、要求を拒否する、および/または、ユーザデバイス102のユーザに、証明書が提供され得る前に認証が要求されることを示してもよい。
少なくとも一実施例では、証明書の要求が図1のウェブアプリケーション106等のウェブアプリケーションによって提供される場合、エージェント認証および証明書ブロック302は、ウェブアプリケーションをユーザ認証インターフェース320にダイレクトしてもよい。ユーザ認証インターフェース320は、証明書を要求側ユーザデバイス102から受信するように構成されるウェブベースのインターフェースであってもよい。一例として、ユーザ認証インターフェース320は、ユーザ名、パスワード、および/または認証キーのための1つまたは複数のフィールドを含んでもよい。ユーザ認証インターフェース320は、証明書をエージェント認証および証明書ブロック302に提供してもよい。別の実施例では、エージェント認証および証明書ブロック302は、レガシーアプリケーション107の代わりに提供される、ユーザデバイス102のプロキシ108から証明書を受信してもよい。
ユーザ認証インターフェース320および/またはプロキシ108から受信された証明書は、認証統合ブロック310内に含まれるAPIへのアプリケーションプログラミングインターフェース(API)呼出に基づいて、エージェント認証および証明書ブロック302によって検証されてもよい。エージェント認証および証明書ブロック302は、受信された証明書を適切なAPIに提供してもよく、それに応答して、APIは、ユーザが認証されるように、証明書が有効であるかどうかを決定してもよい。すなわち、受信された証明書が、企業サーバ120と関連付けられる場合、エージェント認証および証明書ブロック302は、API呼出および証明書をディレクトリサービス統合API312に提供してもよい。受信された証明書が、特定のレガシーサーバ150と関連付けられる場合、エージェント認証および証明書ブロック302は、API呼出および証明書を対応するレガシー認証統合API314に提供してもよい。
具体的には、ディレクトリサービス統合API312は、企業サーバ120へのアクセスを要求するユーザを認証する役割を果たし得る。一例として、ディレクトリサービス統合API312は、ディレクトリサービス認証機構とのインターフェースをなすことにより、ドメインレベルで企業サーバ120とのユーザの認証を行ってもよい。レガシー認証統合API314はそれぞれ、個別のレガシー認証機構とのインターフェースをなすことにより、特定のレガシーサーバ150とのユーザの認証を行ってもよい。認証機構はそれぞれ、API呼出において受信された証明書をストレージ128内に記憶されたユーザ認証データ(例えば、ユーザと関連付けられたエージェント)と相互参照することによって、ユーザを認証するように構成されてもよい。概して、相互参照は、エージェントまたはユーザを正当に識別可能な任意の機能(例えば、ルックアップ、参照、または相互参照)を含んでもよい。相互参照は、エージェントまたはユーザのための証明書のセットをロック解除するために使用されてもよい。例えば、API呼出において受信された証明書が、パスワード証明書である場合、相互参照は、パスワード証明書を記憶された認証データと比較することと、合致するかどうかを示すこととを含んでもよい。相互参照は、記憶された値の直接比較であってもよいが、そうである必要はない。ある実装では、証明書自体を直接記憶、比較、または相互参照する代わりに、証明書のハッシュまたは他の表現が、記憶、比較、および/または相互参照されてもよい。
API呼出が、ユーザが認証されたことのインジケーションを返す場合、エージェント認証および証明書ブロック302は、ユーザのエージェントと関連付けられたトークンを提供してもよい。トークンが有効のままである限り、ユーザは、その後、トークンを利用して、ユーザと関連付けられたエージェントとともに含まれる任意の証明書のセットを要求してもよい。ユーザは、次いで、受信された証明書を使用して、1つまたは複数のレガシーサーバ150と認証を行ってもよい。
図4は、本開示のある実施形態による、ウェブアプリケーションのシングルサインオン認証を実装するための方法400のフローチャートである。方法400は、図2の企業サーバ120を使用して実装されてもよく、特に、企業サーバ120の認証管理エンジンを使用して実装されてもよい。
ステップ405において、認証管理エンジンは、証明書の要求をユーザデバイス102のウェブアプリケーション106から受信してもよい。要求は、例えば、レガシーサーバ150とのウェブアプリケーション106の認証を行うための証明書を要求してもよい。要求に応答して、ステップ410において、認証管理エンジンは、ウェブアプリケーション106にユーザ認証のためのユーザインターフェースを提供してもよい。一例として、認証管理エンジンは、ユーザ証明書をユーザデバイス102から受信するように構成される1つまたは複数のフィールドを含む、ウェブベースのインターフェースにウェブアプリケーション106をダイレクト(またはリダイレクト)してもよい。説明されるように、このように受信されたユーザ証明書は、ユーザ名、パスワード、認証キー、アクセスコード、またはそれらの組み合わせを含んでもよい。いくつかの実施例では、ユーザインターフェースの態様および/またはユーザインターフェースによって受信された証明書のタイプは、ステップ405において要求を提供するために使用されるユーザデバイス102のタイプに基づいてもよい。一例として、デスクトップおよびラップトップコンピュータは、ユーザ名およびパスワードを提供するように要求されてもよい一方、モバイルデバイスは、加えて、または代替として、アクセスコードを提供するように要求されてもよい。いったん企業サーバ120が証明書を受信すると、企業サーバ120は、証明書が有効であるかどうかを決定してもよい。証明書が有効である場合、ユーザは、認証される。証明書が有効でない場合、企業サーバ120は、例えば、証明書が無効であることを示すウェブベースのインターフェースにウェブアプリケーション106をリダイレクトすることによって、証明書が無効であることを示してもよい。
いったんユーザが認証されると、ステップ415において、認証管理エンジンは、ユーザデバイスと関連付けられたトークン102を提供(例えば、生成)してもよい。トークンは、ユーザが個別のアクセス毎に証明書を手動で提供することを要求することなく、ユーザデバイス102が企業サーバ120および/または1つまたは複数の他のレガシーサーバ150にアクセスし得るように、SSO認証を提供するために、ユーザデバイス102によって利用されてもよい。
一例として、いったんトークンがステップ415において生成されると、ウェブアプリケーション106は、認証管理エンジンから証明書を要求することによって、レガシーサーバ150によって提供されるサービスにアクセスしてもよい。認証管理エンジンは、要求側ユーザデバイス102、および、有効トークンがユーザデバイス102のユーザに対して存在することを認識し得る。有効トークンは、例えば、ユーザの最新の認証からまだ期限が切れていないトークンであってもよい。認証管理エンジンは、ユーザに対してアクセスされるべきサービスと関連付けられた証明書を読み出し、証明書をユーザデバイス102に提供してもよい。次いで、ユーザデバイス102は、アクセスのために、要求される証明書をレガシーサーバ150に提供してもよい。ユーザが、ユーザがアクセスすることを承認されていないサービスに対する証明書を要求する(例えば、ユーザがサービスに対する証明書のセットを有していない)場合、認証管理エンジンは、要求を拒否してもよい。このように、認証管理エンジンは、要求に応じて、証明書をユーザデバイス102に選択的に提供してもよい。概して、いったんユーザデバイス102が本明細書に説明されるように認証されると、任意の数のウェブアプリケーション106が、同一トークンを利用して、企業サーバ120および/またはレガシーサーバ150にアクセスしてもよい。
いくつかの実施例では、認証管理エンジンは、ステップ410において、ユーザと関連付けられた任意の有効証明書の受信に応答して、ユーザデバイス102を認証してもよい。すなわち、ユーザデバイス102は、ユーザのエージェント内に含まれる任意の証明書のセットを使用して、SSO認証されてもよい。故に、ユーザは、任意の数のレガシー証明書のセットを使用して、企業サーバ120と認証を行ってもよい。他の実施例では、認証管理エンジンは、ユーザが企業サーバ120と具体的に関連付けられた証明書のセットを使用して認証することを要求してもよい。これは、例えば、ユーザがレガシーサーバ150によって提供される認証機構より厳格かつ/または信頼性のある認証機構を使用して認証することを確実にし得る。
図5は、本開示のある実施形態による、レガシーアプリケーションのシングルサインオン認証を実装するための方法500のフローチャートである。方法500は、図2の企業サーバ120を使用して実装されてもよく、特に、企業サーバ120の認証管理エンジンを使用して実装されてもよい。
ステップ505において、認証管理エンジンは、証明書をユーザデバイス102から受信してもよい。証明書は、例えば、レガシーアプリケーション107によって提供され、特定のレガシーサーバ150と関連付けられてもよい。前述のように、ユーザデバイス102のレガシーアプリケーション107は、レガシーサーバ150とのみ認証を行い、企業サーバ120とは認証を行わないように構成されてもよい。
図6を参照すると、いくつかの実施形態では(例えば、プロキシ108がユーザデバイス102上で実行される実施形態)、レガシーアプリケーション107からレガシーサーバ150に提供されるように意図される証明書は、ステップ605において、プロキシ108によってインターセプトされ、ステップ610において、企業サーバ120に提供(例えば、リダイレクト)されてもよい。他の実施形態では(例えば、プロキシ108が企業サーバ120上で実行される実施形態)、呼出側アプリケーション(例えば、レガシーアプリケーション107)は、プロキシ108を介して企業サーバ120に通信をすでにダイレクトしている場合があり、必ずしも、ステップ610を行う必要はない。
その場所にかかわらず、プロキシ108は、概して、1つまたは複数の呼出側アプリケーション(例えば、レガシーアプリケーション107)とレガシーサーバ150との間の中間体(例えば、「中間者」)として作用してもよい。プロキシ108は、レガシーアプリケーション107とそれぞれのレガシーサーバ150との間の一部または全ての通信を透過的に監視し、レガシーサーバ150に提供されることが意図される証明書の識別に応答して、プロキシ108は、代わりに、証明書を企業サーバ120の認証管理エンジンに提供してもよい。
一例示的実施形態では、プロキシ108は、呼出側アプリケーション(例えば、レガシーアプリケーション107)から通信を受信し、通信を読み取り、通信のコンテンツに基づいて、決定を行ってもよい。いくつかの事例では、通信は、実質的に不変のままレガシーサーバ150に単に転送されてもよい。他の場合において、レガシーサーバ150に送信される通信は、受信された通信のコンテンツに基づいて、新しいまたは修正される通信であってもよい。さらに他の事例では、通信は、レガシーサーバ150に送信されなくてもよい。代わりに、例えば、企業サーバ120は、レガシーサーバ150と同様に通信に応答してもよい、または、全く応答しなくてもよい。この受信−読取−決定モデルは、例えば、企業サーバ120が、レガシーサーバ150に利用可能ではない場合がある拡張された機能性を提供することを可能にするために使用されてもよい。
図5に戻って参照すると、認証管理エンジンは、証明書が有効であるかどうかを決定してもよく、証明書が有効である場合、ステップ510において、認証管理エンジンは、ユーザデバイス102と関連付けられたトークンを提供してもよい。説明されるように、トークンは、必要に応じて、任意の数のレガシーサーバ150との認証のための証明書を要求するために利用されてもよい。
いくつかの実施例では、認証管理エンジンによって提供されるトークンは、プロキシ108によって利用されてもよい。そうすることによって、プロキシ108は、他のレガシーサーバ150にアクセスするとき、ユーザが追加の証明書を手動で提供することを要求することなく、任意の数のレガシーアプリケーション107をレガシーサーバ150と認証してもよい。一例として、レガシーサーバ150へのアクセスを取得するためにレガシーアプリケーション107がレガシーサーバ150と認証を行わなければならないことの決定に応答して、プロキシ108は、適切な証明書を認証管理エンジンから要求してもよい。説明されるように、認証管理エンジンは、要求側ユーザデバイス102、および、有効トークンがユーザデバイス102のユーザに対して存在することを認識し、要求される証明書をプロキシ108に提供してもよい。プロキシ108は、次いで、レガシーアプリケーション107の代わりに、証明書をレガシーサーバ150に提供し、それによって、レガシーアプリケーション107を認証してもよい。プロキシ108は、任意の数のレガシーアプリケーション107に対してトークンを利用してもよい。いくつかの実施例では、レガシーアプリケーション107は、プロキシ108に「気付かない」かのように動作してもよい。すなわち、プロキシ108は、レガシーアプリケーション107が、レガシーアプリケーション107へのいずれの修正も、および/またはレガシーサーバ150の認証機構も伴わずに、レガシーサーバ150と認証され得るように、レガシーアプリケーション107をレガシーサーバ150と透過的に認証してもよい。
方法400および500は両方とも、トークンを用いてSSO認証をユーザデバイス102に提供するように本明細書に説明された。方法400は、ウェブアプリケーション106のSSO認証を実装することを対象とし、方法500は、レガシーアプリケーション107のSSO認証を実装することを対象とするが、いずれの事例において提供されるトークンも、ユーザデバイス102の任意のアプリケーションによって利用されてもよいことを理解されたい。例えば、ウェブアプリケーション106の認証(図4)に応答して、認証管理エンジンによって提供されるトークンは、その後に、レガシーアプリケーション107の認証のための証明書を要求するために、プロキシ108によって利用されてもよい。逆に、レガシーアプリケーション107の認証(図5)に応答して、認証管理エンジンによって提供されるトークンは、その後に、ウェブアプリケーション106の認証中に証明書を要求するために、ウェブアプリケーション106によって利用されてもよい。
図7は、本開示のある実施形態による、コンテキスト情報を管理するための方法700のフローチャートである。方法700は、図2の企業サーバ120を使用して実装されてもよく、特に、企業サーバ120の認証管理エンジンを使用して実装されてもよい。
ステップ705において、認証管理エンジンは、第1のユーザデバイス102のユーザと関連付けられたコンテキスト情報を受信してもよい。コンテキスト情報は、例えば、ユーザデバイス102のユーザが企業サーバ120またはレガシーサーバ150のサービスにアクセスした様式を示してもよい。実施例として、ウェブアプリケーション106は、レガシーサーバ150上のサービスにアクセスするために使用されてもよく、動作中にウェブアプリケーション106によってアクセスされたデータを示すコンテキスト情報を企業サーバ120に提供してもよい。別の実施例として、レガシーアプリケーション107は、レガシーサーバ150上のサービスにアクセスするために使用されてもよく、プロキシ108は、動作中にレガシーアプリケーション107によってアクセスされたデータを示すコンテキスト情報を企業サーバ120に提供する、またはコンテキスト情報を企業サーバ120において受信してもよい。したがって、プロキシ108は、レガシーアプリケーション108の代わりに、統合的レガシーコンテキスト管理を提供してもよい。いくつかの実施例では、コンテキスト情報は、企業サーバ120において周期的に受信されてもよく、かつ/またはサービスのアクセスが終了したときに提供されてもよい。ウェブアプリケーション106および/またはレガシーアプリケーション107によってアクセスされるデータは、例えば、医療提供者データベース内の特定の患者と関連付けられたデータであってもよく、かつ/または特定の医療手技または方針と関連付けられたデータであってもよい。企業サーバ120は、コンテキスト情報が、全ての証明書のセットを介して、ユーザと関連付けられ、ユーザに利用可能であるように、コンテキスト情報をユーザのエージェントと関連付けてもよい。
そのようなコンテキストシステムは、ユーザおよび企業アプリケーションの両方に特有である、企業特有のコンテキストを提供するように構成されてもよい。例えば、プロキシ108が企業サーバ120上で動作しているとき、企業サーバ120は、レガシーサーバ150の認証要件または他のデータをインターセプトまたはルーティングする集中化プロキシサービスを提供するように構成されてもよい。企業サーバ120は、その集中化プロキシサービスを使用することにより、同一ユーザまたは証明書のセットに対して、異なるデバイスにわたって一貫したコンテキストを提供してもよい。例えば、ユーザは、3つの異なるレガシーアプリケーションサーバ上の3つの異なるレガシーアプリケーションと通信してもよい。プロキシサービスが、企業サーバ120上で集中化されると、企業サーバ120は、認証を行い、異なるデバイスにわたって同一ユーザであることを検出可能である。いったんユーザが検出されると、企業サーバ120は、次いで、ユーザが通常と異なるデバイスからレガシーサーバ150にアクセスしている場合でも、正しいコンテキストを提供し得る。本構成は、企業サーバ120の集中化プロキシサービスを利用することにより、ユーザのデバイスの全てにわたってユーザを検出し、レガシーアプリケーション統合は、高度な機能性を提供する必要がある。
企業サーバ120はまた、ユーザおよびデバイスの両方に特有であるデバイス特有のコンテキストを提供するように構成されることが可能であってもよい。本構成は、企業サーバ120が、ユーザ要求の特定の特性に基づいて、特定のレガシーサーバ150へのアクセスをユーザに自動的に与える結果となり得る。例えば、企業サーバ120は、ユーザが、前の通信と同一の時間ベースの認証コンテキスト内で合理的に動作している(例えば、ユーザは、要求されるパスワードプロンプト間においてユーザデバイス102からログアウトしていない)ことを把握し、特定のレガシーサーバ150へのアクセスを自動的に提供してもよい。このタイプのコンテキストは、ユーザの証明書が、1つのアプリケーションにおいて特定の機能を行うために必要とされ、かつ、同一デバイス上で非関連機能を行うために非関連アプリケーションにおいても必要とされる状況において有用であり得る。
ステップ710において、企業サーバ120は、第1のユーザデバイス102のユーザと関連付けられたコンテキスト情報を提供してもよい。コンテキスト情報は、例えば、以前にアクセスされたサービスへの第1のユーザデバイス102または第2のユーザデバイス102のいずれかによるアクセスに応答して、提供されてもよい。いずれの場合も、コンテキスト情報は、ユーザが前のステップを繰り返す必要がないように、ユーザが少なくとも部分的に動作を再開するために使用されてもよい。例えば、ステップ710において、サービスに2回目にアクセスしたことに応じて、ユーザは、ステップ705においてアクセスされた患者と関連付けられた情報が提示されてもよい。
方法500、600、および700は、特定のステップを含むように説明されたが、いくつかの事例では、追加のステップが、方法500、600、および700に含まれてもよく、かつ/または方法500、600、および700の1つまたは複数の説明されるステップは、修正または省略されてもよいことを理解されたい。例えば、図4を参照すると、いくつかの事例では、ステップ405は、ユーザデバイス102が、証明書が認証インターフェースにダイレクトされることを要求する必要がないため、省略されてもよい。ユーザデバイス102は、例えば、具体的には、証明書の要求に応答してリダイレクトされる代わりに、認証管理エンジンからインターフェース自体を要求してもよい。
本明細書では、ユーザデバイス102と、企業サーバ120と、レガシーサーバ150との間で交換される証明書およびコンテキスト情報に関して参照される。説明される実施例に従って行われるデータの交換は、同期キー暗号化、非同期キー暗号化、および/またはハッシュベースの暗号化を含むがこれらに限定されない、当技術分野において公知の任意の暗号化を使用して行われてもよいことを理解されたい。
先述の内容から、本発明の具体的実施形態が例証の目的で本明細書に説明されているが、本発明の精神および範囲から逸脱することなく、種々の修正が行われ得ることが理解されるであろう。したがって、本発明は、添付の特許請求の範囲による場合を除いて制限されない。

Claims (15)

  1. 企業サーバと、ユーザデバイスと、前記企業サーバまたは前記ユーザデバイスのうちの1つ以上に実装されたプロキシとを含むコンピュータネットワーキング環境であって、前記企業サーバは、前記プロキシに通信可能に結合されており、前記企業サーバは、メモリに結合された少なくとも1つの処理ユニットを含み、前記メモリは、
    コンピュータ実行可能な命令であって、実行されると、
    前記ユーザデバイスまたは前記企業サーバ上で動作するプロキシからレガシーアプリケーションのユーザと関連付けられた証明書のセットを受信することであって、前記プロキシは、前記レガシーアプリケーションとレガシーサーバとの間の中間体として構成される、ことと、
    前記証明書のセットを前記ユーザと関連付けられたエージェントの第1の証明書のセットと相互参照して、前記証明書のセットが有効であるかどうかを決定することと、
    前記証明書のセットが有効である場合、前記ユーザデバイスと関連付けられたトークンを生成することと、
    記プロキシからの前記エージェントの第2の証明書のセットの要求に応答して、ならびに、要求側ユーザデバイスを認識すること、および、有効トークンが前記ユーザデバイスに対して存在することを認識することにさらに応答して、前記第2の証明書のセットを前記プロキシに提供することと
    を前記少なくとも1つの処理ユニットに行わせるコンピュータ実行可能な命令でエンコードされている、コンピュータネットワーキング環境
  2. 前記エージェントの前記第2の証明書のセットは、前記レガシーサーバによって提供されるサービスと関連付けられている、請求項1に記載のコンピュータネットワーキング環境
  3. 前記メモリは、さらに、
    コンピュータ実行可能な命令であって、実行されると、
    前記ユーザデバイスのブラウザをウェブベースのインターフェースにダイレクトすることであって、前記ウェブベースのインターフェースは、前記第1の証明書のセットを受信するように構成されている、こと
    を前記少なくとも1つの処理ユニットに行わせるコンピュータ実行可能な命令でエンコードされている、請求項1に記載のコンピュータネットワーキング環境
  4. 前記ウェブベースのインターフェースは、前記ユーザデバイスのタイプに基づく、請求項3に記載のコンピュータネットワーキング環境
  5. 前記第1の証明書のセットは、前記企業サーバと関連付けられる、請求項1に記載のコンピュータネットワーキング環境
  6. 前記命令であって、実行されると、前記証明書のセットを前記ユーザと関連付けられたエージェントの第1の証明書のセットと相互参照することにより、前記証明書のセットが有効であるかどうかを決定することを前記少なくとも1つの処理ユニットに行わせる命令は、
    命令であって、実行されると、
    API呼出をディレクトリ統合APIまたはレガシー認証統合APIのうちの少なくとも1つに提供することを前記少なくとも1つの処理ユニットに行わせる命令を含む、請求項1に記載のコンピュータネットワーキング環境
  7. 記プロキシに提供される前記第2の証明書のセットは、前記レガシーアプリケーションの代わりに前記レガシーサーバに提供するための証明書を含む、請求項1に記載のコンピュータネットワーキング環境
  8. 前記メモリは、さらに、
    コンピュータ実行可能な命令であって、実行されると、
    前記ユーザデバイスと前記レガシーサーバとの間のプロキシ接続を確立すること
    を前記少なくとも1つの処理ユニットに行わせるコンピュータ実行可能な命令でエンコードされている、請求項1に記載のコンピュータネットワーキング環境
  9. 企業サーバと、ユーザデバイスと、前記企業サーバまたは前記ユーザデバイスのうちの1つ以上に実装されたプロキシとを含むコンピュータネットワーキング環境であって、前記企業サーバは、前記プロキシに通信可能に結合されており、前記企業サーバは、メモリに結合された少なくとも1つの処理ユニットを含み、前記企業サーバの前記メモリは、
    コンピュータ実行可能な命令であって、実行されると、
    前記ユーザデバイスまたは前記企業サーバ上で動作するプロキシからレガシーアプリケーションのユーザと関連付けられた証明書を受信することであって、前記プロキシは、前記レガシーアプリケーションとレガシーサーバとの間の中間体として構成される、ことと、
    前記証明書が有効であるかどうかを決定することと、
    前記証明書が有効である場合、前記ユーザデバイスと関連付けられたトークンを提供することと、
    前記トークンが有効である期間の間、要求側ユーザデバイスを認識すること、および、前記トークンが前記ユーザデバイスに対して存在することを認識することに応答して、要求に応じて、前記ユーザと関連付けられたエージェントの証明書のセットを前記ユーザデバイスに提供することであって、前記エージェントの前記証明書のセットは、前記レガシーサーバによって提供されるサービスと関連付けられている、ことと、
    前記証明書のセットを、前記レガシーサーバに提供することと
    前記企業サーバの前記少なくとも1つの処理ユニットに行わせるコンピュータ実行可能な命令でエンコードされている、コンピュータネットワーキング環境
  10. 前記企業サーバの前記メモリは、さらに、
    コンピュータ実行可能な命令であって、実行されると、
    前記証明書が有効でない場合、前記証明書が有効でないことを示す応答を提供すること
    前記企業サーバの前記少なくとも1つの処理ユニットに行わせるコンピュータ実行可能な命令でエンコードされている、請求項9に記載のコンピュータネットワーキング環境
  11. 前記命令であって、実行されると、前記証明書が有効であるかどうかを決定することを前記企業サーバの前記少なくとも1つの処理ユニットに行わせる命令は、
    命令であって、実行されると、
    前記証明書が前記ユーザと関連付けられた前記エージェント内に記憶される証明書に対応するかどうかを決定すること
    前記企業サーバの前記少なくとも1つの処理ユニットに行わせる命令を含む、請求項9に記載のコンピュータネットワーキング環境
  12. 前記命令であって、実行されると、ユーザと関連付けられた証明書のセットを前記ユーザデバイスから受信することを前記企業サーバの前記少なくとも1つの処理ユニットに行わせる命令は、
    命令であって、実行されると、
    ウェブブラウザを前記証明書を受信するように構成されたウェブベースのインターフェースにダイレクトすること
    前記企業サーバの前記少なくとも1つの処理ユニットに行わせる命令を含む、請求項9に記載のコンピュータネットワーキング環境
  13. 前記命令であって、実行されると、前記トークンが有効である期間の間、要求に応じて、証明書を前記ユーザデバイスに提供することを前記企業サーバの前記少なくとも1つの処理ユニットに行わせる命令は、
    命令であって、実行されると、
    前記ユーザと関連付けられた第1の証明書のセットをプロキシに提供することと、
    前記ユーザと関連付けられた第2の証明書のセットをウェブアプリケーションに提供することと
    前記企業サーバの前記少なくとも1つの処理ユニットに行わせる命令を含む、請求項9に記載のコンピュータネットワーキング環境
  14. 前記企業サーバの前記メモリは、さらに、
    コンピュータ実行可能な命令であって、実行されると、
    前記トークンが提供された後のある期間の後に前記トークンを除去すること
    前記企業サーバの前記少なくとも1つの処理ユニットに行わせるコンピュータ実行可能な命令でエンコードされている、請求項9に記載のコンピュータネットワーキング環境
  15. 前記企業サーバの前記メモリは、さらに、
    コンピュータ実行可能な命令であって、実行されると、
    前記ユーザデバイスと前記レガシーサーバとの間のプロキシ接続を確立すること
    前記企業サーバの前記少なくとも1つの処理ユニットに行わせるコンピュータ実行可能な命令でエンコードされている、請求項9に記載のコンピュータネットワーキング環境
JP2019185051A 2014-12-23 2019-10-08 レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム Active JP6875482B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/580,604 US9613204B2 (en) 2014-12-23 2014-12-23 Computer readable storage media for legacy integration and methods and systems for utilizing same
US14/580,604 2014-12-23

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017534606A Division JP2018502394A (ja) 2014-12-23 2015-12-17 レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム

Publications (2)

Publication Number Publication Date
JP2019220238A JP2019220238A (ja) 2019-12-26
JP6875482B2 true JP6875482B2 (ja) 2021-05-26

Family

ID=56129751

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017534606A Pending JP2018502394A (ja) 2014-12-23 2015-12-17 レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム
JP2019185051A Active JP6875482B2 (ja) 2014-12-23 2019-10-08 レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017534606A Pending JP2018502394A (ja) 2014-12-23 2015-12-17 レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム

Country Status (6)

Country Link
US (6) US9613204B2 (ja)
EP (1) EP3238375B1 (ja)
JP (2) JP2018502394A (ja)
AU (1) AU2015369922B2 (ja)
CA (1) CA2969136A1 (ja)
WO (1) WO2016106061A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015112301A1 (en) 2014-01-24 2015-07-30 Mcafee, Inc. Automatic placeholder finder-filler
US9613204B2 (en) 2014-12-23 2017-04-04 Document Storage Systems, Inc. Computer readable storage media for legacy integration and methods and systems for utilizing same
US10620855B2 (en) 2016-09-06 2020-04-14 Samsung Electronics Co., Ltd. System and method for authenticating critical operations on solid-state drives
US10911431B2 (en) * 2018-05-21 2021-02-02 Wickr Inc. Local encryption for single sign-on
CN109462577A (zh) * 2018-10-16 2019-03-12 同伦拍拍科技服务有限公司 一种第三方及时通讯sso的内部登录系统及方法
US11366891B2 (en) * 2019-11-25 2022-06-21 Jpmorgan Chase Bank, N.A. Method and system for facilitating an identification of an application
CN112380526B (zh) * 2020-11-04 2021-12-10 广州市玄武无线科技股份有限公司 一种基于领域模型的授权认证集成系统及方法
US11706210B2 (en) * 2021-07-22 2023-07-18 Citrix Systems, Inc. Computing connection credential verification

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235114A (ja) * 1995-02-28 1996-09-13 Hitachi Ltd サーバアクセス方法と課金情報管理方法
US7251824B2 (en) * 2000-12-19 2007-07-31 Intel Corporation Accessing a private network
US7076795B2 (en) * 2002-01-11 2006-07-11 International Business Machiness Corporation System and method for granting access to resources
NO318842B1 (no) * 2002-03-18 2005-05-09 Telenor Asa Autentisering og tilgangskontroll
US20040059941A1 (en) * 2002-09-19 2004-03-25 Myfamily.Com, Inc. Systems and methods for identifying users and providing access to information in a network environment
US7426642B2 (en) 2002-11-14 2008-09-16 International Business Machines Corporation Integrating legacy application/data access with single sign-on in a distributed computing environment
US7219154B2 (en) * 2002-12-31 2007-05-15 International Business Machines Corporation Method and system for consolidated sign-off in a heterogeneous federated environment
US7690025B2 (en) * 2003-04-03 2010-03-30 General Electric Company Methods and systems for accessing a network-based computer system
US20050125699A1 (en) * 2003-12-05 2005-06-09 Raymond Harper Sarts password manager
US7490242B2 (en) * 2004-02-09 2009-02-10 International Business Machines Corporation Secure management of authentication information
US20070226783A1 (en) * 2006-03-16 2007-09-27 Rabbit's Foot Security, Inc. (A California Corporation) User-administered single sign-on with automatic password management for web server authentication
US7739744B2 (en) 2006-03-31 2010-06-15 Novell, Inc. Methods and systems for multifactor authentication
US8201217B1 (en) 2006-10-03 2012-06-12 Stamps.Com Inc. Systems and methods for single sign-in for multiple accounts
US8671444B2 (en) * 2006-10-06 2014-03-11 Fmr Llc Single-party, secure multi-channel authentication for access to a resource
US8281378B2 (en) * 2006-10-20 2012-10-02 Citrix Systems, Inc. Methods and systems for completing, by a single-sign on component, an authentication process in a federated environment to a resource not supporting federation
US8255491B1 (en) * 2008-01-28 2012-08-28 Comscore, Inc. Determining a particular type of wireless device to be emulated
JP5431040B2 (ja) * 2009-06-19 2014-03-05 日本電信電話株式会社 認証要求変換装置、認証要求変換方法および認証要求変換プログラム
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
US8914855B2 (en) * 2010-04-01 2014-12-16 Whitserve Llc Portable password keeper with internet storage and restore
US8832763B2 (en) * 2010-09-29 2014-09-09 Verizon Patent And Licensing Inc. Catalog slicing in a video provisioning system
US20120266220A1 (en) * 2010-11-17 2012-10-18 Sequent Software Inc. System and Method for Controlling Access to a Third-Party Application with Passwords Stored in a Secure Element
US20130086669A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation Mobile application, single sign-on management
JP5927864B2 (ja) * 2011-11-25 2016-06-01 コニカミノルタ株式会社 遠隔画像システム
US8769651B2 (en) * 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
GB2505531B (en) * 2012-11-16 2015-01-07 F Secure Corp Methods, systems and apparatus for managing data entries on a database
US9384342B2 (en) * 2013-05-10 2016-07-05 Blackberry Limited Methods and devices for providing warnings associated with credentials to be stored in a credential store
US9996686B2 (en) * 2014-04-28 2018-06-12 Blackberry Limited Password retrieval system and method involving token usage without prior knowledge of the password
JP6372157B2 (ja) * 2014-05-13 2018-08-15 富士ゼロックス株式会社 中継装置、システム及びプログラム
US9635005B2 (en) 2014-07-18 2017-04-25 Document Storage Systems, Inc. Computer readable storage media for tiered connection pooling and methods and systems for utilizing same
US9613204B2 (en) 2014-12-23 2017-04-04 Document Storage Systems, Inc. Computer readable storage media for legacy integration and methods and systems for utilizing same

Also Published As

Publication number Publication date
CA2969136A1 (en) 2016-06-30
US20170163630A1 (en) 2017-06-08
US20210006554A1 (en) 2021-01-07
US20160180076A1 (en) 2016-06-23
US9954847B2 (en) 2018-04-24
EP3238375A1 (en) 2017-11-01
US10237264B2 (en) 2019-03-19
US20190075098A1 (en) 2019-03-07
JP2018502394A (ja) 2018-01-25
AU2015369922A1 (en) 2017-06-15
JP2019220238A (ja) 2019-12-26
WO2016106061A1 (en) 2016-06-30
US10785205B2 (en) 2020-09-22
AU2015369922B2 (en) 2020-01-30
US9613204B2 (en) 2017-04-04
US20180219855A1 (en) 2018-08-02
US11792179B2 (en) 2023-10-17
EP3238375B1 (en) 2021-10-27
US11349826B2 (en) 2022-05-31
US20220255919A1 (en) 2022-08-11
EP3238375A4 (en) 2018-09-12

Similar Documents

Publication Publication Date Title
JP6875482B2 (ja) レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム
US11303449B2 (en) User device validation at an application server
US9038138B2 (en) Device token protocol for authorization and persistent authentication shared across applications
US8510811B2 (en) Network transaction verification and authentication
US20180234246A1 (en) Providing cross site request forgery protection at an edge server
EP3942775B1 (en) Application integration using multiple user identities
US20140223513A1 (en) Securing Communication over a Network Using Client Integrity Verification
US10911485B2 (en) Providing cross site request forgery protection at an edge server
US9699169B2 (en) Computer readable storage media for selective proxification of applications and method and systems utilizing same
CA2909282A1 (en) System and method for mobile single sign-on integration
CN113614719A (zh) 基于具有不同认证凭证的认证令牌提供会话访问的计算系统和方法
CN105991614A (zh) 一种开放授权、资源访问的方法及装置、服务器
US11663318B2 (en) Decentralized password vault
US11477183B1 (en) Application-based management of security credential revocations
US10033721B2 (en) Credential translation
US10791095B2 (en) Secure authentication and data transfer for cloud systems
CN115486030A (zh) 流氓证书检测
US11477189B2 (en) Primary domain and secondary domain authentication
Booth et al. Stronger authentication for password credential Internet Services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210225

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: 20210402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210422

R150 Certificate of patent or registration of utility model

Ref document number: 6875482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150