(57)【要約】【課題】使用装置と管理装置との間でデータ通信を行うことができない状況であってもライセンス認証を行う【解決手段】設計支援装置２は、ワンタイムパスワードを作成するためのチャレンジコードを生成し、チャレンジコードを含むＱＲコード（登録商標）を表示する。設計支援装置２は、チャレンジコードを用いて、予め設定されたハッシュ関数で処理して算出されたハッシュ値を一致確認パスワードとして作成し、入力されたワンタイムパスワードと、ハッシュ値とが一致するか否かを判断する。携帯端末４は、表示されたチャレンジコードを取得し、チャレンジコードをサーバ３へ送信する。携帯端末４は、サーバ３から受信したワンタイムパスワードを表示する。サーバ３は、受信したチャレンジコードを用いて、設計支援装置２が用いているのと同一のハッシュ関数で処理して算出されたハッシュ値をワンタイムパスワードとして作成し、携帯端末４へ送信する。【選択図】図１
2017084251.tif 000002
【特許請求の範囲】
【請求項１】
使用を許可するライセンスが与えられているプログラムであるライセンス付与プログラムがインストールされている使用装置と、前記ライセンス付与プログラムの前記ライセンスを管理する管理装置と、前記管理装置とデータ通信を行う携帯端末とを用いて、前記ライセンス付与プログラムの前記ライセンスの認証を行うライセンス認証方法であって、
前記使用装置が、前記認証のためのパスワードである認証パスワードを作成するためのパスワード作成情報を生成する情報生成手順と、
前記使用装置が、前記情報生成手順により生成された前記パスワード作成情報を表示する作成情報表示手順と、
前記携帯端末が、前記作成情報表示手順により表示された前記パスワード作成情報を取得する作成情報取得手順と、
前記携帯端末が、前記作成情報取得手順により取得された前記パスワード作成情報を前記管理装置へ送信する作成情報送信手順と、
前記管理装置が、前記携帯端末から受信した前記パスワード作成情報を用いて、予め設定されたパスワード作成方法で前記認証パスワードを作成する認証パスワード作成手順と、
前記管理装置が、前記認証パスワード作成手順により作成された前記認証パスワードを前記携帯端末へ送信するパスワード送信手順と、
前記携帯端末が、前記管理装置から受信した前記認証パスワードを表示するパスワード表示手順と、
前記使用装置が、前記パスワード作成情報を用いて、前記管理装置が用いている前記パスワード作成方法と同一の作成方法で一致確認パスワードを作成する確認パスワード作成手順と、
前記使用装置が、当該使用装置に入力された前記認証パスワードと、前記確認パスワード作成手順により作成された前記一致確認パスワードとが一致するか否かを判断する一致確認手順と
を備えるライセンス認証方法。
【請求項２】
使用を許可するライセンスが与えられているプログラムであるライセンス付与プログラムがインストールされている使用装置と、前記ライセンス付与プログラムの前記ライセンスを管理する管理装置と、前記管理装置とデータ通信を行う携帯端末とを備え、前記ライセンス付与プログラムの前記ライセンスの認証を行うライセンス認証システムであって、
前記使用装置は、
前記認証のためのパスワードである認証パスワードを作成するためのパスワード作成情報を生成する情報生成手段と、
前記情報生成手段により生成された前記パスワード作成情報を表示する作成情報表示手段と、
前記パスワード作成情報を用いて、予め設定されたパスワード作成方法で一致確認パスワードを作成する確認パスワード作成手段と、
当該使用装置に入力された前記認証パスワードと、前記確認パスワード作成手段により作成された前記一致確認パスワードとが一致するか否かを判断する一致確認手段とを備え、
前記携帯端末は、
前記作成情報表示手段により表示された前記パスワード作成情報を取得する作成情報取得手段と、
前記作成情報取得手段により取得された前記パスワード作成情報を前記管理装置へ送信する作成情報送信手段と、
前記管理装置から受信した前記認証パスワードを表示するパスワード表示手段とを備え、
前記管理装置は、
前記携帯端末から受信した前記パスワード作成情報を用いて、前記使用装置が用いている前記パスワード作成方法と同一の作成方法で前記認証パスワードを作成する認証パスワード作成手段と、
前記認証パスワード作成手段により作成された前記認証パスワードを前記携帯端末へ送信するパスワード送信手段とを備える
ことを特徴とするライセンス認証システム。
【請求項３】
使用を許可するライセンスが与えられているプログラムであるライセンス付与プログラムがインストールされている使用装置と、前記ライセンス付与プログラムの前記ライセンスを管理する管理装置と、前記管理装置とデータ通信を行う携帯端末とを用いて、前記ライセンス付与プログラムの前記ライセンスの認証を行うために、前記使用装置に搭載されたコンピュータを、
前記認証のためのパスワードである認証パスワードを作成するためのパスワード作成情報を生成する情報生成手段、
前記情報生成手段により生成された前記パスワード作成情報を表示する作成情報表示手段、
前記パスワード作成情報を用いて、予め設定されたパスワード作成方法で一致確認パスワードを作成する確認パスワード作成手段、及び、
当該使用装置に入力された前記認証パスワードと、前記確認パスワード作成手段により作成された前記一致確認パスワードとが一致するか否かを判断する一致確認手段、
として機能させるためのライセンス認証プログラム。
【請求項４】
前記パスワード作成方法は、
前記パスワード作成情報を、前記管理装置において設定されているものと同一のハッシュ関数で処理することによりハッシュ値を算出し、前記ハッシュ値を前記一致確認パスワードとする方法である
ことを特徴とする請求項３に記載のライセンス認証プログラム。
【請求項５】
コンピュータを更に、
前記一致確認手段による判断結果を示す使用可否情報を、前記使用装置に搭載された揮発性メモリに記憶する可否情報記憶手段として機能させ、
前記ライセンス付与プログラムとは互いに独立に動作する
ことを特徴とする請求項３または請求項４に記載のライセンス認証プログラム。
【請求項６】
コンピュータを更に、
データ通信により、前記認証のために予め設定された認証用識別情報と、前記認証用識別情報に対応付けて設定された認証用パスワードとを前記管理装置へ送信することにより前記ライセンスの前記認証を要求する認証要求手段、及び、
データ通信により、前記管理装置から、前記ライセンス付与プログラムの使用可否を示すライセンス有効性情報を受信する有効性情報受信手段として機能させる
ことを特徴とする請求項３〜請求項５の何れか１項に記載のライセンス認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのライセンス認証を行うライセンス認証方法、ライセンス認証システムおよびライセンス認証プログラムに関する。
【背景技術】
【０００２】
従来、コンピュータで使用されるプログラムが不正に使用されるのを防止するために、プログラムにライセンスを付与する技術が知られている（例えば、特許文献１を参照）。具体的には、ライセンスが付与されたプログラム（以下、ライセンス付与プログラム）を実行するときに、ライセンス付与プログラムがインストールされた情報処理装置（以下、使用装置）が、例えば、ライセンス付与プログラムに割り当てられた認証用識別情報（すなわち、ＩＤ）とパスワードを、ネットワークを介して、ライセンスを管理する管理装置へ送信することにより、ライセンス認証を要求する。管理装置は、受信した認証用識別情報とパスワードに基づいて、ライセンス付与プログラムからのライセンス認証要求であるか否かを判断し、ライセンス付与プログラムからのライセンス認証要求であると判断した場合に、使用装置に対してプログラムの使用を許可する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４６２２３５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、例えばネットワークの異常により使用装置と管理装置との間でデータ通信を行うことができない状況では、ライセンス認証を行うことができないという問題があった。
本発明は、こうした問題に鑑みてなされたものであり、使用装置と管理装置との間でデータ通信を行うことができない状況であってもライセンス認証を行うことができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するためになされた第１発明は、使用を許可するライセンスが与えられているプログラムであるライセンス付与プログラムがインストールされている使用装置と、ライセンス付与プログラムのライセンスを管理する管理装置と、管理装置とデータ通信を行う携帯端末とを用いて、ライセンス付与プログラムのライセンスの認証を行うライセンス認証方法である。
【０００６】
そして、第１発明のライセンス認証方法は、情報生成手順と、作成情報表示手順と、作成情報取得手順と、作成情報送信手順と、認証パスワード作成手順と、パスワード送信手順と、パスワード表示手順と、確認パスワード作成手順と、一致確認手順とを備える。
【０００７】
情報生成手順では、使用装置が、認証のためのパスワードである認証パスワードを作成するためのパスワード作成情報を生成する。作成情報表示手順では、使用装置が、情報生成手順により生成されたパスワード作成情報を表示する。作成情報取得手順では、携帯端末が、作成情報表示手順により表示されたパスワード作成情報を取得する。作成情報送信手順では、携帯端末が、作成情報取得手順により取得されたパスワード作成情報を管理装置へ送信する。認証パスワード作成手順では、管理装置が、携帯端末から受信したパスワード作成情報を用いて、予め設定されたパスワード作成方法で認証パスワードを作成する。パスワード送信手順では、管理装置が、パスワード作成手順により作成された認証パスワードを携帯端末へ送信する。パスワード表示手順では、携帯端末が、管理装置から受信した認証パスワードを表示する。確認パスワード作成手順では、使用装置が、パスワード作成情報を用いて、管理装置が用いているパスワード作成方法と同一の作成方法で一致確認パスワードを作成する。一致確認手順では、使用装置が、当該使用装置に入力された認証パスワードと、確認パスワード作成手順により作成された一致確認パスワードとが一致するか否かを判断する。
【０００８】
このように構成された第１発明のライセンス認証方法では、携帯端末が、使用装置において表示されたパスワード作成情報を取得して、このパスワード作成情報を管理装置へデータ通信により送信する。そして携帯端末は、管理装置においてパスワード作成情報を用いて作成された認証パスワードを管理装置からデータ通信により受信し、この認証パスワードを表示する。その後、携帯端末において表示された認証パスワードが使用装置に入力されることにより、使用装置は、認証パスワードと一致確認パスワードとが一致するか否かを判断することができる。これにより、使用装置は、認証パスワードと一致確認パスワードとが一致する場合に、ライセンス付与プログラムの使用を許可することができる。
【０００９】
このように第１発明のライセンス認証方法は、使用装置と管理装置との間でデータ通信を行うことができない状況であってもライセンス認証を行うことができる。
上記目的を達成するためになされた第２発明は、使用装置と、管理装置と、携帯端末とを備え、ライセンス付与プログラムのライセンスの認証を行うライセンス認証システムである。
【００１０】
そして使用装置は、情報生成手段と、作成情報表示手段と、確認パスワード作成手段と、一致確認手段とを備える。携帯端末は、作成情報取得手段と、作成情報送信手段と、パスワード表示手段とを備える。管理装置は、認証パスワード作成手段と、パスワード送信手段とを備える。
【００１１】
情報生成手段は、認証のためのパスワードである認証パスワードを作成するためのパスワード作成情報を生成する。作成情報表示手段は、情報生成手段により生成されたパスワード作成情報を表示する。確認パスワード作成手段は、パスワード作成情報を用いて、予め設定されたパスワード作成方法で一致確認パスワードを作成する。一致確認手段は、当該使用装置に入力された認証パスワードと、確認パスワード作成手段により作成された一致確認パスワードとが一致するか否かを判断する。
【００１２】
作成情報取得手段は、作成情報表示手段により表示されたパスワード作成情報を取得する。作成情報送信手段は、作成情報取得手段により取得されたパスワード作成情報を管理装置へ送信する。パスワード表示手段は、管理装置から受信した認証パスワードを表示する。
【００１３】
認証パスワード作成手段は、携帯端末から受信したパスワード作成情報を用いて、使用装置が用いているパスワード作成方法と同一の作成方法で認証パスワードを作成する。パスワード送信手段は、パスワード作成手段により作成された認証パスワードを携帯端末へ送信する。
【００１４】
このように構成された第２発明のライセンス認証システムは、第１発明のライセンス認証方法を実行するシステムであり、第１発明のライセンス認証方法と同様の効果を得ることができる。
【００１５】
上記目的を達成するためになされた第３発明は、使用装置と、管理装置と、携帯端末とを用いて、前記ライセンス付与プログラムの前記ライセンスの認証を行うために、使用装置に搭載されたコンピュータを、情報生成手段、作成情報表示手段、確認パスワード作成手段、及び、一致確認手段として機能させるライセンス認証プログラムである。
【００１６】
このように構成された第３発明のライセンス認証プログラムは、第１発明のライセンス認証方法を実行するためのプログラムであるとともに、第２発明のライセンス認証システムで実行されるプログラムであり、第１発明のライセンス認証方法および第２発明のライセンス認証システムと同様の効果を得ることができる。
【図面の簡単な説明】
【００１７】
【図１】認証システム１の構成を示すブロック図である。
【図２】設計支援プログラム実行処理と情報取得処理を示すフローチャートである。
【図３】認証処理を示すフローチャートである。
【図４】装置側返却処理とオンライン認証処理を示すフローチャートである。
【図５】オフライン認証処理とサーバ側返却処理を示すフローチャートである。
【図６】ウィンドウＷ１，Ｗ２，Ｗ３，Ｗ４を示す図である。
【発明を実施するための形態】
【００１８】
以下に本発明の実施形態を図面とともに説明する。
本実施形態の認証システム１は、図１に示すように、設計支援装置２とサーバ３と携帯端末４を備える。
【００１９】
設計支援装置２は、パーソナルコンピュータ（以下、パソコンという）で構成されており、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、データ記憶装置１４、入力装置１５、表示装置１６および通信装置１７を備える。
【００２０】
ＲＯＭ１２は、データの書き換えが不能な不揮発性メモリである。ＲＯＭ１２は、ブートプログラム等を記憶する。ＲＡＭ１３は、揮発性メモリであり、ＣＰＵ１１の演算結果等を一時的に記憶する。データ記憶装置１４は、記憶内容を書き換え可能な不揮発性メモリであり、本実施形態では例えばハードディスクドライブである。データ記憶装置１４は、オペレーティングシステムおよび各種アプリケーションプログラム等を記憶する。
【００２１】
入力装置１５は、例えばキーボードとポインティングデバイスを備える。そして入力装置１５は、使用者がキーボードとポインティングデバイスを介して行った入力操作を特定するための入力操作情報をＣＰＵ１１へ出力する。表示装置１６は、ＣＰＵ１１からの指示に基づいて、表示画面に各種画像を表示する。通信装置１７は、インターネットを介して、サーバ３との間でデータ通信を行う。ＣＰＵ１１は、ＲＯＭ１２とデータ記憶装置１４に記憶されたプログラムに基づいて各種処理を実行する。
【００２２】
そして設計支援装置２は、設計支援装置２に電源が投入されて起動すると、設計支援装置２にインストールされたオペレーティングシステムに従って動作し、入力装置１５から入力される入力操作情報に従って、各種アプリケーションプログラムを実行する。
【００２３】
設計支援装置２には、設計支援プログラム２１と認証プログラム２２がインストールされている。設計支援プログラム２１は、ビルおよび家屋等の建築物を建設するための設計図を作成するときに用いられるアプリケーションプログラムである。設計支援プログラム２１にはライセンスが付与されている。本実施形態のライセンスとは、予め取り決められた使用条件の下でプログラムを使用することができる権利のことである。認証プログラム２２は、設計支援プログラム２１を使用するときにライセンス認証を行うためのアプリケーションプログラムである。なお、設計支援プログラム２１と認証プログラム２２は、設計支援装置２を構成するパソコンに予めインストールされていてもよいし、記録媒体またはネットワークを介してインストールされるようにしてもよい。記録媒体としては、例えば光ディスク、磁気ディスクおよび半導体メモリなどが挙げられる。
【００２４】
そしてＣＰＵ１１は、設計支援プログラム２１を実行させるための入力操作情報が入力装置１５から入力されると、設計支援プログラム２１の実行を開始する。
サーバ３は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、データ記憶装置３４および通信装置３５を備える。ＲＯＭ３２は、データの書き換えが不能な不揮発性メモリである。ＲＡＭ３３は、揮発性メモリであり、ＣＰＵ３１の演算結果等を一時的に記憶する。データ記憶装置３４は、記憶内容を書き換え可能な不揮発性メモリであり、本実施形態では例えばハードディスクドライブである。通信装置３５は、インターネットを介して設計支援装置２との間でデータ通信を行うとともに、携帯電話の通信網を介して携帯端末４との間でデータ通信を行う。ＣＰＵ３１は、ＲＯＭ３２とデータ記憶装置３４に記憶されたプログラムに基づいて各種処理を実行する。
【００２５】
携帯端末４は、携帯電話の通信網を介して音声通話およびデータ通信を行う機能を有する。携帯端末４は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、データ記憶装置４４、表示装置４５、入力装置４６、撮影装置４７および通信装置４８を備える。ＲＯＭ４２は、データの書き換えが不能な不揮発性メモリである。ＲＡＭ４３は、揮発性メモリであり、ＣＰＵ４１の演算結果等を一時的に記憶する。データ記憶装置４４は、記憶内容を書き換え可能な不揮発性メモリであり、本実施形態では例えばフラッシュメモリである。表示装置４５は、ＣＰＵ４１からの指示に基づいて、携帯端末４の筐体の前面に設置された表示画面に各種画像を表示する。入力装置４６は、表示装置４５の表示画面上に設置されたタッチパネルと、表示装置４５の表示画面の周囲に設置されたスイッチとを備える。そして入力装置４６は、使用者がタッチパネルおよびスイッチを介して行った入力操作を特定するための入力操作情報をＣＰＵ４１へ出力する。撮影装置４７は、携帯端末４の筐体の前面に設置された前面カメラと、筐体の背面に設置された背面カメラとを備える。通信装置４８は、携帯電話の通信網を介してサーバ３との間でデータ通信を行う。ＣＰＵ４１は、ＲＯＭ４２とデータ記憶装置４４に記憶されたプログラムに基づいて各種処理を実行する。
【００２６】
次に、設計支援装置２のＣＰＵ１１が実行する設計支援プログラム実行処理の手順を説明する。設計支援プログラム実行処理は、ＣＰＵ１１が設計支援プログラム２１に基づいて実行する処理の一部であり、設計支援プログラム２１の実行が開始された後に実行される処理である。
【００２７】
設計支援プログラム実行処理が実行されると、ＣＰＵ１１は、図２（Ａ）に示すように、まずＳ１０にて、認証プロセスが起動しているか否かを判断する。認証プロセスとは、ＣＰＵ１１により実行中の認証プログラム２２である。ここで、認証プロセスが起動している場合には、Ｓ３０に移行する。一方、認証プロセスが起動していない場合には、Ｓ２０にて、認証プロセスを起動（すなわち、認証プログラム２２の実行を開始）し、Ｓ３０に移行する。そしてＳ３０に移行すると、認証プロセスへ起動可否の問い合わせを行う。
【００２８】
その後Ｓ４０にて、認証プロセスから起動可否情報を取得したか否かを判断する。ここで、起動可否情報を取得していないと判断した場合には、Ｓ３０に移行する。一方、起動可否情報を取得したと判断した場合には、Ｓ５０にて、取得した起動可否情報に基づいて、設計支援プログラム２１を使用することができる状態（以下、使用可能状態）であるか否かを判断する。具体的には、起動可否情報が、起動可能であることを示している場合には、使用可能状態であると判断し、起動可否情報が、起動不能であることを示している場合には、使用可能状態でないと判断する。
【００２９】
ここで、使用可能状態でない場合には、設計支援プログラム実行処理を終了する。一方、使用可能状態である場合には、Ｓ６０にて、設計支援プログラム２１のうち、建築物を建設するための設計図を作成するために使用される部分（以下、設計支援アプリケーション）を起動し、設計支援プログラム実行処理を終了する。
【００３０】
次に、設計支援装置２のＣＰＵ１１が実行する認証処理の手順を説明する。認証処理は、ＣＰＵ１１が認証プログラム２２に基づいて実行する処理の一部であり、認証プログラム２２の実行が開始された後に繰り返し実行される処理である。
【００３１】
認証処理が実行されると、ＣＰＵ１１は、図３に示すように、まずＳ１１０にて、設計支援プログラム実行処理による起動可否の問い合わせが有るか否かを判断する。ここで、起動可否の問い合わせがないと判断した場合には、Ｓ１１０の処理を繰り返すことにより、起動可否の問い合わせが有るまで待機する。そして起動可否の問い合わせが有ると、Ｓ１２０にて、オフライン認証での認証指定時間内であるか否かを判断する。オフライン認証での認証指定時間とは、後述のＳ２００の処理で指定される時間である。Ｓ１２０では、Ｓ２００の処理で認証指定時間が指定された時点を起点として、認証指定時間が経過していない場合に、認証指定時間内であると判断し、認証指定時間が経過した場合に、認証指定時間内ではないと判断する。ここで、認証指定時間内であると判断した場合には、Ｓ２７０に移行する。
【００３２】
一方、認証指定時間内ではないと判断した場合には、Ｓ１３０にて、認証情報入力ウィンドウＷ１（図６（Ａ）を参照）を表示装置１６の表示画面に表示する。認証情報入力ウィンドウＷ１は、ＩＤ入力テキストボックス、パスワード入力テキストボックス、ＯＫボタンおよびオフライン認証ボタンを含む。そしてＳ１４０にて、認証情報が入力されたか否かを判断する。本実施形態における認証情報は、ＩＤとパスワードである。ここで、認証情報が入力されていないと判断した場合には、Ｓ１４０の処理を繰り返すことにより、認証情報が入力されるまで待機する。そして認証情報が入力されると、Ｓ１５０にて、オンライン認証であるか否かを判断する。具体的には、認証情報入力ウィンドウＷ１のＯＫボタンが操作された場合には、オンライン認証であると判断し、オフライン認証ボタンが操作された場合には、オンライン認証ではないと判断する。
【００３３】
ここで、オンライン認証であると判断した場合には、Ｓ１６０にて、入力された認証情報と、使用するアプリケーション（すなわち、設計支援プログラム２１）の識別情報などを含む通信電文を作成し、作成した通信電文をサーバ３へ送信する。そしてＳ１７０にて、サーバ３から、ライセンス有効性情報を受信したか否かを判断する。ライセンス有効性情報は、ライセンスの有効性（すなわち、設計支援アプリケーションの使用可否）に関する情報である。ここで、ライセンス有効性情報を受信していないと判断した場合には、Ｓ１７０の処理を繰り返すことにより、ライセンス有効性情報を受信するまで待機する。そしてライセンス有効性情報を受信すると、Ｓ１８０にて、ライセンス有効性情報に基づいて、使用可能状態であるか否かを判断し、使用可能状態であるか否かを示す使用可否情報をＲＡＭ１３に記憶して、Ｓ２７０に移行する。
【００３４】
またＳ１５０にて、オンライン認証でないと判断した場合には、Ｓ１９０にて、使用時間入力ウィンドウＷ２（図６（Ｂ）を参照）を表示装置１６の表示画面に表示する。使用時間入力ウィンドウＷ２は、使用時間入力ボタンとＯＫボタンを含む。そしてＳ２００にて、使用時間が入力されたか否かを判断する。ここで、使用時間が入力されていないと判断した場合には、Ｓ２００の処理を繰り返すことにより、使用時間が入力されるまで待機する。そして使用時間が入力されると、Ｓ２１０にて、通信電文に乗せる乱数（以下、チャレンジコード）を生成する。さらにＳ２２０にて、認証情報と、入力された使用時間を示す使用時間情報と、使用するプログラムの識別情報と、チャレンジコードなどを合成し、合成した情報を暗号化して通信電文を作成する。
【００３５】
次にＳ２３０にて、ワンタイムパス入力ウィンドウＷ３（図６（Ｃ）を参照）を表示装置１６の表示画面に表示する。ワンタイムパス入力ウィンドウＷ３は、ＱＲコード（登録商標）とワンタイムパスワード入力テキストボックスとＯＫボタンを含む。ワンタイムパス入力ウィンドウＷ３のＱＲコードは、サーバ３にアクセスするためのＵＲＬと、Ｓ２２０で作成された通信電文で構成されたＵＲＬパラメータとに基づいて作成された画像である。そしてＳ２４０にて、ワンタイムパスワードが入力されたか否かを判断する（図６（Ｄ）を参照）。ここで、ワンタイムパスワードが入力されていないと判断した場合には、Ｓ２４０の処理を繰り返すことにより、ワンタイムパスワードが入力されるまで待機する。そしてワンタイムパスワードが入力されると、Ｓ２５０にて、ワンタイムパスワードの整合性を確認する。具体的には、まず、Ｓ２１０で生成されたチャレンジコードを、予め設定されたハッシュ関数で処理し、ハッシュ値を得る。そして、このハッシュ値とワンタイムパスワードとが一致している場合に、整合性があると判断し、一致していない場合に、整合性がないと判断する。
【００３６】
またＳ２６０にて、Ｓ２５０での確認結果に基づいて、使用可能状態であるか否かを判断し、使用可能状態であるか否かを示す使用可否情報をＲＡＭ１３に記憶して、Ｓ２７０に移行する。そしてＳ２７０に移行すると、ＲＡＭ１３に記憶されている使用可否情報に基づいて、起動可否情報を設計支援プログラム実行処理へ通知する。具体的には、使用可能状態であることを使用可否情報が示している場合には、起動可能であることを示す起動可否情報を通知し、使用可能状態でないことを使用可否情報が示している場合には、起動可能でないことを示す起動可否情報を通知する。そしてＳ２７０の処理が終了すると、認証処理を一旦終了する。
【００３７】
次に、携帯端末４のＣＰＵ４１が実行する情報取得処理の手順を説明する。情報取得処理は、携帯端末４の動作中に繰り返し実行される処理である。
情報取得処理が実行されると、ＣＰＵ４１は、図２（Ｂ）に示すように、まずＳ３１０にて、撮影装置４７による撮影を実行させるための入力操作情報が入力装置４６から入力されたか否かを判断する。撮影を実行させるための入力操作情報が入力されていない場合には、Ｓ３７０に移行する。一方、撮影を実行させるための入力操作情報が入力された場合には、Ｓ３２０にて、撮影装置４７に撮影を実行させる。
【００３８】
そしてＳ３３０にて、撮影装置４７により撮影された撮影画像内にＱＲコードが含まれているか否かを判断する。ここで、ＱＲコードが含まれていない場合には、Ｓ３７０に移行する。一方、ＱＲコードが含まれている場合には、Ｓ３４０にて、ＱＲコードに含まれている情報を読み取る。そしてＳ３５０にて、Ｓ３４０で読み取った情報の中に、上記ＵＲＬと上記ＵＲＬパラメータが含まれているか否かを判断する。ここで、上記ＵＲＬと上記ＵＲＬパラメータが含まれていない場合には、Ｓ３７０に移行する。一方、上記ＵＲＬと上記ＵＲＬパラメータが含まれている場合には、Ｓ３６０にて、上記ＵＲＬと上記ＵＲＬパラメータを含む通信電文を作成し、この通信電文をサーバ３へ送信し、Ｓ３７０に移行する。
【００３９】
そしてＳ３７０に移行すると、サーバ３からワンタイムパスワードを受信したか否かを判断する。ここで、ワンタイムパスワードを受信していない場合には、情報取得処理を一旦終了する。一方、ワンタイムパスワードを受信した場合には、Ｓ３８０にて、受信したワンタイムパスワードを表示装置４５の表示画面に表示し、情報取得処理を一旦終了する。
【００４０】
次に、設計支援装置２のＣＰＵ１１が実行する装置側返却処理の手順を説明する。装置側返却処理は、ＣＰＵ１１が認証プログラム２２に基づいて実行する処理の一部であり、認証プログラム２２の実行が開始された後に繰り返し実行される処理である。
【００４１】
装置側返却処理が実行されると、ＣＰＵ１１は、図４（Ａ）に示すように、まずＳ４１０にて、設計支援アプリケーションによるライセンス返却の依頼が有るか否かを判断する。ここで、ライセンス返却の依頼がないと判断した場合には、Ｓ４１０の処理を繰り返すことにより、ライセンス返却の依頼が有るまで待機する。そしてライセンス返却の依頼が有ると、Ｓ４２０にて、返却確認ウィンドウを、表示装置１６の表示画面に表示する。返却確認ウィンドウは、例えば「ライセンスを返却しますか？」と記載された画像とＯＫボタンとキャンセルボタンを含む。
【００４２】
そしてＳ４３０にて、ライセンスを返却するか否かを判断する。具体的には、ＯＫボタンが操作された場合に、ライセンスを返却すると判断し、キャンセルボタンが操作された場合に、ライセンスを返却しないと判断する。
【００４３】
ここで、ライセンスを返却しないと判断した場合には、装置側返却処理を一旦終了する。一方、ライセンスを返却すると判断した場合には、Ｓ４４０にて、認証開始時に生成したチャレンジコードなどから通信電文を作成する。そしてＳ４５０にて、設計支援装置２で保持しているライセンスを無効化する。さらにＳ４６０にて、ライセンス返却の依頼がオンラインであるか否かを判断する。ここで、オンラインであると判断した場合には、装置側返却処理を一旦終了する。一方、オフラインであると判断した場合には、Ｓ４７０にて、返却ウィンドウＷ４（図６（Ｅ）を参照）を表示装置１６の表示画面に表示する。返却ウィンドウＷ４は、ＱＲコードと、例えば「ライセンス返却します。ＱＲコードが示すＵＲＬにアクセスして下さい」と記載された画像と、ＯＫボタンを含む。返却ウィンドウＷ４のＱＲコードは、サーバ３にアクセスするためのＵＲＬと、Ｓ４４０で作成された通信電文で構成されたＵＲＬパラメータとに基づいて作成された画像である。
【００４４】
そしてＳ４８０にて、ＯＫボタンが操作されたか否かを判断する。ここで、ＯＫボタンが操作されていないと判断した場合には、Ｓ４８０の処理を繰り返すことにより、ＯＫボタンが操作されるまで待機する。そしてＯＫボタンが操作されると、装置側返却処理を一旦終了する。
【００４５】
次に、サーバ３のＣＰＵ３１が実行するオンライン認証処理の手順を説明する。オンライン認証処理は、サーバ３の動作中に繰り返し実行される処理である。
オンライン認証処理が実行されると、ＣＰＵ３１は、図４（Ｂ）に示すように、まずＳ６１０にて、インターネットを介して設計支援装置２から通信電文を受信したか否かを判断する。ここで、通信電文を受信していないと判断した場合には、オンライン認証処理を一旦終了する。一方、通信電文を受信したと判断した場合には、Ｓ６２０にて、アプリケーションの使用を許可するか否かを判断する。具体的には、まず、受信した通信電文から、認証情報と、使用するアプリケーションの識別情報を抽出する。そして、認証情報が正しいか否かを判断する。ここで、認証情報が正しいと判断した場合には、抽出した識別情報に対応するアプリケーションの使用を許可すると判断する。一方、認証情報が正しくないと判断した場合には、抽出した識別情報に対応するアプリケーションの使用を許可しないと判断する。
【００４６】
Ｓ６２０にて、アプリケーションの使用を許可しないと判断した場合には、Ｓ６３０にて、アプリケーション使用の不許可を示すライセンス有効性情報を設計支援装置２へ送信し、オンライン認証処理を一旦終了する。一方、アプリケーションの使用を許可すると判断した場合には、Ｓ６４０にて、抽出した識別情報に対応するアプリケーションが使用中であるか否かを判断する。なお、「使用中」とは、以下に示す第１使用中状態と第２使用中状態の何れかの状態のことである。第１使用中状態とは、オンラインで認証したライセンスの使用が終了していない状態をいう。第２使用中状態とは、オフラインで認証したライセンスの認証指定時間内である状態をいう。
【００４７】
ここで、アプリケーションが使用中であると判断した場合には、Ｓ６３０に移行する。一方、アプリケーションが使用中でないと判断した場合には、Ｓ６５０にて、抽出した識別情報に対応するアプリケーションの使用が開始されたものと見なして、抽出した識別情報に対応するアプリケーションが「使用中」であることをデータ記憶装置３４に記録する。さらにＳ６６０にて、アプリケーション使用の許可を示すライセンス有効性情報を設計支援装置２へ送信し、オンライン認証処理を一旦終了する。
【００４８】
次に、サーバ３のＣＰＵ３１が実行するオフライン認証処理の手順を説明する。オフライン認証処理は、サーバ３の動作中に繰り返し実行される処理である。
オフライン認証処理が実行されると、ＣＰＵ３１は、図５（Ａ）に示すように、まずＳ７１０にて、携帯電話の通信網を介して携帯端末４から通信電文を受信したか否かを判断する。携帯端末４から送信される通信電文は、上記ＵＲＬと上記ＵＲＬパラメータを含んでいる。ここで、通信電文を受信していないと判断した場合には、オフライン認証処理を一旦終了する。一方、通信電文を受信したと判断した場合には、Ｓ７２０にて、受信した通信電文を復号して、認証情報と、使用時間情報と、使用するプログラムの識別情報と、チャレンジコードなどを抽出する。
【００４９】
そしてＳ７３０にて、アプリケーションの使用を許可するか否かを判断する。具体的には、Ｓ７２０で抽出された認証情報が正しいか否かを判断する。ここで、認証情報が正しいと判断した場合には、抽出した識別情報に対応するアプリケーションの使用を許可すると判断する。一方、認証情報が正しくないと判断した場合には、抽出した識別情報に対応するアプリケーションの使用を許可しないと判断する。
【００５０】
Ｓ７３０にて、アプリケーションの使用を許可しないと判断した場合には、Ｓ７４０にて、アプリケーション使用の不許可を示すライセンス有効性情報を携帯端末４へ送信し、オフライン認証処理を一旦終了する。一方、アプリケーションの使用を許可すると判断した場合には、Ｓ７５０にて、Ｓ６４０と同様にして、抽出した識別情報に対応するアプリケーションが使用中であるか否かを判断する。ここで、アプリケーションが使用中であると判断した場合には、Ｓ７４０に移行する。一方、アプリケーションが使用中でないと判断した場合には、Ｓ７６０にて、Ｓ６５０と同様にして、抽出した識別情報に対応するアプリケーションが「使用中」であることをデータ記憶装置３４に記録する。
【００５１】
さらにＳ７７０にて、ワンタイムパスワードを作成する。具体的には、Ｓ７２０で抽出したチャレンジコードを、設計支援装置２において設定されているものと同一のハッシュ関数で処理することによりハッシュ値を算出し、このハッシュ値をワンタイムパスワードとする。そしてＳ７８０にて、Ｓ７７０で作成したワンタイムパスワードを携帯端末４へ送信し、オフライン認証処理を一旦終了する。
【００５２】
次に、サーバ３のＣＰＵ３１が実行するサーバ側返却処理の手順を説明する。サーバ側返却処理は、サーバ３の動作中に繰り返し実行される処理である。
サーバ側返却処理が実行されると、ＣＰＵ３１は、図５（Ｂ）に示すように、まずＳ８１０にて、通信電文を受信したか否かを判断する。ここで、通信電文を受信していないと判断した場合には、サーバ側返却処理を一旦終了する。一方、通信電文を受信したと判断した場合には、Ｓ８２０にて、オンラインであるか否かを判断する。具体的には、インターネットを介して設計支援装置２から通信電文を受信した場合には、オンラインであると判断し、携帯電話の通信網を介して携帯端末４から通信電文を受信した場合には、オンラインではないと判断する。
【００５３】
ここで、オンラインであると判断した場合には、Ｓ８３０にて、受信した通信電文から認証情報などを抽出し、Ｓ８５０に移行する。一方、オンラインではないと判断した場合には、Ｓ８４０にて、受信した通信電文からチャレンジコードなどを抽出し、Ｓ８５０に移行する。そしてＳ８５０に移行すると、抽出した認証情報またはチャレンジコードなどを識別子として、発行済みのライセンス情報の中から、認証情報またはチャレンジコードなどに対応するライセンス情報を取得する。
【００５４】
その後Ｓ８６０にて、Ｓ８５０で取得したライセンス情報が示すライセンスの返却をデータ記憶装置３４に記録する。具体的には、Ｓ８５０で取得したライセンス情報に対応するアプリケーションが「終了」であることをデータ記憶装置３４に記録する。そしてＳ８６０の処理が終了すると、サーバ側返却処理を一旦終了する。
【００５５】
このように構成された認証システム１は、使用を許可するライセンスが与えられている設計支援プログラム２１がインストールされている設計支援装置２と、設計支援プログラム２１のライセンスを管理するサーバ３と、サーバ３とデータ通信を行う携帯端末４とを備える。
【００５６】
設計支援装置２は、ワンタイムパスワードを作成するためのチャレンジコードを生成し（Ｓ２１０）、生成されたチャレンジコードを含むＱＲコードを表示する（Ｓ２３０）。設計支援装置２は、生成されたチャレンジコードを用いて、予め設定されたハッシュ関数で処理して算出されたハッシュ値を一致確認パスワードとして作成し、設計支援装置２に入力されたワンタイムパスワードと、作成されたハッシュ値とが一致するか否かを判断する（Ｓ２５０）。
【００５７】
携帯端末４は、表示されたチャレンジコードを取得し（Ｓ３２０，Ｓ３３０，Ｓ３４０）、取得されたチャレンジコードをサーバ３へ送信する（Ｓ３６０）。携帯端末４は、サーバ３から受信したワンタイムパスワードを表示する（Ｓ３８０）。
【００５８】
サーバ３は、携帯端末４から受信したチャレンジコードを用いて、設計支援装置２が用いているのと同一のハッシュ関数で処理して算出されたハッシュ値をワンタイムパスワードとして作成し（Ｓ７７０）、作成されたワンタイムパスワードを携帯端末４へ送信する（Ｓ７８０）。
【００５９】
このように認証システム１では、携帯端末４が、設計支援装置２において表示されたチャレンジコードを取得して、このチャレンジコードをサーバ３へデータ通信により送信する。そして携帯端末４は、サーバ３においてチャレンジコードを用いて作成されたワンタイムパスワードをサーバ３からデータ通信により受信し、このワンタイムパスワードを表示する。その後、携帯端末４において表示されたワンタイムパスワードが設計支援装置２に入力されることにより、設計支援装置２は、ワンタイムパスワードと一致確認パスワードとが一致するか否かを判断することができる。これにより、設計支援装置２は、ワンタイムパスワードと一致確認パスワードとが一致する場合に、設計支援プログラム２１の使用を許可することができる。
【００６０】
このように認証システム１は、設計支援装置２とサーバ３との間でデータ通信を行うことができない状況であってもライセンス認証を行うことができる。
また認証システム１では、設計支援装置２から携帯端末４への情報伝達のために、画面に表示されるＱＲコードが使用され、携帯端末４から設計支援装置２への情報伝達のために、入力装置１５を介した複数桁の数字の入力が行われる。例えば、設計支援装置２が、データの入出力が厳しく制限されている装置であったとしても、画面表示とキー入力が制限されることはないため、設計支援装置２と携帯端末４との間の情報伝達を確実に行うことができる。
【００６１】
なお、例えば特開２０１４−９６１０１号公報に示すように、ワンタイムパスワードを用いた認証方法として、チャレンジ・レスポンス方式が知られている。チャレンジ・レスポンス方式では、端末がログインする毎に、認証サーバが端末に対してチャレンジと呼ばれるワンタイムパスワード生成パラメータを送信する。そして、端末は、受信したチャレンジを入力としてレスポンスと呼ばれるワンタイムパスワードを生成し、認証サーバへ送信する。さらに認証サーバは、チャレンジに基づいて使用者が送信すべきレスポンスを算出し、端末から受信したレスポンスと照合する。そして、認証サーバは、照合結果を端末へ送信する。すなわち、このチャレンジ・レスポンス方式では、端末と認証サーバとの間でデータ送受信を２往復行う必要がある。
【００６２】
これに対して、認証システム１では、データ送受信として、携帯端末４がチャレンジコードをサーバ３へ送信し（Ｓ３６０）、サーバ３がワンタイムパスワードを携帯端末４へ送信する（Ｓ７８０）ことによって、ライセンス認証を行うことができる。すなわち、認証システム１では、ライセンス認証のために、携帯端末４を介した設計支援装置２とサーバ３との間のデータのやり取りを１往復行えばよい。このため、認証システム１は、携帯端末４とサーバ３とを接続するネットワーク上の通信量を低減することができるとともに、サーバ３の処理負荷を低減することができる。
【００６３】
次に認証プログラム２２は、ワンタイムパスワードを作成するためのチャレンジコードを生成するようにコンピュータを機能させる（Ｓ２１０）。認証プログラム２２は、生成されたワンタイムパスワードを含むＱＲコードを表示するようにコンピュータを機能させる（Ｓ２３０）。認証プログラム２２は、生成されたチャレンジコードを用いて、予め設定されたハッシュ関数で処理して算出されたハッシュ値を一致確認パスワードとして作成するようにコンピュータを機能させる（Ｓ２５０）。認証プログラム２２は、設計支援装置２に入力されたワンタイムパスワードと、作成されたハッシュ値とが一致するか否かを判断するようにコンピュータを機能させる（Ｓ２５０）。
【００６４】
認証プログラム２２は、認証システム１で実行されるプログラムであり、認証システム１と同様の効果を得ることができる。
また認証プログラム２２は、チャレンジコードを、サーバ３において設定されているものと同一のハッシュ関数で処理することによりハッシュ値を算出し、このハッシュ値を一致確認パスワードとするようにコンピュータを機能させる（Ｓ２５０）。
【００６５】
ハッシュ値はチャレンジコードよりもデータ量が少ない。このため、サーバ３が携帯端末４へワンタイムパスワードを送信するときのデータ量を低減することができる。さらに、携帯端末４に表示されるワンタイムパスワードの文字数を低減することができるため、設計支援装置２の使用者が入力装置１５を介してワンタイムパスワードを設計支援装置２に入力するときの作業量を低減することができる。
【００６６】
また認証プログラム２２は、使用可否情報を、設計支援装置２に搭載されたＲＡＭ１３に記憶するようにコンピュータを機能させ（Ｓ２６０）、設計支援プログラム２１とは互いに独立に動作する。使用可否情報がＲＡＭ１３に記憶されることにより、使用可否情報が設計支援装置２内に永続化されたデータ（例えば、ＨＤＤ内のファイルまたはレジストリ）として保持されることがなくなる。このため、使用可否情報が改ざんされ難くなり、設計支援プログラム２１の不正使用を抑制することができる。さらに、認証プログラム２２と設計支援プログラム２１とが互いに独立に動作することにより、設計支援プログラム２１を、正常終了および異常終了を問わず終了させても、使用可否情報をＲＡＭ１３に保持することができる。また、設計支援プログラム２１が終了しても、次に設計支援プログラム２１を実行する場合に、再度の認証処理を省略することができる。
【００６７】
また認証プログラム２２は、データ通信により、ＩＤとパスワードとをサーバ３へ送信することによりライセンスの認証を要求するようにコンピュータを機能させる（Ｓ１５０，Ｓ１６０）。認証プログラム２２は、サーバ３から、設計支援プログラム２１の使用可否を示すライセンス有効性情報を受信するようにコンピュータを機能させる（Ｓ１７０）。これにより、設計支援装置２は、サーバ３との間でデータ通信を行うことができる状況であれば、オンラインでライセンス認証を行うことができる。
【００６８】
なお、設計支援装置２がサーバ３との間でデータ通信を行うことができる状況であれば、オンラインおよびオフラインの何れかでライセンスの認証を行ったとしても、オンラインおよびオフラインのどちらでもライセンスの返却を行うことが可能である。例えば、オンラインでライセンス認証を行った後に、ネットワークの異常により設計支援装置２とサーバ３との間でデータ通信を行うことができない状況になった場合には、オフラインでライセンスを返却するようにしてもよい。また、オフラインでライセンス認証を行った後に、ネットワークが回復することにより設計支援装置２とサーバ３との間でデータ通信を行うことができる状況になった場合には、オンラインでライセンスを返却するようにしてもよい。
【００６９】
以上説明した実施形態において、認証システム１はライセンス認証システム、認証プログラム２２はライセンス認証プログラム、設計支援装置２は使用装置、サーバ３は管理装置、設計支援プログラム２１はライセンス付与プログラムに相当する。
【００７０】
また、Ｓ２１０の処理は情報生成手段および情報生成手順、Ｓ２３０の処理は作成情報表示手段および作成情報表示手順、Ｓ２５０の処理は確認パスワード作成手段および確認パスワード作成手順、Ｓ２５０の処理は一致確認手段および一致確認手順に相当する。
【００７１】
また、Ｓ３２０，Ｓ３３０，Ｓ３４０の処理は作成情報取得手段および作成情報取得手順、Ｓ３６０の処理は作成情報送信手段および作成情報送信手順、Ｓ３８０の処理はパスワード表示手段およびパスワード表示手順に相当する。
【００７２】
また、Ｓ７７０の処理は認証パスワード作成手段および認証パスワード作成手順、Ｓ７８０の処理はパスワード送信手段およびパスワード送信手順に相当する。
また、ワンタイムパスワードは認証パスワード、チャレンジコードはパスワード作成情報、Ｓ２５０の処理で作成されたハッシュ値は一致確認パスワードに相当する。
【００７３】
また、Ｓ１９０，Ｓ２００の処理は使用時間取得手段、Ｓ２３０の処理は時間情報表示手段、Ｓ２６０の処理は可否情報記憶手段、Ｓ１５０，Ｓ１６０の処理は認証要求手段、Ｓ１７０の処理は有効性情報受信手段に相当する。
【００７４】
また、ＲＡＭ１３は揮発性メモリ、ＩＤは認証用識別情報、ＩＤに対応して設定されているパスワードは認証用パスワードに相当する。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
【００７５】
例えば上記実施形態では、チャレンジコードを用いてワンタイムパスワードと一致確認パスワードを作成するものを示した。しかし、パスワードを作成するために用いる情報はチャレンジコードに限定されるものではなく、例えば、認証情報と使用時間情報とプログラムの識別情報とチャレンジコードを合成した情報を用いてもよい。
【００７６】
また上記実施形態では、ＵＲＬとＵＲＬパラメータとに基づいて作成されたＱＲコードを設計支援装置２の表示画面に表示するものを示した。しかし、ＵＲＬとＵＲＬパラメータを携帯端末４に取得させることが可能な形態であればよく、ＱＲコードに限定されるものではない。例えば、ＵＲＬとＵＲＬパラメータを示す文字列を設計支援装置２の表示画面に表示するようにしてもよい。この場合には、携帯端末４は、撮影した文字列をＯＣＲによって文字コードに変換する機能を備えるようにするとよい。
【００７７】
また上記実施形態では、サーバ側返却処理において、オフライン時にチャレンジコードを識別子としてライセンス情報を取得するものを示した。しかし、識別子はチャレンジコードに限定されるものでなく、ライセンス認証を要求したプログラムを特定可能な情報であればよい。
【００７８】
また上記実施形態では、アプリケーションが使用中であるか否かを判断し、使用中である場合には、アプリケーション使用の不許可を示すライセンス有効性情報を設計支援装置２へ送信するものを示した。すなわち、上記実施形態では、アプリケーションの重複使用を許可しないように構成されているものを示した。しかし、アプリケーションの重複使用を許可するようにしてもよい。すなわち、アプリケーションが使用中であると判断した場合であっても、アプリケーションが「使用中」であることを記録し、アプリケーション使用の許可を示すライセンス有効性情報を送信するようにしてもよい。
【００７９】
また上記実施形態では、建築物を建設するための設計図を作成するときに用いられるアプリケーションプログラムのライセンス認証を行うものを示した。しかし、本実施形態の認証システム１は、他の用途のアプリケーションプログラムのライセンス認証においても適用することが可能である。
【符号の説明】
【００８０】
１…認証システム、２…設計支援装置、３…サーバ、４…携帯端末、１１，３１，４１…ＣＰＵ、１２，３２，４２…ＲＯＭ、１３，３３，４３…ＲＡＭ、１４，３４，４４…データ記憶装置、１５，４６…入力装置、１６，４５…表示装置、１７，３５，４８…通信装置、２１…設計支援プログラム、２２…認証プログラム、４７…撮影装置
【図１】
2017084251.tif 000003
【図２】
2017084251.tif 000004
【図３】
2017084251.tif 000005
【図４】
2017084251.tif 000006
【図５】
2017084251.tif 000007
【図６】
2017084251.tif 000008