IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニックIPマネジメント株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024144076
(43)【公開日】2024-10-11
(54)【発明の名称】認証方法およびプログラム
(51)【国際特許分類】
   G06F 21/10 20130101AFI20241003BHJP
【FI】
G06F21/10 350
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023210308
(22)【出願日】2023-12-13
(31)【優先権主張番号】P 2023054010
(32)【優先日】2023-03-29
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】陳 潮韵
(57)【要約】
【課題】ライセンス認証を容易に行うことができる認証方法を提供する。
【解決手段】認証方法は、機器にインストールされたソフトウェアのライセンス認証を行うために機器が実行する認証方法であって、ソフトウェアは、サーバによって管理されており、認証方法は、ソフトウェア固有の固有認証情報を提示する提示ステップ(ステップS11)と、サーバにおいて固有認証情報と紐づけられて管理されているソフトウェアのライセンス情報と、固有認証情報とに基づいて、サーバによって生成されたサーバ側認証情報の入力を受け付けるサーバ側認証情報受付ステップ(ステップS12)と、固有認証情報と、入力されたサーバ側認証情報とに基づいて、ソフトウェアのライセンス認証を行う認証ステップ(ステップS13)と、を含む。
【選択図】図3
【特許請求の範囲】
【請求項1】
機器にインストールされたソフトウェアのライセンス認証を行うために前記機器が実行する認証方法であって、
前記ソフトウェアは、サーバによって管理されており、
前記認証方法は、
前記ソフトウェア固有の固有認証情報を提示する提示ステップと、
前記サーバにおいて前記固有認証情報と紐づけられて管理されている前記ソフトウェアのライセンス情報と、前記固有認証情報とに基づいて、前記サーバによって生成されたサーバ側認証情報の入力を受け付けるサーバ側認証情報受付ステップと、
前記固有認証情報と、入力された前記サーバ側認証情報とに基づいて、前記ソフトウェアのライセンス認証を行う認証ステップと、を含む、
認証方法。
【請求項2】
前記認証方法は、さらに、
前記ライセンス情報の入力を受け付けるライセンス情報受付ステップと、
入力された前記ライセンス情報と、前記固有認証情報とに基づいて、機器側認証情報を生成する機器側認証情報生成ステップと、を含み、
前記認証ステップでは、入力された前記サーバ側認証情報と、前記機器側認証情報とを照合することで、前記ソフトウェアのライセンス認証を行う、
請求項1に記載の認証方法。
【請求項3】
前記サーバ側認証情報受付ステップでは、前記機器側認証情報を構成する正解記号および前記機器側認証情報を構成しないダミー記号を提示し、提示した前記正解記号および前記ダミー記号のうちから前記サーバ側認証情報として選択された記号の入力を受け付ける、
請求項2に記載の認証方法。
【請求項4】
前記認証方法は、さらに、
前記サーバにおいて前記ライセンス情報から生成された追加認証情報の入力を受け付ける追加認証情報受付ステップと、
入力された前記追加認証情報から前記ライセンス情報を抽出するライセンス情報抽出ステップと、
抽出された前記ライセンス情報と、前記固有認証情報とに基づいて、機器側認証情報を生成する機器側認証情報生成ステップと、を含み、
前記認証ステップでは、入力された前記サーバ側認証情報と、前記機器側認証情報とを照合することで、前記ソフトウェアのライセンス認証を行う、
請求項1に記載の認証方法。
【請求項5】
前記追加認証情報受付ステップでは、前記追加認証情報を構成し得る全ての記号を提示し、提示した前記全ての記号のうちから前記追加認証情報として選択された記号の入力を受け付け、
前記サーバ側認証情報受付ステップでは、前記機器側認証情報を構成する正解記号および前記機器側認証情報を構成しないダミー記号を提示し、提示した前記正解記号および前記ダミー記号のうちから前記サーバ側認証情報として選択された記号の入力を受け付ける、
請求項4に記載の認証方法。
【請求項6】
前記サーバ側認証情報は、前記サーバによって、前記固有認証情報から生成されたサーバ側暗号化鍵を用いて前記ライセンス情報が暗号化されることで生成され、
前記認証方法は、さらに、
前記固有認証情報から機器側暗号化鍵を生成する機器側暗号化鍵生成ステップと、
前記機器側暗号化鍵を用いて、入力された前記サーバ側認証情報を復号化する復号化ステップと、を含み、
前記認証ステップでは、入力された前記サーバ側認証情報を、前記機器側暗号化鍵を用いて正しく復号化できたか否かに応じて、前記ソフトウェアのライセンス認証を行う、
請求項1に記載の認証方法。
【請求項7】
前記サーバ側認証情報は、前記サーバによって、前記固有認証情報から生成されたサーバ側暗号化鍵を用いて前記ライセンス情報が暗号化されることで生成され、
前記機器側認証情報生成ステップでは、前記固有認証情報から機器側暗号化鍵を生成し、前記機器側暗号化鍵を用いて前記ライセンス情報を暗号化することで、前記機器側認証情報を生成する、
請求項2~5のいずれか1項に記載の認証方法。
【請求項8】
前記サーバ側認証情報および前記機器側認証情報は、それぞれ、暗号化文の一部である、
請求項7に記載の認証方法。
【請求項9】
前記サーバ側認証情報受付ステップでは、前記サーバ側認証情報の入力を複数の画面に分けて受け付ける、
請求項1~6のいずれか1項に記載の認証方法。
【請求項10】
前記提示ステップでは、前記固有認証情報を含む図形コードを表示する、
請求項1~6のいずれか1項に記載の認証方法。
【請求項11】
前記サーバ側認証情報は、乱数を含む、
請求項1~6のいずれか1項に記載の認証方法。
【請求項12】
前記固有認証情報は、乱数を含む、
請求項1~6のいずれか1項に記載の認証方法。
【請求項13】
前記ライセンス情報は、前記ソフトウェアのライセンスの期間を示す情報を含む、
請求項1~6のいずれか1項に記載の認証方法。
【請求項14】
請求項1~6のいずれか1項に記載の認証方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機器にインストールされたソフトウェアのライセンス認証を行うための認証方法およびプログラムに関する。
【背景技術】
【0002】
特許文献1には、ネットワークに接続されていないクライアント端末においてライセンス認証を行うための技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-046815号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された技術では、シリアル番号(キーコードとも呼ばれる)のインポートが必要となっている。例えば、高頻度でライセンス認証が行われる場合には、都度シリアル番号のインポートが必要であり、ライセンス認証に手間がかかるという問題がある。
【0005】
そこで、本開示は、ライセンス認証を容易に行うことができる認証方法などを提供する。
【課題を解決するための手段】
【0006】
本開示における認証方法は、機器にインストールされたソフトウェアのライセンス認証を行うために前記機器が実行する認証方法であって、前記ソフトウェアは、サーバによって管理されており、前記認証方法は、前記ソフトウェア固有の固有認証情報を提示する提示ステップと、前記サーバにおいて前記固有認証情報と紐づけられて管理されている前記ソフトウェアのライセンス情報と、前記固有認証情報とに基づいて、前記サーバによって生成されたサーバ側認証情報の入力を受け付けるサーバ側認証情報受付ステップと、前記固有認証情報と、入力された前記サーバ側認証情報とに基づいて、前記ソフトウェアのライセンス認証を行う認証ステップと、を含む。
【0007】
本開示におけるプログラムは、上記の認証方法をコンピュータに実行させるためのプログラムである。
【0008】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0009】
本開示における認証方法などによれば、ライセンス認証を容易に行うことができる。
【図面の簡単な説明】
【0010】
図1】実施の形態に係る認証方法が適用されるシステムの一例を示す図である。
図2】実施の形態に係るオフライン機器およびライセンスサーバの一例を示す構成図である。
図3】実施の形態に係る認証方法の一例を示すフローチャートである。
図4】実施の形態に係るオフライン機器およびライセンスサーバの第1例を示す構成図である。
図5】第1例におけるオフライン機器およびライセンスサーバの動作の一例を示すシーケンス図である。
図6】第1例におけるオフライン機器の固有認証情報の生成時の動作の一例を示すフローチャートである。
図7】固有認証情報の提示の一例を示す図である。
図8A】ライセンス情報の提示の一例を示す図である。
図8B】ライセンス情報の入力の受付画面の一例を示す図である。
図9】第1例におけるオフライン機器の機器側認証情報の生成時の動作の一例を示すフローチャートである。
図10】第1例におけるライセンスサーバのサーバ側認証情報の生成および提示時の動作の一例を示すフローチャートである。
図11A】第1例におけるサーバ側認証情報の提示の一例を示す図である。
図11B】第1例におけるサーバ側認証情報の入力の受付画面の一例を示す図である。
図12A】第1例における提示されたサーバ側認証情報の他の一例を示す図である。
図12B】第1例におけるサーバ側認証情報の入力の受付画面の他の一例を示す図である。
図13】実施の形態に係るオフライン機器およびライセンスサーバの第2例を示す構成図である。
図14】第2例におけるライセンスサーバのサーバ側認証情報の生成および提示時の動作の一例を示すフローチャートである。
図15】第2例におけるオフライン機器の機器側認証情報の生成時の動作の一例を示すフローチャートである。
図16A】第2例における追加認証情報およびサーバ側認証情報の提示の一例を示す図である。
図16B】第2例における追加認証情報の入力の受付画面の一例を示す図である。
図16C】第2例におけるサーバ側認証情報の入力の受付画面の一例を示す図である。
図17】実施の形態に係るオフライン機器およびライセンスサーバの第3例を示す構成図である。
図18】第3例におけるサーバ側認証情報の入力の受付画面の一例を示す図である。
図19】その他の実施の形態におけるライセンス情報およびサーバ側認証情報の提示の一例を示す図である。
図20】その他の実施の形態におけるライセンス情報の入力およびサーバ側認証情報の入力の受付画面の一例を示す図である。
【発明を実施するための形態】
【0011】
(本開示の一態様を得るに至った経緯)
インターネットに接続されていない機器にインストールされたソフトウェアのライセンス認証を行う方法としては、以下の手順で行われることが一般的である。具体的には、まず、ユーザはソフトウェアのベンダからライセンスを購入し、キーコードをソフトウェアがインストールされた機器に入力する。これにより、機器は、ボリュームシリアルを生成してユーザに提示し、ユーザは、インターネットに接続された端末などを介してライセンスサーバにボリュームシリアルを送信する。ライセンスサーバは、受信したボリュームシリアルからアクティベーションコードを生成して、上記端末に送信する。ユーザは、上記端末が受信したアクティベーションコードを使用して機器にインストールされたソフトウェアのアクティベーションを行い、ライセンス認証が完了する。
【0012】
しかしながら、上記方法では、高頻度でライセンス認証が行われる場合には、ライセンス認証に手間がかかるという問題がある。
【0013】
そこで、以下では、ライセンス認証時の工数の削減が可能なライセンスの認証方法などについて説明する。
【0014】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。ただし、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【0015】
なお、発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【0016】
(実施の形態)
以下、図1から図18を用いて、実施の形態に係る認証方法を説明する。認証方法は、機器にインストールされたソフトウェアのライセンス認証を行うために機器が実行する方法である。
【0017】
図1は、実施の形態に係る認証方法が適用されるシステムの一例を示す図である。
【0018】
図1に示されるシステムは、オフライン機器100、ライセンスサーバ200およびオンライン機器300を備える。
【0019】
オフライン機器100は、本実施の形態に係る認証方法を実行する機器の一例であり、ライセンス認証が行われるソフトウェアがインストールされた機器である。オフライン機器100は例えば、インターネットに接続されていない、PC(Personal Computer)や電子機器である。オフライン機器100にインストールされたソフトウェアのライセンス認証は、オフライン機器100がインターネットに接続されていない状態であっても行うことができる。オフライン機器100にインストールされたソフトウェアのライセンス認証の際に、例えば、オンライン機器300が用いられる。
【0020】
オンライン機器300は、インターネットに接続された機器であり、例えば、携帯端末またはPCなどである。オンライン機器300は、無線または有線によりネットワークを介してライセンスサーバ200と通信可能に接続されている。
【0021】
ライセンスサーバ200は、オフライン機器100にインストールされるソフトウェアを管理するサーバの一例である。
【0022】
図2は、実施の形態に係るオフライン機器100およびライセンスサーバ200の一例を示す構成図である。以降に示す構成図などでは、オンライン機器300の図示を省略している。
【0023】
オフライン機器100は、プロセッサおよびメモリなどを有するコンピュータである。
メモリは、ROM(Read Only Memory)およびRAM(Random Access Memory)などであり、プロセッサにより実行されるプログラムを記憶することができる。オフライン機器100が備える構成要素は、メモリに格納されたプログラムを実行するプロセッサなどによって実現される。図2には、実施の形態に係るオフライン機器100が備える構成要素の一例を示しているが、オフライン機器100の構成の具体例については、後述する第1例から第3例で説明する。図2に示されるように、オフライン機器100は、機能ブロックとして、固有認証情報生成部101、固有認証情報提示部102、サーバ側認証情報受付部103および認証部104を備える。
【0024】
固有認証情報生成部101は、ソフトウェア固有の固有認証情報を生成する。固有認証情報は、ソフトウェア固有の情報であり、1つのソフトウェアと1つの固有認証情報とが一対一に対応している。つまり、あるソフトウェアの固有認証情報と、他のソフトウェアの固有認証情報とは異なっている。例えば、固有認証情報生成部101は、オフライン機器100にソフトウェアがインストールされることで、ソフトウェア固有の端末IDを生成し、生成した端末IDを固有認証情報とする。ここで、端末IDとは、ソフトウェアが端末にインストールされた際にランダムで付与されるIDである。なお、固有認証情報は、乱数を含んでいてもよい。この場合、固有認証情報生成部101は、端末IDおよび乱数を生成し、生成した端末IDに乱数を付与したものを固有認証情報としてもよい。
【0025】
固有認証情報提示部102は、ライセンス認証を行う者(以下、「ユーザ」と呼ぶ。)に固有認証情報を提示する。例えば、固有認証情報提示部102は、ディスプレイなどを介して固有認証情報を表示する。なお、固有認証情報提示部102は、スピーカなどを介して固有認証情報を音声出力してもよい。固有認証情報提示部102の動作の詳細については後述する。
【0026】
サーバ側認証情報受付部103は、ライセンスサーバ200によって生成されたサーバ側認証情報の入力を受け付ける。サーバ側認証情報受付部103の動作の詳細については後述する。
【0027】
認証部104は、固有認証情報と、入力されたサーバ側認証情報とに基づいて、オフライン機器100にインストールされたソフトウェアのライセンス認証を行う。認証部104の動作の詳細については後述する。
【0028】
ライセンスサーバ200は、プロセッサおよびメモリなどを有するコンピュータである。メモリは、ROMおよびRAMなどであり、プロセッサにより実行されるプログラムを記憶することができる。ライセンスサーバ200が備える構成要素は、メモリに格納されたプログラムを実行するプロセッサなどによって実現される。図2には、実施の形態に係るライセンスサーバ200が備える構成要素の一例を示しているが、ライセンスサーバ200の構成の具体例については、後述する第1例から第3例で説明する。図2に示されるように、ライセンスサーバ200は、機能ブロックとして、固有認証情報受付部201、ライセンス情報登録部202、ライセンス情報保存部203、サーバ側認証情報生成部204およびサーバ側認証情報提示部205を備える。
【0029】
固有認証情報受付部201は、固有認証情報を受け付ける。例えば、固有認証情報受付部201は、オフライン機器100において提示された固有認証情報を、オンライン機器300を介して受信することで受け付ける。
【0030】
ライセンス情報登録部202は、ソフトウェアごとにライセンス情報をライセンスサーバ200に登録し、ライセンス情報保存部203に保存する。例えば、ライセンスサーバ200の管理者などが、ライセンスサーバ200が有するユーザインタフェースなどに、ソフトウェアごとにライセンス情報を入力することで、ライセンス情報登録部202は、ソフトウェアごとにライセンス情報を登録する。ライセンス情報は、例えば、ライセンスの種類、ライセンスの期間、ライセンスの契約者(ユーザ)またはライセンスの契約台数などの情報である。例えば、ライセンスサーバ200は、固有認証情報受付部201で受け付けた固有認証情報と、ライセンス情報保存部203に保存されたソフトウェアごとのライセンス情報との対応関係を示す管理テーブルを保持し、当該管理テーブルを参照して、受け付けた固有認証情報がどのソフトウェアに対応するかを把握することができる。
【0031】
サーバ側認証情報生成部204は、ライセンスサーバ200において固有認証情報と紐づけられて管理されているソフトウェアのライセンス情報と、オフライン機器100において提示され、ライセンスサーバ200に入力された固有認証情報とに基づいて、サーバ側認証情報を生成する。サーバ側認証情報生成部204の動作の詳細については後述する。
【0032】
サーバ側認証情報提示部205は、サーバ側認証情報をユーザに提示する。例えば、サーバ側認証情報提示部205は、サーバ側認証情報をオンライン機器300へ送信し、オンライン機器300を介してサーバ側認証情報をユーザに提示(例えば表示)する。オフライン機器100のサーバ側認証情報受付部103は、サーバ側認証情報提示部205によって提示されたサーバ側認証情報の入力を受け付ける。
【0033】
図3は、実施の形態に係る認証方法の一例を示すフローチャートである。認証方法は、オフライン機器100により実行される方法であるため、図3は、実施の形態に係るオフライン機器100の動作の一例を示すフローチャートでもある。
【0034】
まず、固有認証情報提示部102は、ソフトウェア固有の固有認証情報をオフライン機器の表示部に提示する(ステップS11)。固有認証情報提示部102によって行われる処理は、認証方法における提示ステップの一例である。
【0035】
次に、サーバ側認証情報受付部103は、ライセンスサーバ200において固有認証情報と紐づけられて管理されているソフトウェアのライセンス情報と、固有認証情報とに基づいて、ライセンスサーバ200によって生成されたサーバ側認証情報の入力を受け付ける(ステップS12)。サーバ側認証情報受付部103によって行われる処理は、認証方法におけるサーバ側認証情報受付ステップの一例である。
【0036】
そして、認証部104は、オフライン機器100において生成した固有認証情報と、入力されたサーバ側認証情報とに基づいて、ソフトウェアのライセンス認証を行う(ステップS13)。認証部104によって行われる処理は、認証方法における認証ステップの一例である。
【0037】
以下、実施の形態に係る認証方法、認証方法を実行するオフライン機器100、および、ライセンスサーバ200の具体例として第1例から第3例を説明する。まず、実施の形態に係る認証方法、当該認証方法を実行するオフライン機器100、および、ライセンスサーバ200の第1例を説明する。
【0038】
図4は、実施の形態に係るオフライン機器100およびライセンスサーバ200の第1例を示す構成図である。
【0039】
第1例では、オフライン機器100は、固有認証情報生成部101、固有認証情報提示部102、サーバ側認証情報受付部103、認証部104に加えて、暗号化鍵生成部105、ライセンス情報受付部106、暗号化部107、機器側認証情報生成部108、UI選択肢生成部109、認証結果提示部110、ライセンス更新部111およびライセンス保存部112を備える。
【0040】
ライセンス情報受付部106は、ライセンス情報の入力を受け付ける。
【0041】
暗号化鍵生成部105は、固有認証情報から機器側暗号化鍵を生成する。機器側暗号化鍵は、ライセンス情報を暗号化するための暗号化鍵である。例えば、暗号化鍵生成部105は、ライセンス情報を用いて機器側暗号化鍵を生成する。これにより、セキュリティを強化することができる。なお、暗号化鍵生成部105は、機器側暗号化鍵を生成するために、ライセンス情報を用いることは必須ではない。
【0042】
暗号化部107は、機器側暗号化鍵を用いて、入力されたライセンス情報を暗号化する。
【0043】
機器側認証情報生成部108は、入力されたライセンス情報と、固有認証情報とに基づいて、機器側認証情報を生成する。具体的には、機器側認証情報生成部108は、暗号化部107が、固有認証情報から生成された機器側暗号化鍵を用いてライセンス情報を暗号化することで、機器側認証情報を生成する。機器側認証情報は、暗号化文となっている。なお、第1例では、機器側認証情報の復号化は不要となっているため、機器側認証情報は、暗号化文の一部(すなわち、暗号化文における復号化に必要な部分を除いた部分)となっている。
【0044】
UI選択肢生成部109は、サーバ側認証情報受付部103がサーバ側認証情報の入力を受け付ける際に、サーバ側認証情報の入力のためにサーバ側認証情報の候補として表示される選択肢を生成する。
【0045】
認証結果提示部110は、ライセンス認証が成功したか否かを示す認証結果をユーザに提示する。例えば、認証結果提示部110は、認証結果をディスプレイなどに表示する。
【0046】
ライセンス更新部111は、ライセンス認証が成功した場合、ライセンス情報を用いてオフライン機器100にインストールされたソフトウェアのライセンスを更新する。例えば、ライセンス情報が示すライセンスの期間、当該ソフトウェアをオフライン機器100で使用できるように、ライセンスを更新する。
【0047】
ライセンス保存部112は、更新されたライセンスを保存する。
【0048】
第1例では、ライセンスサーバ200は、固有認証情報受付部201、ライセンス情報登録部202、ライセンス情報保存部203、サーバ側認証情報生成部204およびサーバ側認証情報提示部205に加えて、端末ID抽出部206、乱数生成部207、暗号化鍵生成部208および暗号化部209を備える。
【0049】
端末ID抽出部206は、固有認証情報に含まれる端末IDを抽出し、乱数生成部207は、端末IDに紐づく乱数を生成する。ライセンスサーバ200は、抽出された端末IDから、オフライン機器100にインストールされたソフトウェアを特定でき、ひいては、ライセンス情報保存部203に保存されている、当該ソフトウェアと紐づけられているライセンス情報を特定することができる。
【0050】
暗号化鍵生成部208は、固有認証情報からサーバ側暗号化鍵を生成する。サーバ側暗号化鍵は、ライセンス情報を暗号化するための暗号化鍵である。オフライン機器100で生成された固有認証情報を用いてサーバ側暗号化鍵が生成されるため、同じ固有認証情報から生成される機器側暗号化鍵とサーバ側暗号化鍵とは同じ暗号化鍵となる。例えば、暗号化鍵生成部208は、ライセンス情報および乱数を用いてサーバ側暗号化鍵を生成する。これにより、セキュリティを強化することができる。なお、暗号化鍵生成部208は、サーバ側暗号化鍵を生成するために、ライセンス情報を用いることは必須ではない。
【0051】
暗号化部209は、サーバ側暗号化鍵を用いてライセンス情報を暗号化する。つまり、サーバ側認証情報生成部204は、暗号化部209がサーバ側暗号化鍵を用いてライセンス情報を暗号化することで、サーバ側認証情報を生成する。サーバ側認証情報は、暗号化文となっている。なお、第1例では、サーバ側認証情報の復号化は不要となっているため、サーバ側認証情報は、暗号化文の一部(すなわち、暗号化文における復号化に必要な部分を除いた部分)となっている。
【0052】
サーバ側認証情報提示部205は、乱数を含むサーバ側認証情報をユーザに提示する。
【0053】
図5は、第1例におけるオフライン機器100およびライセンスサーバ200の動作の一例を示すシーケンス図である。図5における左側に示されるオフライン機器100の動作の一例を示すフローチャートは、第1例における認証方法の一例を示すフローチャートでもある。
【0054】
ライセンスサーバ200の管理者は、例えばソフトウェアごとのライセンスの期間および種類を入力することで(ステップS101)、ライセンス情報登録部202は、ソフトウェアごとのライセンス情報を登録する。例えば、ステップS101での処理は、ステップS102以降の処理が行われる前に予め行われる。
【0055】
固有認証情報生成部101は、例えば、端末ID保存部および端末ID生成部を備え、端末ID保存部に端末IDが存在するか否かを判定する(ステップS102)。端末ID生成部は、端末ID保存部に端末IDが存在しない場合(ステップS102でNo)、オフライン機器100にインストールされているソフトウェアに応じた端末IDを新規作成し(ステップS103)、端末ID保存部に保存する。固有認証情報生成部101は、端末ID保存部に端末IDが存在する場合(ステップS102でYes)、端末IDから固有認証情報を生成する(ステップS104)。ここで、オフライン機器100の固有認証情報の生成時の動作について、図6を用いて説明する。
【0056】
図6は、第1例におけるオフライン機器100の固有認証情報の生成時の動作の一例を示すフローチャートである。
【0057】
固有認証情報生成部101は、端末ID保存部に保存されている端末IDを取得し(ステップS201)、取得した端末IDより固有認証情報を生成する(ステップS202)。例えば、固有認証情報生成部101は、端末IDを固有認証情報として生成する。なお、オフライン機器100で乱数を生成する場合、固有認証情報は、端末IDに生成された乱数を付与したものであってもよい。つまり、固有認証情報は、乱数を含んでいてもよい。
【0058】
図5での説明に戻り、固有認証情報提示部102は、固有認証情報を提示する(ステップS105)。ここで、固有認証情報の提示について、図7を用いて説明する。
【0059】
図7は、固有認証情報の提示の一例を示す図である。
【0060】
例えば、ステップS105(提示ステップ)では、固有認証情報提示部102は、図7に示されるように、固有認証情報を含む図形コード(例えばQRコード(登録商標))を表示してもよい。例えば、ユーザは、オンライン機器300に備えられたカメラなどを使用して、表示された図形コードをスキャンすることで、ライセンスサーバ200へ固有認証情報を送信することができる。また、例えば、固有認証情報提示部102は、図7に示されるように、固有認証情報を示す記号(例えば文字:ABCD1234)を表示してもよい。例えば、ユーザは、表示された記号をオンライン機器300などに入力することで、ライセンスサーバ200へ固有認証情報を送信することができる。
【0061】
図5での説明に戻り、固有認証情報受付部201は、固有認証情報を受け付ける(ステップS106)。上述したように、例えば、ライセンスサーバ200がオンライン機器300を介して固有認証情報を受信することで、固有認証情報受付部201は、固有認証情報を受け付ける。
【0062】
例えば、ライセンスサーバ200は、固有認証情報受付部201が受け付けた固有認証情報から、当該固有認証情報とライセンス情報とを紐付けて管理する管理テーブルを参照し、当該固有認証情報に対応するソフトウェアのライセンス情報(例えば、ライセンスの種類およびライセンスの期間)を、ライセンス情報保存部に保存されている、ライセンス情報の中から特定する。特定されたライセンス情報は、オンライン機器300の表示部に提示される。
【0063】
ユーザは、オフライン機器100にインストールされたソフトウェアのライセンスの期間および種類を入力することで(ステップS107)、ライセンス情報受付部106は、ライセンス情報(例えば、ライセンスの種類およびライセンスの期間)を受け付ける。ここで、ライセンス情報の提示および入力について、図8Aおよび図8Bを用いて説明する。
【0064】
図8Aは、ライセンス情報の提示の一例を示す図である。
【0065】
図8Bは、ライセンス情報の入力の受付画面の一例を示す図である。
【0066】
例えば、ライセンスサーバ200は、オンライン機器300に図8Aに示されるようなライセンス情報を表示する。ユーザは、オフライン機器100によって表示された図8Bに示されるような画面に、オンライン機器300に表示されたライセンス情報を入力する。これにより、ライセンス情報受付部106は、ライセンス情報を受け付けることができる。
【0067】
図5での説明に戻り、暗号化鍵生成部105は、固有認証情報から機器側暗号化鍵を生成する(ステップS108)。
【0068】
なお、ステップS107とステップS108とが行われる順序は特に限定されない。例えば、ステップS107が行われた後にステップS108が行われてもよいし、ステップS108が行われた後にステップS107が行われてもよいし、ステップS107とステップS108とが並行して行われてもよい。
【0069】
次に、機器側認証情報生成部108は、機器側認証情報を生成する(ステップS109)。ここで、オフライン機器100の機器側認証情報の生成時の動作について、図9を用いて説明する。
【0070】
図9は、第1例におけるオフライン機器100の機器側認証情報の生成時の動作の一例を示すフローチャートである。
【0071】
暗号化鍵生成部105は、端末IDを取得し(ステップS301)、取得した端末IDより機器側暗号化鍵を生成する(ステップS302)。暗号化部107は、ライセンス情報(例えばライセンスの種類およびライセンスの期間)を取得し(ステップS303)、ライセンス情報を機器側暗号化鍵で暗号化することで、機器側認証情報生成部108は、機器側認証情報を生成する(ステップS304)。
【0072】
図5での説明に戻り、UI選択肢生成部109は、生成された機器側認証情報を用いて、サーバ側認証情報の候補としてユーザインタフェースに表示される選択肢を生成する(ステップS110)。表示される選択肢の一例については後述する。
【0073】
暗号化鍵生成部208は、固有認証情報からサーバ側暗号化鍵を生成する(ステップS111)。
【0074】
次に、サーバ側認証情報生成部204は、サーバ側認証情報を生成し(ステップS112)、サーバ側認証情報提示部205は、サーバ側認証情報を提示する(ステップS113)。ここで、ライセンスサーバ200のサーバ側認証情報の生成および提示時の動作について、図10を用いて説明する。
【0075】
図10は、第1例におけるライセンスサーバ200のサーバ側認証情報の生成および提示時の動作の一例を示すフローチャートである。
【0076】
固有認証情報受付部201は、固有認証情報を取得する(ステップS401)。
【0077】
暗号化鍵生成部208は、固有認証情報から端末IDを抽出し、乱数を生成し(ステップS402)、端末IDおよび乱数によりサーバ側暗号化鍵を生成する(ステップS403)。
【0078】
暗号化部209は、ライセンス情報(例えばライセンスの種類およびライセンスの期間)をサーバ側暗号化鍵で暗号化することで(ステップS404)、サーバ側認証情報生成部204は、サーバ側認証情報を生成する。
【0079】
サーバ側認証情報提示部205は、生成されたサーバ側認証情報を提示する(ステップS405)。例えば、サーバ側認証情報提示部205は、乱数をサーバ側認証情報に含めて提示する。提示されるサーバ側認証情報の一例については後述する。
【0080】
なお、図5において、ステップS107からステップS110までの処理と、ステップS111からステップS113までの処理とが行われる順序は特に限定されない。例えば、ステップS107からステップS110までの処理が行われた後にステップS111からステップS113までの処理が行われてもよい。例えば、ステップS111からステップS113までの処理が行われた後にステップS107からステップS110までの処理が行われてもよい。例えば、ステップS107からステップS110までの処理と、ステップS111からステップS113までの処理とは、並行して行われてもよい。
【0081】
サーバ側認証情報受付部103は、サーバ側認証情報の入力を受け付ける(ステップS114)。ここで、サーバ側認証情報の提示および入力について、図11Aおよび図11Bを用いて説明する。
【0082】
図11Aは、第1例におけるサーバ側認証情報の提示の一例を示す図である。
【0083】
図11Bは、第1例におけるサーバ側認証情報の入力の受付画面の一例を示す図である。
【0084】
例えば、ライセンスサーバ200は、オンライン機器300に図11Aに示されるようなサーバ側認証情報を示す記号(例えば文字:mn69O2u1)を表示する。ユーザは、オフライン機器100によって表示された図11Bに示されるような画面に、オンライン機器300に表示されたサーバ側認証情報を入力する。これにより、サーバ側認証情報受付部103は、サーバ側認証情報を受け付けることができる。
【0085】
上述したように、UI選択肢生成部109は、機器側認証情報を用いて、サーバ側認証情報の候補として図11Bに示されるような画面に表示される選択肢(例えば、J、m、A、9)を生成する。オフライン機器100においても、サーバ側認証情報と同じ機器側認証情報(例えば、mn69O2u1)が生成されているため、UI選択肢生成部109は、サーバ側認証情報を構成する記号を含む選択肢を生成することができる。例えば、UI選択肢生成部109は、サーバ側認証情報における1文字目の「m」に対する選択肢として、機器側認証情報における1文字目を構成する正解記号「m」と、機器側認証情報における1文字目を構成しないダミー記号「J」、「A」、「9」を含む選択肢を生成する。
【0086】
このようにして、ステップS114(サーバ側認証情報受付ステップ)では、サーバ側認証情報受付部103は、機器側認証情報を構成する正解記号および機器側認証情報を構成しないダミー記号を提示し、提示した正解記号およびダミー記号のうちからサーバ側認証情報として選択された記号の入力を受け付ける。
【0087】
オフライン機器100によって生成される機器側認証情報と、ライセンスサーバ200によって生成されるサーバ側認証情報とは、同じ固有認証情報から生成される同じ情報となるため、オフライン機器100は、サーバ側認証情報をユーザに入力させるために提示するサーバ側認証情報の候補を、正解記号およびダミー記号を含む絞られた候補とすることができる。したがって、ユーザは、絞られた候補の中から、サーバ側認証情報となる正解記号を選択することができるため、サーバ側認証情報となり得る全ての記号の中から正解記号を選択する場合と比べて、サーバ側認証情報の入力が容易となる。例えば、サーバ側認証情報となり得る全ての記号が英数字の64文字の場合には、選択肢を64文字から大幅に減らすことができる。例えば、オフライン機器100にキーボードが設けられておらず、マウスまたはタッチパネルなどによりサーバ側認証情報を入力する場合には、絞られた候補の中から正解記号を容易に選択することができるようになる。
【0088】
図12Aは、第1例における提示されたサーバ側認証情報の他の一例を示す図である。
【0089】
図12Bは、第1例におけるサーバ側認証情報の入力の受付画面の他の一例を示す図である。
【0090】
図12Aおよび図12Bに示されるように、サーバ側認証情報および機器側認証情報が示す記号は、文字に限らず絵などの図形であってもよい。
【0091】
なお、サーバ側認証情報受付部103は、サーバ側認証情報の入力を複数の画面に分けて受け付けてもよい。例えば、サーバ側認証情報を1つの画面で入力する場合には、1つの画面に表示される情報量が多くなり、ユーザはサーバ側認証情報を入力しにくくなる場合がある。そこで、サーバ側認証情報を複数の画面に分けて入力することで、1つの画面に表示される情報量を少なくすることができ、ユーザはサーバ側認証情報を入力しやすくなる。
【0092】
図5での説明に戻り、認証部104は、入力されたサーバ側認証情報と、機器側認証情報とを照合することで、ソフトウェアのライセンス認証を行う(ステップS115)。具体的には、認証部104は、入力されたサーバ側認証情報と、機器側認証情報とが一致しているか否かを判定する。例えば、同じ固有認証情報に基づいて生成されたサーバ側認証情報と機器側認証情報とは同じとなるため、固有認証情報を生成したオフライン機器100に、当該固有認証情報に基づいて生成されたサーバ側認証情報が正しく入力された場合には、入力されたサーバ側認証情報と、機器側認証情報とは一致する。
【0093】
認証部104は、入力されたサーバ側認証情報と、機器側認証情報とが一致している場合(ステップS115でYes)、ライセンス認証が可能と判定し(ステップS116)、ライセンス更新部111は、オフライン機器100にインストールされたソフトウェアのライセンスを更新する(ステップS117)。認証部104は、入力されたサーバ側認証情報と、機器側認証情報とが一致していない場合(ステップS115でNo)、ライセンス認証が不可と判定し(ステップS118)、ライセンス更新部111は、オフライン機器100にインストールされたソフトウェアのライセンスを更新しない。
【0094】
次に、実施の形態に係る認証方法、当該認証方法を実行するオフライン機器100、および、ライセンスサーバ200の第2例を説明する。
【0095】
図13は、実施の形態に係るオフライン機器100およびライセンスサーバ200の第2例を示す構成図である。
【0096】
第2例では、オフライン機器100は、固有認証情報生成部101、固有認証情報提示部102、サーバ側認証情報受付部103、認証部104に加えて、暗号化鍵生成部105、暗号化部107、機器側認証情報生成部108、UI選択肢生成部109、認証結果提示部110、ライセンス更新部111、ライセンス保存部112およびライセンス情報抽出部113を備える。第2例では、オフライン機器100がライセンス情報受付部106の代わりにライセンス情報抽出部113を備える点が、第1例と異なる。以下では、第1例と同じ点については説明を省略し、第1例と異なる点を中心に説明する。
【0097】
サーバ側認証情報受付部103は、サーバ側認証情報に加えて、ライセンスサーバ200においてライセンス情報から生成された追加認証情報の入力を受け付ける。つまり、オフライン機器100により実行される認証方法は、ライセンスサーバ200においてライセンス情報から生成された追加認証情報の入力を受け付ける追加認証情報受付ステップを含む。
【0098】
ライセンス情報抽出部113は、入力された追加認証情報からライセンス情報を抽出する。つまり、オフライン機器100により実行される認証方法は、入力された追加認証情報からライセンス情報を抽出するライセンス情報抽出ステップを含む。
【0099】
機器側認証情報生成部108は、抽出されたライセンス情報と、固有認証情報とに基づいて、機器側認証情報を生成する。具体的には、機器側認証情報生成部108は、暗号化部107が、抽出されたライセンス情報を機器側暗号化鍵を用いて暗号化することで、機器側認証情報を生成する。
【0100】
第2例では、ライセンスサーバ200は、固有認証情報受付部201、ライセンス情報登録部202、ライセンス情報保存部203、サーバ側認証情報生成部204およびサーバ側認証情報提示部205に加えて、端末ID抽出部206、乱数生成部207、暗号化鍵生成部208、暗号化部209および追加認証情報生成部210を備える。第2例では、ライセンスサーバ200がさらに追加認証情報生成部210を備える点が、第1例と異なる。以下では、第1例と同じ点については説明を省略し、第1例と異なる点を中心に説明する。
【0101】
追加認証情報生成部210は、ライセンス情報から追加認証情報を生成する。
【0102】
サーバ側認証情報提示部205は、サーバ側認証情報に加えて、追加認証情報を提示する。例えば、サーバ側認証情報提示部205は、サーバ側認証情報と追加認証情報とを同時に(例えば1つの画面に)提示してもよいし、まず、追加認証情報を提示してからサーバ側認証情報を提示してもよい。
【0103】
なお、暗号化鍵生成部208は、固有認証情報に加えて、追加認証情報も用いてサーバ側暗号化鍵を生成してもよい。この場合、オフライン機器100における暗号化鍵生成部105は、固有認証情報に加えて、追加認証情報も用いて機器側暗号化鍵を生成する。これにより、ライセンスの不正利用の抑制が可能となる。
【0104】
第2例におけるオフライン機器100およびライセンスサーバ200の動作の一例を示すシーケンス図(第2例における認証方法の一例を示すフローチャート)の図示については省略し、以下第1例と異なる点を中心に説明する。
【0105】
図14は、第2例におけるライセンスサーバ200のサーバ側認証情報の生成および提示時の動作の一例を示すフローチャートである。
【0106】
固有認証情報受付部201は、固有認証情報を取得する(ステップS401)。
【0107】
暗号化鍵生成部208は、固有認証情報から抽出された端末IDおよび乱数を取得する(ステップS402)。
【0108】
追加認証情報生成部210は、ライセンス情報(例えばライセンスの種類およびライセンスの期間)より追加認証情報を生成する(ステップS406)。
【0109】
暗号化鍵生成部208は、端末IDおよび乱数によりサーバ側暗号化鍵を生成する(ステップS403)。なお、上述したように、暗号化鍵生成部208は、追加認証情報も用いてサーバ側暗号化鍵を生成してもよい。
【0110】
暗号化部209は、ライセンス情報(例えばライセンスの種類およびライセンスの期間)をサーバ側暗号化鍵で暗号化することで(ステップS404)、サーバ側認証情報生成部204は、サーバ側認証情報を生成する。
【0111】
サーバ側認証情報提示部205は、生成された追加認証情報およびサーバ側認証情報を提示する(ステップS407)。例えば、サーバ側認証情報提示部205は、乱数をサーバ側認証情報に含めて提示する。提示される追加認証情報およびサーバ側認証情報の一例については後述する。
【0112】
図15は、第2例におけるオフライン機器100の機器側認証情報の生成時の動作の一例を示すフローチャートである。
【0113】
暗号化鍵生成部105は、端末IDを取得し(ステップS301)、取得した端末IDより機器側暗号化鍵を生成する(ステップS302)。なお、上述したように、ライセンスサーバ200の暗号化鍵生成部208が追加認証情報も用いてサーバ側暗号化鍵を生成する場合には、暗号化鍵生成部105は、追加認証情報も用いて機器側暗号化鍵を生成する。ライセンス情報抽出部113は、受け付けた追加認証情報からライセンス情報(例えばライセンスの種類およびライセンスの期間)を抽出する(ステップS305)。そして、暗号化部107が、抽出されたライセンス情報を機器側暗号化鍵で暗号化することで、機器側認証情報生成部108は、機器側認証情報を生成する(ステップS304)。
【0114】
次に、第2例におけるサーバ側認証情報の提示および入力について、図16Aから図16Cを用いて説明する。
【0115】
図16Aは、第2例における追加認証情報およびサーバ側認証情報の提示の一例を示す図である。
【0116】
図16Bは、第2例における追加認証情報の入力の受付画面の一例を示す図である。
【0117】
図16Cは、第2例におけるサーバ側認証情報の入力の受付画面の一例を示す図である。
【0118】
例えば、ライセンスサーバ200は、オンライン機器300に図16Aに示されるような追加認証情報およびサーバ側認証情報を示す記号(例えば文字:cNTymn69O2u1)を表示する。例えば、「cNTy」は、追加認証情報を示す記号であり、「mn69O2u1」は、サーバ側認証情報を示す記号である。なお、追加認証情報およびサーバ側認証情報は、図16Aに示されるように1つの画面に表示されてもよいし、図示していないが2つの画面に分けて表示されてもよい。
【0119】
次に、ユーザは、オフライン機器100によって表示された図16Bに示されるような画面に、まずは、オンライン機器300に表示された追加認証情報を入力する。オフライン機器100は、どのような追加認証情報が入力されるのかはわからないため、UI選択肢生成部109は、追加認証情報を構成し得る全ての記号を含む選択肢を生成し、サーバ側認証情報受付部103は、追加認証情報を構成し得る全ての記号を提示し、提示した全ての記号のうちから追加認証情報として選択された記号の入力を受け付ける。図16Bには、追加認証情報における1文字目の「c」に対する選択肢として、追加認証情報を構成し得る全ての記号「A」、「a」、「B」、「b」、・・・を含む選択肢が表示されている。これにより、サーバ側認証情報受付部103は、追加認証情報を受け付けることができ、機器側認証情報生成部108は、追加認証情報から抽出されたライセンス情報を用いて機器側認証情報を生成できる。
【0120】
UI選択肢生成部109は、生成された機器側認証情報を用いて、サーバ側認証情報の候補として図16Cに示されるような画面に表示される選択肢(例えば、J、m、A、9)を生成する。なお、追加認証情報が入力される前は機器側認証情報が生成されておらず、サーバ側認証情報に対する選択肢は生成されていない。したがって、追加認証情報(例えば「cNTy」)が入力されていない状態では、サーバ側認証情報に対する選択肢を提示することができないため、サーバ側認証情報の入力ができないようになっていてもよい。例えば、図16Bおよび図16Cに示されるサーバ側認証情報を入力するための欄を選択(クリックまたはタップなど)しても、反応しないようになっていてもよい。
【0121】
オフライン機器100においても、サーバ側認証情報と同じ機器側認証情報(例えばmn69O2u1)が生成されているため、UI選択肢生成部109は、サーバ側認証情報を構成する記号を含む選択肢を生成することができる。例えば、UI選択肢生成部109は、サーバ側認証情報における1文字目の「m」に対する選択肢として、機器側認証情報における1文字目を構成する正解記号「m」と、機器側認証情報における1文字目を構成しないダミー記号「J」、「A」、「9」を含む選択肢を生成する。
【0122】
このようにして、サーバ側認証情報受付部103は、機器側認証情報を構成する正解記
号および機器側認証情報を構成しないダミー記号を提示し、提示した正解記号およびダミー記号のうちからサーバ側認証情報として選択された記号の入力を受け付ける。
【0123】
追加認証情報をオフライン機器100に入力することでオフライン機器100によって生成される機器側認証情報と、ライセンスサーバ200によって生成されるサーバ側認証情報とは、同じ固有認証情報から生成される同じ情報となるため、オフライン機器100は、サーバ側認証情報をユーザに入力させるために提示するサーバ側認証情報の候補を、正解記号およびダミー記号を含む絞られた候補とすることができる。したがって、ユーザは、追加認証情報を入力した後に、絞られた候補の中から、サーバ側認証情報となる正解記号を選択することができるため、サーバ側認証情報となり得る全ての記号の中から正解記号を選択する場合と比べて、サーバ側認証情報の入力が容易となる。
【0124】
次に、実施の形態に係る認証方法、当該認証方法を実行するオフライン機器100、および、ライセンスサーバ200の第3例を説明する。
【0125】
図17は、実施の形態に係るオフライン機器100およびライセンスサーバ200の第3例を示す構成図である。
【0126】
第3例では、オフライン機器100は、固有認証情報生成部101、固有認証情報提示部102、サーバ側認証情報受付部103、認証部104に加えて、暗号化鍵生成部105、UI選択肢生成部109、認証結果提示部110、ライセンス更新部111、ライセンス保存部112、ライセンス情報抽出部113、復号化部114および認証端子抽出部115を備える。第3例では、オフライン機器100がライセンス情報受付部106、暗号化部107および機器側認証情報生成部108の代わりにライセンス情報抽出部113、復号化部114および認証端子抽出部115を備える点が、第1例と異なる。以下では、第1例と同じ点については説明を省略し、第1例と異なる点を中心に説明する。
【0127】
復号化部114は、暗号化鍵生成部105によって生成された機器側暗号化鍵を用いて、サーバ側認証情報受付部103に入力されたサーバ側認証情報を復号化する。つまり、オフライン機器100により実行される認証方法は、機器側暗号化鍵を用いて、入力されたサーバ側認証情報を復号化する復号化ステップを含む。
【0128】
ライセンス情報抽出部113は、復号化されたサーバ側認証情報からライセンス情報を抽出する。サーバ側認証情報は、ライセンス情報が暗号化された情報であるため、復号化されたサーバ側認証情報にはライセンス情報が含まれており、ライセンス情報抽出部113は、復号化されたサーバ側認証情報からライセンス情報を抽出することができる。
【0129】
認証端子抽出部115は、復号化されたサーバ側認証情報から認証端子を抽出する。認証端子は、暗号文を復号化する際に、正しく復号化されているか否かを判定するために用いられる情報であり、オフライン機器100とライセンスサーバ200とが共通して把握している情報である。認証端子は、情報を暗号化する際に付与され、情報を暗号化する際に用いた暗号化鍵と同じ暗号化鍵を用いて暗号化された情報を復号化した場合には、共通して把握されている認証端子を抽出することができ、正しく復号化されていると判定することができる。一方で、情報を暗号化する際に用いた暗号化鍵と異なる暗号化鍵を用いて暗号化された情報を復号化した場合には、共通して把握されている認証端子が抽出されないため、正しく復号化されていないと判定することができる。
【0130】
認証部104は、入力されたサーバ側認証情報を、機器側暗号化鍵を用いて正しく復号化できたか否かに応じて、ソフトウェアのライセンス認証を行う。入力されたサーバ側認証情報を、機器側暗号化鍵を用いて正しく復号化できた場合には、オフライン機器100で生成された機器側暗号化鍵とライセンスサーバ200で生成されたサーバ側暗号化鍵が同じものであり、機器側暗号化鍵とサーバ側暗号化鍵とが同じ固有認証情報から生成された暗号化鍵である。このため、サーバ側認証情報受付部103が受け付けたサーバ側認証情報が正当なものであることがわかり、ライセンス認証を行うことができる。一方で、入力されたサーバ側認証情報を、機器側暗号化鍵を用いて正しく復号化できなかった場合には、サーバ側認証情報受付部103が受け付けたサーバ側認証情報が機器側暗号化鍵とは異なる暗号化鍵で暗号化されたものであり、サーバ側認証情報が正当なものではないことがわかる。このため、この場合には、ライセンス認証を行わないようにすることができる。
【0131】
第3例では、ライセンスサーバ200は、固有認証情報受付部201、ライセンス情報登録部202、ライセンス情報保存部203、サーバ側認証情報生成部204およびサーバ側認証情報提示部205に加えて、端末ID抽出部206、乱数生成部207、暗号化鍵生成部208および暗号化部209を備える。以下では、第1例と同じ点については説明を省略し、第1例と異なる点を中心に説明する。
【0132】
暗号化部209は、サーバ側暗号化鍵を用いてライセンス情報を暗号化する。この際に、オフライン機器100とライセンスサーバ200とが共通して把握している認証端子をライセンス情報に付与してから暗号化する。これにより、オフライン機器100において、サーバ側認証情報を正しく復号化できたか否かを判定することができるようになる。
【0133】
第3例におけるオフライン機器100およびライセンスサーバ200の動作の一例を示すシーケンス図(第3例における認証方法の一例を示すフローチャート)の図示については省略し、以下第1例と異なる点を中心に説明する。
【0134】
第3例におけるサーバ側認証情報の入力について、図18を用いて説明する。
【0135】
図18は、第3例におけるサーバ側認証情報の入力の受付画面の一例を示す図である。
【0136】
第3例では、オフライン機器100は、機器側認証情報を生成しないため、どのようなサーバ側認証情報が入力されるのかはわからない。このため、UI選択肢生成部109は、サーバ側認証情報を構成し得る全ての記号を含む選択肢を生成し、サーバ側認証情報受付部103は、サーバ側認証情報を構成し得る全ての記号を提示し、提示した全ての記号のうちからサーバ側認証情報として選択された記号の入力を受け付ける。図18には、サーバ側認証情報における1文字目に対する選択肢として、サーバ側認証情報を構成し得る全ての記号「A」、「a」、「B」、「b」、・・・を含む選択肢が表示されている。
【0137】
以上説明した通り、ソフトウェアがインストールされたオフライン機器100によって提示された固有認証情報をライセンスサーバ200へ送信し、ライセンスサーバ200によって生成されたサーバ側認証情報をオフライン機器100に入力することで、ライセンス認証を行うことができるため、ライセンス認証を容易に行うことができる。例えば、キーコードなどを入力するステップが不要となりライセンス認証時の工数を削減できる。
【0138】
なお、ライセンスの対象の機器を限定したい場合においては、逆アセンブルまたは固有情報の改ざんにより、ライセンス対象外の機器においてもライセンス認証ができるようになるといった不正利用の問題がある。これに対して、本実施の形態の認証方法のようにソフトウェア固有の固有認証情報を利用することで、例えばオフライン機器100のMAC(Media Access Control)アドレスまたはボリュームシリアルなどの固有情報を利用しなくてもライセンス認証を行うことができる。このため、固有情報の改ざんによるライセンスの流用リスクが低く、ライセンスの不正利用の抑制が可能となる。
【0139】
第1例では、ユーザは、ライセンス情報と、ライセンスサーバ200によって生成されたサーバ側認証情報とをオフライン機器100に入力するだけで、入力されたサーバ側認証情報とオフライン機器100によって生成された機器側認証情報との照合が行われてライセンス認証が行われるため、ライセンス認証を容易に行うことができる。
【0140】
第2例では、ユーザは、ライセンス情報をオフライン機器100に入力せずに、ライセンスサーバ200によって生成された追加認証情報およびサーバ側認証情報をオフライン機器100に入力するだけで、入力されたサーバ側認証情報と、入力された追加認証情報から抽出されたライセンス情報を用いてオフライン機器100によって生成された機器側認証情報との照合が行われてライセンス認証が行われるため、ライセンス認証を容易に行うことができる。
【0141】
また、第1例および第2例では、サーバ側認証情報および機器側認証情報は、それぞれ、暗号化文であるため、サーバ側認証情報と機器側認証情報とを復号化せずに暗号化文のまま照合することができる。また、復号化が不要であることから、サーバ側認証情報および機器側認証情報を暗号化文の一部(例えば、暗号化文における復号化に必要な部分を除いた部分)とすることができ、サーバ側認証情報として入力が必要な記号数を少なくすることができる。
【0142】
第3例では、ユーザは、ライセンス情報をオフライン機器100に入力せずに、ライセンスサーバ200によって生成されたサーバ側認証情報をオフライン機器100に入力するだけで、入力されたサーバ側認証情報がオフライン機器100によって生成された機器側暗号化鍵を用いて正しく復号できたか否かの判定が行われてライセンス認証が行われるため、ライセンス認証を容易に行うことができる。
【0143】
(その他の実施の形態)
以上のように、本出願において開示する技術の例示として、実施の形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適応可能である。また、上記実施の形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
【0144】
例えば、認証方法は、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、本開示は、認証方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。さらに、本開示は、そのプログラムを記録したCD-ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
【0145】
例えば、本開示が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリおよび入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリまたは入出力回路等から取得して演算したり、演算結果をメモリまたは入出力回路等に出力したりすることによって、各ステップが実行される。
【0146】
また、上記実施の形態のオフライン機器100およびライセンスサーバ200に含まれる構成要素は、集積回路(IC:Integrated Circuit)であるLSI(Large Scale Integration)として実現されてもよい。
【0147】
また、集積回路はLSIに限られず、専用回路または汎用プロセッサで実現されてもよい。プログラム可能なFPGA、または、LSI内部の回路セルの接続および設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。
【0148】
さらに、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、オフライン機器100およびライセンスサーバ200に含まれる構成要素の集積回路化が行われてもよい。
【0149】
また、ライセンスサーバ200における認証のプロセス(図5のステップS106以降のステップ)の実行は、認証を要求するオンライン機器300のアプリケーションが所定のデジタル署名を持つと判断された場合にのみするようにしてもよい。このようにすることで、不正なオンライン機器からのアクセスを制限することができる。
【0150】
また、ライセンス情報およびサーバ側認証情報の提示は、図8Aおよび図11Aなどに示されるものに限らない。
【0151】
図19は、その他の実施の形態におけるライセンス情報およびサーバ側認証情報の提示の一例を示す図である。
【0152】
例えば、図19に示されるように、ライセンス情報およびサーバ側認証情報が同時に提示されてもよい。
【0153】
また、ライセンス情報の入力の受付画面およびサーバ側認証情報の入力の受付画面は、図8Bおよび図11Bなどに示されるものに限らない。
【0154】
図20は、その他の実施の形態におけるライセンス情報の入力およびサーバ側認証情報の入力の受付画面の一例を示す図である。
【0155】
例えば、図20に示されるように、ライセンス情報の入力およびサーバ側認証情報の入力が同じ受付画面上に表示されてもよい。
【0156】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【0157】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【0158】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【0159】
(付記)
以上の実施の形態の記載により、下記の技術が開示される。
【0160】
(技術1)機器にインストールされたソフトウェアのライセンス認証を行うために前記機器が実行する認証方法であって、前記ソフトウェアは、サーバによって管理されており、前記認証方法は、前記ソフトウェア固有の固有認証情報を提示する提示ステップと、前記サーバにおいて前記固有認証情報と紐づけられて管理されている前記ソフトウェアのライセンス情報と、前記固有認証情報とに基づいて、前記サーバによって生成されたサーバ側認証情報の入力を受け付けるサーバ側認証情報受付ステップと、前記固有認証情報と、入力された前記サーバ側認証情報とに基づいて、前記ソフトウェアのライセンス認証を行う認証ステップと、を含む、認証方法。
【0161】
これによれば、ソフトウェアがインストールされた機器によって提示された固有認証情報をサーバへ送信し、サーバによって生成されたサーバ側認証情報を機器に入力することで、ライセンス認証を行うことができるため、ライセンス認証を容易に行うことができる。例えば、キーコードなどを入力するステップが不要となりライセンス認証時の工数を削減できる。
【0162】
(技術2)前記認証方法は、さらに、前記ライセンス情報の入力を受け付けるライセンス情報受付ステップと、入力された前記ライセンス情報と、前記固有認証情報とに基づいて、機器側認証情報を生成する機器側認証情報生成ステップと、を含み、前記認証ステップでは、入力された前記サーバ側認証情報と、前記機器側認証情報とを照合することで、前記ソフトウェアのライセンス認証を行う、技術1に記載の認証方法。
【0163】
これによれば、ユーザは、ライセンス情報と、サーバによって生成されたサーバ側認証情報とを機器に入力するだけで、入力されたサーバ側認証情報と機器によって生成された機器側認証情報との照合が行われてライセンス認証が行われるため、ライセンス認証を容易に行うことができる。
【0164】
(技術3)前記サーバ側認証情報受付ステップでは、前記機器側認証情報を構成する正解記号および前記機器側認証情報を構成しないダミー記号を提示し、提示した前記正解記号および前記ダミー記号のうちから前記サーバ側認証情報として選択された記号の入力を受け付ける、技術2に記載の認証方法。
【0165】
これによれば、機器によって生成される機器側認証情報と、サーバによって生成されるサーバ側認証情報とは、同じ固有認証情報から生成される同じ情報となるため、機器は、サーバ側認証情報をユーザに入力させるために提示するサーバ側認証情報の候補を、正解記号およびダミー記号を含む絞られた候補とすることができる。したがって、ユーザは、絞られた候補の中から、サーバ側認証情報となる正解記号を選択することができるため、サーバ側認証情報となり得る全ての記号の中から正解記号を選択する場合と比べて、サーバ側認証情報の入力が容易となる。
【0166】
(技術4)前記認証方法は、さらに、前記サーバにおいて前記ライセンス情報から生成された追加認証情報の入力を受け付ける追加認証情報受付ステップと、入力された前記追加認証情報から前記ライセンス情報を抽出するライセンス情報抽出ステップと、抽出された前記ライセンス情報と、前記固有認証情報とに基づいて、機器側認証情報を生成する機器側認証情報生成ステップと、を含み、前記認証ステップでは、入力された前記サーバ側認証情報と、前記機器側認証情報とを照合することで、前記ソフトウェアのライセンス認証を行う、技術1に記載の認証方法。
【0167】
これによれば、ユーザは、ライセンス情報を機器に入力せずに、サーバによって生成された追加認証情報およびサーバ側認証情報を機器に入力するだけで、入力されたサーバ側認証情報と、入力された追加認証情報から抽出されたライセンス情報を用いて機器によって生成された機器側認証情報との照合が行われてライセンス認証が行われるため、ライセンス認証を容易に行うことができる。また、認証情報を予めサーバのメモリ領域に保存しないことで、不正アクセス等による認証情報の流出といったセキュリティの確保ができる。
【0168】
(技術5)前記追加認証情報受付ステップでは、前記追加認証情報を構成し得る全ての記号を提示し、提示した前記全ての記号のうちから前記追加認証情報として選択された記号の入力を受け付け、前記サーバ側認証情報受付ステップでは、前記機器側認証情報を構成する正解記号および前記機器側認証情報を構成しないダミー記号を提示し、提示した前記正解記号および前記ダミー記号のうちから前記サーバ側認証情報として選択された記号の入力を受け付ける、技術4に記載の認証方法。
【0169】
これによれば、追加認証情報を機器に入力することで機器によって生成される機器側認証情報と、サーバによって生成されるサーバ側認証情報とは、同じ固有認証情報から生成される同じ情報となるため、機器は、サーバ側認証情報をユーザに入力させるために提示するサーバ側認証情報の候補を、正解記号およびダミー記号を含む絞られた候補とすることができる。したがって、ユーザは、追加認証情報を入力した後に、絞られた候補の中から、サーバ側認証情報となる正解記号を選択することができるため、サーバ側認証情報となり得る全ての記号の中から正解記号を選択する場合と比べて、サーバ側認証情報の入力が容易となる。
【0170】
(技術6)前記サーバ側認証情報は、前記サーバによって、前記固有認証情報から生成されたサーバ側暗号化鍵を用いて前記ライセンス情報が暗号化されることで生成され、前記認証方法は、さらに、前記固有認証情報から機器側暗号化鍵を生成する機器側暗号化鍵生成ステップと、前記機器側暗号化鍵を用いて、入力された前記サーバ側認証情報を復号化する復号化ステップと、を含み、前記認証ステップでは、入力された前記サーバ側認証情報を、前記機器側暗号化鍵を用いて正しく復号化できたか否かに応じて、前記ソフトウェアのライセンス認証を行う、技術1に記載の認証方法。
【0171】
これによれば、ユーザは、ライセンス情報を機器に入力せずに、サーバによって生成されたサーバ側認証情報を機器に入力するだけで、入力されたサーバ側認証情報が機器によって生成された機器側暗号化鍵を用いて正しく復号できたか否かの判定が行われてライセンス認証が行われるため、ライセンス認証を容易に行うことができる。
【0172】
(技術7)前記サーバ側認証情報は、前記サーバによって、前記固有認証情報から生成されたサーバ側暗号化鍵を用いて前記ライセンス情報が暗号化されることで生成され、前記機器側認証情報生成ステップでは、前記固有認証情報から機器側暗号化鍵を生成し、前記機器側暗号化鍵を用いて前記ライセンス情報を暗号化することで、前記機器側認証情報を生成する、技術2~5のいずれかに記載の認証方法。
【0173】
これによれば、同じ固有認証情報から同じサーバ側暗号化鍵および機器側暗号化鍵が生成され、これらの同じ鍵から同じライセンス情報を暗号化することで、同じサーバ側認証情報および機器側認証情報を生成することができる。したがって、サーバ側認証情報と機器側認証情報との照合によるライセンス認証を行うことができる。
【0174】
(技術8)前記サーバ側認証情報および前記機器側認証情報は、それぞれ、暗号化文の一部である、技術7に記載の認証方法。
【0175】
これによれば、サーバ側認証情報と機器側認証情報とを復号化せずに暗号化文のまま照合することができる。また、復号化が不要であることから、サーバ側認証情報および機器側認証情報を暗号化文の一部(例えば、暗号化文における復号化に必要な部分を除いた部分)とすることができ、サーバ側認証情報として入力が必要な記号数を少なくすることができる。
【0176】
(技術9)前記サーバ側認証情報受付ステップでは、前記サーバ側認証情報の入力を複数の画面に分けて受け付ける、技術1~8のいずれか1項に記載の認証方法。
【0177】
例えば、サーバ側認証情報を1つの画面で入力する場合には、1つの画面に表示される情報量が多くなり、ユーザはサーバ側認証情報を入力しにくくなる場合がある。そこで、サーバ側認証情報を複数の画面に分けて入力することで、1つの画面に表示される情報量を少なくすることができ、ユーザはサーバ側認証情報を入力しやすくなる。
【0178】
(技術10)前記提示ステップでは、前記固有認証情報を含む図形コードを表示する、技術1~9のいずれかに記載の認証方法。
【0179】
これによれば、提示された図形コードを撮影するだけで、サーバに固有認証情報を送信することができる。
【0180】
(技術11)前記サーバ側認証情報は、乱数を含む、技術1~10のいずれかに記載の認証方法。
【0181】
これによれば、サーバ側認証情報のセキュリティを向上することができる。
【0182】
(技術12)前記固有認証情報は、乱数を含む、技術1~10のいずれかに記載の認証方法。
【0183】
これによれば、固有認証情報のセキュリティを向上することができる。
【0184】
(技術13)前記ライセンス情報は、前記ソフトウェアのライセンスの期間を示す情報を含む、技術1~12のいずれかに記載の認証方法。
【0185】
このように、ライセンス情報は、ライセンスの期間を示す情報であってもよい。
【0186】
(技術14)技術1~13のいずれかに記載の認証方法をコンピュータに実行させるためのプログラム。
【0187】
これによれば、ライセンス認証を容易に行うことができるプログラムを提供できる。
【産業上の利用可能性】
【0188】
本開示は、インターネットに接続されない機器にインストールされたソフトウェアのライセンス認証のための技術などに適用できる。
【符号の説明】
【0189】
100 オフライン機器
101 固有認証情報生成部
102 固有認証情報提示部
103 サーバ側認証情報受付部
104 認証部
105、208 暗号化鍵生成部
106 ライセンス情報受付部
107、209 暗号化部
108 機器側認証情報生成部
109 UI選択肢生成部
110 認証結果提示部
111 ライセンス更新部
112 ライセンス保存部
113 ライセンス情報抽出部
114 復号化部
115 認証端子抽出部
200 ライセンスサーバ
201 固有認証情報受付部
202 ライセンス情報登録部
203 ライセンス情報保存部
204 サーバ側認証情報生成部
205 サーバ側認証情報提示部
206 端末ID抽出部
207 乱数生成部
210 追加認証情報生成部
300 オンライン機器
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
図11A
図11B
図12A
図12B
図13
図14
図15
図16A
図16B
図16C
図17
図18
図19
図20