(57)【要約】【課題】簡便にアプリケーションソフトウエアのライセンスを使い回すことができる情報処理システム、情報処理方法、及びプログラムを提供する。【解決手段】情報処理システム１００は、アプリケーションソフトウエアのライセンスの情報が記載されたライセンス情報ファイルと、第１端末４Ａと、第２端末４Ｂとを備える。第１端末４Ａは、ライセンス情報ファイルに記載されたライセンスの情報により、自身に備えられたアプリケーションソフトウエアをアクティベートし、その後ライセンス情報ファイルを分割して複数の分割ファイルを生成し、複数の分割ファイルを第１クラウド３Ａ及び第２クラウド３Ｂに分散して格納する。第２端末４Ｂは、第１クラウド３Ａ及び第２クラウド３Ｂに分散して格納された複数の分割ファイルを取得し、複数の分割ファイルからライセンス情報ファイルを復元し、自身に備えられたアプリケーションソフトウエアをアクティベートする。【選択図】図１
2020177337.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションソフトウエアのライセンスの情報が記載されたライセンス情報ファイルと、
前記ライセンス情報ファイルに記載されたライセンスの情報により、自身に備えられた前記アプリケーションソフトウエアをアクティベートし、その後、前記ライセンス情報ファイルを分割して複数の分割ファイルを生成し、前記複数の分割ファイルを第１クラウド及び第２クラウドに分散して格納する第１端末と、
前記第１クラウド及び第２クラウドに分散して格納された前記複数の分割ファイルを取得し、前記複数の分割ファイルから前記ライセンス情報ファイルを復元し、自身に備えられた前記アプリケーションソフトウエアをアクティベートする第２端末と、
を備える情報処理システム。
【請求項２】
前記情報処理システムは、前記アプリケーションソフトウエアのライセンスの発行及び認証を行う認証用サーバをさらに備え、
前記第１端末及び前記第２端末は、ユーザを認証するためのユーザ認証手段を備え、
前記認証用サーバは、前記ユーザ認証手段により前記第１端末及び前記第２端末を使用するユーザが正しいユーザであると認証された場合に、前記アプリケーションソフトウエアのライセンスを認証し、
前記第１端末及び前記第２端末は、認証された前記ライセンスの情報に基づいて、自身に備えられた前記アプリケーションソフトウエアをアクティベートする、
請求項１に記載の情報処理システム。
【請求項３】
前記第２端末は、前記ユーザ認証手段により自身を使用するユーザが正しいユーザであると認証された場合に、前記第１クラウド及び第２クラウドから前記複数の分割ファイルを取得し、前記複数の分割ファイルから前記ライセンス情報ファイルを復元する、
請求項２に記載の情報処理システム。
【請求項４】
前記ユーザ認証手段は、前記第１端末及び前記第２端末を使用するユーザから取得した第１ユーザ認証用データに基づくスコア値と、前記第１端末及び前記第２端末を使用するユーザから取得した第２ユーザ認証用データに基づくスコア値とを合計した値が、予め定められた合計値のスコア値以上である場合に、前記第１端末及び前記第２端末を使用するユーザが正しいユーザであると認証する、
請求項２又は３に記載の情報処理システム。
【請求項５】
前記第１ユーザ認証用データは、前記第１端末及び前記第２端末を使用するユーザの生体情報に基づくデータであり、前記第２ユーザ認証用データは、前記第１端末及び前記第２端末を使用する際のユーザ特有の振る舞いに基づくデータである、
請求項４に記載の情報処理システム。
【請求項６】
ライセンス情報ファイルに記載されたライセンスの情報により、アプリケーションソフトウエアをアクティベートし、その後、前記ライセンス情報ファイルを分割して複数の分割ファイルを生成し、前記複数の分割ファイルを分散して格納するステップと、
前記分散して格納された前記複数の分割ファイルを取得し、前記複数の分割ファイルから前記ライセンス情報ファイルを復元し、前記アプリケーションソフトウエアをアクティベートするステップと、
を備える情報処理方法。
【請求項７】
コンピュータに、
ライセンス情報ファイルに記載されたライセンスの情報により、アプリケーションソフトウエアをアクティベートし、その後、前記ライセンス情報ファイルを分割して複数の分割ファイルを生成し、前記複数の分割ファイルを分散して格納する処理、
前記分散して格納された前記複数の分割ファイルを取得し、前記複数の分割ファイルから前記ライセンス情報ファイルを復元し、前記アプリケーションソフトウエアをアクティベートする処理、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、アプリケーションソフトウエアを利用できる機器の数は、ユーザの購入したライセンス数によって定まる。例えば、特許文献１には、利用できるライセンスの数と機器の状態に応じて、インストール先の機器を選択する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０６０３９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１において、アプリケーションソフトウエアのインストール先の機器１つに対して、１つのライセンスが割り当てられる。ライセンスを使い回すには、機器からアプリケーションソフトウエアをアンインストールする。しかしながら、特許文献１において、アプリケーションソフトウエアのアンインストールは、表示画面上に表示された機器を一つ一つユーザが選択することで行われる。このため、ライセンスを使い回すには、ユーザの作業に手間がかかるという課題がある。
【０００５】
本発明は上述の課題を解決するものであり、簡便にアプリケーションソフトウエアのライセンスを使い回すことができる情報処理システム、情報処理方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達するため、本発明に係る情報処理システムは、アプリケーションソフトウエアのライセンスの情報が記載されたライセンス情報ファイルと、第１端末と、第２端末とを備える。第１端末は、ライセンス情報ファイルに記載されたライセンスの情報により、自身に備えられたアプリケーションソフトウエアをアクティベートし、その後、ライセンス情報ファイルを分割して複数の分割ファイルを生成し、複数の分割ファイルを第１クラウド及び第２クラウドに分散して格納する。第２端末は、第１クラウド及び第２クラウドに分散して格納された複数の分割ファイルを取得し、複数の分割ファイルからライセンス情報ファイルを復元し、自身に備えられたアプリケーションソフトウエアをアクティベートする。
【発明の効果】
【０００７】
本発明に係る情報処理システムによれば、第１端末が分割したライセンス情報ファイルを、第２端末で復元して、自身に備えられたアプリケーションソフトウエアをアクティベートすることができるため、簡便にアプリケーションソフトウエアのライセンスを使い回すことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係る情報処理システムの全体構成を示す図である。
【図２】図１に示す情報処理システムにおける認証用サーバのブロック図である。
【図３】（ａ）は図１に示す情報処理システムにおける第１クラウドのブロック図であり、（ｂ）は第２クラウドのブロック図である。
【図４Ａ】図１に示す情報処理システムにおける端末の正面図である。
【図４Ｂ】図１に示す情報処理システムにおける端末のブロック図である。
【図４Ｃ】図１に示す情報処理システムにおける端末のハードウエア構成の一例を示す図である。
【図５Ａ】図１に示す情報処理システムにおける端末から取得する本人認証用データの概要を示す図である。
【図５Ｂ】図４Ａに示す端末から取得する認証用生体情報データベースのテーブルを示す図である。
【図５Ｃ】図４Ａに示す端末から取得する認証用ユーザの癖データベースのテーブルを示す図である。
【図５Ｄ】図４Ａに示す端末におけるユーザの認証に用いるスコア値テーブルを示す図である。
【図６】図４Ａに示す端末においてユーザを認証する認証処理のフローチャートである。
【図７】図４Ａに示す端末に記憶する暗号鍵データベースのテーブルを示す図である。
【図８】図２に示す認証用サーバに記憶するユーザ情報データベースのテーブルを示す図である。
【図９】図４Ａに示す端末が実行するライセンス情報ファイルの分割を説明するための図である。
【図１０】クラスタの構成を説明するための図である。
【図１１】図４Ａに示す端末が実行する暗号化処理を説明するための図である。（ａ）は奇数の論理アドレスが割り当てられたクラスタに対する処理を示す図であり、（ｂ）は偶数の論理アドレスが割り当てられたクラスタに対する処理を示す図である。
【図１２】ファイル管理テーブルの構成の一例を示す図である。
【図１３】図１に示す情報システムにおけるライセンス情報管理処理のフローチャートである。
【図１４】図１３に示すライセンス情報管理処理におけるデバイス登録処理のフローチャートである。
【図１５】図１３に示すライセンス情報管理処理におけるライセンス取得処理のフローチャートである。
【図１６】図１３に示すライセンス情報管理処理におけるソフトウエアのアクティブ化処理のフローチャートである。
【図１７】図１３に示すライセンス情報管理処理におけるライセンス情報の分散処理のフローチャートである。
【図１８】図１７に示すライセンス情報の分散処理におけるファイル格納処理のフローチャートである。
【図１９】図１に示す情報システムにおける新たなデバイスでのライセンス取得処理のフローチャートである。
【図２０】図１９に示す新たなデバイスでのライセンス取得処理における登録済みユーザの確認処理のフローチャートである。
【図２１】図１９に示す新しいデバイスでのライセンス取得処理におけるライセンス復元処理のフローチャートである。
【図２２】図２１に示すライセンス復元処理におけるライセンス情報ファイルの復元処理のフローチャートである。
【図２３】図１９に示す新たなデバイスでのライセンス取得処理における復元したライセンスのアクティブ化処理のフローチャートである。
【図２４】図１９に示す新たなデバイスでのライセンス取得処理におけるライセンス無効化処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下に、本発明を実施するための形態に係る情報処理システム、情報処理方法、及びプログラムについて、図面を参照して詳細に説明する。なお、図中同一または相当する部分には同一符号を付す。
【００１０】
本実施の形態に係る情報処理システム１００は、第１端末が認証用サーバから取得したアプリケーションソフトウエアのライセンス情報を、第２端末で使用して自身のアプリケーションソフトウエアを利用できるようにするシステムである。
【００１１】
情報処理システム１００の構成を、図１に示す。情報処理システム１００は、アプリケーションソフトウエアのライセンス情報の発行及び認証を行う認証用サーバ１と、認証用サーバ１で発行されたライセンス情報を分散して記憶する第１クラウド３Ａ及び第２クラウド３Ｂと、認証用サーバ１で認証されたアプリケーションソフトウエアを使用する第１端末４Ａ及び第２端末４Ｂと、を備える。この第１端末４Ａ及び第２端末４Ｂは、同一のユーザに紐付けられている。ここで、第１クラウド３Ａ及び第２クラウド３Ｂは、クラウド３と総称する。また、第１端末４Ａ及び第２端末４Ｂは、端末４と総称する。認証用サーバ１と、クラウド３と、端末４とは、ネットワーク２を介して相互に接続している。
【００１２】
次に、認証用サーバ１の構成を、図２に示す。認証用サーバ１は、サーバ制御部１１とサーバ記憶部１２とを含む。サーバ制御部１１は、アプリケーションソフトウエアのライセンスの発行及び認証をするためのユーザ認証処理プログラム１１０を実行する。このユーザ認証処理プログラムについて、詳細は後述する。また、サーバ記憶部１２には、ユーザの公開鍵、ライセンス情報等、ユーザの認証に関する情報をまとめたユーザ情報データベース１２０を記憶している。このユーザ情報データベース１２０について、詳細は後述する。
【００１３】
続いて、第１クラウド３Ａ及び第２クラウド３Ｂの構成を、図３（ａ）及び（ｂ）に示す。第１クラウド３Ａは、図３（ａ）に示すように、第１記憶部３０を備えている。また、第２クラウド３Ｂは、図３（ｂ）に示すように、第２記憶部３１を備えている。
【００１４】
本実施の形態における端末４は、いわゆるスマートフォンであり、ユーザの顔の画像、指紋、声紋等の生体情報と、ユーザが端末４を操作する際の特有の挙動、操作状態等によるユーザの癖とを用いる認証機能を備える。
【００１５】
端末４は、図４Ａに示すように、端末４の正面に、ユーザの顔を撮影するインカメラ４１Ａと、スピーカ４２Ａと、通話用のマイク（マイクロフォン）４２Ｂと、端末４の傾きを検出する傾き検出部４３と、操作入力部４４及び表示部４９を兼ねるタッチパネルと、ユーザの指紋を検出する左指紋センサ４５Ａ及び右指紋センサ４５Ｂと、端末４の現在位置を検出する位置検出部４６とを備える。また、端末４は、背面に、ユーザから見た人間、風景、物体等を撮影することができるメインカメラ４１Ｂを備える。
【００１６】
ここで、以下では、インカメラ４１Ａとメインカメラ４１Ｂとを総称して、撮影部４１と称する。以下では、スピーカ４２Ａと、通話用のマイク（マイクロフォン）４２Ｂとを総称して、音声入出力部４２と称する。また、以下では、左指紋センサ４５Ａ及び右指紋センサ４５Ｂを総称して、指紋検出部４５と称する。
【００１７】
図４Ｂは、端末４の構成を示すブロック図である。端末４は、通信部４０と、撮影部４１と、音声入出力部４２と、傾き検出部４３と、操作入力部４４と、指紋検出部４５と、位置検出部４６と、端末記憶部４７と、端末制御部４８と、表示部４９とを備える。
【００１８】
通信部４０は、図１に示したネットワーク２を介して、認証用サーバ１及びクラウド３との通信をし、データの送受信をする。撮影部４１は、図４Ａに示したインカメラ４１Ａとメインカメラ４１Ｂとを含む。撮影部４１には、ＣＣＤ（Ｃｏｌｏｎｙ  Ｃｏｌｌａｐｓｅ  Ｄｉｓｏｒｄｅｒ）、光学式センサ等の撮像素子を用いたカメラ、ビデオカメラ等、静止画または動画を撮影し、静止画または動画のデータを取得することが可能な各種カメラを用いることができる。
【００１９】
音声入出力部４２は、図４Ａに示したスピーカ４２Ａと、通話用のマイク４２Ｂとを含む。スピーカ４２Ａは、音声通話で受信した音声、図１に示したネットワーク２を介して外部から取得した音楽データ等を出力する。通話用のマイク４２Ｂは、ユーザの音声をピックアップする装置である。
【００２０】
傾き検出部４３は、端末４の傾き、揺れ等を検出することができる装置である。傾き検出部４３は、加速度センサ、角度センサ等の端末４の傾きを検出できる各種センサを用いて構成することができる。なお、加速度センサ、角度センサ等のセンサの個数は単数及び複数のどちらでもよい。また、センサは一種類及び複数種類を組み合わせたものでも、どちらでもよい。
【００２１】
操作入力部４４は、図４Ａに示したユーザからの操作を入力することができる装置である。指紋検出部４５は、ユーザの指紋を検出するセンサである。指紋検出部４５は、図４Ａに示した左指紋センサ４５Ａ及び右指紋センサ４５Ｂを含む。なお、指紋検出部４５には、指紋センサに限らず、ユーザの指紋を検出することができるセンサ、機器等であれば、いずれのものを用いてもよい。
【００２２】
位置検出部４６は、端末４の現在位置を検出することができる装置である。位置検出部４６は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等の、端末４の現在位置を検出することができる機器を用いて構成することができる。
【００２３】
端末記憶部４７は、認証処理プログラム４７０と、認証用生体情報データベース４７１と、認証用ユーザの癖データベース４７２と、アプリケーションソフトウエア４７３と、暗号鍵データベース４７４と、ファイル管理テーブル４７５と、ファイル管理プログラム４７６と、ライセンス処理プログラム４７７と、スコア値テーブル４７８とを含む。
【００２４】
認証処理プログラム４７０は、ユーザを認証する処理を行うプログラムである。認証用生体情報データベース４７１は、ユーザの生体情報に関する情報と認証結果とを保存するデータベースである。認証用ユーザの癖データベース４７２は、端末４を操作する際のユーザ特有の癖に関する情報と認証結果とを保存するデータベースである。ここで、ユーザ特有の癖とは、ユーザが端末４を操作する際の挙動、表示部４９の画面とユーザの顔の距離、キーストローク、持ち方、端末４が使用される位置、通信環境等、端末４の操作時におけるユーザ特有の振る舞いのことをいう。
【００２５】
アプリケーションソフトウエア４７３は、端末４上でユーザが実行するアプリケーションソフトウエアのプログラムである。暗号鍵データベース４７４は、ユーザの認証に関する各種データ及びアプリケーションソフトウエア４７３のライセンス情報のデータを、暗号化及び復号化するための暗号鍵を保存するデータベースである。
【００２６】
ファイル管理テーブル４７５は、アプリケーションソフトウエア４７３のライセンス情報のデータの保存先を管理するためのテーブルである。ファイル管理プログラム４７６は、アプリケーションソフトウエア４７３のライセンス情報のデータの保存先を管理するためのプログラムである。
【００２７】
ライセンス処理プログラム４７７は、図１に示した認証用サーバ１またはクラウド３からライセンス情報を取得したアプリケーションソフトウエア４７３のアクティベートを行うプログラムである。また、ライセンス処理プログラム４７７は、アプリケーションソフトウエア４７３の無効化の処理も行うプログラムである。スコア値テーブル４７８は、予め端末４に登録されたユーザの生体情報及びユーザの癖に関するスコア値の上限値及び下限値、ユーザを認証するためのしきい値となるスコア値が記憶されたデータベースである。
【００２８】
なお、認証用生体情報データベース４７１と、認証用ユーザの癖データベース４７２と、アプリケーションソフトウエア４７３と、暗号鍵データベース４７４と、ファイル管理テーブル４７５と、ファイル管理プログラム４７６と、ライセンス処理プログラム４７７とについての詳細は後述する。
【００２９】
端末制御部４８は、端末記憶部４７に記憶された各種プログラムを実行する。また、端末制御部４８は、通信部４０と、撮影部４１と、音声入出力部４２と、傾き検出部４３と、操作入力部４４と、指紋検出部４５と、位置検出部４６とから各種データを取得して処理し、端末記憶部４７の各種データベースに記憶する。
【００３０】
表示部４９は、端末制御部４８で実行される各種プログラムの処理内容を表示する。また、表示部４９は、撮影部４１で撮影された静止画、動画等の画像、操作入力部４４から入力されたデータ等を表示することもできる。表示部４９は、操作入力部４４上に積層されており、図４Ａに示したタッチパネルを構成する。
【００３１】
次に、端末４のハードウエア構成の一例を、図４Ｃを参照しつつ説明する。端末４は、各種プログラムを実行するプロセッサ５１と、各種プログラムを展開するためのメモリ５２と、撮影部４１、音声入出力部４２等を接続するためのＩ／Ｏポート５３と、外部との通信しデータを送受信する通信機器５４と、各種プログラム及び各種データを記憶する記憶機器５５と、各種表示用データを出力する表示コントローラ５６と、各種表示用データを表示する表示機器５７とを備える。このプロセッサ５１と、メモリ５２と、Ｉ／Ｏポート５３と、通信機器５４と、記憶機器５５と、表示コントローラ５６と、表示機器５７とは、データバス５８を介して相互に接続されている。
【００３２】
プロセッサ５１は、記憶機器５５に記憶された各種プログラムを読み出してメモリ５２に展開し、実行する。プロセッサ５１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＰＵ（Ｍｉｃｒｏ−ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の処理装置を用いて構成することができる。また、メモリ５２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の揮発性または不揮発性の半導体メモリといった記憶素子および記憶媒体を用いて構成することができる。
【００３３】
Ｉ／Ｏポート５３は、撮影部４１と、音声入出力部４２と、傾き検出部４３と、操作入力部４４と、指紋検出部４５と、位置検出部４６とを接続することができる接続用ポートである。Ｉ／Ｏポート５３には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ））ポート、ＩＥＥＥ１３９４ポート等、機器を接続することができる各種ポートを用いて構成すことができる。
【００３４】
通信機器５４は、図１に示したネットワーク２を介して、認証用サーバ１とクラウド３との間で各種データを送受信することができる機器である。通信機器５４は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線通信等による通信を行う各種器機を用いて構成することができる。
【００３５】
記憶機器５５は、プロセッサ５１で実行する各種プログラム、各種プログラムで使用する各種データを記憶する機器である。記憶機器５５は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置を用いて構成することができる。
【００３６】
表示コントローラ５６は、表示機器５７に各種表示用データを出力するコントローラである。表示コントローラ５６は、ビデオカード、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、グラフィックボード等の映像信号出力装置を用いて構成することができる。また、表示機器５７は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、有機ＥＬ（Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）モニタ等の表示装置を用いて構成することができる。
【００３７】
次に、端末４におけるユーザの認証方法について、図５Ａから図５Ｄを参照しつつ、以下に説明する。図４Ｂに示した端末４の端末制御部４８は、電源ボタンを押下した場合、指紋検出部４５による指紋検出等のユーザによる端末４の操作があった場合、他のプログラムから要求があった場合には、生体情報を取得する。端末制御部４８の取得する生体情報のデータは、図４Ａに示したインカメラ４１Ａで撮影したユーザの顔の画像、通話用のマイク４２Ｂでピックアップしたユーザの音声、インカメラ４１Ａで撮影したユーザの虹彩の画像、指紋検出部４５で検出した指紋等である。
【００３８】
例えば、ユーザが、図４Ａに示した表示部４９の正面をユーザの顔と対向させる位置に端末４を持ってきた場合、端末制御部４８は、図４Ａに示したインカメラ４１Ａでユーザの顔の画像を撮影し、ユーザの生体情報として取得する。また、ユーザが端末４から他者へ電話をかけ通話をした場合、ユーザが端末４を利用する時に話をした場合、ユーザが端末４の表示部４９の画面上に表示される指示によって話す必要がある場合等、端末制御部４８は、通話用のマイク４２Ｂでピックアップしたユーザの音声を、ユーザの生体情報として取得する。ユーザが端末４を持ち、図４Ａに示した表示部４９の正面と顔とを一定距離よりも近づけた場合、端末制御部４８は、インカメラ４１Ａで撮影したユーザの虹彩の画像を、ユーザの生体情報として取得する。ユーザが端末４を予め定められた時間以上持った場合、端末制御部４８は、指紋検出部４５で検出した指紋を、ユーザの生体情報として取得する。
【００３９】
例えば、図５Ａに示す、２０１９年３月１日の１２時２２分２３秒において、ユーザが、図４Ａに示した表示部４９の正面をユーザの顔と対向させる位置に端末４を持ってきたものする。端末制御部４８は、インカメラ４１Ａからユーザの顔が画像を撮影し、ユーザの生体情報として端末４に保存する。端末制御部４８は、端末４に予め登録されているユーザの顔の画像における特徴量と、インカメラ４１Ａから取得したユーザの顔の画像における特徴量とを比較し、類似度を求める。
【００４０】
この類似度からスコア値を求める。スコア値は、予め登録されているデータの特徴量と、端末制御部４８の取得したデータの特徴量とが一致する場合に上限値、不一致の場合に下限値とする。一致または不一致以外の場合には、特徴量の類似度に応じて設定される値がスコア値となる。
【００４１】
スコア値の上限値及び下限値は、図４Ｂに示した端末４の端末記憶部４７に記憶されているスコア値テーブル４７８に記憶されている。このスコア値テーブル４７８に設定されたスコア値を、図５Ｄに示す。スコア値テーブル４７８には、生体情報におけるスコア値の上限値及び下限値として、−１００〜１００が設定されている。また、ユーザの癖のデータにおけるスコア値の上限値及び下限値として、−５０〜５０が設定されている。
【００４２】
ここでは、特徴量が一致するものとして、図５Ｄに示したスコア値テーブル４７８に設定された生態情報の上限値１００をスコア値とする。端末制御部４８は、取得した生体情報のデータ及び求めたスコア値を、図４Ｂに示す認証用生体情報データベース４７１に書き込む。認証用生体情報データベース４７１のテーブルを図５Ｂに示す。認証用生体情報データベース４７１のテーブルには、端末制御部４８が生体情報を取得した日時と、取得した生体情報の種類と、生体情報として取得した情報と、スコア値との各項目が含まれる。
【００４３】
端末制御部４８は、図５Ｂに示した認証用生体情報データベース４７１のテーブルの日時の項目に、生体情報を取得した日時である２０１９年３月１日の１２時２２分２３秒を書き込む。端末制御部４８は、取得した生体情報の種類の項目に顔と書き込む。端末制御部４８は、取得した情報の項目に、インカメラ４１Ａから取得したユーザの顔の画像のデータを書き込む。端末制御部４８は、スコア値の項目に１００を書き込む。
【００４４】
次に、端末制御部４８は、ユーザの癖のデータを取得する。このユーザの癖とは、ユーザが端末４を使用する時の挙動、操作状態、場所、通信状態等、ユーザ特有の振る舞いをいう。端末制御部４８の取得するユーザの癖のデータは、生体情報を取得した時と同じ日時のデータである。例えば、図５Ａに示す２０１９年３月１日の１２時２２分２３秒において、端末制御部４８は、図４Ａに示したインカメラ４１Ａで撮影したユーザの顔の画像から求めたユーザの顔と表示部４９の画面との距離、傾き検出部４３で求めた端末４の傾き角度、操作入力部４４で求めたキー操作のストロークのデータ、通信部４０から取得した通信環境の情報、位置検出部４６から取得した端末４の位置情報等を、ユーザの癖のデータとして取得する。
【００４５】
端末制御部４８は、端末４に予め登録されているユーザの癖に関する各データにおける特徴量と、取得したユーザの癖に関する各データにおける特徴量とを比較し、類似度を求める。端末制御部４８は、求めた類似度をもとに、ユーザの癖に関する各データにおけるスコア値を求める。このスコア値は、図５Ｄに示したスコア値テーブル４７８に設定された上限値５０から下限値−５０の範囲内の値となる。
【００４６】
端末制御部４８は、取得したユーザの癖のデータと求めたスコア値とを、図４Ｂの端末記憶部４７に記憶した認証用ユーザの癖データベース４７２に書き込む。認証用ユーザの癖データベース４７２のテーブルを、図５Ｃに示す。認証用ユーザの癖データベース４７２のテーブルには、端末制御部４８がユーザの癖のデータを取得した日時と、ユーザの癖の種類と、ユーザの癖として取得したデータと、スコア値との各項目が含まれる。
【００４７】
例えば、端末制御部４８は、図５Ｃに示した認証用ユーザの癖データベース４７２のテーブルの日時の項目に生体情報を取得した日時と同じ２０１９年３月１日の１２時２２分２３秒を書き込む。端末制御部４８は、ユーザの癖の項目に、顔と画面との距離と書き込む。端末制御部４８は、取得した情報の項目に２５０ｍｍを書き込む。この２５０ｍｍは、インカメラ４１Ａで撮影したユーザの顔の画像から、端末制御部４８により求められたユーザの顔と画面との距離である。
【００４８】
端末制御部４８は、求めたユーザの顔と画面との距離の値と、端末４に登録されているユーザの顔と画面との距離の値とを比較し、その類似度からスコア値を求める。ここでは、距離は一致ではないが類似度が高いものとして、求められたスコア値を３５とする。端末制御部４８は、図５Ｃに示したテーブルのスコア値の項目に３５と書き込む。
【００４９】
続いて、端末制御部４８は、傾き検出部４３で求めた端末４の傾き角度等、得られたユーザの癖に関するデータを図５Ｃに示した認証用ユーザの癖データベース４７２のテーブルの各項目に書き込む。全てのユーザの癖に関するデータの書き込みが終わると、端末制御部４８は、図５Ｂに示した認証用生体情報データベース４７１及び図５Ｃに示した認証用ユーザの癖データベース４７２における同じ日時のスコア値とを合計する。
【００５０】
例えば、図５Ｂに示した認証用生体情報データベース４７１における２０１９年３月１日の１２時２２分２３秒の日時において、生体情報のスコア値１００である。また、同じ日時において、図５Ｃに示した認証用ユーザの癖データベース４７２におけるユーザの癖のスコア値は、上から順に３５、４０、−１５、２５、４２である。この生体情報のスコア値１００とユーザの癖のスコア値３５、４０、−１５、２５、４２とを合計すると２２７となる。
【００５１】
端末制御部４８は、図５Ｄに示したスコア値テーブル４７８から合計値の項目に設定されたスコア値を取得する。端末制御部４８は、合計した生体情報及びユーザの癖のスコア値と、スコア値テーブル４７８から合計値の項目に設定されたスコア値とを比較する。端末制御部４８は、合計した生体情報及びユーザの癖のスコア値が、スコア値テーブル４７８の合計値の項目に設定されたスコア値以上であれば、端末４を使用しているユーザを正しいユーザとして認証し、スコア値以下であればユーザを正しいユーザではないとして認証しない。
【００５２】
例えば、図５Ｄに示したスコア値テーブル４７８には、スコア値の合計値として２００が設定されている。端末制御部４８は、求めたスコア値の合計値２２７と、スコア値テーブル４７８に設定されたスコア値の合計値２００とを比較する。求めたスコア値の合計値がスコア値テーブル４７８に設定されたスコア値の合計値以上であるため、端末制御部４８は、端末４を操作しているユーザを正しいユーザとして認証する。
【００５３】
上述の端末４におけるユーザの認証方法は、認証処理プログラム４７０として端末記憶部４７に記憶されている。端末制御部４８は、電源ボタンを押下した場合、指紋検出部４５による指紋検出等のユーザによる端末４の操作があった場合、他のプログラムから要求があった場合に、認証処理プログラム４７０を実行してユーザの認証を行う。
【００５４】
認証処理プログラム４７０が実行する処理について、図６に示す認証処理のフローチャートを参照しつつ、以下に説明する。端末制御部４８は、認証処理プログラム４７０が起動すると、ユーザの顔の画像、指紋等の生体情報を取得する（ステップＳ１）。続いて、端末制御部４８は、ユーザの癖に関するデータを取得する（ステップＳ２）。
【００５５】
端末制御部４８は、端末４に予め登録されている生体情報の特徴量と、取得した生体情報の特徴量とを比較し、類似度を求める。端末制御部４８は、求めた類似度から、図５Ｄのスコア値テーブル４７８に設定された生体情報のスコア値の上限値から下限値の範囲内でスコア値を求める。また、端末制御部４８は、端末４に予め登録されているユーザの癖のデータにおける特徴量と、取得したユーザの癖のデータにおける特徴量とを比較し、類似度を求める。端末制御部４８は、求めた類似度から、図５Ｄのスコア値テーブル４７８に設定されたユーザの癖のスコア値の上限値から下限値の範囲内でスコア値を求める（ステップＳ３）。
【００５６】
端末制御部４８は、取得した生体情報のデータ及び求めたスコア値を、図４Ｂに示す認証用生体情報データベース４７１に書き込む。また、端末制御部４８は取得したユーザの癖のデータと求めたスコア値とを、図４Ｂの端末記憶部４７に記憶した認証用ユーザの癖データベース４７２に書き込む（ステップＳ４）。
【００５７】
端末制御部４８は、同じ日時における生体情報及びユーザの癖のデータにおけるスコア値を合計する（ステップＳ５）。端末制御部４８は、図５Ｄに示したスコア値テーブル４７８から合計値の項目に設定されたスコア値を取得する。端末制御部４８は、合計した生体情報及びユーザの癖のスコア値と、スコア値テーブル４７８から合計値の項目に設定されたスコア値とを比較する（ステップＳ６）。
【００５８】
端末制御部４８は、合計した生体情報及びユーザの癖のスコア値が、スコア値テーブル４７８の合計値の項目に設定されたスコア値以上であれば（ステップＳ６；ＹＥＳ）、端末４を使用しているユーザを正しいユーザとして認証する（ステップＳ７）。合計した生体情報及びユーザの癖のスコア値が、スコア値テーブル４７８の合計値の項目に設定されたスコア値以下であれば（ステップＳ６；ＮＯ）、図４Ｂに示した表示部４９にユーザが異なる旨のメッセージを表示し、ステップＳ１へ戻る。なお、この認証処理プログラム４７０は、特許請求の範囲におけるユーザ認証手段の一例である。また、ユーザの生体情報は、特許請求の範囲における第１ユーザ認証用データの一例である。ユーザの癖のデータは、特許請求の範囲における第２ユーザ認証用データの一例である。
【００５９】
次に、図４Ｂに示した端末４の端末記憶部４７に記憶する暗号鍵データベース４７４に書き込まれている暗号鍵について説明する。図７に、暗号鍵データベース４７４のテーブルの一例を示す。このテーブルには、項目として秘密鍵と、公開鍵と、ライセンス情報用暗号鍵とが設定されている。この秘密鍵と公開鍵とはペア鍵である。秘密鍵と公開鍵は、端末制御部４８により生成される。例えば、図７において、秘密鍵にはＫｙ１、公開鍵にはＫｙ２が記憶されている。端末制御部４８は、認証用サーバ１からライセンスに関する情報が記載されたライセンス情報ファイルを取得する際に、秘密鍵でライセンス情報ファイルの取得に関するデータを署名し、署名したデータと公開鍵とを認証用サーバ１に送信する。
【００６０】
また、暗号鍵データベース４７４のテーブルにおいて、ライセンス情報用暗号鍵の項目に記憶される暗号鍵は、図１に示したクラウド３に記憶されるライセンス情報ファイルを暗号化する暗号鍵である。端末４の端末制御部４８は、認証用サーバ１から取得したライセンス情報ファイルを、クラウド３に記憶させる際、複数のファイルに分割する。端末制御部４８は、分割したライセンス情報ファイルをライセンス情報用暗号鍵によって暗号化し、クラウド３に記憶させる。
【００６１】
例えば、図７において、ライセンス情報用暗号鍵は、Ｋｒ１及びＫｒ２である。このライセンス情報用暗号鍵は、分割したライセンス情報ファイルを記憶するクラウドの数だけ、図２に示した認証用サーバ１のサーバ制御部１１により生成される。本実施の形態においては、図１に示したように、分割したライセンス情報ファイルを記憶するクラウドは、第１クラウド３Ａ及び第２クラウド３Ｂの２つである。このため、２つのライセンス情報用暗号鍵が、暗号鍵データベース４７４のテーブルに書き込まれている。
【００６２】
本実施の形態において、図１に示した第１端末４Ａは、認証用サーバ１からライセンス情報を取得する。第１端末４Ａは、取得したライセンス情報により、図４Ｂに示した第１端末４Ａの端末記憶部４７に記憶したアプリケーションソフトウエア４７３をアクティベートし実行できるようにする。
【００６３】
認証用サーバ１からライセンス情報を取得する際、端末制御部４８は、秘密鍵と公開鍵のペア鍵を生成し、ライセンス情報の取得に関するデータを秘密鍵で署名し、署名したデータと公開鍵を認証用サーバ１に送信する。この秘密鍵と公開鍵のペア鍵は、図４Ｂに示した端末４の端末記憶部４７の暗号鍵データベース４７４に記憶されている。暗号鍵データベース４７４のテーブルを、図７に示す。例えば、図７において、秘密鍵にはＫｙ１、公開鍵にはＫｙ２が記憶されている。
【００６４】
また、第１端末４Ａは、認証用サーバ１から取得したライセンス情報ファイルを、複数のファイルに分割する。第１端末４Ａは、分割したライセンス情報ファイルを、それぞれライセンス情報用暗号鍵で暗号化し、図１に示した第１クラウド３Ａ及び第２クラウド３Ｂに記憶する。
【００６５】
暗号鍵データベース４７４には、分割したライセンス情報ファイル暗号化するためのライセンス情報用暗号鍵も記憶されている。例えば、図７において、ライセンス情報用暗号鍵は、Ｋｒ１及びＫｒ２である。このライセンス情報用暗号鍵は、分割したライセンス情報のファイルを記憶するクラウドの数だけ、図２に示した認証用サーバ１のサーバ制御部１１により生成される。本実施の形態においては、図１に示したように、分割したライセンス情報ファイルを記憶するクラウドは、第１クラウド３Ａ及び第２クラウド３Ｂの２つである。このため、２つのライセンス情報用暗号鍵が、暗号鍵データベース４７４のテーブルに書き込まれている。
【００６６】
次に、図２に示した認証用サーバ１のサーバ記憶部１２に記憶するユーザ情報データベース１２０について、図８を参照しつつ説明する。図８は、ユーザ情報データベース１２０のテーブルの一例である。ユーザ情報データベース１２０のテーブルには、ユーザＩＤと、公開鍵と、デバイス情報と、ＫｅｙＩＤと、登録日時と、ライセンス情報と、ライセンス数と、ライセンス情報用暗号鍵の項目が設定されている。
【００６７】
ユーザＩＤの項目には、後述する認証用サーバ１へのレガシー認証に用いるユーザＩＤが書き込まれる。公開鍵の項目には、ユーザから送信された公開鍵のデータが書き込まれる。デバイス情報の項目には、アプリケーションソフトウエアを使用するデバイスの情報が書き込まれる。ＫｅｙＩＤの項目には、公開鍵のＫｅｙＩＤが書き込まれる。
【００６８】
登録日時の項目には、アプリケーションソフトウエアのユーザとして登録した登録日時が書き込まれる。ライセンス情報の項目には、ユーザに与えられたライセンス情報のデータが書き込まれる。ライセンス数の項目には、ユーザの購入しているライセンスの総数と使用しているライセンス数とが、使用しているライセンス数／ライセンスの総数の形式で書き込まれる。ライセンス情報用暗号鍵の項目には、認証用サーバ１のサーバ制御部１１が生成したライセンス情報用暗号鍵が書き込まれる。このライセンス情報用暗号鍵は、図７に示した暗号鍵データベース４７４のライセンス情報用暗号鍵の項目に書き込まれた暗号鍵と同じ暗号鍵が書き込まれる。
【００６９】
例えば、図８には、ユーザ名の項目にユーザの名称である「Ａ」が書き込まれている。公開鍵の項目には、ユーザ名Ａの公開鍵「Ｋｙ２」が書き込まれている。デバイス情報の項目には、ユーザ名Ａがアプリケーションソフトウエアを使用するデバイスである、図１に示した第１端末４Ａの情報が書き込まれている。ＫｅｙＩＤの項目には、ユーザから認証用サーバ１に送信されたユーザのＫｅｙＩＤが書き込まれている。
【００７０】
登録日時の項目には、アプリケーションソフトウエアのユーザとして登録した登録日時として、２０１８年８月２８日１２時２２分３３秒が書き込まれている。ライセンス情報の項目には、ユーザに与えられたライセンス情報のデータである「ＡＡＡ」が書き込まれている。ライセンス数の項目には、ユーザの購入しているライセンスの総数２と使用しているライセンス数１とが、１／２の形式で書き込まれている。ライセンス情報用暗号鍵の項目には、認証用サーバ１のサーバ制御部１１が生成したライセンス情報用暗号鍵として「Ｋｒ１、Ｋｒ２」が書き込まれている。
【００７１】
ここで、端末４の端末制御部が、認証用サーバ１から取得したライセンス情報を分割する方法について、図９から図１２を参照しつつ説明する。
【００７２】
図９に示すように、１つのライセンス情報ファイルは、コンピュータのデスクアクセスの最小単位であるクラスタに分割される。１クラスタに含まれるセクタの数は任意であるが、以下の説明では、図１０に示すように８個とする。本実施形態では、１セクタを５１２バイトとする。従って、１クラスタは、４，０９６バイト（約４Ｋバイト）のサイズを有する。
【００７３】
このセクタ及びクラスタは、論理アドレスで管理される。クラスタはｎビットの論理アドレスの上位ｎ−３ビットで指定される。クラスタ内の各セクタは、論理アドレスの下位３ビットにより指定される。以下の説明において、クラスタについての論理アドレスは、ｎビットの論理アドレス全体の上位（ｎ−３）ビットを意味するものとする。
【００７４】
図４Ｂに示した端末制御部４８は、ライセンス情報ファイルを、図３に示した第１クラウド３Ａの第１記憶部３０及び第２クラウド３Ｂの第２記憶部３１に格納する際、図１１（ａ）に示す奇数の論理アドレス（（ｎ−３）ビット）が割り当てられているクラスタと、図１１（ｂ）に示す偶数の論理アドレスが割り当てられているクラスタとに異なった処理を行う。なお以下では、奇数の論理アドレスが割り当てられているクラスタを、奇数論理アドレスクラスタと称する。また、以下では、偶数の論理アドレスが割り当てられているクラスタを偶数論理アドレスクラスタと称する。
【００７５】
まず、端末制御部４８は、端末記憶部４７の暗号鍵データベース４７４から、ライセンス情報用暗号鍵を取得する。例えば、端末制御部４８は、図７に示した暗号鍵データベース４７４のテーブルにおいて、ライセンス情報用暗号鍵の項目に書き込まれたＫｒ１，Ｋｒ２を取得する。
【００７６】
端末制御部４８は、奇数論理アドレスが割り当てられているクラスタには、ライセンス情報用暗号鍵Ｋｒ１による暗号化処理を行い、図３に示した第１クラウド３Ａの第１記憶部３０上の任意の物理アドレスＰＡに格納する。一方、端末制御部４８は、偶数論理アドレスが割り当てられているクラスタには、ライセンス情報用暗号鍵Ｋｒ２による暗号化処理を行い、第２クラウド３Ｂの第２記憶部３１上の任意の物理アドレスＰＢに格納する。
【００７７】
端末制御部４８は、上述の処理を行った後、図１２に示すファイル管理テーブル４７５を生成する。ファイル管理テーブル４７５は、論理アドレスＬｉで特定されるクラスタと、格納先の物理アドレスＰＡｉ又はＰＢｉと、暗号化するためのライセンス情報用暗号鍵Ｋｒ１又はＫｒ２と、物理アドレスＰＡｉ又はＰＢｉを備える第１クラウド３Ａ又は第２クラウド３Ｂを示す番号と対応付けて保存するテーブルである。この番号は、例えば、図１２に示すように、物理アドレスＰＡｉを備える第１クラウド３Ａを示す番号を「１」とし、また、物理アドレスＰＢｉを備える第２クラウド３Ｂを示す番号を「２」としている。
【００７８】
このファイル管理テーブル４７５は、図４Ｂに示した端末４の端末記憶部４７に記憶されている。なお、本実施の形態において、論理アドレスＬｉが偶数の場合にはライセンス情報用暗号鍵Ｋｒ１を使用し、論理アドレスＬｉが奇数の場合にはライセンス情報用暗号鍵Ｋｒ２を用いるものとした。このような場合には、論理アドレスＬｉから暗号鍵を特定することができるため、ファイル管理テーブル４７５にライセンス情報用暗号鍵Ｋｒ１又はＫｒ２は記憶しなくてもよい。
【００７９】
次に、上記のようにして、暗号化して分散して図３に示した第１クラウド３Ａ及び第２クラウド３Ｂに格納したファイルを復元する処理を説明する。
【００８０】
図４Ｂに示した端末４の端末制御部４８は、端末記憶部４７に記憶されているファイル管理テーブル４７５から、復元の対象であるライセンス情報ファイルを構成するクラスタの先頭クラスタの論理アドレスを求める。
【００８１】
端末４の端末制御部４８は、先頭クラスタの論理アドレスに対応するクラウド３及び物理アドレスを、ファイル管理テーブル４７５から特定する。次いで、端末制御部４８は、先頭クラスタの論理アドレスに対応するライセンス情報用暗号鍵を特定する。端末制御部４８は、特定したクラウド３及び物理アドレスに基づいてクラスタを読み出し、特定したライセンス情報用暗号鍵を使って復号化する。
【００８２】
端末制御部４８は、同様の動作を後続するクラスタで実行し、全てのクラスタを復号する。端末制御部４８は復号したクラスタを連結し、ライセンス情報ファイルを復元する。なお、ライセンス情報ファイルを分割したクラスタは、特許請求の範囲における分割ファイルの一例である。
【００８３】
次に、本実施の形態における情報処理システム１００の第１端末４Ａで実行するアプリケーションソフトウエアのアクティベートの処理について、図１３から図１８に示すフローチャートを参照しつつ説明する。図１３に示すフローチャートは、第１端末４Ａで実行するアプリケーションソフトウエアのアクティベートの処理の全体構成を示すものである。図４Ｂに示した操作入力部４４から、ユーザにアクティベートされていないアプリケーションソフトウエア４７３を選択された場合、第１端末４Ａの端末制御部４８はライセンス処理プログラム４７７を実行する。
【００８４】
第１端末４Ａの端末制御部４８は、まず、図１に示した認証用サーバ１に対して、ユーザの登録要求を送信する（ステップＳ１０）。図２に示した認証用サーバ１のサーバ制御部１１は、第１端末４Ａからのユーザの登録要求を受信すると、ユーザ認証処理プログラム１１０を起動する。サーバ制御部１１は、ユーザＩＤ及びパスワードによるレガシー認証を要求する（ステップＳ１１）。第１端末４Ａの端末制御部４８は、レガシー認証用のユーザＩＤ及びパスワードを認証用サーバ１に送信する（ステップＳ１２）。サーバ制御部１１は、レガシー認証が成功すると（ステップＳ１３）、第１端末４Ａに、ユーザと紐付けられたデバイスの登録要求を送信する（ステップＳ１４）。本実施の形態において、ユーザと紐付けられたデバイスは、図１に示した第１端末４Ａ及び第２端末４Ｂである。ここでは、第１端末４Ａを登録するものとする。また、ここでは、サーバ制御部１１が第１端末４Ａに対して送信する登録要求には、チャレンジレスポンス用のチャレンジデータ、プロキシデータ等が含まれるものとする。
【００８５】
第１端末４Ａの端末制御部４８は、現在第１端末４Ａを使用しているユーザが正しいか認証する。この認証は、図６に示した認証処理により行われる（ステップＳ１５）。端末制御部４８は、図６に示した認証処理のステップＳ１からステップＳ７を実行し、ユーザがユーザ本人であると認証されると、デバイス登録処理を実行する（ステップＳ１６）。また、第１端末４Ａの端末制御部４８は、図６に示した認証処理のステップＳ１からステップＳ６を実行して、ユーザが正しいユーザであると判定できなかった場合には、ステップＳ８を実行して図４Ｂに示した表示部４９に、ユーザが異なる旨を表示させる。
【００８６】
ステップＳ１６で実行するデバイス登録処理について、図１４に示すフローチャートを参照しつつ説明する。端末制御部４８は、秘密鍵と暗号鍵のペア鍵を生成する（ステップＳ２１）。この秘密鍵と公開鍵のペア鍵は、図４Ｂに示した操作入力部４４からユーザが入力した文字列、第１端末４Ａに登録されているユーザの生体情報及びユーザの癖のデータから、端末制御部４８により生成されるものである。また、秘密鍵と公開鍵のペア鍵は、生成後、図４Ｂに示した第１端末４Ａの端末記憶部４７の暗号鍵データベース４７４に記憶される。
【００８７】
端末制御部４８は、認証用サーバ１から送信された登録要求に含まれるチャレンジレスポンス用のチャレンジデータ、プロキシデータ等の登録応答情報と、第１端末４Ａのデバイス情報とを秘密鍵で署名する（ステップＳ２２）。端末制御部４８は、秘密鍵で署名した登録応答情報及びデバイス情報と、公開鍵の証明書と、公開鍵とを、認証用サーバ１に送信する（ステップＳ２３）。認証用サーバ１のサーバ制御部１１は、登録応答情報及びデバイス情報に施されている秘密鍵による署名を公開鍵で検証し、登録応答情報及びデバイス情報を平文化する。続いて、サーバ制御部１１は、登録応答情報の整合性と署名とを検証する（ステップＳ２４）。この検証は、例えば、登録応答情報に含まれるチェレンジデータと、サーバ制御部１１が送ったチャレンジデータとのハッシュ値をそれぞれ計算して比較するものである。
【００８８】
サーバ制御部１１は、図２に示した認証用サーバ１のサーバ記憶部１２に記憶したユーザ情報データベース１２０に、第１端末４Ａから受信したデバイス情報と、公開鍵のデータと、公開鍵のＫｅｙＩＤとを書き込んで登録する（ステップＳ２５）。具体的には、ユーザ情報データベース１２０のテーブルに、図８に示した図１３のステップＳ１１からステップＳ１３で認証したユーザＩＤに対応付けて書き込まれる。
【００８９】
サーバ制御部１１は、ライセンス情報を暗号化するライセンス情報用暗号鍵を生成する。サーバ制御部１１は、生成したライセンス情報用暗号鍵を、第１端末４Ａから受信した公開鍵で暗号化する（ステップＳ２６）。サーバ制御部１１は、ユーザの登録が成功したことを示す登録成功結果と暗号化したライセンス情報用暗号鍵とを、第１端末４Ａに送信する（ステップＳ２７）。
【００９０】
ここで、図１３に戻る。第１端末４Ａは、ライセンス取得処理を実行する（ステップＳ１７）。ライセンス取得処理については、図１５に示すフローチャートを参照して説明する。第１端末４Ａの端末制御部４８は、認証用サーバ１にライセンス情報を要求する（ステップＳ３１）。認証用サーバ１のサーバ制御部１１は、ユーザの認証要求を送信する（ステップＳ３２）。この認証要求には、チャレンジレスポンス用のチャレンジデータ、プロキシデータ、認証用サーバ１が記憶していた認証用サーバ１と第１端末４Ａとの間の認証回数のデータ等が含まれるものとする。
【００９１】
第１端末４Ａの端末制御部４８は、図１３のステップＳ１５における認証処理によるユーザの認証結果を確認する（ステップＳ３３）。認証処理によるユーザの認証結果が、第１端末４Ａを使用しているユーザをユーザ本人であるとした場合（ステップＳ３４；ＹＥＳ）、端末制御部４８は、認証用サーバ１のサーバ制御部１１から受信したユーザの認証要求を基に認証結果のデータを生成する。この認証結果のデータは、サーバ制御部１１から受信したユーザの認証要求に含まれる、チャレンジレスポンス用のチャレンジデータ、プロキシデータ等のハッシュ値を生成したもの、第１端末４Ａの端末情報、第１端末４Ａが記憶していた認証用サーバ１と第１端末４Ａとの間の認証回数のデータ等である。端末制御部４８は、生成した認証結果のデータを秘密鍵で署名する（ステップＳ３５）。端末制御部４８は、署名したユーザの認証結果のデータを認証用サーバ１に送信する（ステップＳ３６）。
【００９２】
また、認証処理によるユーザの認証結果が、第１端末４Ａを使用しているユーザをユーザ本人であるとしない場合（ステップＳ３４；ＮＯ）、端末制御部４８は、これ以降の処理をスキップし、図１３に戻る。
【００９３】
認証用サーバ１のサーバ制御部１１は、受信したユーザの認証結果のデータに施された署名を公開鍵で検証する。また、サーバ制御部１１は、受信したユーザの認証結果のデータを検証する（ステップＳ３７）。ユーザの認証結果の検証は、例えば、ユーザの認証結果のデータに含まれるチャレンジデータ、プロキシデータ等のハッシュ値、第１端末４Ａの端末情報、第１端末４Ａが記憶していた認証用サーバ１と第１端末４Ａとの間の認証回数のデータ等と、ステップＳ３２でサーバ制御部１１自身が送信したチャレンジデータ、プロキシデータ等のハッシュ値、第１端末４Ａの端末情報、認証用サーバ１が記憶していた認証用サーバ１と第１端末４Ａとの間の認証回数のデータ等とを比較する。
【００９４】
ユーザの認証結果のデータと、その署名とが第１端末４Ａを使用するユーザ本人のものであると認証された場合（ステップＳ３８；ＹＥＳ）、サーバ制御部１１はライセンス情報を公開鍵で暗号化し、第１端末４Ａに送信する（ステップＳ３９）。また、ユーザの認証結果のデータと、その署名とが第１端末４Ａを使用するユーザ本人のものであると認証されなかった場合（ステップＳ３８；ＮＯ）、それ以降の処理をスキップし、図１３に戻る。
【００９５】
第１端末４Ａの端末制御部４８は、認証用サーバ１からライセンス情報を受信すると、図４Ｂに示した端末記憶部４７に記憶したアプリケーションソフトウエア４７３をインストールし、ユーザが使用できるようにする（ステップＳ４０）。
【００９６】
ここで、図１３に戻る。第１端末４Ａの端末制御部４８は、ソフトウエアのアクティベート処理を実行する（ステップＳ１８）。ソフトウエアのアクティベート処理について、図１６に示すフローチャートを参照しつつ説明する。第１端末４Ａの端末制御部４８は、認証用サーバ１にライセンス情報のアクティベートを要求する（ステップＳ５１）。認証用サーバ１のサーバ制御部１１は、ユーザの認証要求を送信する（ステップＳ５２）。この認証要求には、チャレンジレスポンス用のチャレンジデータ、プロキシデータ等が含まれるものとする。
【００９７】
第１端末４Ａの端末制御部４８は、図１３のステップＳ１５における認証処理によるユーザの認証結果を確認する（ステップＳ５３）。認証処理によるユーザの認証結果が、第１端末４Ａを使用しているユーザをユーザ本人であるとした場合（ステップＳ５４；ＹＥＳ）、端末制御部４８は、認証用サーバ１のサーバ制御部１１から受信したユーザの認証要求を基に認証結果のデータを生成する。この認証結果のデータは、サーバ制御部１１から受信したユーザの認証要求に含まれる、チャレンジレスポンス用のチャレンジデータ、プロキシデータ等のハッシュ値を生成したもの、第１端末４Ａの端末情報、第１端末４Ａが記憶していた認証用サーバ１と第１端末４Ａとの間の認証回数のデータ等である。端末制御部４８は、生成した認証結果のデータと認証回数のデータとを秘密鍵で署名する（ステップＳ５５）。端末制御部４８は、署名したユーザの認証結果のデータ及び認証回数のデータを認証用サーバ１に送信する（ステップＳ５６）。
【００９８】
また、認証処理によるユーザの認証結果が、第１端末４Ａを使用しているユーザをユーザ本人であるとしない場合（ステップＳ５４；ＮＯ）、端末制御部４８は、これ以降の処理をスキップし、図１３に戻る。
【００９９】
認証用サーバ１のサーバ制御部１１は、受信したユーザの認証結果のデータに施された署名を公開鍵で検証する。また、サーバ制御部１１は、受信したユーザの認証結果及び認証回数のデータを検証する（ステップＳ５７）。ユーザの認証結果の検証は、例えば、ユーザの認証結果のデータに含まれるチャレンジデータ、プロキシデータ等のハッシュ値、第１端末４Ａの端末情報、第１端末４Ａが記憶していた認証用サーバ１と第１端末４Ａとの間の認証回数のデータ等と、ステップＳ３２で認証用サーバ１自身が送信したチャレンジデータ、プロキシデータ等のハッシュ値、第１端末４Ａの端末情報、認証用サーバ１が記憶していた認証用サーバ１と第１端末４Ａとの間の認証回数のデータ等とを比較する。
【０１００】
ユーザの認証結果のデータと、その署名とが第１端末４Ａを使用するユーザ本人のものであると認証された場合（ステップＳ５８；ＹＥＳ）、ライセンス情報を発行数が上限数以下か判定する（ステップＳ５９）。また、ユーザの認証結果のデータと、その署名とが第１端末４Ａを使用するユーザ本人のものであると認証されなかった場合（ステップＳ５８；ＮＯ）、それ以降の処理をスキップし、図１３に戻る。
【０１０１】
ライセンスの発行数が、ユーザの購入しているライセンス数の上限以下である場合（ステップＳ５９；ＹＥＳ）、認証用サーバ１のサーバ制御部１１は、ライセンスの情報を記載したライセンス情報ファイルを第１端末４Ａに送信する（ステップＳ６０）。ライセンスの発行数が、ユーザの購入しているライセンス数の上限を超えている場合（ステップＳ５９；ＮＯ）、それ以降の処理をスキップする。
【０１０２】
第１端末４Ａの端末制御部４８は、受信したライセンス情報ファイルに記載されたライセンスの情報を使用し、図１５のステップＳ４０でインストールしたアプリケーションソフトウエア４７３をアクティベートする（ステップＳ６１）。
【０１０３】
ここで、図１３に戻る。第１端末４Ａの端末制御部４８は、ライセンス情報ファイルの分散処理を実行する（ステップＳ１９）。ライセンス情報ファイルの分散処理については、図１７に示すフローチャートを参照しつつ説明する。
【０１０４】
第１端末４Ａの端末制御部４８は、図１３のステップＳ１５における認証処理によるユーザの認証結果を確認する（ステップＳ７１）。認証処理によるユーザの認証結果が、第１端末４Ａを使用しているユーザをユーザ本人であるとした場合（ステップＳ７２；ＹＥＳ）、端末制御部４８は図１に示した第１クラウド３Ａ及び第２クラウド３Ｂにログインする（ステップＳ７３）。また、認証処理によるユーザの認証結果が、第１端末４Ａを使用しているユーザをユーザ本人であるとしない場合（ステップＳ７２；ＮＯ）、端末制御部４８は、これ以降の処理をスキップして図１３に戻り、ライセンス処理プログラム４７７を終了する。
【０１０５】
端末制御部４８は、図４Ｂに示した第１端末４Ａの端末記憶部４７に記憶している暗号鍵データベース４７４から、ライセンス情報用暗号鍵を取得する（ステップＳ７４）。ここでは、ライセンス情報用暗号鍵は、図７に示した暗号鍵データベース４７４のテーブルに書き込まれているＫｒ１及びＫｒ２とする。端末制御部４８は、ファイル格納処理を実行する（ステップＳ７５）。
【０１０６】
ファイル格納処理について、図１８に示すフローチャートを参照しつつ説明する。まず、端末制御部４８は、保存対象のライセンス情報ファイルを構成する先頭クラスタの論理アドレスＬｉを特定し、それが奇数か否かを判別する（ステップＳ９１）。論理アドレスＬｉが奇数である場合（ステップＳ９１；ＹＥＳ）、図１１に示すように、ライセンス情報用暗号鍵Ｋｒ１で処理対象のクラスタを暗号化する（ステップＳ９２）。端末制御部４８は、暗号化したクラスタを、図３に示した第１クラウド３Ａの第１記憶部３０上の空き物理アドレスＰＡの領域に格納する（ステップＳ９３）。
【０１０７】
続いて、端末制御部４８は、処理したクラスタの論理アドレスＬｉと、格納した領域の物理アドレスＰＡｉと、ライセンス情報用暗号鍵Ｋｒ１と、物理アドレスＰＡｉを備える第１クラウド３Ａを示す番号を「１」とを対応付けて、図１２に示したファイル管理テーブル４７５のテーブルに書き込み、図４Ｂに示した端末記憶部４７に記憶する（ステップＳ９４）。
【０１０８】
端末制御部４８は、全てのクラスタの保存が終了したか否かを判別する（ステップＳ９５）。端末制御部４８は、全てのクラスタの保存が終了していない場合（ステップＳ９５：Ｎｏ）、論理アドレスＬｉに１を足す（ステップＳ９８）。続いて、端末制御部４８は、ステップＳ９１に戻り、次のクラスタを処理する。
【０１０９】
一方、ステップＳ９１で、処理対象のクラスタの論理アドレスが奇数ではないと判別された場合（ステップＳ９１；ＮＯ）、図１１に示すようにライセンス情報用暗号鍵Ｋｒ２で処理対象のクラスタを暗号化する（ステップＳ９６）。端末制御部４８は、図３に示した第２クラウド３Ｂの第２記憶部３１上の空き物理アドレスＰＢの領域に格納する（ステップＳ９７）。
【０１１０】
端末制御部４８は、処理したクラスタの論理アドレスＬｉと、格納した領域の物理アドレスＰＢｉと、ライセンス情報用暗号鍵Ｋｒ２と、物理アドレスＰＢｉを備える第２クラウド３Ｂを示す番号を「２」とを対応付けて、図１２に示したファイル管理テーブル４７５のテーブルに書き込み、図４Ｂに示した端末記憶部４７に記憶する（ステップＳ９４）。
【０１１１】
端末制御部４８は、全てのクラスタの保存が終了したか否かを判別する（ステップＳ９５）。端末制御部４８は、全てのクラスタの保存が終了していない場合（ステップＳ９５；ＮＯ）、論理アドレスＬｉに１を足す（ステップＳ９８）。続いて、端末制御部４８は、ステップＳ９１に戻り、次のクラスタを処理する。
【０１１２】
また、ステップＳ９５で、全てのクラスタの保存が終了したと判別された場合（ステップＳ９５；ＹＥＳ）、端末制御部４８は、ファイル格納処理を終了する。ここで、図１７に戻る。端末制御部４８は、図１に示した第１クラウド３Ａ及び第２クラウド３Ｂからログオフする（ステップＳ７６）。ここで、図１３に戻る。端末制御部４８は、ライセンス処理プログラム４７７を終了する。
【０１１３】
次に、第１端末４Ａとともにユーザと紐付けられたデバイスである、図１に示した第２端末４Ｂでアプリケーションソフトウエアをアクティベートする処理について説明する。第２端末４Ｂにおいて、アプリケーションソフトウエアをアクティベートする処理は、第１端末４Ａの取得したアプリケーションソフトウエアのライセンス情報を利用して行う。第２端末４Ｂが実行するアプリケーションソフトウエアのアクティベートの処理について、図１９から図２４に示すフローチャートを参照しつつ説明する。図１９に示すフローチャートは、第２端末４Ｂで実行するアプリケーションソフトウエアのアクティベートの処理の全体構成を示すものである。図４Ｂに示した操作入力部４４から、ユーザにアクティベートされていないアプリケーションソフトウエア４７３を選択された場合、第２端末４Ｂの端末制御部４８は、ライセンス処理プログラム４７７を実行する。
【０１１４】
端末制御部４８は、まず、図１に示した認証用サーバ１に対して、ユーザの登録要求を送信する（ステップＳ１０１）。図２に示した認証用サーバ１のサーバ制御部１１は、第２端末４Ｂからのユーザの登録要求を受信すると、ユーザ認証処理プログラム１１０を起動する。サーバ制御部１１は、ユーザＩＤ及びパスワードによるレガシー認証を要求する（ステップＳ１０２）。端末制御部４８は、レガシー認証用のユーザＩＤ及びパスワードを認証用サーバ１に送信する（ステップＳ１０３）。サーバ制御部１１は、レガシー認証が成功すると（ステップＳ１０４）、第２端末４Ｂに対してユーザと紐付けられたデバイスの登録要求を送信する（ステップＳ１０５）。本実施の形態において、ユーザと紐付けられたデバイスは、図１に示した第１端末４Ａ及び第２端末４Ｂである。ここでは、第２端末４Ｂを登録するものとする。また、ここでは、サーバ制御部１１が第２端末４Ｂに対して送信するユーザと紐付けられたデバイスの登録要求には、チャレンジレスポンス用のチャレンジデータ、プロキシデータ、認証用サーバ１が記憶している認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等が含まれるものとする。
【０１１５】
第２端末４Ｂの端末制御部４８は、現在第２端末４Ｂを使用しているユーザがユーザ本人あることを認証する。この認証は、図６に示した認証処理により行われる（ステップＳ１０６）。端末制御部４８は、図６に示した認証処理のステップＳ１からステップＳ７を実行してユーザがユーザ本人であると認証されると、登録済みデバイスの確認処理を実行する（ステップＳ１０７）。また、端末制御部４８は、図６に示した認証処理のステップＳ１からステップＳ６を実行して、ユーザが正しいユーザであると判定できなかった場合には、ステップＳ８を実行して図４Ｂに示した表示部４９に、ユーザが異なる旨を表示させる。
【０１１６】
ステップＳ１０７で実行する登録済みデバイスの確認処理について、図２０に示すフローチャートを参照しつつ説明する。端末制御部４８は、秘密鍵と暗号鍵のペア鍵を生成する（ステップＳ１２１）。この秘密鍵と公開鍵のペア鍵は、図４Ｂに示した操作入力部４４からユーザが入力した文字列、第２端末４Ｂに登録されているユーザの生体情報及びユーザの癖のデータから、端末制御部４８により生成されるものである。また、秘密鍵と公開鍵のペア鍵は、生成後、図４Ｂに示した第２端末４Ｂの端末記憶部４７の暗号鍵データベース４７４に記憶される。
【０１１７】
第２端末４Ｂの端末制御部４８は、認証用サーバ１から送信されたユーザと紐付けられたデバイスの登録要求に含まれるチャレンジレスポンス用のチャレンジデータ、プロキシデータ、第２端末４Ｂの端末情報、第２端末４Ｂが記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等の登録応答情報と、第２端末４Ｂのデバイス情報とを秘密鍵で署名する（ステップＳ１２２）。端末制御部４８は、秘密鍵で署名した登録応答情報及びデバイス情報と、公開鍵の証明書と、公開鍵とを、認証用サーバ１に送信する（ステップＳ１２３）。
【０１１８】
認証用サーバ１のサーバ制御部１１は、登録応答情報及びデバイス情報に施されている秘密鍵による署名を公開鍵で検証し、登録応答情報及びデバイス情報を平文化する。続いて、サーバ制御部１１は、登録応答情報の整合性と署名とを検証する（ステップＳ１２４）。この検証は、例えば、登録応答情報に含まれるチェレンジデータ、プロキシデータ等のハッシュ値、第２端末４Ｂの端末情報、第２端末４Ｂが記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等と、サーバ制御部１１自身が送信したチャレンジデータ、プロキシデータ等のハッシュ値、第２端末４Ｂの端末情報、認証用サーバ１が記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等とを比較するものである。
【０１１９】
サーバ制御部１１は、図２に示した認証用サーバ１のサーバ記憶部１２に記憶したユーザ情報データベース１２０に、第２端末４Ｂから受信したデバイス情報と、公開鍵のデータと、公開鍵のＫｅｙＩＤとを書き込んで登録する（ステップＳ１２５）。具体的には、ユーザ情報データベース１２０のテーブルに、図８に示した図１３のステップＳ１１からステップＳ１３で認証したユーザＩＤに対応付けて書き込まれる。
【０１２０】
サーバ制御部１１は、ユーザ情報データベース１２０のテーブルのうち、ユーザＩＤの項目から、ステップＳ１２５で書き込んだユーザＩＤと同じユーザＩＤがあるか確認する（ステップＳ１２６）。同じユーザＩＤがある場合（ステップＳ１２６；ＹＥＳ）、サーバ制御部１１は、ライセンス情報を暗号化するライセンス情報用暗号鍵を、ユーザ情報データベース１２０から取得する。例えば、ユーザＩＤを「Ａ」とすると、図８に示したユーザ情報データベース１２０では、ユーザＩＤ「Ａ」にライセンス情報用暗号鍵Ｋｒ１、Ｋｒ２が対応付けられている。サーバ制御部１１は、ユーザＩＤ「Ａ」に対応付けられたライセンス情報用暗号鍵Ｋｒ１、Ｋｒ２を取得する。サーバ制御部１１は、取得したライセンス情報用暗号鍵を、第２端末４Ｂから受信した公開鍵で暗号化する（ステップＳ１２７）。
【０１２１】
サーバ制御部１１は、ユーザの登録が成功したことを示す登録成功結果と暗号化したライセンス情報用暗号鍵とを、第２端末４Ｂに送信する（ステップＳ１２８）。また、サーバ制御部１１は、ユーザ情報データベース１２０にステップＳ１２５で書き込んだユーザＩＤと同じユーザＩＤが無かった場合（ステップＳ１２６；ＮＯ）、ステップＳ１２７とステップＳ１２８をスキップする。
【０１２２】
ここで、図１９に戻る。第２端末４Ｂは、ライセンスの復元処理を実行する（ステップＳ１０８）。ライセンスの復元処理については、図２１に示すフローチャートを参照しつつ説明する。
【０１２３】
第２端末４Ｂの端末制御部４８は、現在第２端末４Ｂを使用しているユーザがユーザ本人であるか認証する。この認証は、図６に示した認証処理により行われる（ステップＳ１３１）。端末制御部４８は、図６に示した認証処理のステップＳ１からステップＳ７を実行してユーザがユーザ本人であると認証されると、図１に示した第１クラウド３Ａ及び第２クラウド３Ｂにログインする（ステップＳ１３２）。また、端末制御部４８は、図６に示した認証処理のステップＳ１からステップＳ６を実行して、ユーザがユーザ本人とは判定できなかった場合には、ステップＳ８を実行して図４Ｂに示した表示部４９に、ユーザが異なる旨を表示させる。
【０１２４】
端末制御部４８は、ライセンス情報ファイルの復元処理を実行する（ステップＳ１３３）。ライセンス情報ファイルの復元処理について、図２２に示すフローチャートを参照しつつ説明する。第２端末４Ｂの端末制御部４８は、図４Ｂに示した端末記憶部４７に記憶されているファイル管理テーブル４７５から、復元の対象であるライセンス情報ファイルを構成するクラスタの先頭クラスタの論理アドレスを求める。端末制御部４８は、先頭クラスタの論理アドレスに対応するクラウド３及び物理アドレスを、ファイル管理テーブル４７５から特定する。次いで、端末制御部４８は、先頭クラスタの論理アドレスに対応するライセンス情報用暗号鍵を特定する。（ステップＳ１３６）。
【０１２５】
端末制御部４８は、特定したクラウド３及び物理アドレスに基づいてデータを読み出す（ステップＳ１３７）端末制御部４８は、特定したライセンス情報用暗号鍵を使って、特定したクラウド３及び物理アドレスから読み出したクラスタを復号化する（ステップＳ１３８）。続いて、ライセンス情報ファイルを構成する全てのクラスタの読み出しが終了したか否かを判別する（ステップＳ１３９）。
【０１２６】
ライセンス情報ファイルを構成する全てのクラスタの読み出しが終了していない場合（ステップＳ１３９；ＮＯ）、ステップＳ１３６に戻り、次のクラスタに対してステップＳ１３６からステップＳ１３８を実行する。また、ライセンス情報ファイルを構成する全てのクラスタの読み出しが終了した場合（ステップＳ１３９；ＹＥＳ）、端末制御部４８は、復号化したクラスタを連結し、ライセンス情報ファイルを復元する（ステップＳ１４０）。
【０１２７】
図２１に戻る。第２端末４Ｂの端末制御部４８は、図１に示した第１クラウド３Ａ及び第２クラウド３Ｂからログアウトする（ステップＳ１３４）。
【０１２８】
ここで、図１９に戻る。第２端末４Ｂの端末制御部４８は、復元したライセンス情報のアクティベート処理を実行する（ステップＳ１０９）。復元したライセンス情報のアクティベート処理について、図２３に示すフローチャートを参照しつつ説明する。
【０１２９】
第２端末４Ｂの端末制御部４８は、認証用サーバ１に復元したライセンス情報のアクティベートを要求する（ステップＳ１４１）。認証用サーバ１のサーバ制御部１１は、ユーザの認証要求を送信する（ステップＳ１４２）。この認証要求には、チャレンジレスポンス用のチャレンジデータ、プロキシデータ、第２端末４Ｂの端末情報、認証用サーバ１が記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等が含まれるものとする。
【０１３０】
第２端末４Ｂの端末制御部４８は、図１９のステップＳ１０６における認証処理によるユーザの認証結果を確認する（ステップＳ１４３）。認証処理によるユーザの認証結果が、第２端末４Ｂを使用しているユーザをユーザ本人であるとした場合（ステップＳ１４４；ＹＥＳ）、端末制御部４８は、認証用サーバ１のサーバ制御部１１から受信したユーザの認証要求を基に認証結果のデータを生成する（ステップＳ１４５）。この認証結果のデータは、サーバ制御部１１から受信したユーザの認証要求に含まれる、チャレンジレスポンス用のチャレンジデータ、プロキシデータ等のハッシュ値を生成したもの、第２端末４Ｂの端末情報、第２端末４Ｂが記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等である。第２端末４Ｂの端末制御部４８は、生成した認証結果のデータを秘密鍵で署名する（ステップＳ１４６）。端末制御部４８は、署名したユーザの認証結果のデータを認証用サーバ１に送信する（ステップＳ１４７）。
【０１３１】
また、認証処理によるユーザの認証結果が、第１端末４Ａを使用しているユーザをユーザ本人であるとしない場合（ステップＳ１４４；ＮＯ）、端末制御部４８は、これ以降の処理をスキップする。
【０１３２】
認証用サーバ１のサーバ制御部１１は、受信したユーザの認証結果のデータに施された署名を公開鍵で検証する。また、サーバ制御部１１は、受信したユーザの認証結果を検証する（ステップＳ１４８）。ユーザの認証結果の検証は、例えば、ユーザの認証結果のデータに含まれるチャレンジデータ、プロキシデータ等のハッシュ値、第２端末４Ｂの端末情報、第２端末４Ｂが記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等と、ステップＳ１４２でサーバ制御部１１自身が送信したチャレンジデータ、プロキシデータ等のハッシュ値、第２端末４Ｂの端末情報、認証用サーバ１が記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等とを比較する。
【０１３３】
ユーザの認証結果のデータと、その署名とが第２端末４Ｂを使用するユーザ本人のものであると認証されると、サーバ制御部１１は、ライセンスの発行数が上限数以下か判定する（ステップＳ１４９）。具体的には、サーバ制御部１１は、図２に示したサーバ記憶部１２に記憶されているユーザ情報データベース１２０に登録されているライセンスの発行数とユーザが購入したライセンス総数とを比較する。
【０１３４】
例えば、図８に示したユーザ情報データベース１２０のテーブルにおいて、ユーザＩＤ「Ａ」のデータを見る。ユーザＩＤ「Ａ」の購入したライセンス総数は２つであり、ライセンスの発行数も２つである。この場合、サーバ制御部１１は、ライセンスの発行数が上限数に達しているものと判定する。また、ユーザＩＤ「Ｄ」のデータを見る。ユーザＩＤ「Ｄ」の購入したライセンス総数は５つであり、ライセンスの発行数は１つである。この場合、サーバ制御部１１は、ライセンスの発行数が上限数以下と判定する。
【０１３５】
ライセンスの発行数が、ユーザの購入しているライセンス数の上限数以下である場合（ステップＳ１４９；ＹＥＳ）、認証用サーバ１のサーバ制御部１１は、新たなデバイスにライセンスの使用を許可し、ライセンスをアクティブ化する（ステップＳ１５０）。ここでの新たなデバイスは、第２端末４Ｂである。サーバ制御部１１は、新たなデバイスの名称、すなわち第２端末４Ｂに、使用を許可したライセンスのライセンス情報、ユーザＩＤ、第２端末４Ｂに対して既に発行されているライセンス数等を対応付け、図２に示したサーバ記憶部１２に記憶されているユーザ情報データベース１２０に登録する。
【０１３６】
また、ライセンスの発行数が、ユーザの購入しているライセンス数の上限数に達している場合（ステップＳ１４９；ＮＯ）、認証用サーバ１のサーバ制御部１１は、現在アクティブなライセンスを無効化して使えないようにする。続いて、サーバ制御部１１は、図１に示した第１クラウド３Ａ及び第２クラウド３Ｂから第２端末４Ｂが取得し復元したライセンスをアクティブ化し、使えるようにする（ステップＳ１５１）。なお、ここで、サーバ制御部１１が無効化する現在アクティブなライセンスは、予め定められた順番に基づいて決定される。この予め定められた順番は、例えば、アクティブ化された日時が一番古いライセンスから順次、アクティブ化されている全てのライセンスからランダムに決定等である。サーバ制御部１１は、第２端末４Ｂに、アクティブ化したライセンスのライセンス情報、ユーザＩＤ、ライセンスの発行数等を対応付け、図２に示したサーバ記憶部１２に記憶されているユーザ情報データベース１２０に登録する。
【０１３７】
サーバ制御部１１は、ライセンスのアクティブ化の結果を第２端末４Ｂに送信する（ステップＳ１５２）。第２端末４Ｂの端末制御部４８は、図４Ｂに示した端末記憶部４７に記憶したアプリケーションソフトウエア４７３をインストールして使用できるようする。端末制御部４８は、認証用サーバ１から受信したライセンスのアクティブ化の結果を使用してアプリケーションソフトウエア４７３をアクティベートする（ステップＳ１５３）。
【０１３８】
図１９に戻る。第２端末４Ｂの端末制御部４８は、アプリケーションソフトウエア４７３の利用を終了すると（ステップＳ１１０）、ライセンスの無効化処理を実行する（ステップＳ１１１）。ライセンスの無効化処理について、図２４に示すフローチャートを参照しつつ説明する。
【０１３９】
第２端末４Ｂの端末制御部４８は、認証用サーバ１にライセンスの無効化を要求する（ステップＳ１６１）。認証用サーバ１のサーバ制御部１１は、ユーザの認証要求を送信する（ステップＳ１６２）。この認証要求には、チャレンジレスポンス用のチャレンジデータ、プロキシデータ、認証用サーバ１が記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等が含まれるものとする。
【０１４０】
第２端末４Ｂの端末制御部４８は、図１９のステップＳ１０６における認証処理によるユーザの認証結果を確認する（ステップＳ１６３）。認証処理によるユーザの認証結果が、第２端末４Ｂを使用しているユーザをユーザ本人であるとした場合（ステップＳ１６４；ＹＥＳ）、端末制御部４８は、認証用サーバ１のサーバ制御部１１から受信したユーザの認証要求を基に認証結果のデータを生成する（ステップＳ１６５）。この認証結果のデータは、サーバ制御部１１から受信したユーザの認証要求に含まれる、チャレンジレスポンス用のチャレンジデータ、プロキシデータ等のハッシュ値を生成したもの、第２端末４Ｂの端末情報、第２端末４Ｂが記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等である。端末制御部４８は、生成した認証結果のデータを秘密鍵で署名する（ステップＳ１６６）。端末制御部４８は、署名したユーザの認証結果のデータを認証用サーバ１に送信する（ステップＳ１６７）。
【０１４１】
また、認証処理によるユーザの認証結果が、第２端末４Ｂを使用しているユーザをユーザ本人であるとしない場合（ステップＳ１６４；ＮＯ）、端末制御部４８は、これ以降の処理をスキップする。
【０１４２】
認証用サーバ１のサーバ制御部１１は、受信したユーザの認証結果のデータに施された署名を公開鍵で検証する。また、サーバ制御部１１は、受信したユーザの認証結果を検証する（ステップＳ１６８）。ユーザの認証結果の検証は、例えば、ユーザの認証結果のデータに含まれるチャレンジデータ、プロキシデータ等のハッシュ値、第２端末４Ｂの端末情報、第２端末４Ｂが記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等と、ステップＳ３２でサーバ制御部１１自身が送信したチャレンジデータ、プロキシデータ等のハッシュ値、第２端末４Ｂの端末情報、認証用サーバ１が記憶していた認証用サーバ１と第２端末４Ｂとの間の認証回数のデータ等とを比較する。
【０１４３】
ユーザの認証結果のデータと、その署名とが第１端末４Ａを使用するユーザ本人のものであると認証された場合（ステップＳ１６９；ＹＥＳ）、サーバ制御部１１は、ライセンスを無効化する（ステップＳ１７０）。また、サーバ制御部１１は、図２に示したサーバ記憶部１２に記憶されているユーザ情報データベース１２０に登録されているライセンスの情報を削除する。また、ユーザの認証結果のデータと、その署名とが第１端末４Ａを使用するユーザ本人のものであると認証されなかった場合（ステップＳ１６９；ＮＯ）、それ以降の処理をスキップし、図１９に戻る。
【０１４４】
サーバ制御部１１は、第２端末４Ｂにライセンスの無効化を通知する（ステップＳ１７１）。第２端末４Ｂの端末制御部４８は、ライセンスの無効化の通知を受信すると、図４Ｂに示した端末記憶部４７に記憶したアプリケーションソフトウエア４７３をアンインストールして使用できるようする。端末制御部４８は、ライセンス情報ファイルを削除し、ライセンスを無効化する（ステップＳ１７２）。ここで、図１９に戻る。端末記憶部４７は、ライセンス処理プログラム４７７を終了する。
【０１４５】
以上のとおり、本実施の形態では、ユーザと紐付いた第１端末４Ａと第２端末４Ｂとにおいて、第１端末４Ａが認証用サーバ１から取得したアプリケーションソフトウエアのライセンス情報を、第２端末４Ｂでも使用して自身のアプリケーションソフトウエアをアクティベートできるようしている。これにより、ユーザは、第１端末４Ａ及び第２端末４Ｂのどちらででもアプリケーションソフトウエアを使用することができる。
【０１４６】
また、第２端末４Ｂが認証用サーバ１にライセンスのアクティブ化を要求した場合に、発行済みのライセンス数がユーザの購入したライセンス数に達していた場合、現在アクティブなライセンスを無効化し、第２端末４Ｂからアクティブ化を要求したライセンスをアクティブ化する。これにより、ユーザは、自身の購入したライセンス数を考慮にすることなく、アプリケーションソフトウエアを使用することができる。
【０１４７】
さらに、第１端末４Ａ及び第２端末４Ｂの行うユーザの認証は、ユーザの生体情報及びユーザの癖のデータに基づくものである。ユーザの生体情報及びユーザの癖のデータは、第１端末４Ａ及び第２端末４Ｂの内部にととどめておき、外部には出さない。このため、ユーザの生体情報及びユーザの癖のデータが第三者に漏洩する可能性が低く、第三者によるなりすましを防ぐこともができる。
【０１４８】
また、本発明の実施の形態では、認証用サーバ１及び端末４は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、認証用サーバ１及び端末４における各機能を実現するためのプログラムを、コンピュータが読み取り可能なＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体に格納して配布し、このプログラムをコンピュータにインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。そして、各機能をＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とアプリケーションとの分担、またはＯＳとアプリケーションとの協同により実現する場合には、アプリケーションのみを記録媒体に格納してもよい。
【０１４９】
（変形例１）
上記の実施の形態において、スコア値を求めるための端末４に登録された生体情報及びユーザの癖のデータは、ユーザを認証することに更新され、精度を高めるようにしてもよい。また、図５Ｄに示したスコア値テーブル４７８のスコア値の項目に設定されている値は、ユーザが適宜設定するようにしてもよい。
【０１５０】
（変形例２）
上記の実施の形態において、スマートフォンを用いて第１端末４Ａ及び第２端末４Ｂを構成するものとした。しかしながら、スマートフォンに限らず、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレット、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等、どのような機器を用いて第１端末４Ａ及び第２端末４Ｂを構成してもよい。
【０１５１】
なお、本発明の技術的範囲は、上記実施の形態と変形例によっては限定されない。本発明は特許請求の範囲に記載された技術的思想の限りにおいて、自由に応用、変形あるいは改良して、実施することができる。
【符号の説明】
【０１５２】
１  認証用サーバ、２  ネットワーク、３  クラウド、３Ａ  第１クラウド、３Ｂ  第２クラウド、４  端末、４Ａ  第１端末、４Ｂ  第２端末、１１  サーバ制御部、１２  サーバ記憶部、３０  第１記憶部、３１  第２記憶部、４０  通信部、４１  撮影部、４１Ａ  インカメラ、４１Ｂ  メインカメラ、４２  音声入出力部、４２Ａ  スピーカ、４２Ｂ  通話用のマイク（マイクロフォン）、４３  傾き検出部、４４  操作入力部、４９  表示部、４５  指紋検出部、４５Ａ  左指紋センサ、４５Ｂ  右指紋センサ、４６  位置検出部、４７  端末記憶部、４８  端末制御部、４９  表示部、５１  プロセッサ、５２  メモリ、５３  Ｉ／Ｏポート、５４  通信機器、５５  記憶機器、５６  表示コントローラ、５７  表示機器、５８  データバス、１００  情報処理システム、１１０  ユーザ認証処理プログラム、１２０  ユーザ情報データベース、４７０  認証処理プログラム、４７１  認証用生体情報データベース、４７２  認証用ユーザの癖データベース、４７３  アプリケーションソフトウエア、４７４  暗号鍵データベース、４７５  ファイル管理テーブル、４７６  ファイル管理プログラム、４７７  ライセンス処理プログラム、４７８  スコア値テーブル。
【図１】
2020177337.tif 000003
【図２】
2020177337.tif 000004
【図３】
2020177337.tif 000005
【図４Ａ】
2020177337.tif 000006
【図４Ｂ】
2020177337.tif 000007
【図４Ｃ】
2020177337.tif 000008
【図５Ａ】
2020177337.tif 000009
【図５Ｂ】
2020177337.tif 000010
【図５Ｃ】
2020177337.tif 000011
【図５Ｄ】
2020177337.tif 000012
【図６】
2020177337.tif 000013
【図７】
2020177337.tif 000014
【図８】
2020177337.tif 000015
【図９】
2020177337.tif 000016
【図１０】
2020177337.tif 000017
【図１１】
2020177337.tif 000018
【図１２】
2020177337.tif 000019
【図１３】
2020177337.tif 000020
【図１４】
2020177337.tif 000021
【図１５】
2020177337.tif 000022
【図１６】
2020177337.tif 000023
【図１７】
2020177337.tif 000024
【図１８】
2020177337.tif 000025
【図１９】
2020177337.tif 000026
【図２０】
2020177337.tif 000027
【図２１】
2020177337.tif 000028
【図２２】
2020177337.tif 000029
【図２３】
2020177337.tif 000030
【図２４】
2020177337.tif 000031