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