Movatterモバイル変換


[0]ホーム

URL:


JP2021016129A - Information processing apparatus and information processing program - Google Patents

Information processing apparatus and information processing program
Download PDF

Info

Publication number
JP2021016129A
JP2021016129AJP2019131063AJP2019131063AJP2021016129AJP 2021016129 AJP2021016129 AJP 2021016129AJP 2019131063 AJP2019131063 AJP 2019131063AJP 2019131063 AJP2019131063 AJP 2019131063AJP 2021016129 AJP2021016129 AJP 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
Application number
JP2019131063A
Other languages
Japanese (ja)
Inventor
正通 小池
Masamichi Koike
正通 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co LtdfiledCriticalFuji Xerox Co Ltd
Priority to JP2019131063ApriorityCriticalpatent/JP2021016129A/en
Publication of JP2021016129ApublicationCriticalpatent/JP2021016129A/en
Pendinglegal-statusCriticalCurrent

Links

Landscapes

Abstract

To provide an information processing apparatus which can place such a limit that only a terminal in a base can use a server when the terminal uses the server.SOLUTION: An information processing apparatus comprises: detection means that detects a request to an external server, which is sent from a terminal in a base; extraction means that decrypts a first certificate attached to the request to the server, and extracts a second certificate for receiving a service provided by a user; and transmitting means that transmits the request together with the second certificate to the server.SELECTED DRAWING: Figure 1

Description

Translated fromJapanese

本発明は、情報処理装置及び情報処理プログラムに関する。 The present invention relates to an information processing device and an information processing program.

特許文献1には、ネットワーク上でサービスを利用するユーザーの認証を行う安全性,利便性に優れたユーザー認証システムを提供することを課題とし、第1のネットワーク上のユーザー端末と、第2のネットワーク(インターネット)上のサービス提供サーバと、それらネットワークを接続するゲートウェイとによって構成され、ゲートウェイは鍵ペアを生成する手段と、その鍵ペアを記憶する手段と、鍵ペアの公開鍵に対応する証明書を生成する手段と、その証明書を記憶する手段と、鍵ペアの秘密鍵と証明書とを用いてユーザーの認証情報を生成する手段とを備え、サービス提供サーバはユーザー端末からサービスの提供を要求されると、ゲートウェイにおける認証情報の生成を要求し、その認証情報を検証して正当であればユーザー端末に対してサービスを提供することが開示されている。 Patent Document 1 has an object of providing a user authentication system having excellent safety and convenience for authenticating a user who uses a service on a network, and has a first user terminal on the network and a second user terminal. It consists of a service providing server on the network (Internet) and a gateway that connects those networks. The gateway is a means for generating a key pair, a means for storing the key pair, and a certificate corresponding to the public key of the key pair. The service providing server is provided with a means for generating a document, a means for storing the certificate, and a means for generating a user's authentication information using the private key of the key pair and the certificate. Is requested, it is disclosed that the gateway requests the generation of the authentication information, verifies the authentication information, and provides the service to the user terminal if it is valid.

特開2008−129673号公報Japanese Unexamined Patent Publication No. 2008-129673

端末が外部にあるサーバーを利用する場合に、端末が証明書そのものをサーバーに送信する構成では、その証明書が有効である限りサーバーを利用できる。そのため、端末は、管理することができない拠点外からもサーバーを利用できることになってしまう。そこで本発明は、端末がサーバーを利用する場合に、拠点内にある端末だけがサーバーを利用できるように限定することができる情報処理装置及び情報処理プログラムを提供することを目的としている。 When the terminal uses an external server, the server can be used as long as the certificate is valid in the configuration in which the terminal sends the certificate itself to the server. Therefore, the terminal can use the server even from outside the base where it cannot be managed. Therefore, an object of the present invention is to provide an information processing device and an information processing program that can limit the use of the server only to the terminals in the base when the terminals use the server.

かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、拠点内にある端末から送信された、外部にあるサーバーへのリクエストを検出する検出手段と、前記リクエストに添付された第1証明書を復号して、前記サーバーによるサービスの提供を受けるための第2証明書を抽出する抽出手段と、前記リクエストを前記第2証明書とともに前記サーバーに送信する送信手段を有する情報処理装置である。
The gist of the present invention for achieving such an object lies in the inventions of the following items.
The invention of claim 1 is a detection means for detecting a request to an external server transmitted from a terminal in the base, and a service by the server by decrypting a first certificate attached to the request. It is an information processing apparatus having an extraction means for extracting a second certificate for receiving the provision of the above, and a transmission means for transmitting the request together with the second certificate to the server.

請求項2の発明は、前記第2証明書を暗号化して第1証明書を生成する生成手段と、前記第1証明書を前記端末に送信する第2送信手段をさらに有する請求項1に記載の情報処理装置である。 The invention of claim 2 is described in claim 1, further comprising a generation means for encrypting the second certificate to generate a first certificate, and a second transmission means for transmitting the first certificate to the terminal. Information processing device.

請求項3の発明は、前記生成手段は、本情報処理装置の秘密鍵で暗号化を行う、請求項2に記載の情報処理装置である。 The invention according to claim 3 is the information processing device according to claim 2, wherein the generation means encrypts with the private key of the information processing device.

請求項4の発明は、前記抽出手段は、本情報処理装置の公開鍵を用いて復号を行い、本情報処理装置が暗号化した第1証明書であることを検証し、前記送信手段は、前記検証が失敗した場合は、前記サーバーへの送信を行わない、請求項3に記載の情報処理装置である。 In the invention of claim 4, the extraction means decrypts using the public key of the information processing device, verifies that the first certificate is encrypted by the information processing device, and the transmission means is a transmission means. The information processing apparatus according to claim 3, which does not transmit to the server when the verification fails.

請求項5の発明は、前記生成手段は、前記端末を一意に識別する情報である識別情報を含めて前記第1証明書を生成し、前記抽出手段は、前記第1証明書から前記識別情報を抽出し、該識別情報が前記リクエストを送信した端末の識別情報であるか否かを検証する、請求項4に記載の情報処理装置である。 In the invention of claim 5, the generation means generates the first certificate including identification information which is information uniquely identifying the terminal, and the extraction means obtains the identification information from the first certificate. The information processing apparatus according to claim 4, wherein the information processing device is extracted and the identification information is verified whether or not the identification information is the identification information of the terminal that has transmitted the request.

請求項6の発明は、前記抽出手段は、前記第1証明書を復号して、複数の第2証明書を抽出し、前記送信手段は、前記サーバーに対応する第2証明書を選択して、前記リクエストを該第2証明書とともに該サーバーに送信する、請求項1に記載の情報処理装置である。 In the invention of claim 6, the extraction means decrypts the first certificate and extracts a plurality of second certificates, and the transmission means selects the second certificate corresponding to the server. The information processing apparatus according to claim 1, wherein the request is transmitted to the server together with the second certificate.

請求項7の発明は、前記端末に対して、前記複数の第2証明書を含めて暗号化して第1証明書を生成する生成手段と、前記第1証明書を前記端末に送信する第2送信手段をさらに有する請求項6に記載の情報処理装置である。 The invention of claim 7 is a generation means for generating a first certificate by encrypting the terminal including the plurality of second certificates, and a second method of transmitting the first certificate to the terminal. The information processing apparatus according to claim 6, further comprising a transmission means.

