JP6551176B2 - Authentication control method, authentication program, agent program, server device, and client device - Google Patents
Authentication control method, authentication program, agent program, server device, and client device Download PDFInfo
- Publication number
- JP6551176B2 JP6551176B2 JP2015220505A JP2015220505A JP6551176B2 JP 6551176 B2 JP6551176 B2 JP 6551176B2 JP 2015220505 A JP2015220505 A JP 2015220505A JP 2015220505 A JP2015220505 A JP 2015220505A JP 6551176 B2 JP6551176 B2 JP 6551176B2
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- client device
- communication protocol
- server
- authentication server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Description
本明細書は、認証制御方法、認証プログラム、エージェントプログラム、サーバ装置、及びクライアント装置に関する。 The present specification relates to an authentication control method, an authentication program, an agent program, a server device, and a client device.
Webブラウザがインストールされた情報処理端末(クライアント)は、Webブラウザを介して、ネットワーク上にあるWebサイトを閲覧することができる。閲覧の際にWebサーバがクライアントに認証を求めるように設定されている場合がある。Webサーバがクライアント(Webブラウザ)を認証する方法として、クライアント証明書を用いる方法がある。クライアント証明書とはクライアントを利用しているユーザの正当性を証明するための公開鍵を用いた電子証明書であり、クライアント−サーバ間の通信においてクライアント側が提示するものである。以下では、クライアント証明書を、単に「証明書」と称する。 An information processing terminal (client) with a web browser installed can browse web sites on the network via the web browser. The web server may be configured to require the client to authenticate when browsing. As a method for authenticating a client (Web browser) by a Web server, there is a method using a client certificate. The client certificate is an electronic certificate that uses a public key for proving the validity of a user who uses the client, and is presented by the client in communication between the client and the server. Hereinafter, the client certificate is simply referred to as "certificate".
クライアント−サーバ間の通信の一例として、SSLを利用してHTTP通信を行うWebサーバに対してクライアントがアクセスした際、SSLのプロトコルに従い、以下のようにクライアントの証明書認証が行われる。ここで、SSLはSecure Sockets Layerの略称であり、HTTPはHypertext Transfer Protocolの略称である。 As an example of communication between a client and a server, when a client accesses a Web server that performs HTTP communication using SSL, client certificate authentication is performed as follows according to the SSL protocol. Here, SSL is an abbreviation for Secure Sockets Layer, and HTTP is an abbreviation for Hypertext Transfer Protocol.
(i)クライアント(Webブラウザ)が、Webサーバへアクセスする。
(ii)Webサーバが、クライアントに対して証明書の提示を要求する。
(iii)クライアントは、認証に使用する証明書をWebサーバへ送信する。
(iv)Webサーバは、受信した証明書を検証し、認証可否を判断する。
(I) A client (Web browser) accesses a Web server.
(Ii) The Web server requests the client to present a certificate.
(Iii) The client transmits a certificate used for authentication to the Web server.
(Iv) The Web server verifies the received certificate and determines whether authentication is possible.
クライアントから送信された証明書を検証してクライアントの認証に成功した場合、Webサーバは、そのクライアントとの間のSSLのセションが有効な間は、そのクライアントからのリクエストに対しては、認証を行わない。すなわち、SSLのセションが有効な間は、認証情報の管理は、Webサーバで行われていない。 If the client's authentication is successful by verifying the certificate sent from the client, the Web server authenticates the request from that client while the SSL session with that client is valid. Not performed. That is, while the SSL session is valid, management of authentication information is not performed by the web server.
このようなクライアントの認証、及び認証情報の管理をWebサーバ(以降、“認証サーバ”と称する)で行うシステムの一例として、シングル・サインオンシステムで用いられる認証サーバがある。この場合、認証サーバは、SSL通信の延長でクライアントの証明書を取得し、証明書の内容を検証して認証可否を判断する。 An example of a system that performs such client authentication and authentication information management with a Web server (hereinafter referred to as “authentication server”) is an authentication server used in a single sign-on system. In this case, the authentication server acquires a client certificate by extending SSL communication, verifies the contents of the certificate, and determines whether authentication is possible.
ところが、認証サーバでは、そのクライアントの証明書の認証に成功したという情報(認証情報)が、SSL通信のセッション(トランスポート層)と、認証サーバ(アプリケーション層)で管理される認証情報とで、二重に管理される。 However, in the authentication server, information (authentication information) that the client certificate has been successfully authenticated is an SSL communication session (transport layer) and authentication information managed by the authentication server (application layer). It is managed twice.
その結果、認証サーバで管理される認証情報が無効な場合、本来は、クライアントから再度クライアント証明書を取得する必要があるが、SSLでも認証情報が管理されているため、SSLから自動で提供されることになる。 As a result, if the authentication information managed by the authentication server is invalid, it is originally necessary to acquire the client certificate again from the client. However, since the authentication information is also managed by SSL, it is automatically provided from SSL. Will be.
また、認証サーバで管理される認証情報が有効であってもSSL通信のセッションが無効な場合、SSL通信のセッションの再構築が自動で行われ、その再構築の中で、本来必要のない証明書の提示要求がクライアントに対して行われる。 In addition, even if the authentication information managed by the authentication server is valid but the session of SSL communication is invalid, the session of SSL communication is automatically rebuilt, and in the reestablishment, a proof which is not originally necessary A document presentation request is made to the client.
本発明の一側面では、クライアント認証において、クライアント証明書を一元管理する技術を提供する。 One aspect of the present invention provides a technology for centrally managing client certificates in client authentication.
本発明の一側面に係る認証制御方法において、認証サーバ装置が、クライアント装置から該クライアント装置を利用するユーザの正当性を認証することを要求する認証要求を取得する。この場合、認証サーバ装置が、クライアント装置との間の暗号化通信プロトコルによる暗号化通信セッションの有効性と、認証要求に対応する電子証明書を認証したことを示す認証情報の有無または有効性とに応じて、次の処理を行う。すなわち、認証サーバ装置が、暗号化通信プロトコル以外の通信プロトコルを用いて、認証サーバ装置とクライアント装置との間で通信することにより、クライアント装置から電子証明書を取得する。認証サーバ装置が、取得した前記電子証明書に基づいてクライアント装置の認証を行う。 In the authentication control method according to one aspect of the present invention, the authentication server device acquires an authentication request for requesting to authenticate a user who uses the client device from the client device. In this case, the authentication server device determines the validity of the encrypted communication session based on the encrypted communication protocol with the client device and the presence or absence or validity of the authentication information indicating that the electronic certificate corresponding to the authentication request has been authenticated. Depending on, the following processing is performed. That is, the authentication server device acquires an electronic certificate from the client device by communicating between the authentication server device and the client device using a communication protocol other than the encrypted communication protocol. The authentication server device authenticates the client device based on the acquired electronic certificate.
本発明の一側面によれば、クライアント認証において、クライアント証明書を一元管理することができる。 According to one aspect of the present invention, in client authentication, client certificates can be centrally managed.
証明書を用いたクライアントの認証に成功した場合、Webサーバは、SSLのセションが有効な間のリクエストに対しては、認証を行わない。すなわち、認証情報の管理は、Webサーバ自身で行っていない。 When the client authentication using the certificate is successful, the Web server does not authenticate the request while the SSL session is valid. That is, authentication information is not managed by the Web server itself.
このようなクライアントの認証、及び認証情報の管理をWebサーバ(以降、“認証サーバ”と称する)で行うシステムの一例として、シングル・サインオンシステムで用いられる認証サーバがある。このとき、SSL通信の延長で、認証サーバはクライアントの証明書を取得し、証明書の内容を検証して認証可否を判断する。 An example of a system that performs such client authentication and authentication information management with a Web server (hereinafter referred to as “authentication server”) is an authentication server used in a single sign-on system. At this time, as an extension of SSL communication, the authentication server obtains a client certificate, verifies the contents of the certificate, and determines whether or not authentication is possible.
ところが、クライアントが証明書認証に成功したという情報が、SSL通信のセションと、認証サーバが管理している認証情報とを用いて、二重に管理されてしまう。これについて、図1〜図4を用いて説明する。 However, information that the client has succeeded in certificate authentication is double managed using the SSL communication session and the authentication information managed by the authentication server. This will be described with reference to FIGS.
図1は、初回認証時でのフローを示す。初期状態では、Webブラウザ2が業務サーバA(3a)へアクセスすることに対して、認証サーバ4による認証が行われていないとする。なお、図1〜図4において、実線は、アプリケーション層の通信を示す。破線は、SSL層の通信を示す。また、図1〜図4の説明において、SSL層の通信については、「SSL層の通信プロトコルを用いて、」という文言を用いて説明し、その文言がない通信は、アプリケーション層の通信を示すものとする。
FIG. 1 shows a flow at the time of initial authentication. In the initial state, it is assumed that authentication by the
クライアント1側では、Webブラウザ2は、業務サーバA(3a)へアクセス要求をする(S1)。ここでは、まだクライアント1は認証サーバ4による業務サーバA(3a)に対する認証がされていないので、このアクセス要求は、業務サーバA(3a)に対するクライアント1の認証情報を含まない。
On the
認証サーバ4による認証が行われていないため、業務サーバA(3a)は、認証サーバ4へ認証要求を送信するために、Webブラウザ2にアクセス先を認証サーバ4へ変更するようにリダイレクト要求する(S2)。Webブラウザ2は、リダイレクト要求に応じて、SSL層の通信プロトコルを用いて、認証サーバ4へ認証要求する(S3)。
Since authentication by the
認証サーバ4は、その認証要求に応じて、SSL層の通信プロトコルを用いて、電子証明書(以下、「証明書」と証する)の提示を要求する(S4)。クライアント1側では、ユーザが1以上の証明書からいずれかの証明書を選択する。すると、Webブラウザ2は、SSL層の通信プロトコルを用いて、その選択された証明書を認証サーバ4に送信する(S5)。
In response to the authentication request, the
認証サーバ4は、SSL層の通信プロトコルを用いて、認証サーバ4とWebブラウザ2との間のSSLセションを確立する(S6)。このとき、認証サーバ4は、その証明書を受信すると、SSLセションが有効な間、その証明書の情報を保持する。
The
Webブラウザ2は、認証サーバ4へ再び認証要求する(S7)。認証サーバ4は、S5の際(S5)で取得した証明書の内容を検証し、認証結果を示す認証情報を認証情報DB5に登録する(S8)。
The
認証に成功したため、認証サーバ4は、業務サーバA(3a)へ認証情報を送信するために、Webブラウザ2にアクセス先を業務サーバA(3a)へ変更するようにリダイレクト要求する(S9)。
Since the authentication is successful, the
Webブラウザ2は、リダイレクト要求に応じて、業務サーバA(3a)へアクセス要求する(S10)。このときのアクセス要求には、業務サーバA(3a)に対するクライアント1の認証情報も含まれる。
The
業務サーバA(3a)は、受信したアクセス要求に業務サーバA(3a)に対する認証情報が含まれているため、認証サーバ4による認証がされていると判断する。すると、業務サーバA(3a)は、Webブラウザ2上に表示させる、アクセス要求に対応するコンテンツ情報を送信する(S11)。すると、Webブラウザ2上にその送信されたコンテンツが表示される。
The business server A (3a) determines that authentication by the
図2は、SSLセションが有効で、かつ認証サーバが管理している認証情報が有効な状態でのフローを示す。図2では、既に、Webブラウザ2と認証サーバ4との間のSSLセションが有効で、かつ認証サーバが管理している認証情報が有効な状態であるとする。
FIG. 2 shows a flow in a state where the SSL session is valid and the authentication information managed by the authentication server is valid. In FIG. 2, it is assumed that the SSL session between the
Webブラウザ2は、業務サーバB(3b)へアクセス要求をする(S21)。ここでは、まだクライアント1は認証サーバ4による業務サーバB(3b)に対する認証がされていないので、このアクセス要求は、業務サーバB(3b)に対する認証情報を含まないとする。
The
すると、業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対する認証情報が含まれていないため、認証サーバ4による認証がされていないと判断する。そこで、業務サーバB(3b)は、認証サーバ4へ認証要求を送信するために、Webブラウザ2にアクセス先を認証サーバへ変更するようにリダイレクト要求する(S22)。
Then, the business server B (3b) determines that the authentication by the
Webブラウザ2は、リダイレクト要求に応じて、認証サーバ4へ認証要求する(S23)。このとき、Webブラウザ2と認証サーバ4との間のSSLセションが有効なため、SSL通信のために必要なやり取り、すなわち、サーバ証明書に基づくSSLサーバ認証のための処理は発生しない。
In response to the redirect request, the
認証サーバ4は、既に保持している認証情報の有効性を確認し、有効であれば、認証結果を示す認証情報を認証情報DB5へ登録する(S24)。この例では、クライアント1は認証済みのため、認証サーバ4は、業務サーバB(3b)へ認証情報を送信するために、Webブラウザ2にアクセス先を業務サーバB(3b)へ変更するようにリダイレクト要求する(S25)。
The
Webブラウザ2は、リダイレクト要求に応じて、業務サーバB(3b)へ認証要求する(S26)。なお、このときのアクセス要求には、業務サーバB(3b)に対するクライアント1の認証情報も含まれる。
In response to the redirect request, the
業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対する認証情報が含まれているため、認証サーバ4による認証がされていると判断する。すると、業務サーバB(3b)は、Webブラウザ2上に表示させる、アクセス要求に対応するコンテンツ情報を送信する(S27)。すると、Webブラウザ2上にその送信されたコンテンツが表示される。
The business server B (3b) determines that authentication by the
図3は、SSLセションが有効で、かつ認証サーバが管理している認証情報が無効な状態でのフローを示す。図3では、既に、Webブラウザ2と認証サーバ4との間のSSLセションが有効で、かつ認証サーバが管理している認証情報が無効な状態であるとする。
FIG. 3 shows a flow when the SSL session is valid and the authentication information managed by the authentication server is invalid. In FIG. 3, it is assumed that the SSL session between the
Webブラウザ2は、業務サーバB(3b)へアクセス要求をする(S31)。ここでは、まだクライアント1は認証サーバ4による業務サーバB(3b)に対する認証がされていないので、このアクセス要求は、業務サーバB(3b)に対する認証情報を含まないとする。
The
すると、業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対するクライアント1の認証情報が含まれていないため、認証サーバ4による認証がされていないと判断する。そこで、業務サーバB(3b)は、認証サーバ4へ認証要求を送信するために、Webブラウザ2にアクセス先を認証サーバへ変更するようにリダイレクト要求する(S32)。
Then, the business server B (3b) determines that the authentication by the
Webブラウザ2は、リダイレクト要求に応じて、認証サーバ4へ認証要求する(S33)。このとき、Webブラウザ2と認証サーバ4との間のSSLセションが有効なため、SSL通信のために必要なやり取り、すなわち、サーバ証明書に基づくSSLサーバ認証のための処理は発生しない。
In response to the redirect request, the
認証サーバ4は、既に保持している認証情報の有効性を確認する(S34)。アプリケーション層において既に保持している認証情報は無効であるが、セッション層ではSSLセションの確立時から証明書を保持している。認証サーバ4は、セッション層で保持している保持している証明書の内容を検証し、認証結果を示す認証情報を認証情報DB5に再登録する(S35)。
The
認証サーバ4は、認証に成功したため、業務サーバB(3b)へ認証情報を送信するために、Webブラウザ2にアクセス先を業務サーバB(3b)へ変更するようにリダイレクト要求する(S36)。
Since authentication is successful, the
Webブラウザ2は、リダイレクト要求に応じて、業務サーバB(3b)へアクセス要求する(S37)。このときのアクセス要求には、業務サーバB(3b)に対するクライアント1の認証情報も含まれる。
The
業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対する認証情報が含まれているため、認証サーバ4による認証がされていると判断する。すると、業務サーバB(3b)は、Webブラウザ2上に表示させる、アクセス要求に対応するコンテンツ情報を送信する(S38)。すると、Webブラウザ2上にその送信されたコンテンツが表示される。
The business server B (3b) determines that authentication by the
図3において、SSLセションの作成時に証明書が要求されるため、認証サーバ4は、S35のタイミングでは証明書を要求できない。したがって、認証サーバ4で管理している認証情報に応じた、証明書要求の制御ができない。
In FIG. 3, since a certificate is requested when an SSL session is created, the
図4は、SSLセションが無効で、かつ認証サーバが管理している認証情報が有効な状態でのフローを示す。図4では、既に、Webブラウザ2と認証サーバ4との間のSSLセションが無効で、かつ認証サーバが管理している認証情報が有効な状態であるとする。
FIG. 4 shows a flow in a state where the SSL session is invalid and the authentication information managed by the authentication server is valid. In FIG. 4, it is assumed that the SSL session between the
Webブラウザ2は、業務サーバB(3b)へアクセス要求をする(S41)。ここでは、まだクライアント1は認証サーバ4による業務サーバB(3b)に対する認証がされていないので、このアクセス要求は、業務サーバB(3b)に対するクライアント1の認証情報を含まないとする。
The
すると、業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対するクライアント1の認証情報が含まれていないため、認証サーバ4による認証がされていないと判断する。そこで、業務サーバB(3b)は、認証サーバ4へ認証要求を送信するために、Webブラウザ2にアクセス先を認証サーバへ変更するようにリダイレクト要求する(S42)。
Then, the business server B (3b) determines that the authentication by the
Webブラウザ2は、リダイレクト要求に応じて、SSL層の通信プロトコルを用いて、認証サーバ4へ認証要求する(S43)。認証サーバ4は、SSL層の通信プロトコルを用いて、その認証要求に応じて、証明書の提示を要求する(S44)。クライアント1側では、ユーザが1以上の証明書からいずれかの証明書を選択する。すると、Webブラウザ2は、SSL層の通信プロトコルを用いて、その選択された証明書を認証サーバ4に送信する(S45)。
In response to the redirect request, the
認証サーバ4は、SSL層の通信プロトコルを用いて、認証サーバ4とWebブラウザ2との間のSSLセションを確立する(S46)。このとき、認証サーバ4は、その証明書を受信すると、SSLセションが有効な間、その証明書の情報を保持する。
The
Webブラウザ2は、認証サーバ4へ再び認証要求する(S47)。認証サーバ4は、認証情報の有効性を確認し、有効であれば、認証結果を示す認証情報を認証情報DB5に登録する(S48)。
The
認証に成功したため、認証サーバ4は、業務サーバB(3b)へ認証情報を送信するために、Webブラウザ2にアクセス先を業務サーバB(3b)へ変更するようにリダイレクト要求する(S49)。
Since the authentication is successful, the
Webブラウザ2は、リダイレクト要求に応じて、業務サーバB(3b)へアクセス要求する(S50)。なお、このときのアクセス要求には、業務サーバB(3b)に対するクライアント1の認証情報も含まれる。
In response to the redirect request, the
業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対するクライアント1の認証情報が含まれているため、認証サーバ4による認証がされていると判断する。すると、業務サーバB(3b)は、Webブラウザ2上に表示させる、アクセス要求に対応するコンテンツ情報を送信する(S51)。すると、Webブラウザ2上にその送信されたコンテンツが表示される。
The business server B (3b) determines that the authentication by the
図4において、SSLセションが無効なため、SSLセションの作成に必要な処理(S43〜S46)が発生する。ところが、認証情報は有効なため、S44の証明書の要求は本来不要である。また、S45にて証明書を再取得しても、その再取得した証明書は、S48の認証にて使用されない。したがって、認証サーバ4で管理している認証情報に応じた、証明書要求の制御ができない。
In FIG. 4, since the SSL session is invalid, processing (S43 to S46) necessary for creating the SSL session occurs. However, since the authentication information is valid, the request for the certificate in S44 is essentially unnecessary. Further, even if the certificate is reacquired in S45, the reacquired certificate is not used in the authentication of S48. Therefore, the certificate request can not be controlled according to the authentication information managed by the
上述したように、以下のような状態になった場合、問題が発生する。 As described above, a problem occurs when the following situation occurs.
(1)SSLのセションは有効、かつ認証サーバが管理している認証情報は無効な場合(図3)、次の問題が生じる。すなわち、SSLのセションが有効なため、初回認証時に認証サーバ4に送信されてSSLセッション層で保持している証明書の情報が自動的に認証サーバ4のアプリケーション層へ通知される。アプリケーション層において、認証サーバ4は、クライアント1に対して認証を行いたいが、証明書がSSLセッション層から通知されるため、認証に成功してしまう。
(1) When the SSL session is valid and the authentication information managed by the authentication server is invalid (FIG. 3), the following problem occurs. That is, since the SSL session is valid, the certificate information transmitted to the
(2)SSLセションは無効、かつ認証サーバ4が管理している認証情報は有効な場合(図4)、次の問題が生じる。すなわち、SSLのセションが無効なため、認証サーバ4からクライアント1に対して証明書の提示が要求される。しかしながら、認証サーバ4の保持する認証情報は有効なため、本来、証明書の提示の要求は不要である。
(2) If the SSL session is invalid and the authentication information managed by the
これらの問題に対して、SSLセションと認証サーバの認証情報を合わせる案が考えられるが、コネクションの上限があるため、現実的に実現することはできない。 In order to deal with these problems, it is conceivable to combine the SSL session and the authentication information of the authentication server.
このように、クライアントが証明書認証に成功したという証明書情報を、SSLセッション層と認証サーバ(アプリケーション層)とで二重に管理を行っている。 In this way, the certificate information that the client has succeeded in certificate authentication is double managed by the SSL session layer and the authentication server (application layer).
そこで、証明書情報の一元管理が考えられるが、以下の理由により実現されていない。 Therefore, centralized management of certificate information can be considered, but is not realized due to the following reasons.
(a)SSL層で一元管理できない理由
シングルサインオン(SSO)では、認証サーバで認証した情報を業務サーバ(他サーバ)へ通知する必要がある。しかしながら、SSL通信ではクライアント−サーバ間でお互いを認証することはできるが、認証に成功した情報を他サーバへ通知する仕組みが無い。すなわち、SSL通信では、クライアントがアクセスしたサーバとの間の認証に限られる。一方、認証情報を通知する仕組みは、SSLより上位層(例:HTTP)で行う必要がある。
(A) Reason why centralized management can not be performed in the SSL layer In single sign-on (SSO), it is necessary to notify the business server (other server) of information authenticated by the authentication server. However, in the SSL communication, although the client and the server can authenticate each other, there is no mechanism for notifying the other server of the information successfully authenticated. In other words, SSL communication is limited to authentication with a server accessed by a client. On the other hand, the mechanism for notifying the authentication information needs to be performed in a higher layer (eg, HTTP) than SSL.
(b)HTTP層で一元管理できない理由
・SSOにおける、よりセキュアな認証として証明書による認証を行う。証明書の通知については、SSLで標準化されており、Webブラウザ(クライアント)もこの仕様に従っている。したがって、Webブラウザをクライアントとする場合、他の方法(プロトコル)では証明書を取得することができない。よって、証明書はSSLで通知する必要がある。
(B) Reason why centralized management cannot be performed in the HTTP layer-Authentication by a certificate is performed as more secure authentication in SSO. The certificate notification is standardized by SSL, and the Web browser (client) also follows this specification. Therefore, when a Web browser is used as a client, a certificate cannot be obtained by another method (protocol). Therefore, the certificate needs to be notified by SSL.
そこで、本実施形態では、クライアントにエージェントを組み込み、エージェント経由で認証サーバにアクセスすることで、エージェント−認証サーバ間で証明書の制御を行う。これにより、SSL層では証明書の管理を行わず、HTTP層での証明書の一元管理を実現する。 Therefore, in this embodiment, the certificate is controlled between the agent and the authentication server by incorporating the agent into the client and accessing the authentication server via the agent. In this way, certificate management is not performed in the SSL layer, and centralized management of certificates in the HTTP layer is realized.
また、エージェントを経由することで以下の処理を実現できるようになり、HTTP層で一元管理できなかった課題を解決できる。すなわち、エージェント−認証サーバ間は独自のプロトコルで通信をやり取りできる(SSL以外のプロトコルで証明書のやり取りが可能)。また、Webブラウザ-エージェント間はSSLによる通信を行うことで、Webブラウザ側に影響を与えず、認証サーバ側の要求に従った証明書の取得が可能になる。 Further, the following processing can be realized through the agent, and the problem that could not be centrally managed by the HTTP layer can be solved. That is, communication can be exchanged between the agent and the authentication server by a unique protocol (exchange of certificates can be performed by a protocol other than SSL). Further, by performing SSL communication between the Web browser and the agent, it is possible to obtain a certificate according to a request from the authentication server without affecting the Web browser.
図5は、本実施形態における認証制御システムの一例を示す。認証制御システム10は、クライアント装置11、認証サーバ装置15を含む。
FIG. 5 shows an example of the authentication control system in the present embodiment. The authentication control system 10 includes a
クライアント装置11と通信ネットワーク(以下、「ネットワーク」と称する)19を介して接続された認証サーバ装置15は、認証要求取得部16、電子証明書取得部17と、認証部18を含む。
The
認証要求取得部16は、クライアント装置11からクライアント装置11を利用するユーザの正当性を認証することを要求する認証要求を取得する。認証要求取得部16の一例としては、後述する認証プログラム34によるS161の処理が挙げられる。
The authentication
電子証明書取得部7は、認証要求を取得した場合、クライアント装置11との間の暗号化通信プロトコルによる暗号化通信セッションの有効性と、認証要求に対応する電子証明書を認証したことを示す認証情報の有無または有効性とに応じて、次の処理を行う。すなわち、電子証明書取得部17は、暗号化通信プロトコル以外の通信プロトコルを用いて、認証サーバ装置5とクライアント装置11との間で通信することにより、クライアント装置11から電子証明書を取得する。電子証明書取得部17の一例としては、後述する認証プログラム34によるS162〜S166の処理が挙げられる。
When acquiring the authentication request, the electronic certificate acquisition unit 7 indicates the validity of the encrypted communication session with the
認証部18は、取得した電子証明書に基づいてクライアント装置11の認証を行う。認証部18の一例としては、後述する認証プログラム34によるS167の処理が挙げられる。
The
このように構成することにより、クライアント認証において、クライアント証明書を一元管理することができる。 By configuring in this way, client certificates can be centrally managed in client authentication.
また、電子証明書取得部17は、暗号化通信セッションが有効で、かつ認証情報が無いまたは無効である場合、暗号化通信プロトコル以外の通信プロトコルを用いて、認証サーバ装置15とクライアント装置11との間で通信する。これにより、電子証明書取得部7は、クライアント装置11から電子証明書を取得する。また、電子証明書取得部17は、暗号化通信セッションが無効である場合、暗号化通信プロトコルを用いて、クライアント装置11との間で暗号化通信セッションを確立して有効にする。
In addition, when the encrypted communication session is valid and the authentication information is absent or invalid, the electronic
このように構成することにより、暗号化通信セッションの有効性に応じて発生する認証情報の二重管理による弊害を解消することができる。 With this configuration, it is possible to eliminate the adverse effects caused by double management of authentication information that occurs according to the validity of the encrypted communication session.
認証サーバ装置15と通信ネットワーク19を介して接続された、エージェントプログラムが動作するクライアント装置11は、検知部12、取得部13、送信部14を含む。
The
検知部12は、暗号化通信プロトコル以外の通信プロトコルを用いた認証サーバ装置15からの通信において、電子証明書の提示要求を検知する。検知部12の一例として、後述するエージェント24によるS152の処理が挙げられる。
The
取得部13は、提示要求を検知した場合、クライアント装置11に設定されたプログラムであって通信ネットワーク上で公開された情報を閲覧する閲覧プログラムとエージェントプログラムとの間で暗号化通信プロトコルを用いて通信する。これにより、取得部13は、閲覧プログラムから電子証明書を取得する。取得部3の一例として、後述するエージェント24によるS153〜S154の処理が挙げられる。
The
送信部14は、暗号化通信プロトコル以外の通信プロトコルを用いて、認証サーバ装置5に電子証明書を送信する。送信部14の一例として、後述するエージェント24によるS155の処理が挙げられる。
The
このように構成することにより、Webブラウザについては改修を行うことなく、クライアント装置(エージェント)−認証サーバ間で、SSL通信を行わずに、電子証明書の授受を行うことができる。 By configuring in this way, it is possible to exchange electronic certificates between the client device (agent) and the authentication server without performing SSL communication without modifying the Web browser.
図6は、本実施形態におけるシステム構成図を示す。クライアント21、認証サーバ31、業務サーバ3がネットワーク41を介して接続されている。ここで業務サーバ3は、業務サーバA(3a)、業務サーバB(3b)等の総称である。ネットワーク41は、インターネット、ローカルエリアネットワーク(LAN)等の通信網である。
FIG. 6 shows a system configuration diagram in the present embodiment. A
クライアント21は、中央演算装置(CPU)、メモリ、ハードディスクドライブ等の記憶装置、通信インターフェース(NIC)等のハードウェア22を含む。クライアント21の記憶装置には、オペレーティングシステム(OS)23と、アプリケーション等がインストールされている。アプリケーションは、エージェントプログラム(以下、「エージェント」と称する)24、Webブラウザ25等を含む。
The
OS23は、NICを介してネットワーク41より通信情報を取得する。通信情報がWebブラウザ25宛ての場合、OS23は、エージェント24を介して、Webブラウザにその通信情報を送信する。OS23は、エージェント24を介してWebブラウザ24から取得した外部サーバ宛の通信情報を、NICを介してネットワーク41に送信する。
The
Webブラウザ25は、エージェント24を経由して、外部のサーバ(業務サーバ3、認証サーバ31)との通信を行う。
The
エージェント24は、Webブラウザ25と外部サーバとの間の通信を監視し、通信情報の所定の項目に所定のキーワードを含む場合、そのキーワードに対応する動作を、Webブラウザ25または外部サーバに対して行う。エージェント24は、要求または応答に含まれる動作要求に応じた動作をするためのエージェント動作管理テーブル24aを保持する。
The
クライアント21のCPUは、記憶装置からOS23を読み出して実行させつつ、記憶装置からアプリケージョン(本実施形態では、エージェント24、Webブラウザ25)を読み出してOS23上で実行させる。
The CPU of the
認証サーバ31は、CPU、メモリ、ハードディスクドライブ等の記憶装置、NIC等のハードウェア32を含む。認証サーバ31の記憶装置には、オペレーティングシステム(OS)33と、アプリケーション等がインストールされている。アプリケーションは、認証プログラム34等を含む。
The
また、認証サーバ31の記憶装置には、不図示の認証情報DB35が格納されている。認証情報DB35は、クライアントから送信されたクライアント証明書の検証の結果、クライアントの認証に成功したことを示す認証情報と、その認証情報が有効か否かを示すフラグ情報を含む。フラグ情報には、所定の条件(例えば、認証情報DB35への認証情報の登録から所定期間内)において認証情報が「有効」であることを示す情報が設定され、その条件を満たさなくなると認証情報が「無効」であることを示す情報が設定される。
Further, the storage device of the
OS33は、NICを介してネットワーク41より通信情報を取得する。通信情報が認証プログラム34宛ての場合、OS33は、認証プログラム34にその通信情報を送信する。OS23は、認証プログラム34から取得したクライアント21宛の通信情報をNICを介してネットワーク41に送信する。
The
認証サーバ31のCPUは、記憶装置からOS33を読み出して実行させつつ、記憶装置からアプリケージョン(本実施形態では、認証プログラム34)を読み出してOS33上で実行させる。
The CPU of the
図7は、本実施形態におけるエージェント動作管理テーブルの一例を示す。エージェント24は、エージェント動作管理テーブル24aの登録内容に基づいて、要求または応答等の通信情報に含まれる動作要求に応じた動作を行う。なお、エージェント動作管理テーブル24aには、証明書認証以外の動作も定義することができる。
FIG. 7 shows an example of the agent operation management table in the present embodiment. The
エージェント動作管理テーブル24aは、「通信情報に含まれる動作要求(キーワード)」24a−1、「エージェントの動作」24a−2のデータ項目を含む。「エージェントの動作」24a−2は、ブラウザ側に対するエージェント24の動作内容を示す「ブラウザへ」24a−21と、サーバ側に対するエージェント24の動作内容を示す「サーバへ」24a−22を含む。
The agent operation management table 24a includes data items of “operation request (keyword) included in communication information” 24a-1 and “agent operation” 24a-2. The “agent operation” 24 a-2 includes “to browser” 24 a-21 indicating the operation content of the
例えば、通信情報に含まれる動作要求(キーワード)が「CertAuth」であるとする。この場合、エージェント24は、「CertAuth」を検索キーとして、エージェント動作管理テーブル24aの上位から、「通信情報に含まれる動作要求(キーワード)」24a−1の登録内容がキーと一致するレコードを検索する。検索キーと一致するレコードが存在する場合、エージェント24は、エージェント動作管理テーブル24aの登録内容に基づいて、Webブラウザ25に対して証明書を要求し、認証サーバ31に対して証明書を通知する。
For example, it is assumed that the operation request (keyword) included in the communication information is “CertAuth”. In this case, the
検索キーと一致するレコードが存在しない場合、エージェント24は、エージェント動作管理テーブル24aの登録内容に基づいて、Webブラウザ25及び認証サーバ31のいずれに対しても何もしない。
If there is no record that matches the search key, the
図8は、本実施形態における初回認証時でのフローを示す。ここでは、Webブラウザ25が業務サーバA(3a)へアクセスすることに対して、認証サーバ31による認証が行われていないとする。なお、図8〜図11において、実線は、アプリケーション層の通信を示す。破線は、SSL層の通信を示す。また、図8〜図11の説明において、SSL層の通信については、「SSL層の通信プロトコルを用いて、」という文言を用いて説明し、その文言がない通信は、アプリケーション層の通信を示すものとする。
FIG. 8 shows a flow at the time of initial authentication in the present embodiment. Here, it is assumed that authentication by the
クライアント21側では、Webブラウザ25は、エージェント24を介して、業務サーバA(3a)に対してアクセス要求をする(S61、S62)。ここでは、まだクライアント21は認証サーバ31による業務サーバA(3a)に対する認証がされていないので、このアクセス要求は、業務サーバA(3a)に対するクライアント21の認証情報を含まない。
On the
認証サーバ31による認証が行われていないため、業務サーバA(3a)は、認証サーバ31へ認証要求を送信するために、Webブラウザ25にアクセス先を認証サーバ31へ変更するように、エージェント24を介して、リダイレクト要求する(S63、S64)。Webブラウザ25は、リダイレクト要求に応じて、SSL層の通信プロトコルを用いて、エージェント24を介して認証サーバ31へ認証要求する(S65、S66)。
Since authentication by the
認証サーバ31は、SSL層の通信プロトコルを用いて、エージェント24を介して、Webブラウザ25とSSLセッション確立に必要な通信のやり取りを行う(S67、S68)。ここで、エージェント24とWebブラウザ25との間のSSLセッション確立に必要な通信のやり取りとは、サーバの正当性を証明するサーバ証明書を用いたSSLサーバ認証のための手順を示す。これにより、SSLセッション確立が確立し、SSLセッションが有効となる。このとき、図1(S4,S5)と異なり、図8では、認証サーバ31によるクライアント証明書の要求及びクライアントからのクライアント証明書の送信は行わない。
The
Webブラウザ25は、エージェント24を介して、認証サーバ31へ再び認証要求する(S69、S70)。
The
なお、S61〜S69に示すように、認証サーバ31からの要求がない場合、エージェント24は特に何もせず、そのまま要求または応答を転送する。
As shown in S61 to S69, when there is no request from the
認証サーバ31は、クライアント21の証明書を保持していないので、Webブラウザ25に対して、証明書の提示を要求する(S71)。
Since the
エージェント24は、認証サーバ31からWebブラウザ25への要求を検知すると、図7で説明したように、エージェント動作管理テーブル24aを用いて、その要求の内容を解析する。
When detecting a request from the
解析の結果、要求の内容が証明書の要求である場合、エージェント24は、Webブラウザ25に対して、SSL層の通信プロトコルを用いて、証明書の選択画面を表示するよう指示(証明書提示要求)する(S72)。
As a result of the analysis, if the content of the request is a certificate request, the
クライアント21側では、ユーザが1以上の証明書からいずれかの証明書を選択する。すると、Webブラウザ25は、SSL層の通信プロトコルを用いて、その選択された証明書を認証サーバ31に向けて送信する(S73)。
On the
エージェント24は、Webブラウザ25から認証サーバ31に向けて送信された証明書を受信すると、その証明書を応答情報に付加する。エージェント24は、その証明書を付加した応答情報を認証サーバ31へ送信する(S74)。
When the
認証サーバ31は、その証明書を付加した応答情報を受信すると、その証明書の内容を検証する。認証サーバ31は、検証の結果、認証に成功したとする。認証サーバ31は、認証が成功である旨の認証結果を示す認証情報とフラグ情報(認証情報は有効)を認証情報DB35に登録する(S75)。
When receiving the response information to which the certificate is added, the
認証に成功したため、認証サーバ31は、業務サーバA(3a)へ認証情報を送信するために、Webブラウザ25にアクセス先を業務サーバA(3a)へ変更するように、エージェント24を介して、リダイレクト要求する(S76、S77)。
Since the authentication is successful, the
Webブラウザ25は、リダイレクト要求に応じて、エージェント24を介して、業務サーバA(3a)へアクセス要求する(S78,S79)。このときのアクセス要求には、業務サーバA(3a)に対するクライアント21の認証情報も含まれる。
In response to the redirect request, the
業務サーバA(3a)は、受信したアクセス要求に業務サーバA(3a)に対する認証情報が含まれているため、認証サーバ31による認証がされていると判断する。すると、業務サーバA(3a)は、エージェント24を介して、Webブラウザ25上に表示させる、アクセス要求に対応するコンテンツ情報を送信する(S80、S81)。すると、Webブラウザ25上にその送信されたコンテンツが表示される。
The business server A (3a) determines that authentication by the
図9は、本実施形態におけるSSLセションが有効で、かつ認証サーバが管理している認証情報が有効な状態でのフローを示す。図2では、既に、Webブラウザ25と認証サーバ31との間のSSLセションが有効で、かつ認証サーバが管理している認証情報が有効な状態であるとする。
FIG. 9 shows a flow in a state where the SSL session in this embodiment is valid and the authentication information managed by the authentication server is valid. In FIG. 2, it is assumed that the SSL session between the
Webブラウザ25は、エージェント24を介して、業務サーバB(3b)へアクセス要求をする(S91、S92)。ここでは、まだクライアント21は認証サーバ31による業務サーバB(3b)に対する認証がされていないので、このアクセス要求は、業務サーバB(3b)に対する認証情報を含まないとする。
The
すると、業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対する認証情報が含まれていないため、認証サーバ31による認証がされていないと判断する。そこで、業務サーバB(3b)は、認証サーバ31へ認証要求を送信するために、Webブラウザ25にアクセス先を認証サーバへ変更するように、エージェント24を介して、リダイレクト要求する(S93、S94)。
Then, the business server B (3b) determines that authentication by the
Webブラウザ25は、リダイレクト要求に応じて、エージェント24を介して、認証サーバ31へ認証要求する(S95、S96)。このとき、Webブラウザ25と認証サーバ31との間のSSLセションが有効なため、SSL通信のために必要なやり取り、すなわち、図8のS67〜S68で説明したSSLサーバ認証のための処理は発生しない。
In response to the redirect request, the
認証サーバ31は、認証要求を取得すると、既に認証情報DB35に保持しているクライアントの認証情報の有効性を確認する(S97)。上述したように、この例では、認証情報は有効であるので、認証情報DB35に登録されたその認証情報のフラグ情報は、有効状態となっている。また、この例では、クライアントに対応する認証情報が有効な場合には、認証サーバ31は、Webブラウザ25に対して、証明書の提示を要求しない。
Upon obtaining the authentication request, the
この例では、クライアント21は認証済みのため、認証サーバ31は、業務サーバB(3b)へ認証情報を送信するために、Webブラウザ25にアクセス先を業務サーバB(3b)へ変更するように、エージェント24を介して、リダイレクト要求する(S98、S99)。
In this example, since the
Webブラウザ25は、リダイレクト要求に応じて、エージェント24を介して、業務サーバB(3b)へアクセス要求する(S100、S101)。なお、このときのアクセス要求には、業務サーバB(3b)に対するクライアント21の認証情報も含まれる。
The
業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対する認証情報が含まれているため、認証サーバ31による認証がされていると判断する。すると、業務サーバB(3b)は、エージェント24を介して、Webブラウザ25上に表示させる、アクセス要求に対応するコンテンツ情報を送信する(S102、S103)。すると、Webブラウザ25上にその送信されたコンテンツが表示される。
The business server B (3b) determines that the authentication by the
図10は、本実施形態におけるSSLセションが有効で、かつ認証サーバが管理している認証情報が無効な状態でのフローを示す。図10では、既に、Webブラウザ25と認証サーバ31との間のSSLセションが有効で、かつ認証サーバが管理している認証情報が無効な状態であるとする。
FIG. 10 shows a flow in a state where the SSL session in the present embodiment is valid and the authentication information managed by the authentication server is invalid. In FIG. 10, it is assumed that the SSL session between the
Webブラウザ25は、エージェント24を介して、業務サーバB(3b)へアクセス要求をする(S111、S112)。ここでは、まだクライアント21は認証サーバ31による業務サーバB(3b)に対する認証がされていないので、このアクセス要求は、業務サーバB(3b)に対する認証情報を含まないとする。
The
すると、業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対するクライアント21の認証情報が含まれていないため、認証サーバ31による認証がされていないと判断する。そこで、業務サーバB(3b)は、認証サーバ31へ認証要求を送信するために、Webブラウザ25にアクセス先を認証サーバへ変更するように、エージェント24を介して、リダイレクト要求する(S113、S114)。
Then, the business server B (3b) determines that the
Webブラウザ25は、リダイレクト要求に応じて、エージェント24を介して、認証サーバ31へ認証要求する(S115、S116)。このとき、Webブラウザ25と認証サーバ31との間のSSLセションが有効なため、SSL通信のために必要なやり取り、すなわち、図8のS67〜S68で説明したSSLサーバ認証のための処理は発生しない。
In response to the redirect request, the
認証サーバ31は、認証要求を取得すると、認証情報DB35に既に保持している認証情報の有効性を確認する(S117)。この例では、認証情報は無効であるので、認証情報DB35に登録されたその認証情報のフラグ情報は、無効状態となっている。
When acquiring the authentication request, the
証情報DB35に既に保持している認証情報が無効である場合、認証サーバ31は、Webブラウザ25に対して証明書の提示を要求する(S118)。
If the authentication information already held in the
エージェント24は、認証サーバ31からWebブラウザ25への要求を検知すると、図7で説明したように、エージェント動作管理テーブル24aを用いて、その要求の内容を解析する。
When detecting a request from the
解析の結果、要求の内容が証明書の要求である場合、エージェント24は、Webブラウザ25に対して、証明書の選択画面を表示するよう指示(証明書提示要求)する(SSL相当の通信)(S119)。
As a result of the analysis, if the content of the request is a certificate request, the
クライアント21側では、ユーザが1以上の証明書からいずれかの証明書を選択する。すると、Webブラウザ25は、その選択された証明書を認証サーバ31に向けて送信する(S120)。
On the
エージェント24は、Webブラウザ25から取得した証明書を応答情報に付加する。エージェント24は、その証明書を付加した応答情報を認証サーバ31へ送信する(S121)。
The
認証サーバ31は、その証明書を付加した応答情報を受信すると、その証明書の内容を検証する。認証サーバ31は、検証の結果、認証に成功したとする。認証サーバ31は、認証が成功である旨の認証結果を示す認証情報を認証情報DB35に登録する(S122)。これにより、認証サーバ31で管理している認証情報に応じて、証明書要求の制御が可能となる。
When receiving the response information to which the certificate is added, the
認証サーバ31は、認証に成功したため、業務サーバB(3b)へ認証情報を送信するために、Webブラウザ25にアクセス先を業務サーバB(3b)へ変更するように、エージェント24を介して、リダイレクト要求する(S123、S124)。
Since the
Webブラウザ25は、リダイレクト要求に応じて、エージェント24を介して、業務サーバB(3b)へアクセス要求する(S125、S126)。このときのアクセス要求には、業務サーバB(3b)に対するクライアント21の認証情報も含まれる。
In response to the redirect request, the
業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対する認証情報が含まれているため、認証サーバ31による認証がされていると判断する。すると、業務サーバB(3b)は、エージェント24を介して、Webブラウザ25上にアクセス要求に対応するコンテンツ情報を送信する(S127,S128)。すると、Webブラウザ25上にその送信されたコンテンツが表示される。
The business server B (3b) determines that the authentication by the
図11は、本実施形態におけるSSLセションが無効で、かつ認証サーバが管理している認証情報が有効な状態でのフローを示す。図11では、既に、Webブラウザ25と認証サーバ31との間のSSLセションが無効で、かつ認証サーバが管理している認証情報が有効な状態であるとする。
FIG. 11 shows a flow in a state where the SSL session in this embodiment is invalid and the authentication information managed by the authentication server is valid. In FIG. 11, it is assumed that the SSL session between the
Webブラウザ25は、エージェント24を介して、業務サーバB(3b)へアクセス要求をする(S131、S132)。ここでは、まだクライアント21は認証サーバ31による業務サーバB(3b)に対する認証がされていないので、このアクセス要求は、業務サーバB(3b)に対するクライアント21の認証情報を含まないとする。
The
すると、業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対するクライアント21の認証情報が含まれていないため、認証サーバ31による認証がされていないと判断する。そこで、業務サーバB(3b)は、認証サーバ31へ認証要求を送信するために、Webブラウザ25にアクセス先を認証サーバへ変更するように、エージェント24を介して、リダイレクト要求する(S133、S134)。
Then, the business server B (3b) determines that the
SSLセションが無効であるため、Webブラウザ25は、リダイレクト要求に応じて、エージェント24を介して、SSL層の通信プロトコルを用いて、認証サーバ31へ認証要求する。
Since the SSL session is invalid, the
すると、Webブラウザ25と認証サーバ31とは、エージェント24を介して、SSL通信を確立するために必要な通信のやり取りを行う(S137、S138)。ここで、エージェント24とWebブラウザ25との間のSSLセッション確立に必要な通信のやり取りとは、サーバの正当性を証明するサーバ証明書を用いたSSLサーバ認証のための手順を示す。これにより、SSLセッション確立が確立し、SSLセッションが有効になる。なお、S137及びS138では、認証サーバ31によるクライアント証明書の要求及びクライアントからのクライアント証明書の送信は行わない。
Then, the
SSLセッションが有効になると、Webブラウザ25は、エージェント24を介して、認証サーバ31へ再び認証要求する(S139、S140)。
When the SSL session is validated, the
認証サーバ31は、認証要求を取得すると、既に認証情報DB35に保持しているクライアントに対応する認証情報の有効性を確認する(S141)。この例では、認証情報は有効であるので、認証情報DB35に登録されたその認証情報のフラグ情報は、有効状態となっている。また、この例では、認証情報が有効な場合には、認証サーバ31は、Webブラウザ25に対して、証明書の提示を要求しない。
When acquiring the authentication request, the
認証に成功したため、認証サーバ31は、業務サーバB(3b)へ認証情報を送信するために、Webブラウザ2にアクセス先を業務サーバB(3b)へ変更するように、エージェント24を介して、リダイレクト要求する(S142、S143)。
Since the authentication is successful, the
Webブラウザ25は、リダイレクト要求に応じて、エージェント24を介して、業務サーバB(3b)へアクセス要求する(S144、S145)。このときのアクセス要求には、業務サーバB(3b)に対するクライアント21の認証情報も含まれる。
In response to the redirect request, the
業務サーバB(3b)は、受信したアクセス要求に業務サーバB(3b)に対するクライアント21の認証情報が含まれているため、認証サーバ31による認証がされていると判断する。すると、業務サーバB(3b)は、エージェント24を介して、Webブラウザ25上に表示させる、アクセス要求に対応するコンテンツ情報を送信する(S146、S147)。すると、Webブラウザ25上にその送信されたコンテンツが表示される。
The business server B (3b) determines that the authentication by the
図12は、本実施形態におけるエージェントの動作フローを示す。エージェント24は、アプリケーション層の通信プロトコルに基づく通信情報を受信する(S151)。
FIG. 12 shows the operation flow of the agent in the present embodiment. The
エージェント24は、受信した通信情報が認証サーバ31からの証明書提示要求か否かを判定する(S152)。受信した通信情報が認証サーバ31からの証明書提示要求でない場合(S152で「NO」)、エージェント24は、受信した通信情報を宛先に転送する(S156)。
The
受信した通信情報が認証サーバ31からの証明書提示要求である場合(S152で「YES」)、エージェント24は、Webブラウザ25に対して、SSLの通信プロトコルを用いて、証明書の提示を要求する証明書提示要求を送信する(S153)。
When the received communication information is a certificate presentation request from the authentication server 31 (“YES” in S152), the
エージェント24は、Webブラウザから、証明書提示要求に対応する、SSLの通信プロトコルを用いて、証明書を受信する(S154)。
The
エージェント24は、アプリケーション層の通信プロトコルを用いて、証明書を認証サーバ31へ送信する(S155)。
The
図13は、本実施形態における認証サーバ(認証プログラム)の動作フローを示す。認証サーバ31は、認証要求を受信した場合(S161)、認証要求の送信元との間のSSLセッションが有効か否かを判定する(S162)。認証要求の送信元との間のSSLセッションが無効である場合(S162で「NO」)、認証サーバ31は、その送信元の間でSSLセッションを確立(有効)する処理を行う(S163)。
FIG. 13 shows an operation flow of the authentication server (authentication program) in the present embodiment. When the
SSLセッションの確立後、再度、認証要求を受信し、認証要求の送信元との間のSSLセッションが有効である場合(S162で「YES」)、認証サーバ31は、認証情報DB35に認証要求のあったクライアント21の認証情報を有し、かつその認証情報が有効であるか否かを判定する(S164)。
After the SSL session is established, when the authentication request is received again and the SSL session with the authentication request source is valid (“YES” in S162), the
認証情報DB35に認証要求のあったクライアント21の認証情報を有しないか、または有する認証情報が無効である場合(S164で「NO」)、認証サーバ31は、次の処理を行う。すなわち、認証サーバ31は、クライアント21に対して、アプリケーション層の通信プロトコルを用いて証明書提示要求を送信する(S165)。
If the
認証サーバ31は、送信した証明書提示要求に対応する、アプリケーション層の通信プロトコルを用いた通信情報(証明書を含む)を受信する(S166)。
The
認証サーバ31は、受信した証明書の内容を検証し、検証の結果、認証に成功すれば、認証情報を認証情報DB35に登録する(S167)。
The
認証情報DB5に認証要求のあったクライアント21の認証情報を有し、かつその認証情報が有効である場合(S164で「YES」)、認証サーバ31は、次の処理を行う。すなわち、認証サーバ31は、認証要求のあったクライアント21に対して、アクセス先を業務サーバに変更するように要求する宛先変更要求を送信する(リダイレクト要求)(S168)。
When the
図14は、本実施形態におけるプログラムを実行するコンピュータのハードウェア環境の構成ブロック図の一例である。コンピュータ50は、クライアント装置11(クライアント21)または認証サーバ装置15(認証サーバ31)として機能する。コンピュータ50は、CPU52、ROM53、RAM56、通信I/F54、記憶装置57、出力I/F51、入力I/F55、読取装置58、バス59、出力装置61、入力装置62によって構成されている。
FIG. 14 is an example of a configuration block diagram of a hardware environment of a computer that executes a program in the present embodiment. The
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インタフェースを示す。バス59には、CPU52、ROM53、RAM56、通信I/F54、記憶装置57、出力I/F51、入力I/F55、及び読取装置58が接続されている。読取装置58は、可搬型記録媒体を読み出す装置である。出力装置61は、出力I/F51に接続されている。入力装置62は、入力I/F55に接続されている。
Here, CPU indicates a central processing unit. ROM indicates a read-only memory. RAM indicates random access memory. I / F indicates an interface. A
記憶装置57としては、ハードディスク、フラッシュメモリカードなど様々な形式の記憶装置を使用することができる。コンピュータ50がクライアント装置1である場合には、記憶装置57またはROM53には、CPU52を検知部12、取得部13、送信部14として機能させる本実施形態に係るプログラムが格納されている。コンピュータが認証サーバ装置15である場合には、記憶装置57またはROM53には、認証要求取得部16、電子証明書取得部17、認証部18として機能させる本実施形態に係るプログラムが格納されている。また、コンピュータ50がクライアント21である場合には、記憶装置57には、エージェント動作管理テーブル24a等が格納されている。コンピュータ50が認証サーバ31である場合には、記憶装置57には、認証情報DB35等が格納されている。
As the
CPU52は、記憶装置57またはROM53から本実施形態に係るプログラムを読み出し、当該プログラムを実行する。
The
通信I/F54は、ネットワークと接続して他の装置と通信するためのポート等のインタフェースである。
The communication I /
上記実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク60、および通信I/F54を介して、例えば記憶装置57に格納されてもよい。また、上記実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読取装置58にセットされて、CPU52によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置、半導体メモリカードなど様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読取装置58によって読み取られる。
The program for realizing the processing described in the above embodiment may be stored, for example, in the
入力装置62には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力装置61には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。
As the
ネットワーク60は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
The
本実施形態によれば、クライアントが証明書認証に成功したかどうかの情報を、SSLセッションを利用せずに、認証サーバ(アプリケーション層)で管理できるようになる。 According to the present embodiment, the information as to whether the client has succeeded in certificate authentication can be managed by the authentication server (application layer) without using the SSL session.
その結果、SSLセションが有効、かつ認証サーバが管理している認証情報が無効な場合にSSLセッション確立時に保持していた証明書を流用せずに、クライアントから再取得するので、セキュリティが向上する。 As a result, when the SSL session is valid and the authentication information managed by the authentication server is invalid, the certificate held at the time of establishing the SSL session is re-acquired from the client, thereby improving the security. .
SSLセションが無効、かつ認証サーバ4が管理している認証情報が有効な場合、本来しなくてもよかった手順をしないで済むので、利便性が向上する。
When the SSL session is invalid and the authentication information managed by the
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。 The present invention is not limited to the above-described embodiment, and various configurations or embodiments can be taken without departing from the gist of the present invention.
10 認証制御システム
11 クライアント装置
12 検知部
13 取得部
14 送信部
15 認証サーバ装置
16 証要求取得部
17 電子証明書取得部
18 認証部
19 ネットワーク
21 クライアント
22 ハードウェア
23 OS
24 エージェント
24a エージェント動作管理テーブル
25 Webブラウザ
31 認証サーバ
32 ハードウェア
33 OS
34 認証プログラム
35 認証情報DB
41 ネットワーク
DESCRIPTION OF SYMBOLS 10
24
34
41 Network
Claims (9)
前記認証サーバ装置が、取得した前記電子証明書に基づいて前記クライアント装置の認証を行う
ことを特徴とする認証制御方法。 When the authentication server device obtains an authentication request for requesting to authenticate the validity of the user who uses the client device from the client device, the validity of the encrypted communication session using the encrypted communication protocol with the client device And the authentication server device and the client using a communication protocol other than the encrypted communication protocol according to the presence and validity of authentication information indicating that the electronic certificate corresponding to the authentication request is authenticated. Obtaining the electronic certificate from the client device by communicating with the device;
The authentication control method, wherein the authentication server device authenticates the client device based on the acquired electronic certificate.
前記暗号化通信セッションが有効で、かつ前記認証情報が無いまたは無効である場合、前記暗号化通信プロトコル以外の通信プロトコルを用いて、前記認証サーバ装置と前記クライアント装置との間で通信することにより、該クライアント装置から前記電子証明書を取得し、
前記暗号化通信セッションが無効である場合、前記暗号化通信プロトコルを用いて、該クライアント装置との間で前記暗号化通信セッションを確立して有効にする
処理を実行させる請求項1に記載の認証制御方法。 In obtaining the electronic certificate,
By communicating between the authentication server device and the client device using a communication protocol other than the encrypted communication protocol when the encrypted communication session is valid and the authentication information is not present or invalid. , Obtaining the electronic certificate from the client device,
The authentication according to claim 1, wherein when the encrypted communication session is invalid, a process for establishing and validating the encrypted communication session with the client device is executed using the encrypted communication protocol. Control method.
前記クライアント装置にて動作するエージェントプログラムが、前記暗号化通信プロトコル以外の通信プロトコルを用いた前記認証サーバ装置からの通信において、前記証明書の提示要求を検知した場合、該クライアント装置に設定されたプログラムであって通信ネットワーク上で公開された情報を閲覧する閲覧プログラムと前記エージェントプログラムとの間で前記暗号化通信プロトコルを用いて通信することにより、該閲覧プログラムから前記電子証明書を取得し、
前記クライアント装置にて動作するエージェントプログラムが、前記暗号化通信プロトコル以外の前記通信プロトコルを用いて、前記認証サーバ装置に前記電子証明書を送信する
ことを特徴とする請求項1または2に記載の認証制御方法。 The authentication control method further includes
When the agent program operating on the client device detects the certificate presentation request in communication from the authentication server device using a communication protocol other than the encrypted communication protocol, the agent program is set in the client device. By acquiring the electronic certificate from the browsing program by communicating between the browsing program that browses information published on a communication network and the agent program using the encrypted communication protocol,
The agent program operating on the client device transmits the electronic certificate to the authentication server device using the communication protocol other than the encrypted communication protocol. Authentication control method.
クライアント装置から該クライアント装置を利用するユーザの正当性を認証することを要求する認証要求を取得し、
前記認証要求を取得した場合、該クライアント装置との間の暗号化通信プロトコルによる暗号化通信セッションの有効性と、前記認証要求に対応する電子証明書を認証したことを示す認証情報の有無または有効性とに応じて、前記暗号化通信プロトコル以外の通信プロトコルを用いて、前記認証サーバ装置と前記クライアント装置との間で通信することにより、該クライアント装置から前記電子証明書を取得し、
取得した前記電子証明書に基づいて前記クライアント装置の認証を行う
処理を実行させる認証プログラム。 To a computer included in an authentication server device connected to a client device via a communication network,
Obtaining an authentication request for requesting to authenticate the validity of the user using the client device from the client device;
When the authentication request is acquired, the validity of the encrypted communication session with the client device using the encrypted communication protocol, and the presence or absence of the authentication information indicating that the electronic certificate corresponding to the authentication request is authenticated The electronic certificate is obtained from the client device by communicating between the authentication server device and the client device using a communication protocol other than the encrypted communication protocol according to the nature of the communication;
An authentication program for executing processing for authenticating the client device based on the acquired electronic certificate.
前記暗号化通信セッションが有効で、かつ前記認証情報が無いまたは無効である場合、前記暗号化通信プロトコル以外の通信プロトコルを用いて、前記認証サーバ装置と前記クライアント装置との間で通信することにより、該クライアント装置から前記電子証明書を取得し、
前記暗号化通信セッションが無効である場合、前記暗号化通信プロトコルを用いて、該クライアント装置との間で前記暗号化通信セッションを確立して有効にする
処理を実行させる請求項4に記載の認証プログラム。 In obtaining the electronic certificate,
By communicating between the authentication server device and the client device using a communication protocol other than the encrypted communication protocol when the encrypted communication session is valid and the authentication information is not present or invalid. , Obtaining the electronic certificate from the client device,
The authentication according to claim 4, wherein when the encrypted communication session is invalid, a process for establishing and validating the encrypted communication session with the client device is executed using the encrypted communication protocol. program.
暗号化通信プロトコル以外の通信プロトコルを用いた認証サーバ装置からの通信において、電子証明書の提示要求を検知し、
前記提示要求を検知した場合、該クライアント装置に設定されたプログラムであって通信ネットワーク上で公開された情報を閲覧する閲覧プログラムと前記エージェントプログラムとの間で前記暗号化通信プロトコルを用いて通信することにより、該閲覧プログラムから前記電子証明書を取得し、
前記暗号化通信プロトコル以外の前記通信プロトコルを用いて、前記認証サーバ装置に前記電子証明書を送信する
処理を実行させるエージェントプログラム。 In the computer included in the client device where the agent program runs,
In communication from the authentication server device using a communication protocol other than the encrypted communication protocol, a request for presenting an electronic certificate is detected,
When the presentation request is detected, the agent program communicates using the encrypted communication protocol between a browsing program that is set in the client device and browses information published on a communication network. By acquiring the electronic certificate from the browsing program,
An agent program for executing processing for transmitting the electronic certificate to the authentication server device using the communication protocol other than the encrypted communication protocol.
前記クライアント装置から該クライアント装置を利用するユーザの正当性を認証することを要求する認証要求を取得する認証要求取得部と、
前記認証要求を取得した場合、該クライアント装置との間の暗号化通信プロトコルによる暗号化通信セッションの有効性と、前記認証要求に対応する電子証明書を認証したことを示す認証情報の有無または有効性とに応じて、前記暗号化通信プロトコル以外の通信プロトコルを用いて、前記認証サーバ装置と前記クライアント装置との間で通信することにより、該クライアント装置から前記電子証明書を取得する電子証明書取得部と、
取得した前記電子証明書に基づいて前記クライアント装置の認証を行う認証部と
を備えることを特徴とする認証サーバ装置。 An authentication server device connected to a client device via a communication network,
An authentication request acquisition unit for acquiring an authentication request for requesting to authenticate the validity of a user who uses the client device from the client device;
When the authentication request is acquired, the validity of the encrypted communication session with the client device using the encrypted communication protocol, and the presence or absence of the authentication information indicating that the electronic certificate corresponding to the authentication request is authenticated Electronic certificate for acquiring the electronic certificate from the client apparatus by communicating between the authentication server apparatus and the client apparatus using a communication protocol other than the encrypted communication Acquisition part,
An authentication server device comprising: an authentication unit that authenticates the client device based on the acquired electronic certificate.
前記暗号化通信セッションが有効で、かつ前記認証情報が無いまたは無効である場合、前記暗号化通信プロトコル以外の通信プロトコルを用いて、前記認証サーバ装置と前記クライアント装置との間で通信することにより、該クライアント装置から前記電子証明書を取得し、
前記暗号化通信セッションが無効である場合、前記暗号化通信プロトコルを用いて、該クライアント装置との間で前記暗号化通信セッションを確立して有効にする
ことを特徴とする請求項7に記載の認証サーバ装置。 The electronic certificate acquisition unit
By communicating between the authentication server device and the client device using a communication protocol other than the encrypted communication protocol when the encrypted communication session is valid and the authentication information is not present or invalid. , Obtaining the electronic certificate from the client device,
The encrypted communication session is established and validated with the client device using the encrypted communication protocol when the encrypted communication session is invalid. Authentication server device.
暗号化通信プロトコル以外の通信プロトコルを用いた認証サーバ装置からの通信において、電子証明書の提示要求を検知する検知部と、
前記提示要求を検知した場合、該クライアント装置に設定されたプログラムであって前記通信ネットワーク上で公開された情報を閲覧する閲覧プログラムと前記エージェントプログラムとの間で前記暗号化通信プロトコルを用いて通信することにより、該閲覧プログラムから前記電子証明書を取得する取得部と、
前記暗号化通信プロトコル以外の前記通信プロトコルを用いて、前記認証サーバ装置に前記電子証明書を送信する送信部と、
を備えることを特徴とするクライアント装置。 A client device that is connected to an authentication server device via a communication network and runs an agent program,
In communication from the authentication server device using a communication protocol other than the encrypted communication protocol, a detection unit that detects a request to present an electronic certificate;
When the presentation request is detected, communication is performed using the encrypted communication protocol between the browsing program that is set in the client device and browses information published on the communication network and the agent program. An acquisition unit for acquiring the electronic certificate from the browsing program;
A transmission unit that transmits the electronic certificate to the authentication server device using the communication protocol other than the encrypted communication protocol;
A client device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015220505A JP6551176B2 (en) | 2015-11-10 | 2015-11-10 | Authentication control method, authentication program, agent program, server device, and client device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015220505A JP6551176B2 (en) | 2015-11-10 | 2015-11-10 | Authentication control method, authentication program, agent program, server device, and client device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017091209A JP2017091209A (en) | 2017-05-25 |
JP6551176B2 true JP6551176B2 (en) | 2019-07-31 |
Family
ID=58770737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015220505A Active JP6551176B2 (en) | 2015-11-10 | 2015-11-10 | Authentication control method, authentication program, agent program, server device, and client device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6551176B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114268657B (en) * | 2021-12-24 | 2024-05-24 | 北京天威诚信电子商务服务有限公司 | Method and system for establishing SSL_TLS communication between browser application and local application |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001251297A (en) * | 2000-03-07 | 2001-09-14 | Cti Co Ltd | Information processor, and cipher communication system and method provided with the processor |
JP4304362B2 (en) * | 2002-06-25 | 2009-07-29 | 日本電気株式会社 | PKI-compliant certificate confirmation processing method and apparatus, and PKI-compliant certificate confirmation processing program |
US7395424B2 (en) * | 2003-07-17 | 2008-07-01 | International Business Machines Corporation | Method and system for stepping up to certificate-based authentication without breaking an existing SSL session |
-
2015
- 2015-11-10 JP JP2015220505A patent/JP6551176B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017091209A (en) | 2017-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11792199B2 (en) | Application-assisted login for a web browser | |
CN108475312B (en) | Single sign-on method for device security shell | |
US10282522B2 (en) | Cross-application authentication on a content management system | |
KR101929598B1 (en) | Sharing user id between operating system and application | |
US11240314B2 (en) | Systems and methods for remote management of appliances | |
JP6023330B2 (en) | Authorization method, apparatus, and system | |
US20220345461A1 (en) | Proxy authorization of a network device | |
US10484372B1 (en) | Automatic replacement of passwords with secure claims | |
JP4302732B2 (en) | Login authentication system for network cameras | |
US10305961B2 (en) | Information processing apparatus, information processing apparatus control method, and storage medium storing program | |
US10116449B2 (en) | Generation device, terminal device, generation method, non-transitory computer readable storage medium, and authentication processing system | |
US11251951B2 (en) | Remote authentication for accessing on-premises network devices | |
US9935977B1 (en) | Content delivery employing multiple security levels | |
JP2021152975A (en) | Information processing apparatus, control method, and program | |
JP6551176B2 (en) | Authentication control method, authentication program, agent program, server device, and client device | |
JP6178112B2 (en) | Authentication server, authentication system and program | |
JP2016085638A (en) | Server device, terminal device, system, information processing method, and program | |
JP6848275B2 (en) | Program, authentication system and authentication cooperation system | |
JP6059307B1 (en) | Terminal device, information transmission method, and information transmission program | |
US20170012979A1 (en) | Non-transitory computer-readable recording medium storing information processing program, information processing apparatus, and information processing method | |
JP7174730B2 (en) | Terminal device, information processing method and information processing program | |
TW201824887A (en) | System for using authentication server to implement free login in server group and method thereof | |
JP2023034929A (en) | Information processing device, information processing system, information processing method, and program | |
TW201824058A (en) | Cross platform downloading system based on two-dimensional barcode and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190411 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190617 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6551176 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |