JP2014081887A - セキュアシングルサインオン方式およびプログラム - Google Patents

セキュアシングルサインオン方式およびプログラム 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
English (en)
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/ja
Publication of JP2014081887A publication Critical patent/JP2014081887A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】パスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、セキュリティを確保しつつ、シングルサインオンを実現可能な技術を提供する。
【解決手段】ユーザ端末からの非対称の鍵ペア生成の要求を受信する手段と、秘密鍵および公開鍵のペアを生成する手段と、生成した公開鍵を前記のユーザ端末へ送信する手段と、公開鍵を用いて暗号化した暗号化チケットをユーザ端末から受信する手段と、その前記の秘密鍵で復号化する手段と、その復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成する手段と、その一意化アクセスチケットを前記のユーザ端末へ送信する手段と、を備える。
【選択図】図1

Description

本発明は、共有するユーザエンティティを持つ同一ドメインあるいはドメインをまたがって提供される複数のWebアプリケーション・サービス間において安全にシングルサインオンを行う方式に関する。
予め契約を締結してアクセスを許可された所定のユーザにのみログインを許諾する、というサービスは、多くの場面で採用されている。
ASP(アプリケーション・サービス・プロバイダ)などの普及によって、こうした場面は非常に増えている。
さて、アクセスを許可された所定のユーザがログインするためには、ユーザに係る端末からIDとパスワードとを入力することが一般的である。 複数のサービスを同時並行で受ける際にも、IDおよびパスワードがサービス毎に要求されるのが原則である。
ユーザに対してIDおよびパスワードの入力の手間を軽減するために案出されたのが、「シングルサインオン」と呼ばれる技術である。
シングルサインオンを実現するための技術としては、たとえば、特許文献1に開示された技術がある。
この技術は、クッキーおよび個人顧客コードによって、異なるサイト間において認証要求ユーザの同一性を認証するものである。
特許第4390429号公報
特許文献1に開示された技術では、悪意の攻撃者が予め入手した個人顧客コードを用いてリプレイ攻撃をする、といった場合に攻撃対象とされたサイトへのログインが可能となってしまう脆弱性が存在する。
イントラネットを構築することによって、外部からのアクセスを制限するという手法は、一般的に広く活用されている。しかし、ASPの利用などが制限されてしまう。
本発明の第一の目的は、ユーザ端末(ユーザに係る端末)上でパスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、シングルサインオンを実現可能な技術を提供することである。
第二の目的は、イントラネットやエクストラネットのみならず、インターネットを含む暗号化されていない公衆回線においても、リプレイ攻撃や総当り攻撃に対して一定の耐性を確保可能な認証情報交換を実現可能な技術を提供することである。
本発明は、インターネットを含む暗号化されていない公衆回線において、安全な認証情報交換を次に示す複数のセキュリティ保護機構で解決する。
第一の発明は、ユーザ端末に対してサービスを提供するサービス提供者のサーバに係る。
第二の発明は、サービス提供者のサーバにインストールされるコンピュータプログラムに係る。
第三の発明は、サービス提供者からサービスを受けるユーザ端末にインストールされるコンピュータプログラムに係る。
(第一の発明)
第一の発明は、 ネットワークを介して複数種類のサービスをユーザ端末へ提供する場合に、二つ目以降のサービスへのログイン操作を簡略化するアクセス制限装置に係る。
すなわち、 ユーザ端末からの非対称の鍵ペア生成の要求を受信する鍵ペア生成要求受信手段と、
その鍵ペア生成要求受信手段が鍵ペア生成の要求を受信した場合に秘密鍵および公開鍵のペアを生成する鍵ペア生成手段と、
その鍵ペア生成手段が生成した公開鍵を前記のユーザ端末へ送信する公開鍵送信手段と、
公開鍵を受信したユーザ端末においてログインを簡略化するためのアクセスチケットを要求するため、前記の公開鍵を用いて暗号化した暗号化チケットを受信するアクセスチケット登録要求受信手段と、
そのアクセスチケット登録要求受信手段が受信した暗号化チケットを前記の秘密鍵で復号化するアクセスチケット復号化手段と、
そのアクセスチケット復号化手段が復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成するアクセスチケット一意化手段と、
そのアクセスチケット一意化手段が作成した一意化アクセスチケットを前記のユーザ端末へ送信する一意化チケット送信手段と、
を備えたアクセス制限装置である。
「アクセスチケット一意化手段」とは、たとえば、ファイルの種類を示す識別子を特殊な文字列とする、などの手段である。
(作用)
シングルサインオンを希望するユーザ端末から非対称の鍵ペア生成の要求が発信される。その非対称の鍵ペア生成の要求を鍵ペア生成要求受信手段が受信する。 その鍵ペア生成の要求を受信した場合には、鍵ペア生成手段が秘密鍵および公開鍵のペアを生成する。 生成した非対称の鍵ペアのうちの公開鍵は、公開鍵送信手段が前記のユーザ端末へ送信する。
公開鍵を受信したユーザ端末においては、ログインを簡略化するためのアクセスチケットを要求するため、前記の公開鍵を用いて暗号化して暗号化チケットを生成する。そして、その暗号化チケットをアクセス制限装置へ送信すると、アクセス制限装置におけるアクセスチケット登録要求受信手段が受信する。
アクセス制限装置のアクセスチケット登録要求受信手段が受信した暗号化チケットは、アクセスチケット復号化手段が前記の秘密鍵で復号化する。そして、復号化したアクセスチケットに対しては、当該アクセスチケットが唯一無二となるようにアクセスチケット一意化手段が一意化し、一意化アクセスチケットとする。 作成した一意化アクセスチケットは、一意化チケット送信手段が前記のユーザ端末へ送信する。
当該ユーザ端末においては、受信した一意化アクセスチケットを用いれば、ネットワークを介して複数種類のサービスを受ける際にシングルサインオンを実現できる。パスワードを持ち廻していないので、そのパスワードを不正に取得した第三者がいても、そのパスワードではアクセスすることはできず、セキュリティを高いレベルで保持できる。
また、イントラネットやエクストラネットのみならず、インターネットを含む暗号化されていない公衆回線においても、リプレイ攻撃や総当り攻撃に対して一定の耐性を確保可能である。
(第一の発明のバリエーション1)
第一の発明は、 前記の一意化アクセスチケットを格納する認証データ記憶手段を備えるとともに、 その認証データ記憶手段は、前記のアクセスチケット一意化手段を備えるサーバとは異なるサーバに設けることとしてもよい。
(作用)
一意化アクセスチケットを格納する認証データ記憶手段が、前記のアクセスチケット一意化手段を備えるサーバとは異なるサーバに設けられていると、一意化アクセスチケットの不正入手が第三者にとって困難となる。ゆえに、セキュリティレベルを高めることができる。
(第一の発明のバリエーション2)
第一の発明におけるバリエーション1は、以下のように形成してもよい。
すなわち、 前記の一意化アクセスチケットをユーザ端末から受信する一意化チケット受信手段と、 その一意化チケット受信手段が受信した一意化アクセスチケットを前記の認証データ記憶手段にアクセスして照合するアクセスチケット照合手段と、を備えたアクセス制限装置としてもよい。
(作用)
複数種類のサービスをユーザ端末へ提供する場合に、アクセスのための手続きとアクセスとを、ユーザから見て同じサーバにて実現しているように見えるので、サービス向上に寄与する。
(第一の発明のバリエーション3)
第一の発明におけるバリエーション2は、以下のように形成してもよい。
すなわち、 前記のアクセスチケット照合手段が照合した一意化アクセスチケットが照合できた場合に、前記の認証データ記憶手段にアクセスして当該認証データ記憶手段に記憶された当該一意化アクセスチケットを消去するアクセスチケット消去手段 を備えたアクセス制限装置としてもよい。
(作用)
ユーザ端末がシングルサインオンを実行し、アクセスチケット照合手段が照合した一意化アクセスチケットが照合できた場合に、前記の認証データ記憶手段にアクセスして当該認証データ記憶手段に記憶された当該一意化アクセスチケットを、アクセスチケット消去手段が消去する。
仮に、一意化アクセスチケットを不正に取得した第三者がいたとしても、一度使われた一意化アクセスチケットは消去されてしまうので、セキュリティ性能を高めるのに寄与している。
(第一の発明のバリエーション4)
第一の発明は、以下のように形成してもよい。
すなわち、前記のアクセスチケット一意化手段は、一意化されたアクセスチケットが使用できるアクセス期限を設定することとしてもよい。
(作用)
シングルサインオンを希望するユーザが、長時間をあけてから複数種類のサービスにアクセスすることは稀である。その一方、一意化アクセスチケットが長時間にわたって有効であるということは、セキュリティ性能を低めることとなる。そこで、アクセスチケット一意化手段は、一意化されたアクセスチケットが使用できるアクセス期限を設定することとし、セキュリティ性能を高めることに寄与する。
(第二の発明)
第二の発明は、 ネットワークを介して複数種類のサービスをユーザ端末へ提供する場合に、二つ目以降のサービスへのログイン操作を簡略化するコンピュータプログラムに係る。
そのプログラムは、 ユーザ端末からの非対称の鍵ペア生成の要求を受信する鍵ペア生成要求受信手順と、 その鍵ペア生成要求受信手順にて鍵ペア生成の要求を受信した場合に秘密鍵および公開鍵のペアを生成する鍵ペア生成手順と、 その鍵ペア生成手順にて生成した公開鍵を前記のユーザ端末へ送信する公開鍵送信手順と、 公開鍵を受信したユーザ端末においてログインを簡略化するためのアクセスチケットを前記の公開鍵を用いて暗号化した暗号化チケットを受信するアクセスチケット登録要求受信手順と、 そのアクセスチケット登録要求受信手順にて受信した暗号化チケットを前記の秘密鍵で復号化するアクセスチケット復号化手順と、 そのアクセスチケット復号化手順にて復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成するアクセスチケット一意化手順と、 そのアクセスチケット一意化手順にて作成した一意化アクセスチケットを前記のユーザ端末へ送信する一意化チケット送信手順と、をコンピュータに実現させることとしたコンピュータプログラムである。
(第二の発明のバリエーション1)
第二の発明は、 前記の一意化アクセスチケットを認証データ記憶手段へ格納する一意化アクセスチケット記憶手順を、更にコンピュータに実現させることとしてもよい。
(第二の発明のバリエーション2)
第二の発明における前記バリエーション1は、以下のように形成してもよい。
すなわち、 前記の一意化アクセスチケットをユーザ端末から受信する一意化チケット受信手順と、 その一意化チケット受信手順にて受信した一意化アクセスチケットを前記の認証データ記憶手段にアクセスして照合するアクセスチケット照合手順と、を、更にコンピュータに実現させることとしてもよい。
(第二の発明のバリエーション3)
第二の発明における前記バリエーション2は、以下のように形成してもよい。
すなわち、 前記のアクセスチケット照合手順にて照合した一意化アクセスチケットが照合できた場合に、前記の認証データ記憶手段にアクセスして当該認証データ記憶手段に記憶された当該一意化アクセスチケットを消去するアクセスチケット消去手順を、更にコンピュータに実現させることとしてもよい。
(第三の発明)
第三の発明は、 ネットワークを介して複数種類のサービスをサービスサーバから受ける場合に、二つ目以降のサービスへのログイン操作を簡略化するユーザ端末用のコンピュータプログラムに係る。
そのプログラムは、前記のサービスサーバに対して非対称の鍵ペア生成の要求を送信する鍵ペア生成要求送信手順と、 前記のサービスサーバが鍵ペアを生成して公開鍵を送信してきた場合にその公開鍵を受信する公開鍵受信手順と、 二つ目以降のサービスへのログインに用いるアクセスチケットを生成するアクセスチケット生成手順と、 そのアクセスチケット生成手順にて生成したアクセスチケットを前記の公開鍵受信手順にて受信した公開鍵を用いて暗号化するアクセスチケット暗号化手順と、 そのアクセスチケット暗号化手順にて暗号化したアクセスチケットを前記のサービスサーバへ送信して登録を要求するアクセスチケット登録要求手順と、 前記のサービスサーバにおいて暗号化されたアクセスチケットを復号化するとともに、が唯一無二となるように一意化した一意化アクセスチケットを受信する一意化チケット受信手順と、をコンピュータに実現させることとしたコンピュータプログラムである。
(第三の発明のバリエーション1)
第三の発明は、以下のように形成してもよい。
すなわち、 前記の期限付きチケット受信手順にて受信した一意化アクセスチケットを二つ目以降のサービスへのログインする際に送信する一意化チケット送信手順と、
一意化アクセスチケットを受信した二つ目以降のサービスを提供するサービスサーバからのレスポンスを受信するレスポンス受信手順と、を、更にコンピュータに実現させることとしてもよい。
(第二および第三の発明の提供形態)
第二の発明および第三の発明は、CD−R、DVD−Rなどの記録媒体に記憶させて提供することもできるし、通信回線を介してインストールすることで提供することもできる。
第一の発明によれば、ユーザ端末(ユーザに係る端末)上でパスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、シングルサインオンを実現可能なアクセス制限装置を提供することができた。
第二の発明によれば、ユーザ端末(ユーザに係る端末)上でパスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、シングルサインオンを実現可能なコンピュータプログラムを提供することができた。
第三の発明によれば、パスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、シングルサインオンを実現可能なユーザ端末用のコンピュータプログラムを提供することができた。
セキュアシングルサインオン方式を説明するための全体構成図である。 セキュアシングルサインオン方式を説明するための部分構成図である。 セキュアシングルサインオン方式を説明するための部分構成図である。 認証データ記憶手段に保持されているデータテーブルの一例である。
以下、図面を参照させながら、本発明を実施する形態について説明する。 ここで使用する図は、図1から図4である。
図1には、サービス提供者Xと、そのサービス提供者Xが提供するウェブ経由のサービスを受ける旨を予め契約したユーザとの関係について、それぞれに係るハードウェアの構成をブロック図で示している。
この図1では、主要な概要を示しており、より詳細な説明として、図2および図3に図示している。
ユーザは、ユーザに係るユーザ端末がインターネット経由でサービス提供者Xに係るサーバAへアクセスする。サービス提供者Xは、サーバBを用いて、ユーザに対する異なるサービスも提供している。また、前記のサーバAおよびサーバBとは別に、サーバCを備えている。このサーバCは、サーバAおよびサーバBがアクセスして用いるが、ユーザ端末からはアクセスできない。
図1に基づいて簡単に説明する。
ユーザ端末は、ウェブブラウザにアクセスした後、サーバAにログインする。
また、ユーザはユーザ端末を操作し、サーバBへログインする際に本来ならば必要とされるIDやパスワードの入力を省略するための、「シングルサインオン」をサーバAに対して要求する。
まず、ユーザ端末は、サーバAに対して非対称の鍵ペアの生成を要求し、サーバAは鍵ペアを生成したら、公開鍵をユーザ端末へ送信する。 ユーザ端末においては、アクセスチケットを生成したら、受信した公開鍵を用いてそのアクセスチケットを暗号化し、サーバAへ送信する。
サーバAにおいては、非対称の鍵ペアとして生成した秘密鍵を用いて、受信したアクセスチケットを復号化する。 そして復号化したアクセスチケットが唯一無二のものである一意化アクセスチケットに加工し、ユーザ端末へ送信する。
この一意化アクセスチケットを用いれば、サーバBへのログインにおけるIDやパスワードの入力を省略できることとなる。
サーバAにおいて一意化したアクセスチケットは、サーバCに設定された認証データベースに蓄積する。
一方、ユーザ端末から一意化したアクセスチケットによってサーバBへのログイン要請があった場合、サーバBは、サーバCの認証データベースに問い合わせ、ログイン要請に係る一意化アクセスチケットが存在するかどうか、確認する。確認できたらログインを許可する。ここにおいて、シングルサインオンが実現する。
ユーザ端末からのアクセスを許可したら、そのアクセスに用いた一意化アクセスチケットを認証データベースから削除する。これによって、二重ログイン、不正なログインを未然の防止する。
なお、ログイン要請に係る一意化アクセスチケットが認証データベースにおいて存在しないである場合には、通常のログイン画面がサーバBからユーザ端末へ提供されることとなる。この場合、シングルサインオンではなく、ユーザはIDやパスワードの入力によってサーバBへログインすることとなる。
図2および図3に基づいて、もう少し詳しく説明する。
ユーザ端末には、サービス提供者Xが別途提供する「セキュアシングルサインオン」を実行するためのコンピュータプログラムを予めダウンロードし、実行可能としてある。
そのコンピュータプログラムとは、サービスサーバに対して非対称の鍵ペア生成の要求を送信する鍵ペア生成要求送信手順と、 前記のサービスサーバが鍵ペアを生成して公開鍵を送信してきた場合にその公開鍵を受信する公開鍵受信手順と、 二つ目以降のサービスへのログインに用いるアクセスチケットを生成するアクセスチケット生成手順と、 そのアクセスチケット生成手順にて生成したアクセスチケットを前記の公開鍵受信手順にて受信した公開鍵を用いて暗号化するアクセスチケット暗号化手順と、 そのアクセスチケット暗号化手順にて暗号化したアクセスチケットを前記のサービスサーバへ送信して登録を要求するアクセスチケット登録要求手順と、 前記のサービスサーバにおいて暗号化されたアクセスチケットを復号化するとともに、が唯一無二となるように一意化した一意化アクセスチケットを受信する一意化チケット受信手順と、をコンピュータに実現させることとしたコンピュータプログラムである。
前記のコンピュータプログラムをインストールしたユーザ端末は、前述したように、鍵ペア要求手段、アクセスチケット生成手段などを備え、生成したアクセスチケットはアクセスチケットデータベースに格納したり、受信した公開鍵とともにアクセスチケット暗号化手段によって暗号化した上でアクセスチケット登録要求を行い、一意化アクセスチケットをチケット受信手段にて受信する。
ユーザ端末は、他のサイトサービスを提供しているサーバBへアクセスするため、受信した一意化アクセスチケットを送信する。
ここで、その一意化アクセスチケットがネットワーク上を流れるのは、サーバAからユーザ端末へ送信される時である。この時に、悪意ある第三者が一意化アクセスチケットを盗み取ることがあったとしても、その送信時のパケット盗み取りによるリプレイ攻撃は原理的には不可能である。
サーバAは、 ネットワークを介して複数種類のサービスをユーザ端末へ提供する場合に、二つ目以降のサービスへのログイン操作を簡略化するコンピュータプログラムをインストールしている。
そのプログラムは、 ユーザ端末からの非対称の鍵ペア生成の要求を受信する鍵ペア生成要求受信手順と、 その鍵ペア生成要求受信手順にて鍵ペア生成の要求を受信した場合に秘密鍵および公開鍵のペアを生成する鍵ペア生成手順と、 その鍵ペア生成手順にて生成した公開鍵を前記のユーザ端末へ送信する公開鍵送信手順と、 公開鍵を受信したユーザ端末においてログインを簡略化するためのアクセスチケットを前記の公開鍵を用いて暗号化した暗号化チケットを受信するアクセスチケット登録要求受信手順と、 そのアクセスチケット登録要求受信手順にて受信した暗号化チケットを前記の秘密鍵で復号化するアクセスチケット復号化手順と、 そのアクセスチケット復号化手順にて復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成するアクセスチケット一意化手順と、 そのアクセスチケット一意化手順にて作成した一意化アクセスチケットを前記のユーザ端末へ送信する一意化チケット送信手順と、をサーバAに実現させることとしたコンピュータプログラムである。
前述したように、サーバAでは、公開鍵と秘密鍵の鍵ペアを生成して鍵ペアデータベースに蓄積し、公開鍵をユーザ端末へ送信するとともに、秘密鍵は、ユーザがアクセスチケットを暗号化して送信してきたアクセスチケットを復号化するのに使用する。
そして、復号化したアクセスチケットを一意化し、ユーザへ送信するとともに、認証データ記憶手段を備えるサーバCへ送信する。
図3に示すように、サーバBは、ユーザ端末から「シングルサインオン」の要求を受け、許諾または通常のログインを要求するものである。
一意化アクセスチケットを受信する一意化チケット受信手段と、受信した一意化アクセスチケットを照合するため、サーバCにある認証データ記憶手段へアクセスするアクセスチケット照合手段とを備える。そのアクセスチケット照合手段にて照合できた場合にそのままログインできる旨のレスポンスをユーザ端末へ返すレスポンス送信手段と、照合できなかった場合にログイン画面を送信するログイン画面送信手段とを備える。
更に、レスポンス送信手段がそのままログインできる旨のレスポンスをユーザ端末へ返した場合、サーバCにある認証データ記憶手段へアクセスして当該チケットを消去する。それを行うのがアクセスチケット消去手段である。
このため、ユーザ端末からサーバBへ一意化アクセスチケットを送信する際に、悪意ある第三者がサーバBに対してリプレイ攻撃をおこなっても、アクセスチケットは消去されているので、不正にログインされることはほとんどない。
前述したサーバAにおけるアクセスチケット一意化手段は、一意化するのみならず、使用期限を設定する。この使用期限は、今日のコンピュータの性能にとって長い期限とはしない。
このため、悪意ある第三者が総当り法で攻撃をおこなったとしても、その使用期限内で認証データ記憶手段に蓄積された認証情報を引き当てることは、極めて困難であろう。
前述したサーバAに対して、生成される鍵ペアのうちネットワークを介してユーザ端末へ送信される公開鍵を手がかりに秘密鍵を再現し、ユーザ端末よりも先にシングルサインオン要求を行う、という不正ログインの方法が考えられる。
この方法による攻撃には、鍵ペアを短周期で入れ替える、という手法を採用することで対抗することができる。あるいは、シングルサインオン要求の旅に、異なる鍵ペアを生成することで十分な抗堪性を確保することができる。
本実施形態によれば、ユーザ端末(ユーザに係る端末)上でパスワードを持ち廻したりクッキーで認証情報を引き回したりすることなく、シングルサインオンを実現可能な技術を提供することができる。
また、イントラネットやエクストラネットのみならず、インターネットを含む暗号化されていない公衆回線においても、リプレイ攻撃や総当り攻撃に対して一定の耐性を確保可能な認証情報交換を実現可能な技術を提供することができる。
本実施形態は、サイト間の認証状態の紐付け手段としてパスワードやクッキーに依存していない。したがって、異なるサイト・サービスに対して異なるドメイン(ID)が設置されていても、シングルサインオンを容易に適用することができる。
本実施形態においては、一般的なシングルサインオンシステムで用いられるクッキーを用いないため異なるドメインをまたがったシングルサインオンを実現することができる。
また、認証済みの第一のサイト(サーバA)と未認証の第二のサイト(サーバB)をそれぞれ異なるバイナリ表現で送信されるアクセスチケットで紐付けるため、公衆回線(インターネット)を介してシングルサインオンを行う場合であってもネットワーク上にユーザIDやパスワードが流れることがない。したがって、悪意の盗聴者の心配をする必要が無く、安全が高い。
アクセスチケット自体は、シングルサインオンのたびにユーザ端末において生成されるランダムな値であるため、アクセスチケットが盗聴された場合であっても、その漏出はユーザにとって何ら脅威とならない。
前述の通り、第一のサイトおよび第二のサイトそれぞれに対してアクセスチケットを送信する際の表現が異なるからである。
すなわち、前者に関しては公開鍵で暗号化され、後者に関しては非暗号化表現で送信されるため、リプレイ攻撃が原理的に不可能である(前者の公開鍵暗号化アクセスチケットから非暗号化アクセスチケットを割り出すことを現実的な時間内で実施することは甚だ困難である)。
また、アクセスチケットはシングルサインオンの認証成功如何に関わらず一度でも利用されたら、認証データ記憶手段から速やかに破棄される。このため、リプレイ攻撃に対する抗堪性が確保されている、と言える。
以下、前述してきた実施形態における各機能などについて補足する。
(鍵ペア生成)
鍵ペア生成手段は、ユーザ端末からの鍵ペア生成要求を受信し、非対称鍵の鍵ペア(秘密鍵および公開鍵からなる)を新たに生成する。生成する鍵のアルゴリズムは、本実施形態では非対称鍵暗号方式、広く普及しているRSAを採用するが、本発明はこれに限られない。鍵ペアをシングルサインオン・セッション毎に生成することで、漏洩や盗聴などで悪意の攻撃者の手に鍵が渡りクラッキングの手がかりとなることを防止する。
(鍵ペアデータベースへの鍵ペアの保存)
鍵ペア生成手段でにて生成したRSA公開鍵・秘密鍵のうち、秘密鍵をサーバAのセッション領域に保存する。ここで保存した秘密鍵は、アクセスチケット登録処理において、ユーザ端末にて公開鍵で暗号化してネットワークを介して送信されてきたアクセスチケットを復号するために用いられる。
(ユーザ端末への公開鍵の送信)
鍵ペア生成手段にて生成したRSA公開鍵・秘密鍵のうち、公開鍵をユーザ端末へ、特に暗号化されることなく送信する。暗号化しないのは、盗聴されてもセキュリティ上の不都合は生じない(攻撃に用い得ない)からである。
(アクセスチケットの生成、暗号化)
ユーザ端末においては、サーバAから返却された公開鍵を受け取るのと前後して、アクセスチケット生成手段にて次の規則でアクセスチケットを生成する。
アクセスチケット=現在時間(ミリ秒)+生成ランダム整数の後方15桁
更に、当該アクセスチケットに対して、アクセスチケット暗号化手段にて、前記の公開鍵を用いてRSA暗号で暗号化し、暗号化アクセスチケットを生成する。
(アクセスチケットの登録)
ユーザ端末は、前記の暗号化アクセスチケットをサーバAへ送信する。 サーバAでは、受信した暗号化アクセスチケットを、アクセスチケット復号手段に受け渡す。
アクセスチケット復号手段は、秘密鍵を記憶している鍵ペアデータベースから秘密鍵を取り出し、暗号化アクセスチケットを復号し
、サーバCに設けた認証データベースへ登録する。
認証データベースに登録する前に、アクセスチケット一意化手段において、アクセスチケットの一意性を担保するために以下のようなサフィックスを付与する。
一意アクセスチケット=アクセスチケット+サフィックス
この実施形態において、「サフィックス」とは、5桁整数のランダム値を生成しゼロ埋めで整形した文字列とする。
なお、前記サフィックスは、一意化されるアクセスチケットが認証データベースにおいて一意となるまで生成を試行する。
(認証データベース)
生成した一意アクセスチケットは、認証データベースへ登録する。
認証データベースは、サーバAがユーザ端末に提供する第一のサイトおよびサーバBが提供する第二のサイト、、、第nのサイト間で共有する必要がある。このため、それら全てのサイトに設置されたユーザから参照可能なリレーショナル・データベース上にてテーブルとして構成するのが望ましい。
図4に示すように、リレーショナル・データベース上のテーブルとして構成した場合の定義例を以下に示す。
「登録日時」にはアクセスチケットを登録する時点でのシステム時間を、「ユーザID」には認証を要求するユーザのIDを、「アクセスチケット」にはユーザ端末から受信しサフィックスを付与して一意とした一意アクセスチケットを、それぞれ設定する。
また、「チケット利用期限」を設定する。アクセスチケットの有効期間を例えば5分としたとき「登録日時」から起算して5分後の時間を、以上それぞれ設定するものとする。特にチケット利用期限には不正利用を防止するという観点で予め利用期限を設定した値を設定する。
(アクセスチケット・サフィックス返却)
アクセスチケット登録にて生成されたアクセスチケット・サフィックス(アクセスチケットを真に一意とするためにサーバで付加する一意識別子)をユーザ端末に返却する。
(シングルサインオン要求)
ユーザ端末から第二のサイトを提供するサーバBに対してログイン要求が送信する際、パラメータとしてアクセスチケットおよびアクセスチケット・サフィックスを付加する。このときに送信されてネットワーク上を流れるアクセスチケットは、平文表現である。
なお、アクセスチケットは、サーバAに対しても送信されているが、このときは公開鍵暗号によって暗号化された暗号化アクセスチケットである。このため、本処理とは異なるバイナリ列であり悪意の攻撃者にとって実際にネットワーク上を流れるまで当該平文アクセスチケットを想到することは不可能である。
(サーバBにおけるシングルサインオン処理)
第二のサイトのサーバBに構成された認証エージェント部は、ユーザ端末から要求された認証リクエストを受信し、ユーザ端末が既に認証済みであるかをサーバCの認証データ記憶手段にアクセスして確認する。認証済みであるときは、本来要求先へリクエストを転送する。認証済みでないときは、シングルサインオン要求であることを示すアクセスチケットがパラメータとして付加されているかチェックし、付加されているときシングルサインオン処理を実施する。シングルサインオン要求パラメータが付加されていないときは、認証手続きがまだであるから、当該ユーザ端末へログイン要求を促すログイン画面を表示する。
(認証処理)
第二のサイトのサーバBは、ユーザ端末からシングルサインオン要求を受け取ると、ユーザ端末より受信したアクセスチケットを用いて認証情報保持部より該当するエントリを検索する。
具体的には、認証データ記憶手段からアクセスチケットをキーとして該当するエントリを取得し、エントリが存在したときは、認証情報保持部エントリに記憶された「チケット利用期限」とシステムの現在時間とを比較する。
利用期限内であったら該認証情報保持エントリを有効としてログインを許可する。ログイン可であるとき、該認証情報保持エントリの「ユーザID」を取り出し、そのユーザ情報を用いてサーバBにおいて当該ユーザの認証処理を実行する。前記の認証が成功したとき認証エージェントはユーザ端末の要求URLへ処理を転送するものとし、前記認証が失敗に終わったときは認証手続きがまだであるから、ユーザ端末へログイン画面を返却する。
(認証情報保持エントリの削除)
認証がまだである第二のサイト(サーバB)において認証処理が実施されたとき、ユーザ端末から送信されたアクセスチケットを用いて認証情報保持部のエントリが検索・取得される。そして、当該エントリが存在し取得されたとき、後続処理が成功したか否か関わらず、当該エントリを認証データ記憶手段から消去する。認証データ記憶手段に保持しているエントリは、あくまで一回のシングルサインオン要求に対して一つだけ存在させるべきものであり、認証失敗したときに該エントリが残置されたままでは、悪意の攻撃者が当該エントリを利用して不正ログインする可能性があるからである。
本願発明は、インターネット接続サービス業、インターネットを介した情報サービス業、ASP事業、ソフトウェア開発業、サーバなどの情報機器の製造業などにおいて、利用可能性を有する。

Claims (12)

  1. ネットワークを介して複数種類のサービスをユーザ端末へ提供する場合に、二つ目以降のサービスへのログイン操作を簡略化する装置であって、
    ユーザ端末からの非対称の鍵ペア生成の要求を受信する鍵ペア生成要求受信手段と、
    その鍵ペア生成要求受信手段が鍵ペア生成の要求を受信した場合に秘密鍵および公開鍵のペアを生成する鍵ペア生成手段と、
    その鍵ペア生成手段が生成した公開鍵を前記のユーザ端末へ送信する公開鍵送信手段と、
    公開鍵を受信したユーザ端末においてログインを簡略化するためのアクセスチケットを要求するため、前記の公開鍵を用いて暗号化した暗号化チケットを受信するアクセスチケット登録要求受信手段と、
    そのアクセスチケット登録要求受信手段が受信した暗号化チケットを前記の秘密鍵で復号化するアクセスチケット復号化手段と、
    そのアクセスチケット復号化手段が復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成するアクセスチケット一意化手段と、
    そのアクセスチケット一意化手段が作成した一意化アクセスチケットを前記のユーザ端末へ送信する一意化チケット送信手段と、
    を備えたアクセス制限装置。
  2. 前記の一意化アクセスチケットを格納する認証データ記憶手段を備えるとともに、
    その認証データ記憶手段は、前記のアクセスチケット一意化手段を備えるサーバとは異なるサーバに設けることとした請求項1に記載のアクセス制限装置。
  3. 前記の一意化アクセスチケットをユーザ端末から受信する一意化チケット受信手段と、
    その一意化チケット受信手段が受信した一意化アクセスチケットを前記の認証データ記憶手段にアクセスして照合するアクセスチケット照合手段と、
    を備えた請求項2に記載のアクセス制限装置。
  4. 前記のアクセスチケット照合手段が照合した一意化アクセスチケットが照合できた場合に、前記の認証データ記憶手段にアクセスして当該認証データ記憶手段に記憶された当該一意化アクセスチケットを消去するアクセスチケット消去手段
    を備えた請求項3に記載のアクセス制限装置。
  5. 前記のアクセスチケット一意化手段は、一意化されたアクセスチケットが使用できるアクセス期限を設定することとした請求項1から請求項4のいずれかに記載のアクセス制限装置。
  6. ネットワークを介して複数種類のサービスをユーザ端末へ提供する場合に、二つ目以降のサービスへのログイン操作を簡略化するコンピュータプログラムであって、
    そのプログラムは、
    ユーザ端末からの非対称の鍵ペア生成の要求を受信する鍵ペア生成要求受信手順と、
    その鍵ペア生成要求受信手順にて鍵ペア生成の要求を受信した場合に秘密鍵および公開鍵のペアを生成する鍵ペア生成手順と、
    その鍵ペア生成手順にて生成した公開鍵を前記のユーザ端末へ送信する公開鍵送信手順と、
    公開鍵を受信したユーザ端末においてログインを簡略化するためのアクセスチケットを前記の公開鍵を用いて暗号化した暗号化チケットを受信するアクセスチケット登録要求受信手順と、
    そのアクセスチケット登録要求受信手順にて受信した暗号化チケットを前記の秘密鍵で復号化するアクセスチケット復号化手順と、
    そのアクセスチケット復号化手順にて復号化したアクセスチケットに対して当該アクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを作成するアクセスチケット一意化手順と、
    そのアクセスチケット一意化手順にて作成した一意化アクセスチケットを前記のユーザ端末へ送信する一意化チケット送信手順と、
    をコンピュータに実現させることとしたコンピュータプログラム。
  7. 前記の一意化アクセスチケットを認証データ記憶手段へ格納する一意化アクセスチケット記憶手順
    をコンピュータに実現させることとした請求項6に記載のコンピュータプログラム。
  8. 前記の一意化アクセスチケットをユーザ端末から受信する一意化チケット受信手順と、
    その一意化チケット受信手順にて受信した一意化アクセスチケットを前記の認証データ記憶手段にアクセスして照合するアクセスチケット照合手順と、
    をコンピュータに実現させることとした請求項7に記載のコンピュータプログラム。
  9. 前記のアクセスチケット照合手順にて照合した一意化アクセスチケットが照合できた場合に、前記の認証データ記憶手段にアクセスして当該認証データ記憶手段に記憶された当該一意化アクセスチケットを消去するアクセスチケット消去手順
    をコンピュータに実現させることとした請求項7に記載のコンピュータプログラム。
  10. 前記のアクセスチケット一意化手順は、一意化されたアクセスチケットが使用できるアクセス期限を設定することとした請求項6から請求項9のいずれかに記載のコンピュータプログラム。
  11. ネットワークを介して複数種類のサービスをサービスサーバから受ける場合に、二つ目以降のサービスへのログイン操作を簡略化するユーザ端末用のコンピュータプログラムであって、
    そのプログラムは、前記のサービスサーバに対して非対称の鍵ペア生成の要求を送信する鍵ペア生成要求送信手順と、
    前記のサービスサーバが鍵ペアを生成して公開鍵を送信してきた場合にその公開鍵を受信する公開鍵受信手順と、
    二つ目以降のサービスへのログインに用いるアクセスチケットを生成するアクセスチケット生成手順と、
    そのアクセスチケット生成手順にて生成したアクセスチケットを前記の公開鍵受信手順にて受信した公開鍵を用いて暗号化するアクセスチケット暗号化手順と、
    そのアクセスチケット暗号化手順にて暗号化したアクセスチケットを前記のサービスサーバへ送信して登録を要求するアクセスチケット登録要求手順と、
    前記のサービスサーバにおいて暗号化されたアクセスチケットを復号化するとともに、復号化したアクセスチケットが唯一無二となるように一意化した一意化アクセスチケットを受信する一意化チケット受信手順と、
    をコンピュータに実現させることとしたコンピュータプログラム。
  12. 前記の一意化チケット受信手順にて受信した一意化アクセスチケットを二つ目以降のサービスへのログインする際に送信する一意化チケット送信手順と、
    前記の一意化アクセスチケットを受信した二つ目以降のサービスを提供するサービスサーバからのレスポンスを受信するレスポンス受信手順と、
    をコンピュータに実現させることとした請求項11に記載のコンピュータプログラム。
JP2012230991A 2012-10-18 2012-10-18 セキュアシングルサインオン方式およびプログラム Pending JP2014081887A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012230991A JP2014081887A (ja) 2012-10-18 2012-10-18 セキュアシングルサインオン方式およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012230991A JP2014081887A (ja) 2012-10-18 2012-10-18 セキュアシングルサインオン方式およびプログラム

Publications (1)

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

Family

ID=50785999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012230991A Pending JP2014081887A (ja) 2012-10-18 2012-10-18 セキュアシングルサインオン方式およびプログラム

Country Status (1)

Country Link
JP (1) JP2014081887A (ja)

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 (zh) * 2023-03-31 2023-05-02 深圳竹云科技股份有限公司 应用单点登陆方法、***、计算机设备和存储介质

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 (zh) * 2023-03-31 2023-05-02 深圳竹云科技股份有限公司 应用单点登陆方法、***、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
CN103685282B (zh) 一种基于单点登录的身份认证方法
US8059818B2 (en) Accessing protected data on network storage from multiple devices
JP5619019B2 (ja) 認証のための方法、システム、およびコンピュータ・プログラム(1次認証済み通信チャネルによる2次通信チャネルのトークンベースのクライアント・サーバ認証)
CN109361668A (zh) 一种数据可信传输方法
CN108418691A (zh) 基于sgx的动态网络身份认证方法
CN103248479A (zh) 云存储安全***、数据保护以及共享方法
US10263782B2 (en) Soft-token authentication system
CN104767731A (zh) 一种Restful移动交易***身份认证防护方法
JP2004509399A (ja) ネットワークにわたって配布されるオブジェクトを保護するためのシステム
DK2414983T3 (en) Secure computer system
JP5452192B2 (ja) アクセス制御システム、アクセス制御方法およびプログラム
JP2016522637A (ja) 共有秘密を含意するセキュア化されたデータチャネル認証
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 (zh) 一种基于Hyperledger网络的身份认证方法
KR20090054774A (ko) 분산 네트워크 환경에서의 통합 보안 관리 방법
Ahmad et al. User requirement model for federated identities threats
Nishimura et al. Secure authentication key sharing between mobile devices based on owner identity
JP2014081887A (ja) セキュアシングルサインオン方式およびプログラム
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
Elmufti et al. Anonymous authentication for mobile single sign-on to protect user privacy