請求項8の発明は、サーバーによるサービスの提供を受けることができるユーザーを該サーバーに対応付けて記憶する記憶手段をさらに有し、前記抽出手段は、前記リクエストを送信するユーザーが、送信先のサーバーに対応して前記記憶手段に記憶されたユーザーであることを検証し、前記送信手段は、前記検証が失敗した場合は、前記サーバーへの送信を行わない、請求項1に記載の情報処理装置である。 The invention of claim 8 further includes a storage means for storing a user who can receive the service provided by the server in association with the server, and the extraction means is such that the user who sends the request is the destination. The information processing according to claim 1, wherein the user is verified to be a user stored in the storage means corresponding to the server, and the transmission means does not transmit to the server when the verification fails. It is a device.

請求項9の発明は、コンピュータを、拠点内にある端末から送信された、外部にあるサーバーへのリクエストを検出する検出手段と、前記リクエストに添付された第1証明書を復号して、前記サーバーによるサービスの提供を受けるための第2証明書を抽出する抽出手段と、前記リクエストを前記第2証明書とともに前記サーバーに送信する送信手段として機能させるための情報処理プログラムである。 The invention of claim 9 describes the computer by decrypting a detection means for detecting a request to an external server transmitted from a terminal in the base and a first certificate attached to the request. It is an extraction means for extracting a second certificate for receiving the service provided by the server, and an information processing program for functioning as a transmission means for transmitting the request together with the second certificate to the server.

請求項1の情報処理装置によれば、端末がサーバーを利用する場合に、拠点内にある端末だけがサーバーを利用できるように限定することができる。 According to the information processing device of claim 1, when a terminal uses a server, it can be limited so that only the terminal in the base can use the server.

請求項2の情報処理装置によれば、第2証明書を暗号化して生成した第1証明書を端末に送信することができる。 According to the information processing apparatus of claim 2, the first certificate generated by encrypting the second certificate can be transmitted to the terminal.

請求項3の情報処理装置によれば、本情報処理装置の秘密鍵を用いて第1証明書を生成することができる。 According to the information processing device of claim 3, the first certificate can be generated by using the private key of the information processing device.

請求項4の情報処理装置によれば、第1証明書の検証が失敗した場合は、サーバーへの送信を行わないようにすることができる。 According to the information processing apparatus of claim 4, when the verification of the first certificate fails, the transmission to the server can be prevented.

請求項5の情報処理装置によれば、第1証明書をコピーして他の端末からサーバーを利用しようとする不正アクセスを防止することができるようになる。 According to the information processing apparatus of claim 5, it is possible to copy the first certificate and prevent unauthorized access to use the server from another terminal.

請求項6の情報処理装置によれば、第1証明書に複数の第2証明書を含めた場合、リクエストとサーバーに対応する第2証明書を送信することができる。 According to the information processing apparatus of claim 6, when a plurality of second certificates are included in the first certificate, the second certificate corresponding to the request and the server can be transmitted.

請求項7の情報処理装置によれば、複数の第2証明書を含めた第1証明書を端末に送信することができる。 According to the information processing apparatus of claim 7, a first certificate including a plurality of second certificates can be transmitted to the terminal.

請求項8の情報処理装置によれば、サーバーによるサービスの提供を受けることができないユーザーである場合には、サーバーへの送信を行わないようにすることができる。 According to the information processing device of claim 8, if the user cannot receive the service provided by the server, the transmission to the server can be prevented.

請求項9の情報処理プログラムによれば、端末がサーバーを利用する場合に、拠点内にある端末だけがサーバーを利用できるように限定することができる。 According to the information processing program of claim 9, when the terminal uses the server, it can be limited so that only the terminal in the base can use the server.

本実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module configuration diagram about the configuration example of this embodiment.本実施の形態を利用したシステム構成例を示す説明図である。It is explanatory drawing which shows the system configuration example using this embodiment.本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the processing example by this embodiment.クライアント証明書管理テーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the data structure example of the client certificate management table.ユーザー・端末管理テーブルのデータ構造例を示す説明図である。It is explanatory drawing which shows the data structure example of the user / terminal management table.本実施の形態による処理例を示すフローチャートである。It is a flowchart which shows the processing example by this embodiment.本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware configuration example of the computer which realizes this embodiment.

以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図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の略)内のレジスタ等を含んでいてもよい。
Hereinafter, an example of a preferred embodiment for realizing the present invention will be described with reference to the drawings.
FIG. 1 shows a conceptual module configuration diagram for a configuration example of the present embodiment.
The module generally refers to parts such as software (including a computer program as an interpretation of "software") and hardware that are logically separable. Therefore, the module in this embodiment refers not only to the module in the computer program but also to the module in the hardware configuration. Therefore, in this embodiment, a computer program for functioning as those modules (for example, a program for causing the computer to perform each procedure, a program for causing the computer to function as each means, and a computer for each of them. It also serves as an explanation of the program), system, and method for realizing the functions of. However, for convenience of explanation, "remember", "remember", and equivalent words are used, but these words are stored in a storage device or stored when the embodiment is a computer program. It means that it is controlled so that it is stored in the device. Further, the modules may have a one-to-one correspondence with the functions, but in mounting, one module may be configured by one program, a plurality of modules may be configured by one program, and conversely, one module may be configured. May be composed of a plurality of programs. Further, the plurality of modules may be executed by one computer, or one module may be executed by a plurality of computers by a computer in a distributed or parallel environment. It should be noted that one module may include another module. In addition, hereinafter, "connection" is used not only for physical connection but also for logical connection (for example, data transfer, instruction, reference relationship between data, login, etc.). "Predetermined" means that it is determined before the target process, not only before the process according to the present embodiment starts, but also after the process according to the present embodiment starts. However, if it is before the target process, it is used with the intention that it is determined according to the situation / state at that time or according to the situation / state up to that point. When there are a plurality of "predetermined values", they may be different values, and values of 2 or more ("values of 2 or more" include, of course, all values). It may be the same. Further, the description "if A, do B" is used to mean "determine whether or not it is A, and if it is determined to be A, do B". However, this excludes cases where it is not necessary to determine whether or not it is A. Further, when a thing is listed such as "A, B, C", it is an example list unless otherwise specified, and includes a case where only one of them is selected (for example, only A).
In addition, a system or device is configured by connecting a plurality of computers, hardware, devices, etc. by communication means such as a network (the "network" includes a one-to-one correspondence communication connection), and one. It also includes cases where it is realized by computers, hardware, devices, and the like. "Device" and "system" are used as synonymous terms. Of course, the "system" does not include anything that is nothing more than a social "mechanism" (that is, a social system) that is an artificial arrangement.
In addition, for each process by each module or when multiple processes are performed in the module, the target information is read from the storage device, and after the processes are performed, the process results are written to the storage device. is there. Therefore, the description of reading from the storage device before processing and writing to the storage device after processing may be omitted. The storage device here includes a hard disk drive, a RAM (abbreviation of Random Access Memory), an external storage medium, a storage device via a communication line, a register in a CPU (abbreviation of Central Processing Unit), and the like. May be good.

