JP2014081887A - Secure single sign-on system and program - Google Patents

Secure single sign-on system and program Download PDF

Info

Publication number
JP2014081887A
JP2014081887A JP2012230991A JP2012230991A JP2014081887A JP 2014081887 A JP2014081887 A JP 2014081887A JP 2012230991 A JP2012230991 A JP 2012230991A JP 2012230991 A JP2012230991 A JP 2012230991A JP 2014081887 A JP2014081887 A JP 2014081887A
Authority
JP
Japan
Prior art keywords
access ticket
unique
ticket
procedure
access
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
JP2012230991A
Other languages
Japanese (ja)
Inventor
Takashi Suzuki
貴史 鈴木
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.)
VIRTALEX CONSULTING Inc
Original Assignee
VIRTALEX CONSULTING Inc
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 VIRTALEX CONSULTING Inc filed Critical VIRTALEX CONSULTING Inc
Priority to JP2012230991A priority Critical patent/JP2014081887A/en
Publication of JP2014081887A publication Critical patent/JP2014081887A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a technology capable of achieving single sign-on while securing security without carrying a password around or taking authentication information around with a cookie.SOLUTION: A secure single sign-on system includes: means for receiving a request for the generation of a pair of asymmetrical keys from a user terminal; means for generating a pair of a secret key and a public key; means for transmitting the generated public key to the user terminal; means for receiving an encrypted ticket encrypted by using the public key from the user terminal; means for decrypting the encrypted ticket by the secret key; means for creating a unique access ticket made unique such that the decrypted access ticket can be unique; and means for transmitting the unique access ticket to the user terminal.

Description

本発明は、共有するユーザエンティティを持つ同一ドメインあるいはドメインをまたがって提供される複数のWebアプリケーション・サービス間において安全にシングルサインオンを行う方式に関する。   The present invention relates to a method for securely performing single sign-on between a plurality of Web application services provided across the same domain or domains having shared user entities.

予め契約を締結してアクセスを許可された所定のユーザにのみログインを許諾する、というサービスは、多くの場面で採用されている。
ASP(アプリケーション・サービス・プロバイダ)などの普及によって、こうした場面は非常に増えている。
A service in which a login is permitted only to a predetermined user who has signed a contract in advance and permitted access is employed in many situations.
With the spread of ASP (Application Service Provider) and the like, these scenes are greatly increasing.

さて、アクセスを許可された所定のユーザがログインするためには、ユーザに係る端末からIDとパスワードとを入力することが一般的である。 複数のサービスを同時並行で受ける際にも、IDおよびパスワードがサービス毎に要求されるのが原則である。
ユーザに対してIDおよびパスワードの入力の手間を軽減するために案出されたのが、「シングルサインオン」と呼ばれる技術である。
Now, in order for a predetermined user permitted to access to log in, it is common to input an ID and a password from a terminal related to the user. In principle, when receiving a plurality of services in parallel, an ID and a password are required for each service.
A technique called “single sign-on” has been devised in order to reduce the trouble of inputting the ID and password to the user.

シングルサインオンを実現するための技術としては、たとえば、特許文献1に開示された技術がある。
この技術は、クッキーおよび個人顧客コードによって、異なるサイト間において認証要求ユーザの同一性を認証するものである。
As a technique for realizing single sign-on, for example, there is a technique disclosed in Patent Document 1.
This technology authenticates the identity of authentication requesting users between different sites using cookies and personal customer codes.

特許第4390429号公報Japanese Patent No. 4390429

特許文献1に開示された技術では、悪意の攻撃者が予め入手した個人顧客コードを用いてリプレイ攻撃をする、といった場合に攻撃対象とされたサイトへのログインが可能となってしまう脆弱性が存在する。
イントラネットを構築することによって、外部からのアクセスを制限するという手法は、一般的に広く活用されている。しかし、ASPの利用などが制限されてしまう。
In the technique disclosed in Patent Document 1, there is a vulnerability that makes it possible to log in to a site targeted for attack when a malicious attacker makes a replay attack using a personal customer code obtained in advance. Exists.
The technique of restricting external access by constructing an intranet is generally widely used. However, the use of ASP is limited.

本発明の第一の目的は、ユーザ端末(ユーザに係る端末)上でパスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、シングルサインオンを実現可能な技術を提供することである。
第二の目的は、イントラネットやエクストラネットのみならず、インターネットを含む暗号化されていない公衆回線においても、リプレイ攻撃や総当り攻撃に対して一定の耐性を確保可能な認証情報交換を実現可能な技術を提供することである。
A first object of the present invention is to provide a technology capable of realizing single sign-on without carrying a password on a user terminal (terminal associated with a user) or routing authentication information with a cookie.
The second purpose is to realize authentication information exchange that can ensure a certain level of resistance against replay attacks and brute force attacks not only on intranets and extranets but also on unencrypted public lines including the Internet. Is to provide technology.

本発明は、インターネットを含む暗号化されていない公衆回線において、安全な認証情報交換を次に示す複数のセキュリティ保護機構で解決する。
第一の発明は、ユーザ端末に対してサービスを提供するサービス提供者のサーバに係る。
第二の発明は、サービス提供者のサーバにインストールされるコンピュータプログラムに係る。
第三の発明は、サービス提供者からサービスを受けるユーザ端末にインストールされるコンピュータプログラムに係る。
The present invention solves secure authentication information exchange in a non-encrypted public line including the Internet by a plurality of security protection mechanisms described below.
A first invention relates to a server of a service provider that provides a service to a user terminal.
The second invention relates to a computer program installed on a server of a service provider.
A third invention relates to a computer program installed in a user terminal that receives a service from a service provider.

(第一の発明)
第一の発明は、 ネットワークを介して複数種類のサービスをユーザ端末へ提供する場合に、二つ目以降のサービスへのログイン操作を簡略化するアクセス制限装置に係る。
すなわち、 ユーザ端末からの非対称の鍵ペア生成の要求を受信する鍵ペア生成要求受信手段と、
その鍵ペア生成要求受信手段が鍵ペア生成の要求を受信した場合に秘密鍵および公開鍵のペアを生成する鍵ペア生成手段と、
その鍵ペア生成手段が生成した公開鍵を前記のユーザ端末へ送信する公開鍵送信手段と、
公開鍵を受信したユーザ端末においてログインを簡略化するためのアクセスチケットを要求するため、前記の公開鍵を用いて暗号化した暗号化チケットを受信するアクセスチケット登録要求受信手段と、
そのアクセスチケット登録要求受信手段が受信した暗号化チケットを前記の秘密鍵で復号化するアクセスチケット復号化手段と、
そのアクセスチケット復号化手段が復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成するアクセスチケット一意化手段と、
そのアクセスチケット一意化手段が作成した一意化アクセスチケットを前記のユーザ端末へ送信する一意化チケット送信手段と、
を備えたアクセス制限装置である。
(First invention)
A first invention relates to an access restriction device that simplifies a log-in operation for the second and subsequent services when a plurality of types of services are provided to a user terminal via a network.
That is, a key pair generation request receiving means for receiving an asymmetric key pair generation request from a user terminal;
A key pair generating means for generating a private key and public key pair when the key pair generation request receiving means receives a key pair generation request;
Public key transmitting means for transmitting the public key generated by the key pair generating means to the user terminal;
An access ticket registration request receiving means for receiving an encrypted ticket encrypted using the public key in order to request an access ticket for simplifying login at the user terminal that has received the public key;
Access ticket decrypting means for decrypting the encrypted ticket received by the access ticket registration request receiving means with the secret key;
An access ticket unique means for creating a unique access ticket that is unique so that the access ticket is unique with respect to the access ticket decrypted by the access ticket decryption means;
A unique ticket sending means for sending the unique access ticket created by the access ticket unique means to the user terminal;
Is an access restriction device.

「アクセスチケット一意化手段」とは、たとえば、ファイルの種類を示す識別子を特殊な文字列とする、などの手段である。   The “access ticket unique means” is means for, for example, using an identifier indicating a file type as a special character string.

