JP2021016129A - 情報処理装置及び情報処理プログラム - Google Patents
情報処理装置及び情報処理プログラム Download PDFInfo
- Publication number
- JP2021016129A JP2021016129A JP2019131063A JP2019131063A JP2021016129A JP 2021016129 A JP2021016129 A JP 2021016129A JP 2019131063 A JP2019131063 A JP 2019131063A JP 2019131063 A JP2019131063 A JP 2019131063A JP 2021016129 A JP2021016129 A JP 2021016129A
- Authority
- JP
- Japan
- Prior art keywords
- certificate
- server
- information processing
- terminal
- request
- 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.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】端末がサーバーを利用する場合に、拠点内にある端末だけがサーバーを利用できるように限定することができる情報処理装置を提供する。【解決手段】情報処理装置の検出手段は、拠点内にある端末から送信された、外部にあるサーバーへのリクエストを検出し、抽出手段は、前記リクエストに添付された第1証明書を復号して、前記サーバーによるサービスの提供を前記ユーザーが受けるための第2証明書を抽出し、送信手段は、前記リクエストを前記第2証明書とともに前記サーバーに送信する。【選択図】図1
Description
本発明は、情報処理装置及び情報処理プログラムに関する。
特許文献1には、ネットワーク上でサービスを利用するユーザーの認証を行う安全性,利便性に優れたユーザー認証システムを提供することを課題とし、第1のネットワーク上のユーザー端末と、第2のネットワーク(インターネット)上のサービス提供サーバと、それらネットワークを接続するゲートウェイとによって構成され、ゲートウェイは鍵ペアを生成する手段と、その鍵ペアを記憶する手段と、鍵ペアの公開鍵に対応する証明書を生成する手段と、その証明書を記憶する手段と、鍵ペアの秘密鍵と証明書とを用いてユーザーの認証情報を生成する手段とを備え、サービス提供サーバはユーザー端末からサービスの提供を要求されると、ゲートウェイにおける認証情報の生成を要求し、その認証情報を検証して正当であればユーザー端末に対してサービスを提供することが開示されている。
端末が外部にあるサーバーを利用する場合に、端末が証明書そのものをサーバーに送信する構成では、その証明書が有効である限りサーバーを利用できる。そのため、端末は、管理することができない拠点外からもサーバーを利用できることになってしまう。そこで本発明は、端末がサーバーを利用する場合に、拠点内にある端末だけがサーバーを利用できるように限定することができる情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、拠点内にある端末から送信された、外部にあるサーバーへのリクエストを検出する検出手段と、前記リクエストに添付された第1証明書を復号して、前記サーバーによるサービスの提供を受けるための第2証明書を抽出する抽出手段と、前記リクエストを前記第2証明書とともに前記サーバーに送信する送信手段を有する情報処理装置である。
請求項1の発明は、拠点内にある端末から送信された、外部にあるサーバーへのリクエストを検出する検出手段と、前記リクエストに添付された第1証明書を復号して、前記サーバーによるサービスの提供を受けるための第2証明書を抽出する抽出手段と、前記リクエストを前記第2証明書とともに前記サーバーに送信する送信手段を有する情報処理装置である。
請求項2の発明は、前記第2証明書を暗号化して第1証明書を生成する生成手段と、前記第1証明書を前記端末に送信する第2送信手段をさらに有する請求項1に記載の情報処理装置である。
請求項3の発明は、前記生成手段は、本情報処理装置の秘密鍵で暗号化を行う、請求項2に記載の情報処理装置である。
請求項4の発明は、前記抽出手段は、本情報処理装置の公開鍵を用いて復号を行い、本情報処理装置が暗号化した第1証明書であることを検証し、前記送信手段は、前記検証が失敗した場合は、前記サーバーへの送信を行わない、請求項3に記載の情報処理装置である。
請求項5の発明は、前記生成手段は、前記端末を一意に識別する情報である識別情報を含めて前記第1証明書を生成し、前記抽出手段は、前記第1証明書から前記識別情報を抽出し、該識別情報が前記リクエストを送信した端末の識別情報であるか否かを検証する、請求項4に記載の情報処理装置である。
請求項6の発明は、前記抽出手段は、前記第1証明書を復号して、複数の第2証明書を抽出し、前記送信手段は、前記サーバーに対応する第2証明書を選択して、前記リクエストを該第2証明書とともに該サーバーに送信する、請求項1に記載の情報処理装置である。
請求項7の発明は、前記端末に対して、前記複数の第2証明書を含めて暗号化して第1証明書を生成する生成手段と、前記第1証明書を前記端末に送信する第2送信手段をさらに有する請求項6に記載の情報処理装置である。
請求項8の発明は、サーバーによるサービスの提供を受けることができるユーザーを該サーバーに対応付けて記憶する記憶手段をさらに有し、前記抽出手段は、前記リクエストを送信するユーザーが、送信先のサーバーに対応して前記記憶手段に記憶されたユーザーであることを検証し、前記送信手段は、前記検証が失敗した場合は、前記サーバーへの送信を行わない、請求項1に記載の情報処理装置である。
請求項9の発明は、コンピュータを、拠点内にある端末から送信された、外部にあるサーバーへのリクエストを検出する検出手段と、前記リクエストに添付された第1証明書を復号して、前記サーバーによるサービスの提供を受けるための第2証明書を抽出する抽出手段と、前記リクエストを前記第2証明書とともに前記サーバーに送信する送信手段として機能させるための情報処理プログラムである。
請求項1の情報処理装置によれば、端末がサーバーを利用する場合に、拠点内にある端末だけがサーバーを利用できるように限定することができる。
請求項2の情報処理装置によれば、第2証明書を暗号化して生成した第1証明書を端末に送信することができる。
請求項3の情報処理装置によれば、本情報処理装置の秘密鍵を用いて第1証明書を生成することができる。
請求項4の情報処理装置によれば、第1証明書の検証が失敗した場合は、サーバーへの送信を行わないようにすることができる。
請求項5の情報処理装置によれば、第1証明書をコピーして他の端末からサーバーを利用しようとする不正アクセスを防止することができるようになる。
請求項6の情報処理装置によれば、第1証明書に複数の第2証明書を含めた場合、リクエストとサーバーに対応する第2証明書を送信することができる。
請求項7の情報処理装置によれば、複数の第2証明書を含めた第1証明書を端末に送信することができる。
請求項8の情報処理装置によれば、サーバーによるサービスの提供を受けることができないユーザーである場合には、サーバーへの送信を行わないようにすることができる。
請求項9の情報処理プログラムによれば、端末がサーバーを利用する場合に、拠点内にある端末だけがサーバーを利用できるように限定することができる。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(「ソフトウェア」の解釈として、コンピュータ・プログラムを含む)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(例えば、コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(例えば、データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(「2以上の値」には、もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(「ネットワーク」には、一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(つまり、社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスクドライブ、RAM(Random Access Memoryの略)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unitの略)内のレジスタ等を含んでいてもよい。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(「ソフトウェア」の解釈として、コンピュータ・プログラムを含む)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(例えば、コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(例えば、データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(「2以上の値」には、もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(「ネットワーク」には、一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(つまり、社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスクドライブ、RAM(Random Access Memoryの略)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unitの略)内のレジスタ等を含んでいてもよい。
本実施の形態である情報処理装置100は、通信における中継機能を有しており、図1の例に示すように、通信(A)モジュール105、検出モジュール110、抽出モジュール115、送信制御(B)モジュール120、生成モジュール125、記憶モジュール130、送信制御(A)モジュール135、通信(B)モジュール140を有している。
特に、情報処理装置100は、証明書に関する処理を行う。端末150が、外部のサーバー160によって提供されるサービスを利用するにあたって、情報処理装置100を経由した場合は、そのサービスを利用できるが、情報処理装置100を経由しない場合は、そのサービスを利用できないようにしたものである。例えば、クラウドサービス(サーバー160によるサービスの一例)を情報処理装置100を経ずに利用させることを禁止するものである。これによって、具体的には、拠点内190以外のところからのクラウドサービスの利用を防止することができるようになる。
特に、情報処理装置100は、証明書に関する処理を行う。端末150が、外部のサーバー160によって提供されるサービスを利用するにあたって、情報処理装置100を経由した場合は、そのサービスを利用できるが、情報処理装置100を経由しない場合は、そのサービスを利用できないようにしたものである。例えば、クラウドサービス(サーバー160によるサービスの一例)を情報処理装置100を経ずに利用させることを禁止するものである。これによって、具体的には、拠点内190以外のところからのクラウドサービスの利用を防止することができるようになる。
情報処理装置100は、拠点内190にある端末150と外部にあるサーバー160との通信を中継する。したがって、その端末150が外部にあるサーバー160を利用するためには、情報処理装置100を通す必要がある。つまり、拠点内190にある端末150は、情報処理装置100を介さないと外部にあるサーバー160とは接続できない構成になっている。
拠点内190には、情報処理装置100と端末150がある。もちろんのことながら、複数の端末150があり、それらの端末150が情報処理装置100と通信可能に接続されていてもよい。
このような環境下で、端末150がサーバー160の提供するサービスを利用しようとした場合、端末150からサーバー160へのサービス利用のリクエストは、情報処理装置100が中継することになる。また、そのサービスを利用するにあたって、端末150の証明書をサーバー160が検証する。例えば、サーバー160は、CRL配布サーバーを用いて、端末150の証明書を検証する。その証明書が有効である場合は、サービスを利用させるが、その証明書が無効である場合は、サービスを利用させない。なお、無効は、失効を含む概念として用いる。例えば、証明書の失効として、証明書の誤発行、証明書の秘密鍵紛失等によって、失効されるのが一般的である。
ここで、端末150が携帯可能である場合、拠点内190以外からでもその端末150そのものを使用することができることになる。その場合、拠点内190以外の場所では、端末150は、サーバー160が提供するサービスを利用できないようにしている。つまり、情報処理装置100の処理によって、端末150は、情報処理装置100を経由しないで、サーバー160が提供するサービスを利用できないようになっている。
拠点内190には、情報処理装置100と端末150がある。もちろんのことながら、複数の端末150があり、それらの端末150が情報処理装置100と通信可能に接続されていてもよい。
このような環境下で、端末150がサーバー160の提供するサービスを利用しようとした場合、端末150からサーバー160へのサービス利用のリクエストは、情報処理装置100が中継することになる。また、そのサービスを利用するにあたって、端末150の証明書をサーバー160が検証する。例えば、サーバー160は、CRL配布サーバーを用いて、端末150の証明書を検証する。その証明書が有効である場合は、サービスを利用させるが、その証明書が無効である場合は、サービスを利用させない。なお、無効は、失効を含む概念として用いる。例えば、証明書の失効として、証明書の誤発行、証明書の秘密鍵紛失等によって、失効されるのが一般的である。
ここで、端末150が携帯可能である場合、拠点内190以外からでもその端末150そのものを使用することができることになる。その場合、拠点内190以外の場所では、端末150は、サーバー160が提供するサービスを利用できないようにしている。つまり、情報処理装置100の処理によって、端末150は、情報処理装置100を経由しないで、サーバー160が提供するサービスを利用できないようになっている。
サーバー160は、通信回線を介して情報処理装置100の通信(B)モジュール140と接続されている。サーバー160は、端末150からのリクエストに対してサービスを提供するサーバーであって、そのリクエストを受けた際に、リクエストを行った端末150の証明書を検証(認証という概念を含む)する。その端末150の証明書が有効であれば、端末150にサービスを提供する。その端末150の証明書が無効であれば、端末150にサービスを提供しない。例えば、サーバー160として、クラウドサービスサーバーが該当する。なお、サーバー160は、サービスを提供する一般的な装置であり、情報処理装置100に対応させた特別な装置、プログラム等を導入する必要はない。
端末150は、通信回線を介して情報処理装置100の通信(A)モジュール105と接続されている。端末150は、拠点内190内にあり、情報処理装置100を介して、外部のサーバー160との通信を行う。特に、サーバー160が提供するサービスを利用するために、そのサービスを利用するためのリクエストと端末150の証明書を、情報処理装置100を介して、サーバー160に送信する。
また、端末150は、サーバー160を利用するための証明書を作成するためのリクエストを、情報処理装置100を介して外部(例えば、サーバー160等)に送信する。そして、情報処理装置100を介して証明書を受信する。ただし、後述するように、ここで受信する証明書(具体的には、第1証明書)は、外部で作成された証明書(具体的には、第2証明書)そのものではなく、情報処理装置100によって加工処理が施されている。
また、端末150は、サーバー160を利用するための証明書を作成するためのリクエストを、情報処理装置100を介して外部(例えば、サーバー160等)に送信する。そして、情報処理装置100を介して証明書を受信する。ただし、後述するように、ここで受信する証明書(具体的には、第1証明書)は、外部で作成された証明書(具体的には、第2証明書)そのものではなく、情報処理装置100によって加工処理が施されている。
第1証明書と第2証明書について説明する。
第2証明書は、サーバー160によるサービスの提供を受けるための証明書である。サーバー160によって、その第2証明書が検証される。一般的にクライアント証明書等と呼ばれており、以下、例示して説明する場合はクライアント証明書という。
第1証明書は、端末150が保持している証明書であって、第2証明書を内部に含む証明書である。例えば、第2証明書を暗号化したものであってもよい。以下、例示して説明する場合はローカル証明書という。
情報処理装置100は、端末150がサーバー160にアクセスするにあたって、端末150から第1証明書を受信して、その第1証明書から第2証明書を取り出して、その第2証明書をサーバー160に送信することを行う。
第2証明書は、サーバー160によるサービスの提供を受けるための証明書である。サーバー160によって、その第2証明書が検証される。一般的にクライアント証明書等と呼ばれており、以下、例示して説明する場合はクライアント証明書という。
第1証明書は、端末150が保持している証明書であって、第2証明書を内部に含む証明書である。例えば、第2証明書を暗号化したものであってもよい。以下、例示して説明する場合はローカル証明書という。
情報処理装置100は、端末150がサーバー160にアクセスするにあたって、端末150から第1証明書を受信して、その第1証明書から第2証明書を取り出して、その第2証明書をサーバー160に送信することを行う。
以下、情報処理装置100内の各モジュールについて説明する。
通信(A)モジュール105は、検出モジュール110、送信制御(A)モジュール135と接続されており、また、通信回線を介して端末150と接続されている。通信(A)モジュール105は、端末150との通信を行う。例えば、通信(A)モジュール105は、端末150からサーバー160へのリクエストと第1証明書を受信する。ここでのリクエストは、サーバー160が提供しているサービスを利用するための要求である。その際に、端末150の証明書が必要であるので、リクエストとともに証明書を受信することになる。なお、リクエストと証明書の受信は、同時であってもよいし、時間差があってもよい。例えば、リクエストを受信した後に、証明書を受信するようになってもよい。
通信(A)モジュール105は、検出モジュール110、送信制御(A)モジュール135と接続されており、また、通信回線を介して端末150と接続されている。通信(A)モジュール105は、端末150との通信を行う。例えば、通信(A)モジュール105は、端末150からサーバー160へのリクエストと第1証明書を受信する。ここでのリクエストは、サーバー160が提供しているサービスを利用するための要求である。その際に、端末150の証明書が必要であるので、リクエストとともに証明書を受信することになる。なお、リクエストと証明書の受信は、同時であってもよいし、時間差があってもよい。例えば、リクエストを受信した後に、証明書を受信するようになってもよい。
検出モジュール110は、通信(A)モジュール105、抽出モジュール115、送信制御(B)モジュール120、生成モジュール125と接続されている。検出モジュール110は、拠点内190にある端末150から送信された、外部にあるサーバー160へのリクエストを検出する。このリクエストは、サーバー160が提供しているサービスを利用するための要求である。情報処理装置100は、拠点内190にある端末150と外部にあるサーバー160との通信を中継するので、その端末150からサーバー160にリクエストを送信する場合は、この情報処理装置100を経由しなければならないことになり、この情報処理装置100は、リクエストを検出することが可能である。
抽出モジュール115は、検出モジュール110、送信制御(B)モジュール120、記憶モジュール130と接続されている。抽出モジュール115は、検出モジュール110によって検出されたリクエストに添付された第1証明書を復号して、サーバー160によるサービスの提供を受けるための第2証明書を抽出する。
また、抽出モジュール115は、本情報処理装置100の公開鍵を用いて復号を行い、本情報処理装置100が暗号化した第1証明書であることを検証してもよい。
また、抽出モジュール115は、本情報処理装置100の公開鍵を用いて復号を行い、本情報処理装置100が暗号化した第1証明書であることを検証してもよい。
記憶モジュール130は、抽出モジュール115と接続されている。記憶モジュール130は、サーバー160によるサービスの提供を受けることができるユーザーを、そのサーバー160に対応付けて記憶する。
この場合、抽出モジュール115は、リクエストを送信するユーザーが、送信先のサーバー160に対応して記憶モジュール130に記憶されたユーザーであることを検証してもよい。
そして、送信制御(B)モジュール120は、抽出モジュール115による検証が失敗した場合は、サーバー160への送信を行わないように、通信(B)モジュール140を制御してもよい。ここで「検証が失敗した場合」とは、リクエストを送信するユーザーが、送信先のサーバー160に対応して記憶モジュール130に記憶されたユーザーではない場合である。また、リクエストを送信するユーザーが、送信先のサーバー160に対応して記憶モジュール130に記憶されたユーザーである場合は、送信制御(B)モジュール120は、端末150からのリクエストを第2証明書とともにサーバー160に送信するように、通信(B)モジュール140を制御する。
この場合、抽出モジュール115は、リクエストを送信するユーザーが、送信先のサーバー160に対応して記憶モジュール130に記憶されたユーザーであることを検証してもよい。
そして、送信制御(B)モジュール120は、抽出モジュール115による検証が失敗した場合は、サーバー160への送信を行わないように、通信(B)モジュール140を制御してもよい。ここで「検証が失敗した場合」とは、リクエストを送信するユーザーが、送信先のサーバー160に対応して記憶モジュール130に記憶されたユーザーではない場合である。また、リクエストを送信するユーザーが、送信先のサーバー160に対応して記憶モジュール130に記憶されたユーザーである場合は、送信制御(B)モジュール120は、端末150からのリクエストを第2証明書とともにサーバー160に送信するように、通信(B)モジュール140を制御する。
送信制御(B)モジュール120は、検出モジュール110、抽出モジュール115、通信(B)モジュール140と接続されている。送信制御(B)モジュール120は、検出モジュール110によって検出されたリクエストを、抽出モジュール115によって抽出された第2証明書とともにサーバー160に送信するように、通信(B)モジュール140を制御する。
また、送信制御(B)モジュール120は、抽出モジュール115による検証が失敗した場合は、サーバー160への送信を行わないように制御してもよい。
ここで「検証が失敗した場合」とは、本情報処理装置100(生成モジュール125)が暗号化した第1証明書ではないと判断した場合である。
また、送信制御(B)モジュール120は、抽出モジュール115による検証が失敗した場合は、サーバー160への送信を行わないように制御してもよい。
ここで「検証が失敗した場合」とは、本情報処理装置100(生成モジュール125)が暗号化した第1証明書ではないと判断した場合である。
生成モジュール125は、検出モジュール110、送信制御(A)モジュール135、通信(B)モジュール140と接続されている。生成モジュール125は、第2証明書を暗号化して第1証明書を生成する。例えば、生成モジュール125は、情報処理装置100の秘密鍵で暗号化を行うようにしてもよい。この他、公開鍵暗号化手法以外の暗号手法を用いて、第1証明書を生成するようにしてもよい。
この場合、検出モジュール110は、端末150が送信したサーバー160を利用するための証明書を作成するためのリクエストを検出する。そして、通信(B)モジュール140が、証明書(具体的には、第2証明書)を伴った返信を受信した場合に、生成モジュール125による処理を行う。
また、生成モジュール125は、端末150を一意に識別する情報である識別情報を含めて第1証明書を生成するようにしてもよい。
この場合、抽出モジュール115は、第1証明書から識別情報を抽出し、その識別情報がリクエストを送信した端末150の識別情報であるか否かを検証するようにしてもよい。ここでの対象となるリクエストは、サーバー160のサービスを利用するためのリクエストである。
この場合、検出モジュール110は、端末150が送信したサーバー160を利用するための証明書を作成するためのリクエストを検出する。そして、通信(B)モジュール140が、証明書(具体的には、第2証明書)を伴った返信を受信した場合に、生成モジュール125による処理を行う。
また、生成モジュール125は、端末150を一意に識別する情報である識別情報を含めて第1証明書を生成するようにしてもよい。
この場合、抽出モジュール115は、第1証明書から識別情報を抽出し、その識別情報がリクエストを送信した端末150の識別情報であるか否かを検証するようにしてもよい。ここでの対象となるリクエストは、サーバー160のサービスを利用するためのリクエストである。
送信制御(A)モジュール135は、通信(A)モジュール105、生成モジュール125と接続されている。送信制御(A)モジュール135は、生成モジュール125によって生成された第1証明書を端末150に送信するように、通信(A)モジュール105を制御する。
通信(B)モジュール140は、送信制御(B)モジュール120、生成モジュール125と接続されており、また、通信回線を介してサーバー160と接続されている。通信(B)モジュール140は、サーバー160との通信を行う。例えば、通信(B)モジュール140は、送信制御(B)モジュール120の指示にしたがって、端末150からサーバー160へのリクエストと第2証明書を送信する。また、通信(B)モジュール140は、外部から送信されてきた第2証明書を受信して、その第2証明書を生成モジュール125に渡す。
端末150は、複数のサーバー160を利用できる場合がある。もちろんのことながら、そのために、各サーバー160を利用するための証明書はそれぞれ必要になる。つまり、複数の証明書を端末150で管理する必要がある。どのサーバー160にどの証明書を適用するかを、端末150のユーザーが管理することは困難である。そこで、複数の第2証明書をまとめて1つの第1証明書を生成するようにしてもよい。
そのようにした場合、抽出モジュール115は、第1証明書を復号して、複数の第2証明書を抽出するようにしてもよい。
そして、送信制御(B)モジュール120は、サーバー160に対応する第2証明書を選択して、リクエストをその第2証明書とともにサーバー160に送信するように、通信(B)モジュール140を制御してもよい。ここでの選択は、端末150が、サービスを利用するためのリクエストを送信した先であるサーバー160に対応する証明書を選択すればよい。
生成モジュール125は、端末150に対して、複数の第2証明書を含めて暗号化して第1証明書を生成するようにしてもよい。例えば、端末150が第2証明書を取得するたびに、その第2証明書を記憶し、過去の第2証明書を含めて第1証明書を生成してもよい。
そして、生成モジュール125が生成した第1証明書を端末150に送信するように、通信(A)モジュール105を制御してもよい。
そのようにした場合、抽出モジュール115は、第1証明書を復号して、複数の第2証明書を抽出するようにしてもよい。
そして、送信制御(B)モジュール120は、サーバー160に対応する第2証明書を選択して、リクエストをその第2証明書とともにサーバー160に送信するように、通信(B)モジュール140を制御してもよい。ここでの選択は、端末150が、サービスを利用するためのリクエストを送信した先であるサーバー160に対応する証明書を選択すればよい。
生成モジュール125は、端末150に対して、複数の第2証明書を含めて暗号化して第1証明書を生成するようにしてもよい。例えば、端末150が第2証明書を取得するたびに、その第2証明書を記憶し、過去の第2証明書を含めて第1証明書を生成してもよい。
そして、生成モジュール125が生成した第1証明書を端末150に送信するように、通信(A)モジュール105を制御してもよい。
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
ここでの情報処理装置100は、ゲートウェイ装置の機能を有している。
サーバー160として、クラウドサービスサーバーを例として説明する。
拠点内190には、例えば、情報処理装置100、端末150A、端末150Bが存在する。そして、情報処理装置100、端末150A、端末150Bは、拠点内190内の通信回線を介してそれぞれ接続されている。
情報処理装置100とサーバー160は、通信回線290を介して接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット等であってもよい。
ここでの情報処理装置100は、ゲートウェイ装置の機能を有している。
サーバー160として、クラウドサービスサーバーを例として説明する。
拠点内190には、例えば、情報処理装置100、端末150A、端末150Bが存在する。そして、情報処理装置100、端末150A、端末150Bは、拠点内190内の通信回線を介してそれぞれ接続されている。
情報処理装置100とサーバー160は、通信回線290を介して接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット等であってもよい。
企業が外部のクラウドサービスを利用する場合、企業が利用を管理、監視できない企業の拠点外からの利用を制限したい場合がある。しかし、クライアント証明書を利用した認証を行うクラウドサービスでは利用場所とは無関係に、クライアント証明書は有効なため、企業の拠点外から利用可能となってしまう。
本実施の形態は、企業がクライアント証明書を利用したクライアント認証を行う場合に、拠点外からのクラウドサービス利用の制限を可能とする。
本実施の形態は、企業がクライアント証明書を利用したクライアント認証を行う場合に、拠点外からのクラウドサービス利用の制限を可能とする。
例えば、図2に示すように、端末150Aが携帯情報端末である場合は、拠点内190での利用だけでなく、拠点内190以外の場所からも利用することができる。情報処理装置100は、端末150A、端末150Bが拠点内190にある場合は、その端末150A、端末150Bは、サーバー160が提供するクラウドサービスを利用できるようにし、端末150Aが持ち出されて、拠点内190ではない場所で、サーバー160が提供するクラウドサービスを利用しようとした場合には、利用できないようにしている。
そのために、サーバー160を利用するためのクライアント証明書を情報処理装置100が発行するローカル証明書に埋め込み、そのローカル証明書を端末150が保持する。そして、端末150がサーバー160の利用をしたい場合、情報処理装置100でローカル証明書を復号してサーバー160のクライアント証明書を取り出してサーバー160の利用ができるようにする。
つまり、端末150が保持しているローカル証明書は、情報処理装置100を経由すると、クライアント証明書に変更される。つまり、サーバー160は、クライアント証明書を受け取ることになる。サーバー160にとっては、そのクライアント証明書を検証して、端末150にサービスを提供するか否かを判断する。一方、拠点内190以外のところから情報処理装置100を経由せずに、端末150がローカル証明書をサーバー160に送信した場合、サーバー160は、そのローカル証明書を検証することになるが、クライアント証明書ではないので、もちろんのことながら、検証失敗となり、サーバー160によるサービスの提供を受けることはできない。
つまり、端末150が保持しているローカル証明書は、情報処理装置100を経由すると、クライアント証明書に変更される。つまり、サーバー160は、クライアント証明書を受け取ることになる。サーバー160にとっては、そのクライアント証明書を検証して、端末150にサービスを提供するか否かを判断する。一方、拠点内190以外のところから情報処理装置100を経由せずに、端末150がローカル証明書をサーバー160に送信した場合、サーバー160は、そのローカル証明書を検証することになるが、クライアント証明書ではないので、もちろんのことながら、検証失敗となり、サーバー160によるサービスの提供を受けることはできない。
また、クライアント証明書を要求するサーバー160を利用するために、クライアント証明書を各端末150のユーザーに配布すると、クライアント証明書の紛失、そのユーザーの退社等でクライアント証明書が失効すると、そのたびにCA局に新しいクライアント証明書の発行を依頼する必要があり、煩雑であると共に対応が遅くなり、不正利用のリスクが高まる。
本実施の形態は、クライアント証明書のユーザーが証明書を紛失、退社等した場合にも、情報処理装置100で、クライアント証明書の再発行を可能とするものである。
クライアント証明書を情報処理装置100の秘密鍵で暗号化し、情報処理装置100でユーザー(又は端末150)ごとに発行するローカル証明書に埋め込み、ユーザーに配布する。
サーバー160の利用時には、端末150は配布されたローカル証明書をサーバー160に送付しようとするが、このとき情報処理装置100でリクエストとともに送信されたローカル証明書の検証と、そのローカル証明書に埋め込まれたクライアント証明書の復号を行い、リクエストとそのクライアント証明書をサーバー160に送付する。
そして、ユーザーのローカル証明書が紛失したりした場合は情報処理装置100で保持する証明書失効リストに紛失したローカル証明書を記録するとともに、ユーザーに新たなローカル証明書を発行する。このようにすることで、端末150は、情報処理装置100で発行された有効なローカル証明書を持っている場合のみ、サーバー160におけるサービスを利用可能となる。
本実施の形態は、クライアント証明書のユーザーが証明書を紛失、退社等した場合にも、情報処理装置100で、クライアント証明書の再発行を可能とするものである。
クライアント証明書を情報処理装置100の秘密鍵で暗号化し、情報処理装置100でユーザー(又は端末150)ごとに発行するローカル証明書に埋め込み、ユーザーに配布する。
サーバー160の利用時には、端末150は配布されたローカル証明書をサーバー160に送付しようとするが、このとき情報処理装置100でリクエストとともに送信されたローカル証明書の検証と、そのローカル証明書に埋め込まれたクライアント証明書の復号を行い、リクエストとそのクライアント証明書をサーバー160に送付する。
そして、ユーザーのローカル証明書が紛失したりした場合は情報処理装置100で保持する証明書失効リストに紛失したローカル証明書を記録するとともに、ユーザーに新たなローカル証明書を発行する。このようにすることで、端末150は、情報処理装置100で発行された有効なローカル証明書を持っている場合のみ、サーバー160におけるサービスを利用可能となる。
図3は、本実施の形態による処理例を示すフローチャートである。クライアント証明書からローカル証明書を生成する処理例を示すものである。なお、図3の例では、クライアント証明書を作成することをサーバー160が行っているが、他の装置で行うようにしてもよい。例えば、認証局の機能を有する装置であってもよい。
ステップS302では、端末150は、情報処理装置100に対して、クライアント証明書作成リクエストを送信する。
ステップS304では、情報処理装置100は、クライアント証明書の作成可否を判定する。例えば、サービスとそのサービスを利用可能な端末150(ユーザー)を対応させて記憶しているテーブルを利用して、リクエストを送信した端末150は、送信先であるサーバー160のサービスを利用できるか否かを判定する。クライアント証明書の作成可と判定された場合は、ステップS306に進み、クライアント証明書の作成不可と判定された場合は、端末150にその旨を通知し、ステップS306以降の処理は行わない。
ステップS302では、端末150は、情報処理装置100に対して、クライアント証明書作成リクエストを送信する。
ステップS304では、情報処理装置100は、クライアント証明書の作成可否を判定する。例えば、サービスとそのサービスを利用可能な端末150(ユーザー)を対応させて記憶しているテーブルを利用して、リクエストを送信した端末150は、送信先であるサーバー160のサービスを利用できるか否かを判定する。クライアント証明書の作成可と判定された場合は、ステップS306に進み、クライアント証明書の作成不可と判定された場合は、端末150にその旨を通知し、ステップS306以降の処理は行わない。
ステップS306では、情報処理装置100は、サーバー160に対して、クライアント証明書作成リクエストを送信する。
ステップS308では、サーバー160は、クライアント証明書作成リクエストに応じて、クライアント証明書350を作成する。
ステップS310では、サーバー160は、情報処理装置100に対して、クライアント証明書350を送信する。
ステップS308では、サーバー160は、クライアント証明書作成リクエストに応じて、クライアント証明書350を作成する。
ステップS310では、サーバー160は、情報処理装置100に対して、クライアント証明書350を送信する。
ステップS312では、情報処理装置100は、ローカル証明書360を作成する。具体的には、クライアント証明書350を情報処理装置100の秘密鍵で暗号化してローカル証明書360を作成する。つまり、ローカル証明書360は、クライアント証明書350を内包している。その際に、クライアント証明書管理テーブル400を作成してもよい。図4は、クライアント証明書管理テーブル400のデータ構造例を示す説明図である。クライアント証明書管理テーブル400は、ユーザーID欄410、サーバー欄420、クライアント証明書欄430を有している。ユーザーID欄410は、本実施の形態において、ユーザーを一意に識別するための情報(具体的にはユーザーID:IDentificationの略)を記憶している。サーバー欄420は、サーバー160を記憶している。クライアント証明書欄430は、そのサーバー160を利用するためのクライアント証明書350を記憶している。
なお、ユーザーと端末150の対応関係は、ユーザー・端末管理テーブル500によって管理されている。図5は、ユーザー・端末管理テーブル500のデータ構造例を示す説明図である。ユーザー・端末管理テーブル500は、ユーザーID欄510、MACアドレス欄520を有している。ユーザーID欄510は、ユーザーIDを記憶している。MACアドレス欄520は、そのユーザーIDのユーザーが利用している端末150を一意に識別する情報の一例であるMACアドレスを記憶している。
また、ステップS312で生成するローカル証明書360に、端末150を一意に識別する情報(MACアドレスなど)を埋め込むようにしてもよい。そして、情報処理装置100で中継する際に(具体的には、後述する図6のステップS604で)、ローカル証明書360に含まれている端末150を一意に識別する情報の端末150からローカル証明書360が送信されてきたことをチェックすることで、端末150間でコピーされたローカル証明書360を使った不正アクセスを防止することができるようにする。
ステップS314では、情報処理装置100は、端末150に対して、ローカル証明書360を送信する。
また、ステップS312で生成するローカル証明書360に、端末150を一意に識別する情報(MACアドレスなど)を埋め込むようにしてもよい。そして、情報処理装置100で中継する際に(具体的には、後述する図6のステップS604で)、ローカル証明書360に含まれている端末150を一意に識別する情報の端末150からローカル証明書360が送信されてきたことをチェックすることで、端末150間でコピーされたローカル証明書360を使った不正アクセスを防止することができるようにする。
ステップS314では、情報処理装置100は、端末150に対して、ローカル証明書360を送信する。
なお、端末150が、複数回のステップS308を行った場合、クライアント証明書管理テーブル400を利用して、過去のクライアント証明書350(つまり、複数のクライアント証明書350)を含めて、ローカル証明書360を作成してもよい。
図6は、本実施の形態による処理例を示すフローチャートである。端末150がサーバー160が提供しているサービスを利用する処理例を示すものである。
ステップS602では、端末150は、情報処理装置100に対して、サーバーリクエストとローカル証明書360を送信する。このローカル証明書360は、クライアント証明書350を内包している。なお、端末150では、ローカル証明書360を一般的なクライアント証明書として、ステップS602の処理を行っている。したがって、端末150では、クライアント証明書を用いたサービス利用をリクエストできる一般的なクライアントプログラム(例えば、ブラウザ)を利用することができる。
ステップS602では、端末150は、情報処理装置100に対して、サーバーリクエストとローカル証明書360を送信する。このローカル証明書360は、クライアント証明書350を内包している。なお、端末150では、ローカル証明書360を一般的なクライアント証明書として、ステップS602の処理を行っている。したがって、端末150では、クライアント証明書を用いたサービス利用をリクエストできる一般的なクライアントプログラム(例えば、ブラウザ)を利用することができる。
ステップS604では、情報処理装置100は、ローカル証明書360を検証する。例えば、ローカル証明書360を、情報処理装置100の公開鍵で復号し、クライアント証明書350が取り出せた場合は検証成功とし、クライアント証明書350が取り出せなかった場合は検証失敗とする。検証成功の場合は、ステップS606に進み、検証失敗の場合は、端末150にその旨を通知し、ステップS606以降の処理は行わない。検証の際に、例えば、クライアント証明書管理テーブル400を用いて、取り出したクライアント証明書350は、ローカル証明書360が作成された際のクライアント証明書350であるか否かを判定すればよい。
ステップS606では、情報処理装置100は、ローカル証明書360からクライアント証明書350を復号する。
ステップS608では、情報処理装置100は、サーバー160に対して、サーバーリクエストとクライアント証明書350を送信する。ローカル証明書360を復号して複数のクライアント証明書350があった場合は、リクエスト元の端末150とリクエスト先のサーバー160とに対応するクライアント証明書350を選択して、そのクライアント証明書350をサーバー160に送信する。この選択の際に、クライアント証明書管理テーブル400、ユーザー・端末管理テーブル500を用いればよい。ユーザー・端末管理テーブル500を用いて、リクエスト元の端末150からユーザーIDを抽出する。そして、クライアント証明書管理テーブル400を用いて、そのユーザーIDと送信先のサーバー160との組み合わせに該当するクライアント証明書350であるか否かを判定すればよい。
ステップS608では、情報処理装置100は、サーバー160に対して、サーバーリクエストとクライアント証明書350を送信する。ローカル証明書360を復号して複数のクライアント証明書350があった場合は、リクエスト元の端末150とリクエスト先のサーバー160とに対応するクライアント証明書350を選択して、そのクライアント証明書350をサーバー160に送信する。この選択の際に、クライアント証明書管理テーブル400、ユーザー・端末管理テーブル500を用いればよい。ユーザー・端末管理テーブル500を用いて、リクエスト元の端末150からユーザーIDを抽出する。そして、クライアント証明書管理テーブル400を用いて、そのユーザーIDと送信先のサーバー160との組み合わせに該当するクライアント証明書350であるか否かを判定すればよい。
ステップS610では、サーバー160は、クライアント証明書350を検証する。検証成功の場合は、ステップS612に進み、その端末150の指示にしたがってサービスを利用させる。検証失敗の場合は、端末150にその旨を通知し、その端末150によるサービスの利用は拒否する。
ステップS612では、サーバー160は、端末150に対して、サービス利用可と応答する。
ステップS612では、サーバー160は、端末150に対して、サービス利用可と応答する。
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図7に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU701を用い、記憶装置としてRAM702、ROM703、HDD704を用いている。HDD704として、例えば、HDD(Hard Disk Driveの略)、フラッシュ・メモリであるSSD(Solid State Driveの略)等を用いてもよい。通信(A)モジュール105、検出モジュール110、抽出モジュール115、送信制御(B)モジュール120、生成モジュール125、送信制御(A)モジュール135、通信(B)モジュール140等のプログラムを実行するCPU701と、そのプログラムやデータを記憶するRAM702と、本コンピュータを起動するためのプログラム等が格納されているROM703と、記憶モジュール130等としての機能を有する補助記憶装置であるHDD704と、キーボード、マウス、タッチスクリーン、マイク、カメラ(視線検知カメラ等を含む)等に対する利用者の操作(動作、音声、視線等を含む)に基づいてデータを受け付ける受付装置706と、液晶ディスプレイ、有機ELディスプレイ、スピーカー等の出力装置705と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース707、そして、それらをつないでデータのやりとりをするためのバス708により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図7に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図7に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、プロセッサーとして、GPU(Graphics Processing Unitの略、GPGPU(General−Purpose computing on Graphics Processing Unitsの略)を含む)を用いてもよいし、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(具体例として、ASIC(Application Specific Integrated Circuitの略)等がある)や再構成可能な集積回路(具体例として、FPGA(Field−Programmable Gate Arrayの略)等がある)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図7に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)等に組み込まれていてもよい。
なお、図7に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図7に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、プロセッサーとして、GPU(Graphics Processing Unitの略、GPGPU(General−Purpose computing on Graphics Processing Unitsの略)を含む)を用いてもよいし、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(具体例として、ASIC(Application Specific Integrated Circuitの略)等がある)や再構成可能な集積回路(具体例として、FPGA(Field−Programmable Gate Arrayの略)等がある)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに図7に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)等に組み込まれていてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digitalの略)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digitalの略)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
100…情報処理装置
105…通信(A)モジュール
110…検出モジュール
115…抽出モジュール
120…送信制御(B)モジュール
125…生成モジュール
130…記憶モジュール
135…送信制御(A)モジュール
140…通信(B)モジュール
150…端末
160…サーバー
190…拠点内
290…通信回線
105…通信(A)モジュール
110…検出モジュール
115…抽出モジュール
120…送信制御(B)モジュール
125…生成モジュール
130…記憶モジュール
135…送信制御(A)モジュール
140…通信(B)モジュール
150…端末
160…サーバー
190…拠点内
290…通信回線
Claims (9)
- 拠点内にある端末から送信された、外部にあるサーバーへのリクエストを検出する検出手段と、
前記リクエストに添付された第1証明書を復号して、前記サーバーによるサービスの提供を受けるための第2証明書を抽出する抽出手段と、
前記リクエストを前記第2証明書とともに前記サーバーに送信する送信手段
を有する情報処理装置。 - 前記第2証明書を暗号化して第1証明書を生成する生成手段と、
前記第1証明書を前記端末に送信する第2送信手段
をさらに有する請求項1に記載の情報処理装置。 - 前記生成手段は、本情報処理装置の秘密鍵で暗号化を行う、
請求項2に記載の情報処理装置。 - 前記抽出手段は、本情報処理装置の公開鍵を用いて復号を行い、本情報処理装置が暗号化した第1証明書であることを検証し、
前記送信手段は、前記検証が失敗した場合は、前記サーバーへの送信を行わない、
請求項3に記載の情報処理装置。 - 前記生成手段は、前記端末を一意に識別する情報である識別情報を含めて前記第1証明書を生成し、
前記抽出手段は、前記第1証明書から前記識別情報を抽出し、該識別情報が前記リクエストを送信した端末の識別情報であるか否かを検証する、
請求項4に記載の情報処理装置。 - 前記抽出手段は、前記第1証明書を復号して、複数の第2証明書を抽出し、
前記送信手段は、前記サーバーに対応する第2証明書を選択して、前記リクエストを該第2証明書とともに該サーバーに送信する、
請求項1に記載の情報処理装置。 - 前記端末に対して、前記複数の第2証明書を含めて暗号化して第1証明書を生成する生成手段と、
前記第1証明書を前記端末に送信する第2送信手段
をさらに有する請求項6に記載の情報処理装置。 - サーバーによるサービスの提供を受けることができるユーザーを該サーバーに対応付けて記憶する記憶手段
をさらに有し、
前記抽出手段は、前記リクエストを送信するユーザーが、送信先のサーバーに対応して前記記憶手段に記憶されたユーザーであることを検証し、
前記送信手段は、前記検証が失敗した場合は、前記サーバーへの送信を行わない、
請求項1に記載の情報処理装置。 - コンピュータを、
拠点内にある端末から送信された、外部にあるサーバーへのリクエストを検出する検出手段と、
前記リクエストに添付された第1証明書を復号して、前記サーバーによるサービスの提供を受けるための第2証明書を抽出する抽出手段と、
前記リクエストを前記第2証明書とともに前記サーバーに送信する送信手段
として機能させるための情報処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019131063A JP2021016129A (ja) | 2019-07-16 | 2019-07-16 | 情報処理装置及び情報処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019131063A JP2021016129A (ja) | 2019-07-16 | 2019-07-16 | 情報処理装置及び情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021016129A true JP2021016129A (ja) | 2021-02-12 |
Family
ID=74530723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019131063A Pending JP2021016129A (ja) | 2019-07-16 | 2019-07-16 | 情報処理装置及び情報処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021016129A (ja) |
-
2019
- 2019-07-16 JP JP2019131063A patent/JP2021016129A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10659454B2 (en) | Service authorization using auxiliary device | |
JP6571250B2 (ja) | ある装置を使用して別の装置をアンロックする方法 | |
US10025912B2 (en) | Information processing system, reading apparatus, information processing apparatus, and information processing method | |
JP5852265B2 (ja) | 計算装置、コンピュータプログラム及びアクセス許否判定方法 | |
CN102427442A (zh) | 组合请求相关元数据和元数据内容 | |
KR20060045440A (ko) | 패스워드 보호 비밀 데이터의 노출 없이 통신 네트워크을통해 이 비밀 데이터를 복구하는 방법 및 시스템 | |
US9515827B2 (en) | Key management device, communication device, communication system, and computer program product | |
CN104821878A (zh) | 用于确保数据交换的安全性的便携式安全设备、方法和计算机程序产品 | |
JP6366883B2 (ja) | 属性連携装置、転送システム、属性連携方法及び属性連携プログラム | |
JPWO2016035466A1 (ja) | 通信システム、サーバ装置用プログラム及びこれを記録した記録媒体、通信装置用プログラム及びこれを記録した記録媒体、端末装置用プログラム及びこれを記録した記録媒体 | |
JP2013058006A (ja) | 情報処理装置及び情報処理プログラム | |
KR20180024389A (ko) | 키 관리 장치 및 방법 | |
JP7351873B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP2017108237A (ja) | システム、端末装置、制御方法、およびプログラム | |
JP7298356B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP2021016129A (ja) | 情報処理装置及び情報処理プログラム | |
JP2006129143A (ja) | 秘密情報送受信システム及び方法、サーバー装置及びプログラム、並びに鍵情報保持装置 | |
JP6179434B2 (ja) | 情報処理装置、情報処理システム及び情報処理プログラム | |
JP2019061324A (ja) | 情報処理装置及び情報処理プログラム | |
JP2009122921A (ja) | 認証情報送信システム、リモートアクセス管理装置、認証情報中継方法、および認証情報中継プログラム | |
JP6353412B2 (ja) | Idパスワード認証方法、パスワード管理サービスシステム、情報端末、パスワード管理サービス装置、利用端末及びそれらのプログラム | |
JP2018201090A (ja) | 認証システム、及び認証サーバ装置 | |
JP5451615B2 (ja) | データ再生システム、データ再生装置、データ再生方法およびプログラム | |
JP2008109569A (ja) | 中継装置及び通信システム及び中継方法及びプログラム | |
JP2020010186A (ja) | 情報処理装置及び情報処理プログラム |