本実施の形態である情報処理装置100は、通信における中継機能を有しており、図1の例に示すように、通信(A)モジュール105、検出モジュール110、抽出モジュール115、送信制御(B)モジュール120、生成モジュール125、記憶モジュール130、送信制御(A)モジュール135、通信(B)モジュール140を有している。
特に、情報処理装置100は、証明書に関する処理を行う。端末150が、外部のサーバー160によって提供されるサービスを利用するにあたって、情報処理装置100を経由した場合は、そのサービスを利用できるが、情報処理装置100を経由しない場合は、そのサービスを利用できないようにしたものである。例えば、クラウドサービス(サーバー160によるサービスの一例)を情報処理装置100を経ずに利用させることを禁止するものである。これによって、具体的には、拠点内190以外のところからのクラウドサービスの利用を防止することができるようになる。
The information processing device 100 according to the present embodiment has a relay function in communication, and as shown in the example of FIG. 1, the communication (A) module 105, the detection module 110, the extraction module 115, and the transmission control (B). ) Module 120, generation module 125, storage module 130, transmission control (A) module 135, communication (B) module 140.
In particular, the information processing device 100 performs processing related to the certificate. When the terminal 150 uses the service provided by the external server 160, the service can be used if it goes through the information processing device 100, but the service cannot be used if it does not go through the information processing device 100. It is something like that. For example, it is prohibited to use a cloud service (an example of a service by the server 160) without passing through the information processing device 100. As a result, specifically, it becomes possible to prevent the use of the cloud service from a place other than 190 in the base.

情報処理装置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が提供するサービスを利用できないようになっている。
The information processing device 100 relays communication between the terminal 150 in the base 190 and the server 160 outside. Therefore, in order for the terminal 150 to use the server 160 outside, it is necessary to pass through the information processing device 100. That is, the terminal 150 in the base 190 cannot be connected to the external server 160 without going through the information processing device 100.
The information processing device 100 and the terminal 150 are located in the base 190. Of course, there may be a plurality of terminals 150, and these terminals 150 may be communicably connected to the information processing device 100.
In such an environment, when the terminal 150 tries to use the service provided by the server 160, the information processing device 100 relays the request for using the service from the terminal 150 to the server 160. Further, when using the service, the server 160 verifies the certificate of the terminal 150. For example, the server 160 uses the CRL distribution server to verify the certificate of the terminal 150. If the certificate is valid, the service is used, but if the certificate is invalid, the service is not used. Invalidity is used as a concept including revocation. For example, a certificate is generally revoked due to incorrect issuance of the certificate, loss of the private key of the certificate, or the like.
Here, when the terminal 150 is portable, the terminal 150 itself can be used from other than the base 190. In that case, the terminal 150 makes the service provided by the server 160 unavailable at a place other than the base 190. That is, due to the processing of the information processing device 100, the terminal 150 cannot use the service provided by the server 160 without going through the information processing device 100.

サーバー160は、通信回線を介して情報処理装置100の通信(B)モジュール140と接続されている。サーバー160は、端末150からのリクエストに対してサービスを提供するサーバーであって、そのリクエストを受けた際に、リクエストを行った端末150の証明書を検証(認証という概念を含む)する。その端末150の証明書が有効であれば、端末150にサービスを提供する。その端末150の証明書が無効であれば、端末150にサービスを提供しない。例えば、サーバー160として、クラウドサービスサーバーが該当する。なお、サーバー160は、サービスを提供する一般的な装置であり、情報処理装置100に対応させた特別な装置、プログラム等を導入する必要はない。 The server 160 is connected to the communication (B) module 140 of the information processing apparatus 100 via a communication line. The server 160 is a server that provides a service in response to a request from the terminal 150, and when the request is received, the server 160 verifies (including the concept of authentication) the certificate of the terminal 150 that made the request. If the certificate of the terminal 150 is valid, the service is provided to the terminal 150. If the certificate of the terminal 150 is invalid, the service is not provided to the terminal 150. For example, the server 160 corresponds to a cloud service server. The server 160 is a general device that provides services, and it is not necessary to introduce a special device, program, or the like corresponding to the information processing device 100.

端末150は、通信回線を介して情報処理装置100の通信(A)モジュール105と接続されている。端末150は、拠点内190内にあり、情報処理装置100を介して、外部のサーバー160との通信を行う。特に、サーバー160が提供するサービスを利用するために、そのサービスを利用するためのリクエストと端末150の証明書を、情報処理装置100を介して、サーバー160に送信する。
また、端末150は、サーバー160を利用するための証明書を作成するためのリクエストを、情報処理装置100を介して外部(例えば、サーバー160等)に送信する。そして、情報処理装置100を介して証明書を受信する。ただし、後述するように、ここで受信する証明書(具体的には、第1証明書)は、外部で作成された証明書(具体的には、第2証明書)そのものではなく、情報処理装置100によって加工処理が施されている。
The terminal 150 is connected to the communication (A) module 105 of the information processing apparatus 100 via a communication line. The terminal 150 is located in the base 190 and communicates with the external server 160 via the information processing device 100. In particular, in order to use the service provided by the server 160, the request for using the service and the certificate of the terminal 150 are transmitted to the server 160 via the information processing device 100.
Further, the terminal 150 transmits a request for creating a certificate for using the server 160 to the outside (for example, the server 160 or the like) via the information processing device 100. Then, the certificate is received via the information processing device 100. However, as will be described later, the certificate received here (specifically, the first certificate) is not the externally created certificate (specifically, the second certificate) itself, but information processing. Processing is performed by the device 100.

第1証明書と第2証明書について説明する。
第2証明書は、サーバー160によるサービスの提供を受けるための証明書である。サーバー160によって、その第2証明書が検証される。一般的にクライアント証明書等と呼ばれており、以下、例示して説明する場合はクライアント証明書という。
第1証明書は、端末150が保持している証明書であって、第2証明書を内部に含む証明書である。例えば、第2証明書を暗号化したものであってもよい。以下、例示して説明する場合はローカル証明書という。
情報処理装置100は、端末150がサーバー160にアクセスするにあたって、端末150から第1証明書を受信して、その第1証明書から第2証明書を取り出して、その第2証明書をサーバー160に送信することを行う。
The first certificate and the second certificate will be described.
The second certificate is a certificate for receiving the service provided by the server 160. The second certificate is verified by the server 160. It is generally called a client certificate, etc., and is referred to as a client certificate in the following examples.
The first certificate is a certificate held by the terminal 150 and includes a second certificate inside. For example, the second certificate may be encrypted. Hereinafter, the example will be referred to as a local certificate.
When the terminal 150 accesses the server 160, the information processing apparatus 100 receives the first certificate from the terminal 150, takes out the second certificate from the first certificate, and uses the second certificate as the server 160. Do to send to.

以下、情報処理装置100内の各モジュールについて説明する。
通信(A)モジュール105は、検出モジュール110、送信制御(A)モジュール135と接続されており、また、通信回線を介して端末150と接続されている。通信(A)モジュール105は、端末150との通信を行う。例えば、通信(A)モジュール105は、端末150からサーバー160へのリクエストと第1証明書を受信する。ここでのリクエストは、サーバー160が提供しているサービスを利用するための要求である。その際に、端末150の証明書が必要であるので、リクエストとともに証明書を受信することになる。なお、リクエストと証明書の受信は、同時であってもよいし、時間差があってもよい。例えば、リクエストを受信した後に、証明書を受信するようになってもよい。
Hereinafter, each module in the information processing apparatus 100 will be described.
The communication (A) module 105 is connected to the detection module 110 and the transmission control (A) module 135, and is also connected to the terminal 150 via a communication line. Communication (A) Module 105 communicates with the terminal 150. For example, the communication (A) module 105 receives a request from the terminal 150 to the server 160 and the first certificate. The request here is a request for using the service provided by the server 160. At that time, since the certificate of the terminal 150 is required, the certificate is received together with the request. The request and the certificate may be received at the same time or may have a time lag. For example, after receiving the request, the certificate may be received.

検出モジュール110は、通信(A)モジュール105、抽出モジュール115、送信制御(B)モジュール120、生成モジュール125と接続されている。検出モジュール110は、拠点内190にある端末150から送信された、外部にあるサーバー160へのリクエストを検出する。このリクエストは、サーバー160が提供しているサービスを利用するための要求である。情報処理装置100は、拠点内190にある端末150と外部にあるサーバー160との通信を中継するので、その端末150からサーバー160にリクエストを送信する場合は、この情報処理装置100を経由しなければならないことになり、この情報処理装置100は、リクエストを検出することが可能である。 The detection module 110 is connected to the communication (A) module 105, the extraction module 115, the transmission control (B) module 120, and the generation module 125. The detection module 110 detects a request to the external server 160 sent from the terminal 150 in the base 190. This request is a request for using the service provided by the server 160. Since the information processing device 100 relays communication between the terminal 150 in the base 190 and the server 160 outside, when sending a request from the terminal 150 to the server 160, the information processing device 100 must be passed through. The information processing device 100 is capable of detecting the request.

抽出モジュール115は、検出モジュール110、送信制御(B)モジュール120、記憶モジュール130と接続されている。抽出モジュール115は、検出モジュール110によって検出されたリクエストに添付された第1証明書を復号して、サーバー160によるサービスの提供を受けるための第2証明書を抽出する。
また、抽出モジュール115は、本情報処理装置100の公開鍵を用いて復号を行い、本情報処理装置100が暗号化した第1証明書であることを検証してもよい。
The extraction module 115 is connected to the detection module 110, the transmission control (B) module 120, and the storage module 130. The extraction module 115 decrypts the first certificate attached to the request detected by the detection module 110 and extracts the second certificate for receiving the service provided by the server 160.
Further, the extraction module 115 may perform decryption using the public key of the information processing device 100 and verify that the information processing device 100 is the encrypted first certificate.

記憶モジュール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を制御する。
The storage module 130 is connected to the extraction module 115. The storage module 130 stores a user who can receive the service provided by the server 160 in association with the server 160.
In this case, the extraction module 115 may verify that the user who sends the request is the user stored in the storage module 130 corresponding to the destination server 160.
Then, the transmission control (B) module 120 may control the communication (B) module 140 so that the transmission to the server 160 is not performed when the verification by the extraction module 115 fails. Here, "when the verification fails" is a case where the user who sends the request is not the user stored in the storage module 130 corresponding to the destination server 160. Further, when the user who sends the request is the user stored in the storage module 130 corresponding to the destination server 160, the transmission control (B) module 120 makes the request from the terminal 150 the second certificate. The communication (B) module 140 is controlled so as to transmit to the server 160 together with.

送信制御(B)モジュール120は、検出モジュール110、抽出モジュール115、通信(B)モジュール140と接続されている。送信制御(B)モジュール120は、検出モジュール110によって検出されたリクエストを、抽出モジュール115によって抽出された第2証明書とともにサーバー160に送信するように、通信(B)モジュール140を制御する。
また、送信制御(B)モジュール120は、抽出モジュール115による検証が失敗した場合は、サーバー160への送信を行わないように制御してもよい。
ここで「検証が失敗した場合」とは、本情報処理装置100(生成モジュール125)が暗号化した第1証明書ではないと判断した場合である。
The transmission control (B) module 120 is connected to the detection module 110, the extraction module 115, and the communication (B) module 140. The transmission control (B) module 120 controls the communication (B) module 140 so that the request detected by the detection module 110 is transmitted to the server 160 together with the second certificate extracted by the extraction module 115.
Further, the transmission control (B) module 120 may be controlled so as not to perform transmission to the server 160 when the verification by the extraction module 115 fails.
Here, "when the verification fails" is a case where it is determined that the information processing apparatus 100 (generation module 125) is not the encrypted first certificate.

生成モジュール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のサービスを利用するためのリクエストである。
The generation module 125 is connected to the detection module 110, the transmission control (A) module 135, and the communication (B) module 140. The generation module 125 encrypts the second certificate to generate the first certificate. For example, the generation module 125 may perform encryption with the private key of the information processing device 100. In addition, the first certificate may be generated by using an encryption method other than the public key encryption method.
In this case, the detection module 110 detects a request sent by the terminal 150 to create a certificate for using the server 160. Then, when the communication (B) module 140 receives the reply accompanied by the certificate (specifically, the second certificate), the generation module 125 performs processing.
Further, the generation module 125 may generate the first certificate including the identification information which is the information uniquely identifying the terminal 150.
In this case, the extraction module 115 may extract the identification information from the first certificate and verify whether or not the identification information is the identification information of the terminal 150 that sent the request. The target request here is a request for using the service of the server 160.

送信制御(A)モジュール135は、通信(A)モジュール105、生成モジュール125と接続されている。送信制御(A)モジュール135は、生成モジュール125によって生成された第1証明書を端末150に送信するように、通信(A)モジュール105を制御する。 The transmission control (A) module 135 is connected to the communication (A) module 105 and the generation module 125. The transmission control (A) module 135 controls the communication (A) module 105 so as to transmit the first certificate generated by the generation module 125 to the terminal 150.

通信(B)モジュール140は、送信制御(B)モジュール120、生成モジュール125と接続されており、また、通信回線を介してサーバー160と接続されている。通信(B)モジュール140は、サーバー160との通信を行う。例えば、通信(B)モジュール140は、送信制御(B)モジュール120の指示にしたがって、端末150からサーバー160へのリクエストと第2証明書を送信する。また、通信(B)モジュール140は、外部から送信されてきた第2証明書を受信して、その第2証明書を生成モジュール125に渡す。 The communication (B) module 140 is connected to the transmission control (B) module 120 and the generation module 125, and is also connected to the server 160 via a communication line. Communication (B) Module 140 communicates with the server 160. For example, the communication (B) module 140 transmits a request from the terminal 150 to the server 160 and a second certificate according to the instruction of the transmission control (B) module 120. Further, the communication (B) module 140 receives the second certificate transmitted from the outside and passes the second certificate to the generation module 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を制御してもよい。
The terminal 150 may be able to use a plurality of servers 160. Of course, for that purpose, a certificate for using each server 160 is required. That is, it is necessary to manage a plurality of certificates on the terminal 150. It is difficult for the user of the terminal 150 to manage which certificate is applied to which server 160. Therefore, a plurality of second certificates may be combined to generate one first certificate.
In such a case, the extraction module 115 may decrypt the first certificate and extract a plurality of second certificates.
Then, the transmission control (B) module 120 controls the communication (B) module 140 so as to select the second certificate corresponding to the server 160 and transmit the request to the server 160 together with the second certificate. You may. The selection here may be made by selecting the certificate corresponding to the server 160 to which the terminal 150 has sent the request for using the service.
The generation module 125 may encrypt the terminal 150 including a plurality of second certificates to generate the first certificate. For example, each time the terminal 150 acquires the second certificate, the second certificate may be stored and the first certificate may be generated including the past second certificate.
Then, the communication (A) module 105 may be controlled so that the first certificate generated by the generation module 125 is transmitted to the terminal 150.