(作用)
シングルサインオンを希望するユーザ端末から非対称の鍵ペア生成の要求が発信される。その非対称の鍵ペア生成の要求を鍵ペア生成要求受信手段が受信する。 その鍵ペア生成の要求を受信した場合には、鍵ペア生成手段が秘密鍵および公開鍵のペアを生成する。 生成した非対称の鍵ペアのうちの公開鍵は、公開鍵送信手段が前記のユーザ端末へ送信する。
公開鍵を受信したユーザ端末においては、ログインを簡略化するためのアクセスチケットを要求するため、前記の公開鍵を用いて暗号化して暗号化チケットを生成する。そして、その暗号化チケットをアクセス制限装置へ送信すると、アクセス制限装置におけるアクセスチケット登録要求受信手段が受信する。
アクセス制限装置のアクセスチケット登録要求受信手段が受信した暗号化チケットは、アクセスチケット復号化手段が前記の秘密鍵で復号化する。そして、復号化したアクセスチケットに対しては、当該アクセスチケットが唯一無二となるようにアクセスチケット一意化手段が一意化し、一意化アクセスチケットとする。 作成した一意化アクセスチケットは、一意化チケット送信手段が前記のユーザ端末へ送信する。
(Function)
A request for generating an asymmetric key pair is transmitted from a user terminal desiring single sign-on. The asymmetric key pair generation request is received by the key pair generation request receiving means. When the key pair generation request is received, the key pair generation unit generates a private key / public key pair. The public key of the generated asymmetric key pair is transmitted to the user terminal by the public key transmitting means.
In order to request an access ticket for simplifying login, the user terminal that has received the public key generates an encrypted ticket by encrypting the public key. When the encrypted ticket is transmitted to the access restriction device, the access ticket registration request receiving means in the access restriction device receives it.
The encrypted ticket received by the access ticket registration request receiving means of the access restriction device is decrypted by the access ticket decrypting means with the secret key. Then, for the decrypted access ticket, the access ticket unique means makes the access ticket unique so that it becomes a unique access ticket. The created unique access ticket is sent to the user terminal by the unique ticket sending means.

当該ユーザ端末においては、受信した一意化アクセスチケットを用いれば、ネットワークを介して複数種類のサービスを受ける際にシングルサインオンを実現できる。パスワードを持ち廻していないので、そのパスワードを不正に取得した第三者がいても、そのパスワードではアクセスすることはできず、セキュリティを高いレベルで保持できる。
また、イントラネットやエクストラネットのみならず、インターネットを含む暗号化されていない公衆回線においても、リプレイ攻撃や総当り攻撃に対して一定の耐性を確保可能である。
In the user terminal, using the received unique access ticket, single sign-on can be realized when receiving a plurality of types of services via the network. Since no password is carried around, even if there is a third party who obtains the password illegally, it cannot be accessed with the password, and security can be maintained at a high level.
Further, not only intranets and extranets but also unencrypted public lines including the Internet can ensure a certain level of resistance against replay attacks and brute force attacks.

(第一の発明のバリエーション1)
第一の発明は、 前記の一意化アクセスチケットを格納する認証データ記憶手段を備えるとともに、 その認証データ記憶手段は、前記のアクセスチケット一意化手段を備えるサーバとは異なるサーバに設けることとしてもよい。
(Variation 1 of the first invention)
The first invention may comprise an authentication data storage means for storing the unique access ticket, and the authentication data storage means may be provided on a server different from the server having the access ticket unique means. .

(作用)
一意化アクセスチケットを格納する認証データ記憶手段が、前記のアクセスチケット一意化手段を備えるサーバとは異なるサーバに設けられていると、一意化アクセスチケットの不正入手が第三者にとって困難となる。ゆえに、セキュリティレベルを高めることができる。
(Function)
If the authentication data storage means for storing the unique access ticket is provided on a server different from the server provided with the access ticket unique means, it is difficult for a third party to obtain the unique access ticket. Therefore, the security level can be increased.

(第一の発明のバリエーション2)
第一の発明におけるバリエーション1は、以下のように形成してもよい。
すなわち、 前記の一意化アクセスチケットをユーザ端末から受信する一意化チケット受信手段と、 その一意化チケット受信手段が受信した一意化アクセスチケットを前記の認証データ記憶手段にアクセスして照合するアクセスチケット照合手段と、を備えたアクセス制限装置としてもよい。
(Variation 2 of the first invention)
Variation 1 in the first invention may be formed as follows.
That is, a unique ticket receiving unit that receives the unique access ticket from a user terminal, and an access ticket verification that collates the unique access ticket received by the unique ticket receiving unit by accessing the authentication data storage unit And an access restriction device.

(作用)
複数種類のサービスをユーザ端末へ提供する場合に、アクセスのための手続きとアクセスとを、ユーザから見て同じサーバにて実現しているように見えるので、サービス向上に寄与する。
(Function)
When providing a plurality of types of services to user terminals, access procedures and access appear to be realized on the same server as viewed from the user, which contributes to service improvement.

(第一の発明のバリエーション3)
第一の発明におけるバリエーション2は、以下のように形成してもよい。
すなわち、 前記のアクセスチケット照合手段が照合した一意化アクセスチケットが照合できた場合に、前記の認証データ記憶手段にアクセスして当該認証データ記憶手段に記憶された当該一意化アクセスチケットを消去するアクセスチケット消去手段 を備えたアクセス制限装置としてもよい。
(Variation 3 of the first invention)
Variation 2 in the first invention may be formed as follows.
That is, when the unique access ticket verified by the access ticket verification unit can be verified, access for accessing the authentication data storage unit and erasing the unique access ticket stored in the authentication data storage unit An access restriction device having a ticket erasing unit may be used.

(作用)
ユーザ端末がシングルサインオンを実行し、アクセスチケット照合手段が照合した一意化アクセスチケットが照合できた場合に、前記の認証データ記憶手段にアクセスして当該認証データ記憶手段に記憶された当該一意化アクセスチケットを、アクセスチケット消去手段が消去する。
仮に、一意化アクセスチケットを不正に取得した第三者がいたとしても、一度使われた一意化アクセスチケットは消去されてしまうので、セキュリティ性能を高めるのに寄与している。
(Function)
When the user terminal performs single sign-on and the unique access ticket verified by the access ticket verification means can be verified, the unique data stored in the authentication data storage means by accessing the authentication data storage means The access ticket erasing unit erases the access ticket.
Even if there is a third party who illegally obtained the unique access ticket, the unique access ticket once used is deleted, which contributes to improving the security performance.

(第一の発明のバリエーション4)
第一の発明は、以下のように形成してもよい。
すなわち、前記のアクセスチケット一意化手段は、一意化されたアクセスチケットが使用できるアクセス期限を設定することとしてもよい。
(Variation 4 of the first invention)
The first invention may be formed as follows.
In other words, the access ticket unique means may set an access time limit for using the unique access ticket.

(作用)
シングルサインオンを希望するユーザが、長時間をあけてから複数種類のサービスにアクセスすることは稀である。その一方、一意化アクセスチケットが長時間にわたって有効であるということは、セキュリティ性能を低めることとなる。そこで、アクセスチケット一意化手段は、一意化されたアクセスチケットが使用できるアクセス期限を設定することとし、セキュリティ性能を高めることに寄与する。
(Function)
A user who desires single sign-on rarely accesses multiple types of services after a long time. On the other hand, if the unique access ticket is valid for a long time, the security performance is lowered. Therefore, the access ticket unique means sets an access time limit that can be used by the unique access ticket, and contributes to improving the security performance.

(第二の発明)
第二の発明は、 ネットワークを介して複数種類のサービスをユーザ端末へ提供する場合に、二つ目以降のサービスへのログイン操作を簡略化するコンピュータプログラムに係る。
そのプログラムは、 ユーザ端末からの非対称の鍵ペア生成の要求を受信する鍵ペア生成要求受信手順と、 その鍵ペア生成要求受信手順にて鍵ペア生成の要求を受信した場合に秘密鍵および公開鍵のペアを生成する鍵ペア生成手順と、 その鍵ペア生成手順にて生成した公開鍵を前記のユーザ端末へ送信する公開鍵送信手順と、 公開鍵を受信したユーザ端末においてログインを簡略化するためのアクセスチケットを前記の公開鍵を用いて暗号化した暗号化チケットを受信するアクセスチケット登録要求受信手順と、 そのアクセスチケット登録要求受信手順にて受信した暗号化チケットを前記の秘密鍵で復号化するアクセスチケット復号化手順と、 そのアクセスチケット復号化手順にて復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成するアクセスチケット一意化手順と、 そのアクセスチケット一意化手順にて作成した一意化アクセスチケットを前記のユーザ端末へ送信する一意化チケット送信手順と、をコンピュータに実現させることとしたコンピュータプログラムである。
(Second invention)
A second invention relates to a computer program that simplifies a log-in operation for the second and subsequent services when a plurality of types of services are provided to a user terminal via a network.
The program includes a key pair generation request reception procedure for receiving an asymmetric key pair generation request from a user terminal, and a secret key and public key when a key pair generation request is received in the key pair generation request reception procedure. A key pair generation procedure for generating a pair of keys, a public key transmission procedure for transmitting the public key generated by the key pair generation procedure to the user terminal, and a login process at the user terminal that has received the public key. Access ticket registration request reception procedure for receiving an encrypted ticket obtained by encrypting the access ticket using the public key, and decrypting the encrypted ticket received by the access ticket registration request reception procedure with the secret key Access ticket decryption procedure and the access ticket decrypted by the access ticket decryption procedure. An access ticket unique procedure for creating a unique access ticket that is unique so as to be unique, and a unique ticket for sending the unique access ticket created by the access ticket unique procedure to the user terminal This is a computer program that causes a computer to realize the transmission procedure.