図2は、本実施の形態を利用したシステム構成例を示す説明図である。
ここでの情報処理装置100は、ゲートウェイ装置の機能を有している。
サーバー160として、クラウドサービスサーバーを例として説明する。
拠点内190には、例えば、情報処理装置100、端末150A、端末150Bが存在する。そして、情報処理装置100、端末150A、端末150Bは、拠点内190内の通信回線を介してそれぞれ接続されている。
情報処理装置100とサーバー160は、通信回線290を介して接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット等であってもよい。
FIG. 2 is an explanatory diagram showing an example of a system configuration using the present embodiment.
The information processing device 100 here has the function of a gateway device.
As the server 160, a cloud service server will be described as an example.
The information processing device 100, the terminal 150A, and the terminal 150B are present in the base 190, for example. The information processing device 100, the terminal 150A, and the terminal 150B are connected to each other via a communication line in the base 190.
The information processing device 100 and the server 160 are connected to each other via a communication line 290. The communication line 290 may be wireless, wired, or a combination thereof, and may be, for example, the Internet as a communication infrastructure.

企業が外部のクラウドサービスを利用する場合、企業が利用を管理、監視できない企業の拠点外からの利用を制限したい場合がある。しかし、クライアント証明書を利用した認証を行うクラウドサービスでは利用場所とは無関係に、クライアント証明書は有効なため、企業の拠点外から利用可能となってしまう。
本実施の形態は、企業がクライアント証明書を利用したクライアント認証を行う場合に、拠点外からのクラウドサービス利用の制限を可能とする。
When a company uses an external cloud service, it may want to restrict the use from outside the company's base where the company cannot manage and monitor the use. However, in a cloud service that authenticates using a client certificate, the client certificate is valid regardless of the place of use, so it can be used from outside the company's base.
This embodiment makes it possible to restrict the use of cloud services from outside the base when a company authenticates a client using a client certificate.

例えば、図2に示すように、端末150Aが携帯情報端末である場合は、拠点内190での利用だけでなく、拠点内190以外の場所からも利用することができる。情報処理装置100は、端末150A、端末150Bが拠点内190にある場合は、その端末150A、端末150Bは、サーバー160が提供するクラウドサービスを利用できるようにし、端末150Aが持ち出されて、拠点内190ではない場所で、サーバー160が提供するクラウドサービスを利用しようとした場合には、利用できないようにしている。 For example, as shown in FIG. 2, when the terminal 150A is a mobile information terminal, it can be used not only at the base 190 but also from a place other than the base 190. When the terminal 150A and the terminal 150B are located in the base 190, the information processing device 100 enables the terminal 150A and the terminal 150B to use the cloud service provided by the server 160, and the terminal 150A is taken out and inside the base. If you try to use the cloud service provided by the server 160 in a place other than 190, you cannot use it.

そのために、サーバー160を利用するためのクライアント証明書を情報処理装置100が発行するローカル証明書に埋め込み、そのローカル証明書を端末150が保持する。そして、端末150がサーバー160の利用をしたい場合、情報処理装置100でローカル証明書を復号してサーバー160のクライアント証明書を取り出してサーバー160の利用ができるようにする。
つまり、端末150が保持しているローカル証明書は、情報処理装置100を経由すると、クライアント証明書に変更される。つまり、サーバー160は、クライアント証明書を受け取ることになる。サーバー160にとっては、そのクライアント証明書を検証して、端末150にサービスを提供するか否かを判断する。一方、拠点内190以外のところから情報処理装置100を経由せずに、端末150がローカル証明書をサーバー160に送信した場合、サーバー160は、そのローカル証明書を検証することになるが、クライアント証明書ではないので、もちろんのことながら、検証失敗となり、サーバー160によるサービスの提供を受けることはできない。
Therefore, the client certificate for using the server 160 is embedded in the local certificate issued by the information processing apparatus 100, and the terminal 150 holds the local certificate. Then, when the terminal 150 wants to use the server 160, the information processing apparatus 100 decrypts the local certificate and takes out the client certificate of the server 160 so that the server 160 can be used.
That is, the local certificate held by the terminal 150 is changed to the client certificate via the information processing device 100. That is, the server 160 will receive the client certificate. For the server 160, the client certificate is verified to determine whether or not to provide the service to the terminal 150. On the other hand, when the terminal 150 sends the local certificate to the server 160 from a place other than the base 190 without going through the information processing device 100, the server 160 verifies the local certificate, but the client Since it is not a certificate, of course, verification fails and the service cannot be provided by the server 160.

また、クライアント証明書を要求するサーバー160を利用するために、クライアント証明書を各端末150のユーザーに配布すると、クライアント証明書の紛失、そのユーザーの退社等でクライアント証明書が失効すると、そのたびにCA局に新しいクライアント証明書の発行を依頼する必要があり、煩雑であると共に対応が遅くなり、不正利用のリスクが高まる。
本実施の形態は、クライアント証明書のユーザーが証明書を紛失、退社等した場合にも、情報処理装置100で、クライアント証明書の再発行を可能とするものである。
クライアント証明書を情報処理装置100の秘密鍵で暗号化し、情報処理装置100でユーザー(又は端末150)ごとに発行するローカル証明書に埋め込み、ユーザーに配布する。
サーバー160の利用時には、端末150は配布されたローカル証明書をサーバー160に送付しようとするが、このとき情報処理装置100でリクエストとともに送信されたローカル証明書の検証と、そのローカル証明書に埋め込まれたクライアント証明書の復号を行い、リクエストとそのクライアント証明書をサーバー160に送付する。
そして、ユーザーのローカル証明書が紛失したりした場合は情報処理装置100で保持する証明書失効リストに紛失したローカル証明書を記録するとともに、ユーザーに新たなローカル証明書を発行する。このようにすることで、端末150は、情報処理装置100で発行された有効なローカル証明書を持っている場合のみ、サーバー160におけるサービスを利用可能となる。
Also, if the client certificate is distributed to users of each terminal 150 in order to use the server 160 that requests the client certificate, each time the client certificate expires due to loss of the client certificate, leaving the user, etc. It is necessary to request the CA station to issue a new client certificate, which is complicated and slows down the response, increasing the risk of unauthorized use.
In this embodiment, even if the user of the client certificate loses the certificate or leaves the office, the information processing apparatus 100 enables the client certificate to be reissued.
The client certificate is encrypted with the private key of the information processing device 100, embedded in a local certificate issued by the information processing device 100 for each user (or terminal 150), and distributed to the users.
When the server 160 is used, the terminal 150 tries to send the distributed local certificate to the server 160. At this time, the local certificate sent together with the request by the information processing apparatus 100 is verified and embedded in the local certificate. The client certificate is decrypted, and the request and the client certificate are sent to the server 160.
Then, when the user's local certificate is lost, the lost local certificate is recorded in the certificate revocation list held by the information processing apparatus 100, and a new local certificate is issued to the user. By doing so, the terminal 150 can use the service on the server 160 only when it has a valid local certificate issued by the information processing apparatus 100.

図3は、本実施の形態による処理例を示すフローチャートである。クライアント証明書からローカル証明書を生成する処理例を示すものである。なお、図3の例では、クライアント証明書を作成することをサーバー160が行っているが、他の装置で行うようにしてもよい。例えば、認証局の機能を有する装置であってもよい。
ステップS302では、端末150は、情報処理装置100に対して、クライアント証明書作成リクエストを送信する。
ステップS304では、情報処理装置100は、クライアント証明書の作成可否を判定する。例えば、サービスとそのサービスを利用可能な端末150(ユーザー)を対応させて記憶しているテーブルを利用して、リクエストを送信した端末150は、送信先であるサーバー160のサービスを利用できるか否かを判定する。クライアント証明書の作成可と判定された場合は、ステップS306に進み、クライアント証明書の作成不可と判定された場合は、端末150にその旨を通知し、ステップS306以降の処理は行わない。
FIG. 3 is a flowchart showing a processing example according to the present embodiment. This is an example of processing to generate a local certificate from a client certificate. In the example of FIG. 3, the server 160 creates the client certificate, but it may be created by another device. For example, it may be a device having a function of a certificate authority.
In step S302, the terminal 150 transmits a client certificate creation request to the information processing device 100.
In step S304, the information processing apparatus 100 determines whether or not the client certificate can be created. For example, whether or not the terminal 150 that has transmitted the request can use the service of the server 160 that is the destination by using the table that stores the service and the terminal 150 (user) that can use the service in association with each other. Is determined. If it is determined that the client certificate can be created, the process proceeds to step S306. If it is determined that the client certificate cannot be created, the terminal 150 is notified to that effect, and the processing after step S306 is not performed.

ステップS306では、情報処理装置100は、サーバー160に対して、クライアント証明書作成リクエストを送信する。
ステップS308では、サーバー160は、クライアント証明書作成リクエストに応じて、クライアント証明書350を作成する。
ステップS310では、サーバー160は、情報処理装置100に対して、クライアント証明書350を送信する。
In step S306, the information processing apparatus 100 transmits a client certificate creation request to the server 160.
In step S308, the server 160 creates the client certificate 350 in response to the client certificate creation request.
In step S310, the server 160 transmits the client certificate 350 to the information processing device 100.

ステップ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を記憶している。 In step S312, the information processing apparatus 100 creates a local certificate 360. Specifically, the client certificate 350 is encrypted with the private key of the information processing device 100 to create the local certificate 360. That is, the local certificate 360 includes the client certificate 350. At that time, the client certificate management table 400 may be created. FIG. 4 is an explanatory diagram showing an example of a data structure of the client certificate management table 400. The client certificate management table 400 has a user ID column 410, a server column 420, and a client certificate column 430. In the present embodiment, the user ID column 410 stores information for uniquely identifying a user (specifically, a user ID: an abbreviation for IDentification). The server column 420 stores the server 160. The client certificate field 430 stores the client certificate 350 for using the server 160.

なお、ユーザーと端末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を送信する。
The correspondence between the user and the terminal 150 is managed by the user / terminal management table 500. FIG. 5 is an explanatory diagram showing an example of a data structure of the user / terminal management table 500. The user / terminal management table 500 has a user ID field 510 and a MAC address field 520. The user ID column 510 stores the user ID. The MAC address field 520 stores the MAC address, which is an example of information that uniquely identifies the terminal 150 used by the user with the user ID.
Further, information (MAC address or the like) that uniquely identifies the terminal 150 may be embedded in the local certificate 360 generated in step S312. Then, when relaying by the information processing apparatus 100 (specifically, in step S604 of FIG. 6 described later), the local certificate is obtained from the terminal 150 of the information that uniquely identifies the terminal 150 included in the local certificate 360. By checking that the document 360 has been sent, it is possible to prevent unauthorized access using the local certificate 360 copied between the terminals 150.
In step S314, the information processing apparatus 100 transmits the local certificate 360 to the terminal 150.

なお、端末150が、複数回のステップS308を行った場合、クライアント証明書管理テーブル400を利用して、過去のクライアント証明書350(つまり、複数のクライアント証明書350)を含めて、ローカル証明書360を作成してもよい。 When the terminal 150 performs the step S308 a plurality of times, the client certificate management table 400 is used to include the past client certificate 350 (that is, the plurality of client certificates 350) as a local certificate. 360 may be created.

図6は、本実施の形態による処理例を示すフローチャートである。端末150がサーバー160が提供しているサービスを利用する処理例を示すものである。
ステップS602では、端末150は、情報処理装置100に対して、サーバーリクエストとローカル証明書360を送信する。このローカル証明書360は、クライアント証明書350を内包している。なお、端末150では、ローカル証明書360を一般的なクライアント証明書として、ステップS602の処理を行っている。したがって、端末150では、クライアント証明書を用いたサービス利用をリクエストできる一般的なクライアントプログラム(例えば、ブラウザ)を利用することができる。
FIG. 6 is a flowchart showing a processing example according to the present embodiment. The processing example in which the terminal 150 uses the service provided by the server 160 is shown.
In step S602, the terminal 150 transmits the server request and the local certificate 360 to the information processing apparatus 100. The local certificate 360 includes a client certificate 350. In the terminal 150, the process of step S602 is performed using the local certificate 360 as a general client certificate. Therefore, in the terminal 150, a general client program (for example, a browser) that can request the use of the service using the client certificate can be used.

ステップS604では、情報処理装置100は、ローカル証明書360を検証する。例えば、ローカル証明書360を、情報処理装置100の公開鍵で復号し、クライアント証明書350が取り出せた場合は検証成功とし、クライアント証明書350が取り出せなかった場合は検証失敗とする。検証成功の場合は、ステップS606に進み、検証失敗の場合は、端末150にその旨を通知し、ステップS606以降の処理は行わない。検証の際に、例えば、クライアント証明書管理テーブル400を用いて、取り出したクライアント証明書350は、ローカル証明書360が作成された際のクライアント証明書350であるか否かを判定すればよい。 In step S604, the information processing apparatus 100 verifies the local certificate 360. For example, the local certificate 360 is decrypted with the public key of the information processing device 100, and if the client certificate 350 can be retrieved, the verification is successful, and if the client certificate 350 cannot be retrieved, the verification fails. If the verification is successful, the process proceeds to step S606, and if the verification is unsuccessful, the terminal 150 is notified to that effect, and the processing after step S606 is not performed. At the time of verification, for example, the client certificate management table 400 may be used to determine whether or not the retrieved client certificate 350 is the client certificate 350 when the local certificate 360 was created.