(第二の発明のバリエーション1)
第二の発明は、 前記の一意化アクセスチケットを認証データ記憶手段へ格納する一意化アクセスチケット記憶手順を、更にコンピュータに実現させることとしてもよい。
(Variation 1 of the second invention)
The second invention may further cause the computer to realize a unique access ticket storage procedure for storing the unique access ticket in the authentication data storage means.

(第二の発明のバリエーション2)
第二の発明における前記バリエーション1は、以下のように形成してもよい。
すなわち、 前記の一意化アクセスチケットをユーザ端末から受信する一意化チケット受信手順と、 その一意化チケット受信手順にて受信した一意化アクセスチケットを前記の認証データ記憶手段にアクセスして照合するアクセスチケット照合手順と、を、更にコンピュータに実現させることとしてもよい。
(Variation 2 of the second invention)
The variation 1 in the second invention may be formed as follows.
That is, a unique ticket receiving procedure for receiving the unique access ticket from a user terminal, and an access ticket for accessing and verifying the unique access ticket received in the unique ticket receiving procedure to the authentication data storage means The verification procedure may be further realized by a computer.

(第二の発明のバリエーション3)
第二の発明における前記バリエーション2は、以下のように形成してもよい。
すなわち、 前記のアクセスチケット照合手順にて照合した一意化アクセスチケットが照合できた場合に、前記の認証データ記憶手段にアクセスして当該認証データ記憶手段に記憶された当該一意化アクセスチケットを消去するアクセスチケット消去手順を、更にコンピュータに実現させることとしてもよい。
(Variation 3 of the second invention)
The variation 2 in the second invention may be formed as follows.
That is, when the unique access ticket verified in the access ticket verification procedure can be verified, the authentication data storage unit is accessed and the unique access ticket stored in the authentication data storage unit is deleted. The access ticket erasing procedure may be further realized by a computer.

(第三の発明)
第三の発明は、 ネットワークを介して複数種類のサービスをサービスサーバから受ける場合に、二つ目以降のサービスへのログイン操作を簡略化するユーザ端末用のコンピュータプログラムに係る。
そのプログラムは、前記のサービスサーバに対して非対称の鍵ペア生成の要求を送信する鍵ペア生成要求送信手順と、 前記のサービスサーバが鍵ペアを生成して公開鍵を送信してきた場合にその公開鍵を受信する公開鍵受信手順と、 二つ目以降のサービスへのログインに用いるアクセスチケットを生成するアクセスチケット生成手順と、 そのアクセスチケット生成手順にて生成したアクセスチケットを前記の公開鍵受信手順にて受信した公開鍵を用いて暗号化するアクセスチケット暗号化手順と、 そのアクセスチケット暗号化手順にて暗号化したアクセスチケットを前記のサービスサーバへ送信して登録を要求するアクセスチケット登録要求手順と、 前記のサービスサーバにおいて暗号化されたアクセスチケットを復号化するとともに、が唯一無二となるように一意化した一意化アクセスチケットを受信する一意化チケット受信手順と、をコンピュータに実現させることとしたコンピュータプログラムである。
(Third invention)
A third invention relates to a computer program for a user terminal that simplifies a log-in operation for the second and subsequent services when a plurality of types of services are received from a service server via a network.
The program includes a key pair generation request transmission procedure for transmitting an asymmetric key pair generation request to the service server, and a public key when the service server generates a key pair and transmits a public key. A public key receiving procedure for receiving a key; an access ticket generating procedure for generating an access ticket to be used for logging in to a second and subsequent services; and an access ticket generated by the access ticket generating procedure. The access ticket encryption procedure for encrypting using the public key received in the step, and the access ticket registration request procedure for requesting the registration by transmitting the access ticket encrypted by the access ticket encryption procedure to the service server And decrypting the access ticket encrypted in the service server, Uniquing a ticket receiving procedure for receiving a unique reduction access ticket Uniquing so that unique, a computer program was decided to realize the computer.

(第三の発明のバリエーション1)
第三の発明は、以下のように形成してもよい。
すなわち、 前記の期限付きチケット受信手順にて受信した一意化アクセスチケットを二つ目以降のサービスへのログインする際に送信する一意化チケット送信手順と、
一意化アクセスチケットを受信した二つ目以降のサービスを提供するサービスサーバからのレスポンスを受信するレスポンス受信手順と、を、更にコンピュータに実現させることとしてもよい。
(Variation 1 of the third invention)
The third invention may be formed as follows.
That is, a unique ticket sending procedure for sending the unique access ticket received in the time-limited ticket receiving procedure when logging into the second and subsequent services;
A response reception procedure for receiving a response from a service server that provides the second and subsequent services that have received the unique access ticket may be further implemented in a computer.

(第二および第三の発明の提供形態)
第二の発明および第三の発明は、CD−R、DVD−Rなどの記録媒体に記憶させて提供することもできるし、通信回線を介してインストールすることで提供することもできる。
(Provision form of the second and third inventions)
The second and third inventions can be provided by being stored in a recording medium such as a CD-R or DVD-R, or can be provided by being installed via a communication line.

第一の発明によれば、ユーザ端末(ユーザに係る端末)上でパスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、シングルサインオンを実現可能なアクセス制限装置を提供することができた。
第二の発明によれば、ユーザ端末(ユーザに係る端末)上でパスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、シングルサインオンを実現可能なコンピュータプログラムを提供することができた。
第三の発明によれば、パスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、シングルサインオンを実現可能なユーザ端末用のコンピュータプログラムを提供することができた。
According to the first invention, it is possible to provide an access restriction device capable of realizing single sign-on without carrying a password on a user terminal (terminal associated with a user) or routing authentication information with a cookie. It was.
According to the second aspect of the present invention, it is possible to provide a computer program that can realize single sign-on without carrying a password on a user terminal (terminal associated with a user) or routing authentication information with a cookie. .
According to the third aspect of the present invention, it is possible to provide a computer program for a user terminal that can realize single sign-on without carrying around a password or routing authentication information with a cookie.

セキュアシングルサインオン方式を説明するための全体構成図である。It is a whole block diagram for demonstrating a secure single sign-on system. セキュアシングルサインオン方式を説明するための部分構成図である。It is a partial block diagram for demonstrating a secure single sign-on system. セキュアシングルサインオン方式を説明するための部分構成図である。It is a partial block diagram for demonstrating a secure single sign-on system. 認証データ記憶手段に保持されているデータテーブルの一例である。It is an example of the data table currently hold | maintained at the authentication data storage means.

以下、図面を参照させながら、本発明を実施する形態について説明する。 ここで使用する図は、図1から図4である。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The figures used here are FIGS. 1 to 4.

図1には、サービス提供者Xと、そのサービス提供者Xが提供するウェブ経由のサービスを受ける旨を予め契約したユーザとの関係について、それぞれに係るハードウェアの構成をブロック図で示している。
この図1では、主要な概要を示しており、より詳細な説明として、図2および図3に図示している。
FIG. 1 is a block diagram showing the hardware configuration of a service provider X and the relationship between the service provider X and a user who has contracted in advance to receive services via the web provided by the service provider X. .
FIG. 1 shows a main outline, and FIG. 2 and FIG. 3 illustrate it in more detail.

ユーザは、ユーザに係るユーザ端末がインターネット経由でサービス提供者Xに係るサーバAへアクセスする。サービス提供者Xは、サーバBを用いて、ユーザに対する異なるサービスも提供している。また、前記のサーバAおよびサーバBとは別に、サーバCを備えている。このサーバCは、サーバAおよびサーバBがアクセスして用いるが、ユーザ端末からはアクセスできない。   The user accesses the server A related to the service provider X via the Internet from the user terminal related to the user. The service provider X uses the server B to provide different services for the user. In addition to the server A and the server B, a server C is provided. The server C is accessed and used by the server A and the server B, but cannot be accessed from the user terminal.

図1に基づいて簡単に説明する。
ユーザ端末は、ウェブブラウザにアクセスした後、サーバAにログインする。
また、ユーザはユーザ端末を操作し、サーバBへログインする際に本来ならば必要とされるIDやパスワードの入力を省略するための、「シングルサインオン」をサーバAに対して要求する。
まず、ユーザ端末は、サーバAに対して非対称の鍵ペアの生成を要求し、サーバAは鍵ペアを生成したら、公開鍵をユーザ端末へ送信する。 ユーザ端末においては、アクセスチケットを生成したら、受信した公開鍵を用いてそのアクセスチケットを暗号化し、サーバAへ送信する。
This will be briefly described with reference to FIG.
The user terminal logs in to the server A after accessing the web browser.
In addition, the user operates the user terminal to request “single sign-on” to the server A for omitting input of an ID and password that are originally required when logging in to the server B.
First, the user terminal requests the server A to generate an asymmetric key pair. When the server A generates a key pair, the user terminal transmits a public key to the user terminal. In the user terminal, when the access ticket is generated, the access ticket is encrypted using the received public key and transmitted to the server A.

サーバAにおいては、非対称の鍵ペアとして生成した秘密鍵を用いて、受信したアクセスチケットを復号化する。 そして復号化したアクセスチケットが唯一無二のものである一意化アクセスチケットに加工し、ユーザ端末へ送信する。
この一意化アクセスチケットを用いれば、サーバBへのログインにおけるIDやパスワードの入力を省略できることとなる。
サーバAにおいて一意化したアクセスチケットは、サーバCに設定された認証データベースに蓄積する。
In the server A, the received access ticket is decrypted using the secret key generated as an asymmetric key pair. Then, the decrypted access ticket is processed into a unique access ticket that is unique and transmitted to the user terminal.
If this unique access ticket is used, it is possible to omit the input of the ID and password when logging in to the server B.
The access ticket unique in the server A is accumulated in the authentication database set in the server C.

一方、ユーザ端末から一意化したアクセスチケットによってサーバBへのログイン要請があった場合、サーバBは、サーバCの認証データベースに問い合わせ、ログイン要請に係る一意化アクセスチケットが存在するかどうか、確認する。確認できたらログインを許可する。ここにおいて、シングルサインオンが実現する。   On the other hand, when the login request to the server B is made by the access ticket that is unique from the user terminal, the server B inquires of the authentication database of the server C and confirms whether the unique access ticket related to the login request exists. . Allow login if confirmed. Here, single sign-on is realized.

ユーザ端末からのアクセスを許可したら、そのアクセスに用いた一意化アクセスチケットを認証データベースから削除する。これによって、二重ログイン、不正なログインを未然の防止する。   If access from the user terminal is permitted, the unique access ticket used for the access is deleted from the authentication database. This prevents double login and unauthorized login.

なお、ログイン要請に係る一意化アクセスチケットが認証データベースにおいて存在しないである場合には、通常のログイン画面がサーバBからユーザ端末へ提供されることとなる。この場合、シングルサインオンではなく、ユーザはIDやパスワードの入力によってサーバBへログインすることとなる。   When the unique access ticket related to the login request does not exist in the authentication database, a normal login screen is provided from the server B to the user terminal. In this case, instead of single sign-on, the user logs in to the server B by inputting an ID or password.

図2および図3に基づいて、もう少し詳しく説明する。
ユーザ端末には、サービス提供者Xが別途提供する「セキュアシングルサインオン」を実行するためのコンピュータプログラムを予めダウンロードし、実行可能としてある。
そのコンピュータプログラムとは、サービスサーバに対して非対称の鍵ペア生成の要求を送信する鍵ペア生成要求送信手順と、 前記のサービスサーバが鍵ペアを生成して公開鍵を送信してきた場合にその公開鍵を受信する公開鍵受信手順と、 二つ目以降のサービスへのログインに用いるアクセスチケットを生成するアクセスチケット生成手順と、 そのアクセスチケット生成手順にて生成したアクセスチケットを前記の公開鍵受信手順にて受信した公開鍵を用いて暗号化するアクセスチケット暗号化手順と、 そのアクセスチケット暗号化手順にて暗号化したアクセスチケットを前記のサービスサーバへ送信して登録を要求するアクセスチケット登録要求手順と、 前記のサービスサーバにおいて暗号化されたアクセスチケットを復号化するとともに、が唯一無二となるように一意化した一意化アクセスチケットを受信する一意化チケット受信手順と、をコンピュータに実現させることとしたコンピュータプログラムである。
A more detailed description will be given based on FIGS. 2 and 3.
In the user terminal, a computer program for executing “secure single sign-on” separately provided by the service provider X can be downloaded in advance and executed.
The computer program includes a key pair generation request transmission procedure for transmitting an asymmetric key pair generation request to the service server, and a public key when the service server generates a key pair and transmits a public key. A public key receiving procedure for receiving a key; an access ticket generating procedure for generating an access ticket to be used for logging in to a second and subsequent services; and an access ticket generated by the access ticket generating procedure. The access ticket encryption procedure for encrypting using the public key received in the step, and the access ticket registration request procedure for requesting the registration by transmitting the access ticket encrypted by the access ticket encryption procedure to the service server And decrypting the access ticket encrypted in the service server Moni, a computer program but it was decided to realize unification and ticket receiving procedure for receiving a unique reduction access ticket Uniquing so that unique, to the computer.

前記のコンピュータプログラムをインストールしたユーザ端末は、前述したように、鍵ペア要求手段、アクセスチケット生成手段などを備え、生成したアクセスチケットはアクセスチケットデータベースに格納したり、受信した公開鍵とともにアクセスチケット暗号化手段によって暗号化した上でアクセスチケット登録要求を行い、一意化アクセスチケットをチケット受信手段にて受信する。   As described above, the user terminal in which the computer program is installed includes a key pair request unit, an access ticket generation unit, and the like, and the generated access ticket is stored in the access ticket database, or the access ticket encryption together with the received public key. An access ticket registration request is made after encryption by the digitizing means, and the unique access ticket is received by the ticket receiving means.

ユーザ端末は、他のサイトサービスを提供しているサーバBへアクセスするため、受信した一意化アクセスチケットを送信する。
ここで、その一意化アクセスチケットがネットワーク上を流れるのは、サーバAからユーザ端末へ送信される時である。この時に、悪意ある第三者が一意化アクセスチケットを盗み取ることがあったとしても、その送信時のパケット盗み取りによるリプレイ攻撃は原理的には不可能である。
The user terminal transmits the received unique access ticket to access the server B that provides other site services.
Here, the unique access ticket flows on the network when it is transmitted from the server A to the user terminal. At this time, even if a malicious third party steals the unique access ticket, a replay attack by packet theft at the time of transmission is impossible in principle.

サーバAは、 ネットワークを介して複数種類のサービスをユーザ端末へ提供する場合に、二つ目以降のサービスへのログイン操作を簡略化するコンピュータプログラムをインストールしている。
そのプログラムは、 ユーザ端末からの非対称の鍵ペア生成の要求を受信する鍵ペア生成要求受信手順と、 その鍵ペア生成要求受信手順にて鍵ペア生成の要求を受信した場合に秘密鍵および公開鍵のペアを生成する鍵ペア生成手順と、 その鍵ペア生成手順にて生成した公開鍵を前記のユーザ端末へ送信する公開鍵送信手順と、 公開鍵を受信したユーザ端末においてログインを簡略化するためのアクセスチケットを前記の公開鍵を用いて暗号化した暗号化チケットを受信するアクセスチケット登録要求受信手順と、 そのアクセスチケット登録要求受信手順にて受信した暗号化チケットを前記の秘密鍵で復号化するアクセスチケット復号化手順と、 そのアクセスチケット復号化手順にて復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成するアクセスチケット一意化手順と、 そのアクセスチケット一意化手順にて作成した一意化アクセスチケットを前記のユーザ端末へ送信する一意化チケット送信手順と、をサーバAに実現させることとしたコンピュータプログラムである。
The server A installs a computer program that simplifies the login operation to the second and subsequent services when providing a plurality of types of services to the user terminal via the network.
The program includes a key pair generation request reception procedure for receiving an asymmetric key pair generation request from a user terminal, and a secret key and public key when a key pair generation request is received in the key pair generation request reception procedure. A key pair generation procedure for generating a pair of keys, a public key transmission procedure for transmitting the public key generated by the key pair generation procedure to the user terminal, and a login process at the user terminal that has received the public key. Access ticket registration request reception procedure for receiving an encrypted ticket obtained by encrypting the access ticket using the public key, and decrypting the encrypted ticket received by the access ticket registration request reception procedure with the secret key Access ticket decryption procedure and the access ticket decrypted by the access ticket decryption procedure. An access ticket unique procedure for creating a unique access ticket that is unique so as to be unique, and a unique ticket for sending the unique access ticket created by the access ticket unique procedure to the user terminal This is a computer program that causes the server A to realize the transmission procedure.