ステップS606では、情報処理装置100は、ローカル証明書360からクライアント証明書350を復号する。
ステップS608では、情報処理装置100は、サーバー160に対して、サーバーリクエストとクライアント証明書350を送信する。ローカル証明書360を復号して複数のクライアント証明書350があった場合は、リクエスト元の端末150とリクエスト先のサーバー160とに対応するクライアント証明書350を選択して、そのクライアント証明書350をサーバー160に送信する。この選択の際に、クライアント証明書管理テーブル400、ユーザー・端末管理テーブル500を用いればよい。ユーザー・端末管理テーブル500を用いて、リクエスト元の端末150からユーザーIDを抽出する。そして、クライアント証明書管理テーブル400を用いて、そのユーザーIDと送信先のサーバー160との組み合わせに該当するクライアント証明書350であるか否かを判定すればよい。
In step S606, the information processing apparatus 100 decrypts the client certificate 350 from the local certificate 360.
In step S608, the information processing apparatus 100 transmits the server request and the client certificate 350 to the server 160. If the local certificate 360 is decrypted and there are multiple client certificates 350, the client certificate 350 corresponding to the request source terminal 150 and the request destination server 160 is selected, and the client certificate 350 is used. Send to server 160. At the time of this selection, the client certificate management table 400 and the user / terminal management table 500 may be used. The user ID is extracted from the request source terminal 150 by using the user / terminal management table 500. Then, the client certificate management table 400 may be used to determine whether or not the client certificate 350 corresponds to the combination of the user ID and the destination server 160.

ステップS610では、サーバー160は、クライアント証明書350を検証する。検証成功の場合は、ステップS612に進み、その端末150の指示にしたがってサービスを利用させる。検証失敗の場合は、端末150にその旨を通知し、その端末150によるサービスの利用は拒否する。
ステップS612では、サーバー160は、端末150に対して、サービス利用可と応答する。
In step S610, the server 160 verifies the client certificate 350. If the verification is successful, the process proceeds to step S612, and the service is used according to the instruction of the terminal 150. If the verification fails, the terminal 150 is notified to that effect, and the use of the service by the terminal 150 is refused.
In step S612, the server 160 responds to the terminal 150 that the service is available.

なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図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により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。 As illustrated in FIG. 7, the hardware configuration of the computer on which the program as the present embodiment is executed is a general computer, specifically, a personal computer, a computer that can be a server, and the like. That is, as a specific example, the CPU 701 is used as the processing unit (calculation unit), and the RAM 702, ROM 703, and HDD 704 are used as the storage device. As the HDD 704, for example, an HDD (abbreviation for Hard Disk Drive), an SSD (abbreviation for Solid State Drive) which is a flash memory, or the like may be used. A CPU 701 that executes programs such as communication (A) module 105, detection module 110, extraction module 115, transmission control (B) module 120, generation module 125, transmission control (A) module 135, and communication (B) module 140. A RAM 702 that stores the program and data, a ROM 703 that stores a program for starting the computer, an HDD 704 that is an auxiliary storage device that functions as a storage module 130, etc., a keyboard, a mouse, and a touch screen. , A reception device 706 that accepts data based on user operations (including movement, voice, line of sight, etc.) with respect to a microphone, camera (including line-of-sight detection camera, etc.), and output of a liquid crystal display, organic EL display, speaker, etc. It is composed of a device 705, a communication line interface 707 for connecting to a communication network such as a network interface card, and a bus 708 for connecting them to exchange data. A plurality of these computers may be connected to each other by a network.

前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図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つ以上の機能を有している画像処理装置)等に組み込まれていてもよい。
Among the above-described embodiments, in the case of a computer program, the system of the present hardware configuration is made to read the computer program which is software, and the software and the hardware resources cooperate with each other to carry out the above-described embodiment. Is realized.
The hardware configuration shown in FIG. 7 shows one configuration example, and the present embodiment is not limited to the configuration shown in FIG. 7, and the module described in the present embodiment can be executed. All you need is. For example, as a processor, a GPU (abbreviation of Graphics Processing Unit, including GPGPU (abbreviation of General-Purpose computing on Graphics Processing Units)) may be used, or some modules may be used with dedicated hardware (for example, for a specific application). It is composed of an integrated circuit (specific example, there is an ASIC (abbreviation of Application Special Integrated System), etc.) and a reconfigurable integrated circuit (specific example, there is an FPGA (abbreviation of Field-Programmable Gate Array), etc.). In some cases, some modules may be in an external system and connected by a communication line, or a plurality of systems shown in FIG. 7 may be connected to each other by a communication line so as to cooperate with each other. In addition to personal computers, mobile information and communication devices (including mobile phones, smartphones, mobile devices, wearable computers, etc.), home information appliances, robots, copying machines, fax machines, scanners, printers, compound machines (scanners, printers, etc.) , A copying machine, an image processing device having any two or more functions such as a fax) and the like.

なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(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)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
The described program may be stored in a recording medium and provided, or the program may be provided by a communication means. In that case, for example, the program described above may be regarded as an invention of "a computer-readable recording medium on which the program is recorded".
The "computer-readable recording medium on which a program is recorded" means a computer-readable recording medium on which a program is recorded, which is used for program installation, execution, program distribution, and the like.
The recording medium is, for example, a digital versatile disc (DVD), which is a standard established by the DVD Forum, "DVD-R, DVD-RW, DVD-RAM, etc.", and DVD + RW. Standards such as "DVD + R, DVD + RW, etc.", compact discs (CDs), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), etc., Blu-ray discs (CD-RW) Blu-ray (registered trademark) Disc), optical magnetic disk (MO), flexible disk (FD), magnetic tape, hard disk, read-only memory (ROM), electrically erasable and rewritable read-only memory (EEPROM (registered trademark)) )), Flash memory, random access memory (RAM), SD (abbreviation of Secure Digital) memory card and the like.
Then, the whole or a part of the program may be recorded on the recording medium and stored, distributed, or the like. Further, by communication, for example, a wired network used for a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), the Internet, an intranet, an extranet, or wireless communication. It may be transmitted using a transmission medium such as a network or a combination thereof, or may be carried on a carrier.
Further, the program may be a part or all of other programs, or may be recorded on a recording medium together with a separate program. Further, the recording may be divided into a plurality of recording media. Further, it may be recorded in any mode as long as it can be restored, such as compression and encryption.

100…情報処理装置
105…通信(A)モジュール
110…検出モジュール
115…抽出モジュール
120…送信制御(B)モジュール
125…生成モジュール
130…記憶モジュール
135…送信制御(A)モジュール
140…通信(B)モジュール
150…端末
160…サーバー
190…拠点内
290…通信回線
100 ... Information processing device 105 ... Communication (A) module 110 ... Detection module 115 ... Extraction module 120 ... Transmission control (B) module 125 ... Generation module 130 ... Storage module 135 ... Transmission control (A) module 140 ... Communication (B) Module 150 ... Terminal 160 ... Server 190 ... In-base 290 ... Communication line

Claims (9)