前述したように、サーバAでは、公開鍵と秘密鍵の鍵ペアを生成して鍵ペアデータベースに蓄積し、公開鍵をユーザ端末へ送信するとともに、秘密鍵は、ユーザがアクセスチケットを暗号化して送信してきたアクセスチケットを復号化するのに使用する。
そして、復号化したアクセスチケットを一意化し、ユーザへ送信するとともに、認証データ記憶手段を備えるサーバCへ送信する。
As described above, the server A generates a key pair of a public key and a secret key, accumulates it in the key pair database, transmits the public key to the user terminal, and the secret key is obtained by encrypting the access ticket by the user. Used to decrypt the sent access ticket.
Then, the decrypted access ticket is made unique, transmitted to the user, and transmitted to the server C provided with authentication data storage means.

図3に示すように、サーバBは、ユーザ端末から「シングルサインオン」の要求を受け、許諾または通常のログインを要求するものである。
一意化アクセスチケットを受信する一意化チケット受信手段と、受信した一意化アクセスチケットを照合するため、サーバCにある認証データ記憶手段へアクセスするアクセスチケット照合手段とを備える。そのアクセスチケット照合手段にて照合できた場合にそのままログインできる旨のレスポンスをユーザ端末へ返すレスポンス送信手段と、照合できなかった場合にログイン画面を送信するログイン画面送信手段とを備える。
As shown in FIG. 3, the server B receives a request for “single sign-on” from the user terminal and requests permission or normal login.
A unique ticket receiving unit that receives the unique access ticket; and an access ticket collating unit that accesses the authentication data storage unit in the server C in order to collate the received unique access ticket. If the access ticket verification unit can verify, a response transmission unit that returns a response indicating that the user can log in as it is to the user terminal, and a login screen transmission unit that transmits a login screen if the verification cannot be performed.

更に、レスポンス送信手段がそのままログインできる旨のレスポンスをユーザ端末へ返した場合、サーバCにある認証データ記憶手段へアクセスして当該チケットを消去する。それを行うのがアクセスチケット消去手段である。
このため、ユーザ端末からサーバBへ一意化アクセスチケットを送信する際に、悪意ある第三者がサーバBに対してリプレイ攻撃をおこなっても、アクセスチケットは消去されているので、不正にログインされることはほとんどない。
Further, when the response transmission means returns a response to the effect that the user can log in as it is, the authentication data storage means in the server C is accessed and the ticket is deleted. This is done by the access ticket erasing means.
For this reason, when a unique access ticket is transmitted from the user terminal to the server B, even if a malicious third party makes a replay attack against the server B, the access ticket is erased, so that an unauthorized login is made. There is hardly anything.

前述したサーバAにおけるアクセスチケット一意化手段は、一意化するのみならず、使用期限を設定する。この使用期限は、今日のコンピュータの性能にとって長い期限とはしない。
このため、悪意ある第三者が総当り法で攻撃をおこなったとしても、その使用期限内で認証データ記憶手段に蓄積された認証情報を引き当てることは、極めて困難であろう。
The access ticket unique means in the server A described above not only makes it unique, but also sets an expiration date. This expiration date is not a long term for the performance of today's computers.
For this reason, even if a malicious third party attacks using the brute force method, it will be extremely difficult to allocate the authentication information stored in the authentication data storage means within the expiration date.

前述したサーバAに対して、生成される鍵ペアのうちネットワークを介してユーザ端末へ送信される公開鍵を手がかりに秘密鍵を再現し、ユーザ端末よりも先にシングルサインオン要求を行う、という不正ログインの方法が考えられる。
この方法による攻撃には、鍵ペアを短周期で入れ替える、という手法を採用することで対抗することができる。あるいは、シングルサインオン要求の旅に、異なる鍵ペアを生成することで十分な抗堪性を確保することができる。
The server A described above reproduces the secret key using the public key transmitted to the user terminal via the network in the generated key pair, and makes a single sign-on request before the user terminal. Possible illegal login methods.
Attacks by this method can be countered by adopting a technique of exchanging key pairs in a short cycle. Alternatively, sufficient tolerance can be ensured by generating different key pairs for a single sign-on request trip.

本実施形態によれば、ユーザ端末(ユーザに係る端末)上でパスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、シングルサインオンを実現可能な技術を提供することができる。
また、イントラネットやエクストラネットのみならず、インターネットを含む暗号化されていない公衆回線においても、リプレイ攻撃や総当り攻撃に対して一定の耐性を確保可能な認証情報交換を実現可能な技術を提供することができる。
本実施形態は、サイト間の認証状態の紐付け手段としてパスワードやクッキーに依存していない。したがって、異なるサイト・サービスに対して異なるドメイン(ID)が設置されていても、シングルサインオンを容易に適用することができる。
According to the present embodiment, it is possible to provide a technology capable of realizing single sign-on without carrying a password on a user terminal (terminal associated with a user) or routing authentication information with a cookie.
In addition to intranets and extranets, we provide technology that can implement authentication information exchange that can ensure a certain level of resistance against replay attacks and brute force attacks not only on unencrypted public lines including the Internet. be able to.
This embodiment does not depend on passwords or cookies as a means for associating authentication states between sites. Therefore, single sign-on can be easily applied even if different domains (IDs) are installed for different site services.

本実施形態においては、一般的なシングルサインオンシステムで用いられるクッキーを用いないため異なるドメインをまたがったシングルサインオンを実現することができる。
また、認証済みの第一のサイト(サーバA)と未認証の第二のサイト(サーバB)をそれぞれ異なるバイナリ表現で送信されるアクセスチケットで紐付けるため、公衆回線(インターネット)を介してシングルサインオンを行う場合であってもネットワーク上にユーザIDやパスワードが流れることがない。したがって、悪意の盗聴者の心配をする必要が無く、安全が高い。
In this embodiment, since a cookie used in a general single sign-on system is not used, single sign-on across different domains can be realized.
In addition, since the authenticated first site (server A) and the unauthenticated second site (server B) are associated with access tickets transmitted in different binary representations, a single is provided via the public line (Internet). Even when signing on, the user ID and password do not flow on the network. Therefore, there is no need to worry about a malicious eavesdropper and the safety is high.

アクセスチケット自体は、シングルサインオンのたびにユーザ端末において生成されるランダムな値であるため、アクセスチケットが盗聴された場合であっても、その漏出はユーザにとって何ら脅威とならない。
前述の通り、第一のサイトおよび第二のサイトそれぞれに対してアクセスチケットを送信する際の表現が異なるからである。
すなわち、前者に関しては公開鍵で暗号化され、後者に関しては非暗号化表現で送信されるため、リプレイ攻撃が原理的に不可能である(前者の公開鍵暗号化アクセスチケットから非暗号化アクセスチケットを割り出すことを現実的な時間内で実施することは甚だ困難である)。
また、アクセスチケットはシングルサインオンの認証成功如何に関わらず一度でも利用されたら、認証データ記憶手段から速やかに破棄される。このため、リプレイ攻撃に対する抗堪性が確保されている、と言える。
Since the access ticket itself is a random value generated at the user terminal at every single sign-on, even if the access ticket is wiretapped, the leakage does not pose any threat to the user.
This is because, as described above, expressions when transmitting an access ticket to the first site and the second site are different.
In other words, the former is encrypted with the public key, and the latter is transmitted in an unencrypted representation, so a replay attack is not possible in principle (from the former public key encrypted access ticket to the unencrypted access ticket). It is very difficult to carry out the determination in a realistic time).
In addition, if the access ticket is used even once regardless of whether the single sign-on authentication is successful, it is promptly discarded from the authentication data storage means. For this reason, it can be said that tolerance to replay attacks is secured.

以下、前述してきた実施形態における各機能などについて補足する。   Hereinafter, each function in the embodiment described above will be supplemented.

(鍵ペア生成)
鍵ペア生成手段は、ユーザ端末からの鍵ペア生成要求を受信し、非対称鍵の鍵ペア(秘密鍵および公開鍵からなる)を新たに生成する。生成する鍵のアルゴリズムは、本実施形態では非対称鍵暗号方式、広く普及しているRSAを採用するが、本発明はこれに限られない。鍵ペアをシングルサインオン・セッション毎に生成することで、漏洩や盗聴などで悪意の攻撃者の手に鍵が渡りクラッキングの手がかりとなることを防止する。
(Key pair generation)
The key pair generation means receives a key pair generation request from the user terminal, and newly generates an asymmetric key pair (consisting of a secret key and a public key). As the key algorithm to be generated, an asymmetric key cryptosystem and a widely used RSA are adopted in this embodiment, but the present invention is not limited to this. By generating a key pair for each single sign-on session, it is possible to prevent a key from being transferred to a malicious attacker due to leakage or eavesdropping, and to become a clue to cracking.

(鍵ペアデータベースへの鍵ペアの保存)
鍵ペア生成手段でにて生成したRSA公開鍵・秘密鍵のうち、秘密鍵をサーバAのセッション領域に保存する。ここで保存した秘密鍵は、アクセスチケット登録処理において、ユーザ端末にて公開鍵で暗号化してネットワークを介して送信されてきたアクセスチケットを復号するために用いられる。
(Storing key pairs in the key pair database)
Of the RSA public key / secret key generated by the key pair generation means, the secret key is stored in the session area of server A. The secret key stored here is used to decrypt the access ticket transmitted through the network after being encrypted with the public key at the user terminal in the access ticket registration process.

(ユーザ端末への公開鍵の送信)
鍵ペア生成手段にて生成したRSA公開鍵・秘密鍵のうち、公開鍵をユーザ端末へ、特に暗号化されることなく送信する。暗号化しないのは、盗聴されてもセキュリティ上の不都合は生じない(攻撃に用い得ない)からである。
(Send public key to user terminal)
Of the RSA public key / secret key generated by the key pair generation means, the public key is transmitted to the user terminal without being particularly encrypted. The reason for not encrypting is that there is no security inconvenience even if it is eavesdropped (cannot be used for attack).

(アクセスチケットの生成、暗号化)
ユーザ端末においては、サーバAから返却された公開鍵を受け取るのと前後して、アクセスチケット生成手段にて次の規則でアクセスチケットを生成する。
アクセスチケット=現在時間(ミリ秒)+生成ランダム整数の後方15桁
更に、当該アクセスチケットに対して、アクセスチケット暗号化手段にて、前記の公開鍵を用いてRSA暗号で暗号化し、暗号化アクセスチケットを生成する。
(Generation and encryption of access ticket)
At the user terminal, before and after receiving the public key returned from the server A, the access ticket is generated by the access ticket generation means according to the following rules.
Access ticket = current time (milliseconds) + 15 digits behind the generated random integer Furthermore, the access ticket encryption means encrypts the access ticket using the above public key with RSA encryption, encrypted access Generate a ticket.

(アクセスチケットの登録)
ユーザ端末は、前記の暗号化アクセスチケットをサーバAへ送信する。 サーバAでは、受信した暗号化アクセスチケットを、アクセスチケット復号手段に受け渡す。
アクセスチケット復号手段は、秘密鍵を記憶している鍵ペアデータベースから秘密鍵を取り出し、暗号化アクセスチケットを復号し
、サーバCに設けた認証データベースへ登録する。
(Registering an access ticket)
The user terminal transmits the encrypted access ticket to the server A. The server A passes the received encrypted access ticket to the access ticket decrypting means.
The access ticket decrypting means extracts the secret key from the key pair database storing the secret key, decrypts the encrypted access ticket, and registers it in the authentication database provided in the server C.

認証データベースに登録する前に、アクセスチケット一意化手段において、アクセスチケットの一意性を担保するために以下のようなサフィックスを付与する。
一意アクセスチケット=アクセスチケット+サフィックス
この実施形態において、「サフィックス」とは、5桁整数のランダム値を生成しゼロ埋めで整形した文字列とする。
なお、前記サフィックスは、一意化されるアクセスチケットが認証データベースにおいて一意となるまで生成を試行する。
Before registering in the authentication database, the access ticket unique means provides the following suffix to ensure the uniqueness of the access ticket.
Unique access ticket = access ticket + suffix In this embodiment, the “suffix” is a character string that is a random value of a 5-digit integer and is shaped by zero padding.
The suffix is generated until the access ticket to be unique becomes unique in the authentication database.

(認証データベース)
生成した一意アクセスチケットは、認証データベースへ登録する。
認証データベースは、サーバAがユーザ端末に提供する第一のサイトおよびサーバBが提供する第二のサイト、、、第nのサイト間で共有する必要がある。このため、それら全てのサイトに設置されたユーザから参照可能なリレーショナル・データベース上にてテーブルとして構成するのが望ましい。
(Authentication database)
The generated unique access ticket is registered in the authentication database.
The authentication database needs to be shared between the first site provided by the server A to the user terminal, the second site provided by the server B, and the nth site. For this reason, it is desirable to configure as a table on a relational database that can be referred to by users installed at all these sites.

図4に示すように、リレーショナル・データベース上のテーブルとして構成した場合の定義例を以下に示す。
「登録日時」にはアクセスチケットを登録する時点でのシステム時間を、「ユーザID」には認証を要求するユーザのIDを、「アクセスチケット」にはユーザ端末から受信しサフィックスを付与して一意とした一意アクセスチケットを、それぞれ設定する。
また、「チケット利用期限」を設定する。アクセスチケットの有効期間を例えば5分としたとき「登録日時」から起算して5分後の時間を、以上それぞれ設定するものとする。特にチケット利用期限には不正利用を防止するという観点で予め利用期限を設定した値を設定する。
As shown in FIG. 4, a definition example when configured as a table on a relational database is shown below.
The “registration date / time” is the system time at the time of registering the access ticket, the “user ID” is the ID of the user requesting authentication, and the “access ticket” is received from the user terminal and given a suffix. Each unique access ticket is set.
Also, a “ticket expiration date” is set. For example, when the validity period of the access ticket is 5 minutes, the time after 5 minutes from the “registration date” is set as above. In particular, a value for which an expiration date is set in advance is set as the ticket expiration date from the viewpoint of preventing unauthorized use.

(アクセスチケット・サフィックス返却)
アクセスチケット登録にて生成されたアクセスチケット・サフィックス(アクセスチケットを真に一意とするためにサーバで付加する一意識別子)をユーザ端末に返却する。
(Access ticket / suffix return)
The access ticket suffix generated by the access ticket registration (unique identifier added by the server to make the access ticket truly unique) is returned to the user terminal.

(シングルサインオン要求)
ユーザ端末から第二のサイトを提供するサーバBに対してログイン要求が送信する際、パラメータとしてアクセスチケットおよびアクセスチケット・サフィックスを付加する。このときに送信されてネットワーク上を流れるアクセスチケットは、平文表現である。
なお、アクセスチケットは、サーバAに対しても送信されているが、このときは公開鍵暗号によって暗号化された暗号化アクセスチケットである。このため、本処理とは異なるバイナリ列であり悪意の攻撃者にとって実際にネットワーク上を流れるまで当該平文アクセスチケットを想到することは不可能である。
(Single sign-on request)
When a login request is transmitted from the user terminal to the server B providing the second site, an access ticket and an access ticket suffix are added as parameters. The access ticket transmitted at this time and flowing on the network is expressed in plain text.
The access ticket is also transmitted to the server A. At this time, the access ticket is an encrypted access ticket encrypted by public key encryption. For this reason, it is a binary string different from this process, and it is impossible for a malicious attacker to conceive the plaintext access ticket until it actually flows on the network.

(サーバBにおけるシングルサインオン処理)
第二のサイトのサーバBに構成された認証エージェント部は、ユーザ端末から要求された認証リクエストを受信し、ユーザ端末が既に認証済みであるかをサーバCの認証データ記憶手段にアクセスして確認する。認証済みであるときは、本来要求先へリクエストを転送する。認証済みでないときは、シングルサインオン要求であることを示すアクセスチケットがパラメータとして付加されているかチェックし、付加されているときシングルサインオン処理を実施する。シングルサインオン要求パラメータが付加されていないときは、認証手続きがまだであるから、当該ユーザ端末へログイン要求を促すログイン画面を表示する。
(Single sign-on processing at server B)
The authentication agent unit configured in the server B of the second site receives the authentication request requested from the user terminal and accesses the authentication data storage unit of the server C to check whether the user terminal has already been authenticated. To do. When authenticated, the request is originally transferred to the request destination. When not authenticated, it is checked whether an access ticket indicating a single sign-on request is added as a parameter, and when added, a single sign-on process is performed. When the single sign-on request parameter is not added, since the authentication procedure is not yet performed, a login screen that prompts the user terminal for a login request is displayed.