Translated fromJapanese
拠点内にある端末から送信された、外部にあるサーバーへのリクエストを検出する検出手段と、
前記リクエストに添付された第1証明書を復号して、前記サーバーによるサービスの提供を受けるための第2証明書を抽出する抽出手段と、
前記リクエストを前記第2証明書とともに前記サーバーに送信する送信手段
を有する情報処理装置。
A detection means that detects requests to external servers sent from terminals in the base,
An extraction means for decrypting the first certificate attached to the request and extracting the second certificate for receiving the service provided by the server.
An information processing device having a transmission means for transmitting the request together with the second certificate to the server.
前記第2証明書を暗号化して第1証明書を生成する生成手段と、
前記第1証明書を前記端末に送信する第2送信手段
をさらに有する請求項1に記載の情報処理装置。
A generation means for encrypting the second certificate and generating the first certificate,
The information processing apparatus according to claim 1, further comprising a second transmission means for transmitting the first certificate to the terminal.
前記生成手段は、本情報処理装置の秘密鍵で暗号化を行う、
請求項2に記載の情報処理装置。
The generation means encrypts with the private key of the information processing apparatus.
The information processing device according to claim 2.
前記抽出手段は、本情報処理装置の公開鍵を用いて復号を行い、本情報処理装置が暗号化した第1証明書であることを検証し、
前記送信手段は、前記検証が失敗した場合は、前記サーバーへの送信を行わない、
請求項3に記載の情報処理装置。
The extraction means decrypts the information using the public key of the information processing device, verifies that the information processing device is the encrypted first certificate, and then verifies that the extraction means is the first certificate.
If the verification fails, the transmitting means does not transmit to the server.
The information processing device according to claim 3.
前記生成手段は、前記端末を一意に識別する情報である識別情報を含めて前記第1証明書を生成し、
前記抽出手段は、前記第1証明書から前記識別情報を抽出し、該識別情報が前記リクエストを送信した端末の識別情報であるか否かを検証する、
請求項4に記載の情報処理装置。
The generation means generates the first certificate including identification information which is information that uniquely identifies the terminal.
The extraction means extracts the identification information from the first certificate and verifies whether or not the identification information is the identification information of the terminal that transmitted the request.
The information processing device according to claim 4.
前記抽出手段は、前記第1証明書を復号して、複数の第2証明書を抽出し、
前記送信手段は、前記サーバーに対応する第2証明書を選択して、前記リクエストを該第2証明書とともに該サーバーに送信する、
請求項1に記載の情報処理装置。
The extraction means decrypts the first certificate and extracts a plurality of second certificates.
The transmitting means selects a second certificate corresponding to the server and transmits the request together with the second certificate to the server.
The information processing device according to claim 1.
前記端末に対して、前記複数の第2証明書を含めて暗号化して第1証明書を生成する生成手段と、
前記第1証明書を前記端末に送信する第2送信手段
をさらに有する請求項6に記載の情報処理装置。
A generation means for generating a first certificate by encrypting the terminal including the plurality of second certificates.
The information processing apparatus according to claim 6, further comprising a second transmitting means for transmitting the first certificate to the terminal.
サーバーによるサービスの提供を受けることができるユーザーを該サーバーに対応付けて記憶する記憶手段
をさらに有し、
前記抽出手段は、前記リクエストを送信するユーザーが、送信先のサーバーに対応して前記記憶手段に記憶されたユーザーであることを検証し、
前記送信手段は、前記検証が失敗した場合は、前記サーバーへの送信を行わない、
請求項1に記載の情報処理装置。
It also has a storage means for storing users who can receive services provided by the server in association with the server.
The extraction means verifies that the user who sends the request is the user stored in the storage means corresponding to the destination server.
If the verification fails, the transmitting means does not transmit to the server.
The information processing device according to claim 1.
コンピュータを、
拠点内にある端末から送信された、外部にあるサーバーへのリクエストを検出する検出手段と、
前記リクエストに添付された第1証明書を復号して、前記サーバーによるサービスの提供を受けるための第2証明書を抽出する抽出手段と、
前記リクエストを前記第2証明書とともに前記サーバーに送信する送信手段
として機能させるための情報処理プログラム。
Computer,
A detection means that detects requests to external servers sent from terminals in the base,
An extraction means for decrypting the first certificate attached to the request and extracting the second certificate for receiving the service provided by the server.
An information processing program for functioning as a transmission means for transmitting the request together with the second certificate to the server.
JP2019131063A2019-07-162019-07-16Information processing apparatus and information processing programPendingJP2021016129A (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2019131063AJP2021016129A (en)2019-07-162019-07-16Information processing apparatus and information processing program

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2019131063AJP2021016129A (en)2019-07-162019-07-16Information processing apparatus and information processing program

Publications (1)

Publication NumberPublication Date
JP2021016129Atrue JP2021016129A (en)2021-02-12

Family

ID=74530723

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2019131063APendingJP2021016129A (en)2019-07-162019-07-16Information processing apparatus and information processing program

Country Status (1)

CountryLink
JP (1)JP2021016129A (en)

Similar Documents

PublicationPublication DateTitle
US10659454B2 (en)Service authorization using auxiliary device
JP6382272B2 (en) How to use one device to unlock another
US10025912B2 (en)Information processing system, reading apparatus, information processing apparatus, and information processing method
EP3195555B1 (en)Secure key management for roaming protected content
JP2015506153A (en) Method and system for distributed off-line logon using one-time password
CN109510802B (en)Authentication method, device and system
US9515827B2 (en)Key management device, communication device, communication system, and computer program product
JP7351873B2 (en) Information processing device, information processing method, and information processing program
JPWO2016035466A1 (en) COMMUNICATION SYSTEM, SERVER DEVICE PROGRAM AND RECORDING MEDIUM RECORDING THE SAME, COMMUNICATION DEVICE PROGRAM AND RECORDING MEDIUM RECORDING THE SAME, TERMINAL DEVICE PROGRAM AND RECORDING MEDIUM RECORDING THE SAME
JP6366883B2 (en) Attribute linkage device, transfer system, attribute linkage method, and attribute linkage program
CN107241341B (en)Access control method and device
JP2013058006A (en)Information processor and information processing program
CN115242395A (en)Data communication method, device, distributed system and storage medium
JP2019061324A (en)Information processing device and information processing program
KR20180024389A (en)Apparatus and method for key management
JP2021016129A (en)Information processing apparatus and information processing program
JP2006129143A (en) Secret information transmission / reception system and method, server device and program, and key information holding device
JP7298356B2 (en) Information processing device and information processing program
JP6179434B2 (en) Information processing apparatus, information processing system, and information processing program
JP2009122921A (en)Authentication information transmission system, remote access management device, authentication information relay method and authentication information relay program
JP2007060581A (en) Information management system and method
JP2016163198A (en)File management device, file management system, file management method, and file management program
JP6353412B2 (en) ID password authentication method, password management service system, information terminal, password management service device, user terminal, and program thereof
JP5631164B2 (en) Multi-cluster distributed processing control system, representative client terminal, multi-cluster distributed processing control method
JP5451615B2 (en) Data reproduction system, data reproduction device, data reproduction method and program

[8]ページ先頭

©2009-2025 Movatter.jp