(認証処理)
第二のサイトのサーバBは、ユーザ端末からシングルサインオン要求を受け取ると、ユーザ端末より受信したアクセスチケットを用いて認証情報保持部より該当するエントリを検索する。
具体的には、認証データ記憶手段からアクセスチケットをキーとして該当するエントリを取得し、エントリが存在したときは、認証情報保持部エントリに記憶された「チケット利用期限」とシステムの現在時間とを比較する。
利用期限内であったら該認証情報保持エントリを有効としてログインを許可する。ログイン可であるとき、該認証情報保持エントリの「ユーザID」を取り出し、そのユーザ情報を用いてサーバBにおいて当該ユーザの認証処理を実行する。前記の認証が成功したとき認証エージェントはユーザ端末の要求URLへ処理を転送するものとし、前記認証が失敗に終わったときは認証手続きがまだであるから、ユーザ端末へログイン画面を返却する。
(Authentication process)
When the server B of the second site receives the single sign-on request from the user terminal, the server B of the second site searches for the corresponding entry from the authentication information holding unit using the access ticket received from the user terminal.
Specifically, the corresponding entry is acquired from the authentication data storage means using the access ticket as a key, and when the entry exists, the “ticket expiration date” stored in the authentication information holding unit entry and the current time of the system are obtained. Compare.
If it is within the usage period, the authentication information holding entry is validated and login is permitted. When the login is possible, the “user ID” of the authentication information holding entry is extracted, and the authentication process of the user is executed in the server B using the user information. When the authentication is successful, the authentication agent transfers the process to the request URL of the user terminal. When the authentication is unsuccessful, the authentication procedure is not yet performed, and the login screen is returned to the user terminal.

(認証情報保持エントリの削除)
認証がまだである第二のサイト(サーバB)において認証処理が実施されたとき、ユーザ端末から送信されたアクセスチケットを用いて認証情報保持部のエントリが検索・取得される。そして、当該エントリが存在し取得されたとき、後続処理が成功したか否か関わらず、当該エントリを認証データ記憶手段から消去する。認証データ記憶手段に保持しているエントリは、あくまで一回のシングルサインオン要求に対して一つだけ存在させるべきものであり、認証失敗したときに該エントリが残置されたままでは、悪意の攻撃者が当該エントリを利用して不正ログインする可能性があるからである。
(Delete authentication information entry)
When the authentication process is performed at the second site (server B) that has not yet been authenticated, the entry in the authentication information holding unit is retrieved and acquired using the access ticket transmitted from the user terminal. When the entry exists and is acquired, the entry is deleted from the authentication data storage unit regardless of whether or not the subsequent process is successful. There should be only one entry held in the authentication data storage means for each single sign-on request. If the entry is left unsuccessful when authentication fails, a malicious attack will occur. This is because there is a possibility that a person may illegally log in using the entry.

本願発明は、インターネット接続サービス業、インターネットを介した情報サービス業、ASP事業、ソフトウェア開発業、サーバなどの情報機器の製造業などにおいて、利用可能性を有する。   The present invention has applicability in the Internet connection service industry, the information service industry via the Internet, the ASP business, the software development industry, the manufacturing industry of information devices such as servers, and the like.

Claims (12)

ネットワークを介して複数種類のサービスをユーザ端末へ提供する場合に、二つ目以降のサービスへのログイン操作を簡略化する装置であって、
ユーザ端末からの非対称の鍵ペア生成の要求を受信する鍵ペア生成要求受信手段と、
その鍵ペア生成要求受信手段が鍵ペア生成の要求を受信した場合に秘密鍵および公開鍵のペアを生成する鍵ペア生成手段と、
その鍵ペア生成手段が生成した公開鍵を前記のユーザ端末へ送信する公開鍵送信手段と、
公開鍵を受信したユーザ端末においてログインを簡略化するためのアクセスチケットを要求するため、前記の公開鍵を用いて暗号化した暗号化チケットを受信するアクセスチケット登録要求受信手段と、
そのアクセスチケット登録要求受信手段が受信した暗号化チケットを前記の秘密鍵で復号化するアクセスチケット復号化手段と、
そのアクセスチケット復号化手段が復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成するアクセスチケット一意化手段と、
そのアクセスチケット一意化手段が作成した一意化アクセスチケットを前記のユーザ端末へ送信する一意化チケット送信手段と、
を備えたアクセス制限装置。
When providing a plurality of types of services to a user terminal via a network, a device that simplifies the login operation to the second and subsequent services,
A key pair generation request receiving means for receiving an asymmetric key pair generation request from a user terminal;
A key pair generating means for generating a private key and public key pair when the key pair generation request receiving means receives a key pair generation request;
Public key transmitting means for transmitting the public key generated by the key pair generating means to the user terminal;
An access ticket registration request receiving means for receiving an encrypted ticket encrypted using the public key in order to request an access ticket for simplifying login at the user terminal that has received the public key;
Access ticket decrypting means for decrypting the encrypted ticket received by the access ticket registration request receiving means with the secret key;
An access ticket unique means for creating a unique access ticket that is unique so that the access ticket is unique with respect to the access ticket decrypted by the access ticket decryption means;
A unique ticket sending means for sending the unique access ticket created by the access ticket unique means to the user terminal;
An access restriction device comprising:
前記の一意化アクセスチケットを格納する認証データ記憶手段を備えるとともに、
その認証データ記憶手段は、前記のアクセスチケット一意化手段を備えるサーバとは異なるサーバに設けることとした請求項1に記載のアクセス制限装置。
An authentication data storage means for storing the unique access ticket;
The access restriction apparatus according to claim 1, wherein the authentication data storage means is provided in a server different from the server provided with the access ticket unique means.
前記の一意化アクセスチケットをユーザ端末から受信する一意化チケット受信手段と、
その一意化チケット受信手段が受信した一意化アクセスチケットを前記の認証データ記憶手段にアクセスして照合するアクセスチケット照合手段と、
を備えた請求項2に記載のアクセス制限装置。
Unique ticket receiving means for receiving the unique access ticket from a user terminal;
An access ticket verification unit that accesses the verification data storage unit to verify the unique access ticket received by the unique ticket reception unit;
The access restriction device according to claim 2, further comprising:
前記のアクセスチケット照合手段が照合した一意化アクセスチケットが照合できた場合に、前記の認証データ記憶手段にアクセスして当該認証データ記憶手段に記憶された当該一意化アクセスチケットを消去するアクセスチケット消去手段
を備えた請求項3に記載のアクセス制限装置。
Access ticket erasure for accessing the authentication data storage means and erasing the unique access ticket stored in the authentication data storage means when the unique access ticket verified by the access ticket verification means can be verified 4. The access restriction device according to claim 3, further comprising means.
前記のアクセスチケット一意化手段は、一意化されたアクセスチケットが使用できるアクセス期限を設定することとした請求項1から請求項4のいずれかに記載のアクセス制限装置。   The access restriction device according to any one of claims 1 to 4, wherein the access ticket unique means sets an access time limit for using the unique access ticket. ネットワークを介して複数種類のサービスをユーザ端末へ提供する場合に、二つ目以降のサービスへのログイン操作を簡略化するコンピュータプログラムであって、
そのプログラムは、
ユーザ端末からの非対称の鍵ペア生成の要求を受信する鍵ペア生成要求受信手順と、
その鍵ペア生成要求受信手順にて鍵ペア生成の要求を受信した場合に秘密鍵および公開鍵のペアを生成する鍵ペア生成手順と、
その鍵ペア生成手順にて生成した公開鍵を前記のユーザ端末へ送信する公開鍵送信手順と、
公開鍵を受信したユーザ端末においてログインを簡略化するためのアクセスチケットを前記の公開鍵を用いて暗号化した暗号化チケットを受信するアクセスチケット登録要求受信手順と、
そのアクセスチケット登録要求受信手順にて受信した暗号化チケットを前記の秘密鍵で復号化するアクセスチケット復号化手順と、
そのアクセスチケット復号化手順にて復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成するアクセスチケット一意化手順と、
そのアクセスチケット一意化手順にて作成した一意化アクセスチケットを前記のユーザ端末へ送信する一意化チケット送信手順と、
をコンピュータに実現させることとしたコンピュータプログラム。
When providing a plurality of types of services to a user terminal via a network, a computer program that simplifies the login operation to the second and subsequent services,
The program is
A key pair generation request reception procedure for receiving an asymmetric key pair generation request from a user terminal;
A key pair generation procedure for generating a private key / public key pair when a key pair generation request is received in the key pair generation request reception procedure;
A public key transmission procedure for transmitting the public key generated in the key pair generation procedure to the user terminal;
An access ticket registration request reception procedure for receiving an encrypted ticket obtained by encrypting an access ticket for simplifying login at the user terminal that has received the public key using the public key;
An access ticket decrypting procedure for decrypting the encrypted ticket received in the access ticket registration request receiving procedure with the secret key;
An access ticket unique procedure for creating a unique access ticket that is unique so that the access ticket is unique with respect to the access ticket decrypted in the access ticket decryption procedure;
A unique ticket transmission procedure for transmitting the unique access ticket created by the access ticket unique procedure to the user terminal;
A computer program that causes a computer to realize the above.
前記の一意化アクセスチケットを認証データ記憶手段へ格納する一意化アクセスチケット記憶手順
をコンピュータに実現させることとした請求項6に記載のコンピュータプログラム。
The computer program according to claim 6, wherein the computer realizes a unique access ticket storage procedure for storing the unique access ticket in the authentication data storage unit.
前記の一意化アクセスチケットをユーザ端末から受信する一意化チケット受信手順と、
その一意化チケット受信手順にて受信した一意化アクセスチケットを前記の認証データ記憶手段にアクセスして照合するアクセスチケット照合手順と、
をコンピュータに実現させることとした請求項7に記載のコンピュータプログラム。
A unique ticket receiving procedure for receiving the unique access ticket from the user terminal;
An access ticket verification procedure for accessing and verifying the unique access ticket received in the unique ticket reception procedure to the authentication data storage means;
8. The computer program according to claim 7, wherein said computer is realized by a computer.
前記のアクセスチケット照合手順にて照合した一意化アクセスチケットが照合できた場合に、前記の認証データ記憶手段にアクセスして当該認証データ記憶手段に記憶された当該一意化アクセスチケットを消去するアクセスチケット消去手順
をコンピュータに実現させることとした請求項7に記載のコンピュータプログラム。
An access ticket that accesses the authentication data storage means and erases the unique access ticket stored in the authentication data storage means when the unique access ticket verified in the access ticket verification procedure can be verified The computer program according to claim 7, wherein the erasing procedure is realized by a computer.
前記のアクセスチケット一意化手順は、一意化されたアクセスチケットが使用できるアクセス期限を設定することとした請求項6から請求項9のいずれかに記載のコンピュータプログラム。   The computer program according to any one of claims 6 to 9, wherein the access ticket uniqueizing procedure sets an access time limit for using the unique access ticket. ネットワークを介して複数種類のサービスをサービスサーバから受ける場合に、二つ目以降のサービスへのログイン操作を簡略化するユーザ端末用のコンピュータプログラムであって、
そのプログラムは、前記のサービスサーバに対して非対称の鍵ペア生成の要求を送信する鍵ペア生成要求送信手順と、
前記のサービスサーバが鍵ペアを生成して公開鍵を送信してきた場合にその公開鍵を受信する公開鍵受信手順と、
二つ目以降のサービスへのログインに用いるアクセスチケットを生成するアクセスチケット生成手順と、
そのアクセスチケット生成手順にて生成したアクセスチケットを前記の公開鍵受信手順にて受信した公開鍵を用いて暗号化するアクセスチケット暗号化手順と、
そのアクセスチケット暗号化手順にて暗号化したアクセスチケットを前記のサービスサーバへ送信して登録を要求するアクセスチケット登録要求手順と、
前記のサービスサーバにおいて暗号化されたアクセスチケットを復号化するとともに、復号化したアクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを受信する一意化チケット受信手順と、
をコンピュータに実現させることとしたコンピュータプログラム。
When receiving a plurality of types of services from a service server via a network, a computer program for a user terminal that simplifies a login operation to the second and subsequent services,
The program includes a key pair generation request transmission procedure for transmitting an asymmetric key pair generation request to the service server;
A public key receiving procedure for receiving the public key when the service server generates a key pair and transmits the public key;
An access ticket generation procedure for generating an access ticket used to log in to the second and subsequent services;
An access ticket encryption procedure for encrypting the access ticket generated in the access ticket generation procedure using the public key received in the public key reception procedure;
An access ticket registration request procedure for requesting registration by transmitting the access ticket encrypted by the access ticket encryption procedure to the service server;
A unique ticket receiving procedure for decrypting the encrypted access ticket in the service server and receiving a unique access ticket unique so that the decrypted access ticket is unique;
A computer program that causes a computer to realize the above.
前記の一意化チケット受信手順にて受信した一意化アクセスチケットを二つ目以降のサービスへのログインする際に送信する一意化チケット送信手順と、
前記の一意化アクセスチケットを受信した二つ目以降のサービスを提供するサービスサーバからのレスポンスを受信するレスポンス受信手順と、
をコンピュータに実現させることとした請求項11に記載のコンピュータプログラム。
A unique ticket sending procedure for sending the unique access ticket received in the unique ticket receiving procedure when logging into the second and subsequent services;
A response reception procedure for receiving a response from a service server that provides the second and subsequent services that have received the unique access ticket;
12. The computer program according to claim 11, wherein the computer is realized by a computer.
JP2012230991A 2012-10-18 2012-10-18 Secure single sign-on system and program Pending JP2014081887A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012230991A JP2014081887A (en) 2012-10-18 2012-10-18 Secure single sign-on system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012230991A JP2014081887A (en) 2012-10-18 2012-10-18 Secure single sign-on system and program

Publications (1)

Publication Number Publication Date
JP2014081887A true JP2014081887A (en) 2014-05-08

Family

ID=50785999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012230991A Pending JP2014081887A (en) 2012-10-18 2012-10-18 Secure single sign-on system and program

Country Status (1)

Country Link
JP (1) JP2014081887A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180153805A1 (en) * 2015-07-22 2018-06-07 Spectrum Pharmaceuticals, Inc. A Ready-to-use Formulation for Vincristine Sulfate Liposome Injection
CN116049802A (en) * 2023-03-31 2023-05-02 深圳竹云科技股份有限公司 Application single sign-on method, system, computer equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180153805A1 (en) * 2015-07-22 2018-06-07 Spectrum Pharmaceuticals, Inc. A Ready-to-use Formulation for Vincristine Sulfate Liposome Injection
CN116049802A (en) * 2023-03-31 2023-05-02 深圳竹云科技股份有限公司 Application single sign-on method, system, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
CN103685282B (en) A kind of identity identifying method based on single-sign-on
US8059818B2 (en) Accessing protected data on network storage from multiple devices
JP5619019B2 (en) Method, system, and computer program for authentication (secondary communication channel token-based client-server authentication with a primary authenticated communication channel)
CN109361668A (en) A kind of data trusted transmission method
CN108418691A (en) Dynamic network identity identifying method based on SGX
CN103248479A (en) Cloud storage safety system, data protection method and data sharing method
US10263782B2 (en) Soft-token authentication system
CN104767731A (en) Identity authentication protection method of Restful mobile transaction system
JP2004509399A (en) System for protecting objects distributed over a network
DK2414983T3 (en) Secure computer system
JP5452192B2 (en) Access control system, access control method and program
JP2016522637A (en) Secured data channel authentication that implies a shared secret
WO2008053279A1 (en) Logging on a user device to a server
Singh et al. OAuth 2.0: Architectural design augmentation for mitigation of common security vulnerabilities
Hanumanthappa et al. Privacy preserving and ownership authentication in ubiquitous computing devices using secure three way authentication
Gaber et al. Privdrm: A privacy-preserving secure digital right management system
CN110572392A (en) Identity authentication method based on HyperLegger network
KR20090054774A (en) Method of integrated security management in distribution network
Nishimura et al. Secure authentication key sharing between mobile devices based on owner identity
Ahmad et al. User requirement model for federated identities threats
JP2014081887A (en) Secure single sign-on system and program
JP2024514039A (en) User authentication method for multi-node parties
US10979226B1 (en) Soft-token authentication system with token blocking after entering the wrong PIN
Pranata et al. A distributed mechanism for secure collaboration in Digital Ecosystems