JP5719799B2 - ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法 - Google Patents

ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法 Download PDF

Info

Publication number
JP5719799B2
JP5719799B2 JP2012106393A JP2012106393A JP5719799B2 JP 5719799 B2 JP5719799 B2 JP 5719799B2 JP 2012106393 A JP2012106393 A JP 2012106393A JP 2012106393 A JP2012106393 A JP 2012106393A JP 5719799 B2 JP5719799 B2 JP 5719799B2
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
information
identification information
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012106393A
Other languages
English (en)
Other versions
JP2013235352A (ja
Inventor
野末 大樹
大樹 野末
賢 大内
賢 大内
孝紀 柳沼
孝紀 柳沼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012106393A priority Critical patent/JP5719799B2/ja
Priority to US13/776,021 priority patent/US8800060B2/en
Publication of JP2013235352A publication Critical patent/JP2013235352A/ja
Application granted granted Critical
Publication of JP5719799B2 publication Critical patent/JP5719799B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1087Synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法に関する。
本技術分野の背景技術として、ある装置で動作していたソフトウェアのライセンスを、別の装置へ引き継ぐ技術として、特開平10−143363号公報(特許文献1)がある。特許文献1には、ソフトウェアライセンスを初期にインストールした装置とは別の装置にインストールすることを目的としており、ソフトウェアの再販機能を備えたソフトウェアライセンス交付装置を設け、ソフトウェアインストール装置と前記ライセンス交付装置との間でライセンスに関する情報の授受を行うことが記載されている(要約、公報段落[0006]および[0013]参照)。
特開平10-143363号公報
特許文献1には、ソフトウェアライセンスを初期にインストールした装置とは別の装置にインストールする際、外部の装置であるソフトウェアライセンス交付装置を介して行うことが記載されている。しかし、通信事業者やサービス提供事業者が独自に有し、外部のインターネットから物理的あるいは論理的に隔離されたネットワーク(以下、閉域網と呼称)の内部に、ゲートウェイ装置、サーバといった装置が設置されている場合、各装置が提供するサービス以外の通信は遮蔽されるため、閉域網外に閉域網内の装置と通信するソフトウェアライセンス交付装置を設けたとしても、閉域網内の装置間でライセンスの認証およびライセンスを引き継ぐことができない。
そこで本発明は、閉域網内の装置であっても、ライセンスを管理する装置を別に追加することなく、複数の装置間でライセンスを認証し、つまり、ライセンスの正当性を判定できる、ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法を提供する。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、自装置である情報処理装置を識別する第1の装置識別情報と、所定の処理を実行するアプリケーションプログラムと、を有する記憶部と、前記アプリケーションプログラムの固有情報を有する認証管理部と、を備え、前記認証管理部は、通信路を介して接続する他の情報処理装置より当該他の情報処理装置を識別する第2の装置識別情報を取得し、取得した前記第2の装置識別情報と前記第1の装置識別情報とに基づいて前記固有情報とに基づいて第1の値を算出し、算出した前記第1の値と前記第1の装置識別情報と前記第2の装置識別情報とに基づいて第1の認証鍵を生成し、生成した前記第1の認証鍵を前記他の情報処理装置に送信し、所定の期間毎に、前記他の情報処理装置より前記第2の装置識別情報を取得し、取得した前記第2の装置識別情報と前記第1の装置識別情報と前記固有情報とに基づいて第2の値を算出し、算出した前記第2の値と前記第1の認証鍵の前記第1の値とを比較し、前記第2の値と前記第1の値とが一致しなかった場合は、前記アプリケーションプログラムの起動を停止することを特徴とする情報処理装置である。
本発明によれば、閉域網内の装置であっても、ライセンスを管理する装置を別に追加することなく、複数の装置間でライセンスを認証する、ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法を提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
ネットワーク構成図である。 サーバ構成図である。 サーバソフトウェア構成図である。 アプリケーションプログラム構成図である。 ライセンスファイル構成図である。 ライセンス鍵の構成図である。 ライセンスインストール時のシーケンスである。 ライセンスインストール時の正当性確認動作フローチャートである。 運用系サーバにおけるライセンス同期フローチャートである。 待機系サーバにおけるライセンス同期フローチャートである。 サーバ通常運転時のライセンス監視シーケンスである。 運用系サーバのライセンス相互チェックフローチャートである。 待機系サーバのライセンス相互チェックフローチャートである。 ライセンス不正利用監視フローチャートである。 運用系サーバ故障時の系切り替えシーケンスである。 運用系サーバ故障時の系切り替えにおけるライセンス鍵更新フローチャートである。 待機系サーバ故障時の系切り替えシーケンスである。 故障を伴わない待機系サーバの交換シーケンスである。 ユーザ指示による系切り替えシーケンスである。 実施例2のネットワーク構成図である。
以下、本発明の実施例を図面を用いて説明する。
複数の装置間でライセンスを認証し、さらに、ライセンスの引き継ぎを行う装置として冗長構成を構成する運用系装置と待機系装置を例に説明する。本実施例におけるネットワーク構成図を図1に示す。これはインターネット(106)経由でサーバが家庭/企業LAN(Local Area Network)(107)のクライアント(108)に対してサービスを提供する一般的な形態である。閉域網(101)の入り口にはルータ/ファイアウォール(105)が設置されるのが一般的であり、サーバが提供するサービス以外の通信はファイアウォールによって遮蔽される。サーバは運用系サーバ(103)と待機系サーバ(104)からなる冗長構成ペア(102)である。本実施例では運用系1台、待機系1台の構成としている。
なお、本実施例では、冗長構成をとるサーバについて説明するが、冗長構成をとる装置は、サーバに限らず、ゲートウェイ装置やパケット交換装置であってよい。
サーバのハードウェア構成図を図2に示す。ここで運用系サーバ(103)について示しているが、運用系サーバ(103)と待機系サーバ(104)とでは同様の構成であるため代表して運用系サーバ(103)のみ示している。後に示すように運用系と待機系とは系切り替えによって役割が変わるものであり、装置ごとに固定されている訳ではない。 運用系サーバ(103)はCPU(201)、主メモリ(202)、不揮発性メモリ(203)、ネットワークインタフェース部(204)、ならびにこれらを接続するバス(205)からなる。本実施例のサーバはディスクドライブやキーボード、ディスプレイ装置など、図2に記載されたデバイス以外のデバイスを有しても良い。サーバはネットワークインタフェース部(204)を介して閉域網(101)に接続する。運用系サーバ(103)と待機系サーバ(104)のサーバ同士は、閉域網(101)を介して系間で通信(以下、系間通信)を行う。
不揮発性メモリ(203)にはサーバソフトウェア(206)や自装置を一意に識別する情報である装置識別子(207)、運用系/待機系識別情報(208)が格納される。運用系/待機系識別情報(208)はこの不揮発性メモリ(203)を有する装置が運用系として動作しているのか、待機系として動作しているのかを表す。待機系IP(Internet Protocol)アドレス(209)は自装置が運用系、すなわち運用系/待機系識別情報(208)の値が運用系になっている場合に格納され、待機系サーバ(104)との系間通信の際に用いる。また主メモリ(202)は、CPU(201)によって不揮発性メモリから読み出されたサーバソフトウェア(206)が動作している。
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはCPU(201)によって実行されることで定められた処理を、主メモリ(202)および不揮発性メモリ(203)、ネットワークインタフェース部(204)などを用いながら行うため、CPU(201)を主語とした説明としてもよい。また、プログラムを主語として開示された処理は運用系サーバ(103)又は待機系サーバ(104)が行う処理としてもよい。
図3は、サーバソフトウェア(206)の構成図を表しており、アプリケーションプログラム(302−1〜4)とライセンスファイル(301−1〜4)、冗長構成管理プログラム(303−1、2)、系間通信プログラム(305−1、2)、ユーザインタフェースプログラム(304−1、2)の関係を示している。2台のサーバのうちどちらが運用系になるのかは、ユーザインタフェースプログラム(304−1、2)を通してユーザからの指定を受け、冗長構成管理プログラム(303−1、2)に設定する。
ユーザの指定は必ずしも両方のサーバに対して行う必要はなく、例えば1台のサーバに対してどちらのサーバが運用系でどちらが待機系を指定すればよい。もう1台のサーバへは系間通信プログラム(305−1、2)を介して閉域網(101)内を通る系間通信によって設定が行われる。
なお、図3では系間通信プログラム(305−1、2)にて運用系と待機系の間の通信を行っているが、冗長構成管理プログラム(303−1、2)やアプリケーションプログラム自身(302−1〜4)の中に系間通信機能を有する形態であってもよい。本実施例では系間通信プログラム(305−1、2)はアプリケーションプログラム(302−1〜4)からは独立した形態について記載するが、合体した形態での実施例も以下と同じである。
冗長構成管理プログラム(303−1)は運用系/待機系識別情報(208)の値が運用系であるときのみアプリケーションプログラム(302−1、2)を起動する。一方待機系サーバ(104)の冗長構成管理プログラム(303−2)はアプリケーションプログラム(302−3、4)を待機系としての動作モード(運用系からサービス関連の情報を授受するなどの動作を行う)として起動する。アプリケーションプログラム#1(302−1、3)、#2(302−2、4)を実行するには、ライセンスファイル(301−1〜4)を必要としており、それぞれライセンスファイル#1(301−1、3)や#2(301−2、4)が正当なものであるかどうかを確認し、正当であればアプリケーションプログラム#1(302−1、3)、#2(302−2、4)の実行が可能である。
本実施例におけるライセンスの正当性の定義は後に述べる。運用系サーバ(103)のアプリケーションプログラム#1(302−1)は待機系サーバ(104)のアプリケーションプログラム#1(302−3)との間に、運用系サーバ(103)のアプリケーションプログラム#2(302−2)は待機系サーバ(104)のアプリケーションプログラム#2(302−4)との間にそれぞれコネクション#1(306−1)、#2(306−2)を確立して、通信を行う。
図4に、アプリケーションプログラム(302)の内部構成を示す。アプリケーションプログラム(302)はアプリケーション本体(401)とライセンス管理部(402)からなる。ライセンス管理部(402)は、装置へのライセンスインストール、ライセンスファイルの認証、ライセンス同期、ライセンス相互チェック、他装置によるライセンスの不正使用の監視といった作業を行う。なお、ライセンスファイル(301)はアプリケーションプログラム(302)ごとに割り当てられるものである。すなわち、異なるアプリケーションプログラム(302)は異なるライセンスファイル(301)を有する。
ライセンス管理部(402)は、シード(403)を持つ。シード(403)とは、ライセンス鍵を生成する際に用いられる文字列あるいは数値であり、アプリケーションプログラム(302)の固有情報である。そのため、同一のアプリケーションプログラム(302)においては、全ての装置で共通の値である。シード(403)は、アプリケーションプログラム作成時に同時に作成し、組み込んでおけばよい。シード(403)は、ライセンス管理部(402)にプログラムデータの一部として組み込まれているため、装置の外部からユーザが直接読み出したり書き換えたりすることは不可能である。
ライセンス管理部(402)によるライセンスインストールは、ユーザインタフェースプログラム(304)を介してユーザからの指示を受けて実施する。ここで、ユーザインタフェースプログラム(304)とは、GUI(Graphical User Interface)などの手段を用いてユーザが装置を制御するためのインタフェースプログラムである。また、ライセンス管理部(402)は、ライセンスインストール時やライセンス同期時にライセンスファイル(301)の認証を行う。正当なライセンスファイル(301)であればアプリケーションプログラム本体(401)を起動するが、ライセンスファイル(301)が不正であればアプリケーションプログラム本体(401)を起動させない、あるいは起動中であれば停止させる。
また、ライセンス同期は運用系サーバ(103)と待機系サーバ(104)の間でお互いの系間通信プログラム(305−1、2)を介して系間通信を行いながら実施する。ライセンス同期の内容については後述する。
なお、アプリケーション本体(401)は、サーバがクライアントに提供するサービス、例えばWebサーバアプリケーションやファイル管理アプリケーション、あるいは通信事業者が提供する各種ゲートウェイ装置におけるユーザ管理プログラムや、通信プロトコル変換プログラムなどであるが、本実施例は特定用途のアプリケーションに限定するものではない。
図5にライセンスファイル(301)の内部構成を示す。ここでライセンスファイル(301)は運用系サーバ(103)と待機系サーバ(104)で同一の内容を有する。
ライセンスファイル(301)は、ライセンス識別子(501)、アプリケーション情報(502)、装置識別子(503)、署名(504)、公開鍵(505)ライセンス鍵(506)を含む。
ライセンス識別子(501)は、ライセンスファイル(301)を識別する識別情報であり、ライセンスファイル(301)毎に異なる。なお、ライセンス識別子(506)は、後述するライセンス鍵(506)を識別する識別情報としてもよい。アプリケーション情報(502)は当該ライセンスファイル(301)がどのアプリケーションプログラム(302)に対応したものかを表す。装置識別子(503)は最初にライセンスファイル(301)をインストールする対象の装置を識別する識別情報であり、例えば、装置のMAC(Media Access Control)アドレスなどが適切である。ユーザがライセンスを申請する際に、装置の識別情報をライセンス提供元に渡すことによって、ライセンス提供元が装置の識別情報をライセンスファイル(301)に装置識別子(503)として書き込む。
署名(504)はライセンス識別子(501)およびアプリケーション情報(502)、装置識別子(503)の情報のハッシュ値を計算し、さらにライセンス提供元が有する秘密鍵を用いてハッシュ値を公開鍵暗号方式によって暗号化したものである。すなわち、署名(504)をSignとし、ライセンス識別子(501)をL_ID、アプリケーション情報(502)をAP_INF、装置識別子(503)をID_Sとおき、ハッシュ値を計算するための一方向関数をf、秘密鍵をSec_KEY、公開鍵暗号関数をPとおいたとき、Signは
Sign = P(f(L_ID | AP_INF | ID_S), Sec_KEY)
という計算によって求められる。ここで | はデータを連続して並べることを表す。
なお、ライセンス鍵(506)を署名(504)の対象にしないのは、後に述べるようにライセンス同期の際にライセンス鍵(506)は内容が更新されるためである。
公開鍵(505)はライセンス提供元が有する秘密鍵と対応するもので、ライセンス管理部(402)がライセンスファイル(301)の正当性を確認する際に署名(504)の検証を行うために用いられる。
署名(504)の検証は、署名(504)を公開鍵(505)で復号化して得られたハッシュ値と、ライセンス識別子(501)およびアプリケーション情報(502)、装置識別子(503)の情報のハッシュ値を計算したものとを比較し、一致するかどうかで行う。
すなわち、署名(504)をSign、公開鍵(505)をPub_KEY、復号化によって得られるハッシュ値をH_decとおいたとき
H_dec = P(Sign, Pub_KEY)
となる。
ライセンス識別子(501)およびアプリケーション情報(502)、装置識別子(503)の情報のハッシュ値をHとおいたとき、
H = f(L_ID | AP_INF | ID_S)
であり、HとH_decとが一致するかどうかで署名(505)の検証を行う。
ライセンス鍵(506)は後に述べる定期ライセンスチェック時にライセンスの正当性を確認するのに用いられる。ライセンス鍵(506)は装置へのライセンスインストール時に生成され、またライセンス同期時などに内容が更新される。
図6に、ライセンス鍵(506)の構成を示す。ライセンス鍵(506)は現運用系装置識別子(601)、現待機系装置識別子(602)、運用系遷移回数(603)、ハッシュ値(604)からなる。現運用系装置識別子(602)は、運用系サーバ(103)となった装置の装置識別子が書きこまれる。なお、装置へのライセンスインストール時点ではライセンスファイル(301)における装置識別子(503)と同じである。現待機系装置識別子(602)は後に述べるライセンス同期にて待機系サーバ(104)となった装置から受信する待機系サーバ(104)の装置識別子である。運用系遷移回数(603)は故障等により装置交換を行った場合に、運用系が現待機系以外の別の装置に移った場合に加算される数であり、初期値は0である。なお、運用系遷移回数(603)は、運用上のポリシーによって、同一冗長構成ペア内部において運用系と待機系が切り替わった場合は加算しないものとすることができる。
ハッシュ値(604)は、シード(403)、現運用系装置識別子(601)、現待機系装置識別子(602)、運用系遷移回数(603)の情報から生成される。
つまり、ハッシュ値(604)をH_Lic、シード(403)をS、現運用系装置識別子(601)をID_A、現待機系装置識別子(602)をID_B、運用系遷移回数(603)をCNTとおくと、H_Licは十分な強度を持つ一方向関数gを用いて例えば次のように生成される。
H_Lic = g(S | ID_A | ID_B | CNT)
ここで | は先述の通り、データを連続して並べることを表す。もちろんハッシュ値(604)は上記のみに制限される訳ではなく、少なくともシード(403)、現運用系装置識別子(601)、現待機系装置識別子(602)を含み、ハッシュ値(604)からこれらの値を推測できないものであれば任意のものでよい。
ハッシュ値(604)の計算にてシード(403)を用いているのはシード(403)が外部から読み出すことが困難であることを利用して、ライセンス鍵(506)を不正に生成することを不可能にするためである。ハッシュ値を不正に生成できないという性質を用いて後に述べるライセンス不正監視が実現できる。
図7に、ライセンスインストール時の運用系サーバ(103)、待機系サーバ(104)の動作シーケンスを示す。本実施例では運用系サーバ(103)に対してのみライセンスインストールを行っている。
ライセンスインストールではユーザは、ライセンスインストール指示(701)においてライセンスファイル(301)と、運用系サーバ(103)が待機系サーバ(104)と通信するための待機系サーバのIPアドレスとを運用系サーバ(103)へ与える。運用系サーバ(103)は、ライセンスファイル(301)の正当性を確認する(702)と、待機系サーバ(104)との間でライセンス同期(703)を行う。この時点で運用系サーバ(103)と待機系サーバ(104)とは同一内容のライセンスファイル(301)を保持(以下これを共有と呼ぶ)する。ライセンスファイル(301)における装置識別子(503)は運用系サーバ(103)のものだけであるが、後に述べるようにライセンス鍵(506)が運用系サーバ(103)と待機系サーバ(104)のそれぞれの装置識別子を用いて生成されるため、任意の装置を当該運用系サーバ(103)に対する待機系として使うことはできない。
運用系サーバ(103)はライセンスファイル(301)の正当性が確認され(702)、ライセンス同期(703)が行われたことをもって、アプリケーションプログラム(302)を通常モードで起動する。通常モードとは、アプリケーションプログラム(302)によって、サービスを提供するモードのことである。
待機系サーバ(104)は、ライセンス同期(703)にて運用系サーバ(103)からライセンスファイル(301)を取得することでアプリケーションプログラム(302)を起動する。また、待機系サーバ(104)は待機系専用モードにてアプリケーションプログラム(302)を起動する。待機系専用モードとは、アプリケーションプログラム(302)は起動しているが、サービスを提供していないモードのことである。
なお、ライセンスインストール(701)時に指定された待機系サーバのIPアドレスに対応する待機系サーバが存在しない場合、運用系サーバ(103)のみで運転(アプリケーションプログラム(302)の起動)を開始できるが、待機系サーバがないことを画面表示などにてユーザに通知し、運転を開始しなくてもよい。
図8に、運用系サーバ(103)によるライセンスファイル(301)インストール時の正当性確認動作(702)のフローチャートを示す。まず、運用系サーバ(103)は、自装置の装置識別子(207)とライセンスファイル(301)の装置識別子(503)を比較し(802)、一致すれば(803でYESの場合)、ライセンスファイル(301)の署名(504)をライセンスファイル(301)の公開鍵(505)を用いて復号化する(804)。復号化されて得られたデータをデータAとする(805)。ここで、どの暗号化方式を用いるかは予めプログラムにて決定しておけばよい。続いてライセンスファイル(301)のライセンス識別子(501)およびアプリケーション情報(502)、装置識別子(503)の情報のハッシュ値を計算し(806)、その結果をデータBとする(807)。データA(805)とデータB(807)とを比較し(808)、一致すれば(809でYESの場合)、ライセンスファイル(301)の正当性が確認されたとして、正当性確認動作を終了する(811)。
自装置の装置識別子(207)とライセンスファイル(301)の装置識別子(503)を比較した結果が一致しなかった場合(803でNOの場合)は、ライセンスファイル(301)を消去(810)して終了する(811)。あるいはデータA(805)とデータB(807)とを比較した(808)結果が一致しなかった場合(809でNOの場合)はライセンスファイルを(301)消去して(810)、終了(811)する。
図9に、運用系サーバ(103)のライセンス管理部(402)によるライセンス同期(703)のフローチャートを示す。まず、インストール時に指定された(701)待機系サーバ(104)のIPアドレスにもとづき待機系サーバ(104)が存在するかを確認する(902)。この確認は、例えばpingなどの方法で実行可能である。指定された待機系サーバ(104)が存在した場合(903でYESの場合)、待機系サーバ(104)のIPアドレスを不揮発性メモリ(203)の待機系IPアドレス(209)へ保存(904)する。
次に、待機系IPアドレス(209)を用いて待機系サーバ(104)のアプリケーションプログラム(302)のライセンス管理部(402)との間にコネクションを確立する(905)。これは運用系サーバ(103)と待機系サーバ(104)のアプリケーションプログラム(302)のライセンス管理部(402)どうしの間にTCP(Transmission Control Protocol)のコネクションを確立するなどすればよい。
次に、確立したコネクションを用いて待機系サーバ(104)の装置識別子を取得し(906)ライセンス鍵(506)の現待機系装置識別子に書きこむ。続いてシード(403)と、ライセンスファイル(301)のライセンス鍵(506)の運用系装置識別子(601)、取得した待機系サーバ(104)の装置識別子、ライセンスファイル(301)のライセンス鍵(506)の運用系遷移回数(603)からハッシュ値を計算(907)する。計算したハッシュ値をライセンスファイル(301)のライセンス鍵(506)のハッシュ値(604)に書き込む(909)。これによりライセンス鍵(506)が完成する(908)。
ライセンス鍵(506)が完成したライセンスファイル(301)を不揮発性メモリ(203)に格納し(910)、また、待機系サーバ(104)へ送信して(911)ライセンス同期処理を終了する(912)。
なお、指定された待機系サーバ(104)が存在しなかった場合(903でNOの場合)は何もせずにライセンス同期処理を終了する(912)。これは、例えば待機系サーバ(104)が故障していた場合などにありうる。
図10に、待機系サーバ(104)のライセンス管理部(402)によるライセンス同期(703)のフローチャートを示す。まず、運用系サーバ(103)からの指示により運用系サーバ(104)との間にコネクションを確立する(1002)。次に運用系サーバ(103)の指示により自装置の装置識別子を運用系サーバ(104)へ送信する(1003)。次に運用系サーバ(103)よりライセンスファイル(301)を受信し、これを不揮発性メモリ(203)内のサーバソフトウェア(206)内のライセンスファイル(301)として格納する(910)。
この段階で運用系サーバ(103)と待機系サーバ(104)は同一内容のライセンスファイル(301)を共有する。生成されたライセンス鍵(506)を含むライセンスファイル(301)を別の装置へ不正にコピーした場合は、以下に示すようにアプリケーションプログラム(302)が停止される。
図11に、インストール後の通常運転時のライセンス監視シーケンスを示す。冗長構成ペア(102)が#1(102−1)と#2(102−2)の2つあるとする。以下、冗長構成ペア#1(102−1)が実施するライセンス監視シーケンスを説明するが、当然ラインセンス監視は冗長構成ペア#1(102−1)だけではなく、冗長構成ペア#2(102−2)も実施する。
冗長構成ペア#1(102−1)の運用系サーバ(103−1)は、一定時間待機(1101)後、待機系サーバ(104−1)との間でライセンスファイル相互チェック(1102)を実施する。次にライセンスファイル(301)の不正利用がないかライセンスファイル不正監視(1103)を行う。ライセンスファイル不正監視(1103)にて、冗長構成ペア#1(102−1)の運用系サーバ(103−1)は、閉域網(101)内の他の装置に対して、ライセンス識別子(501)と、ラインセンス鍵(506)などの送信を要求する(1104)。ライセンスファイル不正監視(1103)については後述する。
これらライセンスファイル相互チェック(1102)とライセンスファイル不正監視(1103)は一定時間ごとに実施される。冗長構成ペア#2(102−2)も冗長構成ペア#1(102−1)とは異なるタイミングでこれらライセンスファイル相互チェック(1102)とライセンスファイル不正監視(1103)を実施する。
図12に、運用系サーバ(103)のライセンス管理部(402)によるライセンス相互チェック(1102)のフローチャートを示す。まず、待機系サーバ(104)との間のコネクションを利用して待機系サーバ(104)から待機系サーバ(104)の装置識別子を取得する(1202)。次に、運用系サーバ(103)のライセンスファイル(301)のライセンス鍵(506)の現運用系装置識別子(601)と、取得した待機系サーバ(104)の装置識別子、ライセンスファイル(301)のライセンス鍵(506)の運用系遷移回数(603)、シード(403)からハッシュ値を計算する(1203)。これをハッシュ値A(1204)とする。ライセンスファイル(301)のライセンス鍵(506)のハッシュ値(604)とハッシュ値A(1204)とを比較し(1205)、一致していれば(1206でYESの場合)処理を終了(1208)する。一致していれば(1206でYESの場合)処理を終了する(1208)。一致しなければ(1206でNOの場合)、運用系サーバ(103)のアプリケーションプログラム(302)を停止(1207)して処理を終了(1208)する。
図13に、待機系サーバ(104)によるライセンス相互チェック(1102)のフローチャートを示す。まず運用系サーバ(103)との間のコネクションを利用して運用系サーバ(103)から運用系サーバ(103)の装置識別子を取得する(1302)。次に取得した運用系サーバ(103)の装置識別子と、待機系サーバ(104)のライセンスファイル(301)のライセンス鍵(506)の現待機系装置識別子(602)と、運用系遷移回数(603)、シード(403)からハッシュ値を計算する(1303)。これをハッシュ値B(1304)とする。待機系サーバ(104)のライセンスファイル(301)のライセンス鍵(506)のハッシュ値(604)とハッシュ値B(1304)とを比較し(1305)、一致していれば(1306でYESの場合)処理を終了する(1308)。一致しなければ(1306でNOの場合)運用系サーバ(103)に対してアプリケーションプログラム(302)の停止指示を発行(1307)する。
図14に、運用系サーバ(103)のライセンス管理部(402)によるライセンス不正利用監視動作(1103)をフローチャートにて示す。まず、予め定められたマルチキャストIPアドレス宛てにライセンス識別子(501)、ライセンス鍵(506)、IPアドレスの取得要求を発行する(1402)。なお、マルチキャストIPアドレス宛ての取得要求を受信した装置のライセンス管理部は、ライセンス識別子、ライセンス鍵、IPアドレスを応答データとして送信するよう構成されている。
次に、以下に述べる処理を予め定められた回数、または、予め定められた時間が経過するまで繰り返す(1403から1412)。まず、マルチキャストIPアドレス宛てに発行した要求の応答を待つ(1404)。
ある装置からの応答データを受信(1405)すると、受信した応答データのライセンス識別子と自装置のライセンスファイル(301)のライセンス識別子(501)とを比較する(1406)。一致しなかった場合(1407でNOの場合)、再度応答待ち(1404)になるか、繰り返し回数の上限に達したら処理を終了する(1413)。一致した場合(1407でYESの場合)は、受信した応答データの送信元装置か自装置のどちらかがライセンスを不正利用していることになる。
この場合、まず運用系サーバ(103)は、受信した応答データのライセンス鍵(506)の中の運用系遷移回数(603)と自装置のライセンスファイル(301)のライセンス鍵(506)の中の運用系遷移回数(603)を比較し(1408)、自装置の運用系遷移回数(603)のほうが小さければ(1409でYESの場合)、自装置がライセンスを不正利用していたとみなし、アプリケーションプログラム(302)を停止(1411)させる。
一方、自装置の運用系遷移回数(603)のほうが大きければ(1409でNOの場合)、受信した応答データの送信元装置がライセンスファイル(301)を不正利用していたとみなし、送信元装置宛てにアプリケーションプログラム停止指示を発行する(1410)。
両者の運用系遷移回数(603)が等しい場合、送信元装置宛てにアプリケーションプログラム停止指示を発行する。なお、ライセンス不正利用監視動作(1103)は各冗長構成ペア(102)の運用系サーバ(103)が各々のタイミングで実行しているため、先に検出した冗長構成ペア(102)の運用系サーバ(103)が他の冗長構成ペア(102)の運用系サーバ(103)が実行するアプリケーションプログラム(302)を停止させることになる。アプリケーションプログラム停止指示を発行した冗長構成ペア(102)の運用系サーバ(103)は、アプリケーションプログラム停止指示を自装置に対して発行する運用系サーバがいなくなるため動作し続ける。このようにしてライセンス数分の運用系サーバのアプリケーションプログラムだけが動作可能になる。
なお、運用系遷移回数(603)が多いほうが正当なライセンスファイル(301)利用装置である根拠は、運用系遷移回数(603)は故障などによる装置交換にて運用系サーバが新しい装置に代わる度に加算されていくため、運用系遷移回数(603)の値が小さいほうの装置は、以前利用していた装置が交換により撤去された後、ライセンスを更新せずに再度使用しようとしたと考えられるからである。
また、運用系遷移回数(603)を意図的に書き換えるとライセンス鍵(506)におけるハッシュ値(604)があわなくなるためライセンスファイル相互チェック(1102)により不正を検出される。
なお、ある装置からの受信した応答データのライセンス識別子と自装置のライセンスファイル(301)のライセンス識別子(501)が一致した(1407でYESの場合)ことを検知すると、受信した応答データの送信元装置がライセンスファイル(301)を不正利用していたとみなし、送信元装置宛てにアプリケーションプログラム停止指示を発行(1410)してもよい。また、自装置がライセンスファイル(301)を不正利用していたとみなし、アプリケーションプログラム(302)を停止(1411)させてもよい。また、送信元装置と自装置の両方のアプリケーションプログラム(302)を停止させてもよい。 次に、装置が故障した場合などで運用系サーバ(103)と待機系サーバ(104)の切り替わりが発生するケースを考える。図15は、運用系サーバ(103)が故障した場合の切り替えシーケンスである。まず、運用系サーバ(103)が故障する(1501)と待機系サーバ(104)は運用系サーバ(103)の故障を検出し(1502)、系切り替え(1503)を行って新たに新運用系サーバ(103’)となる。続いて、新運用系サーバ(103’)のライセンス管理部402はライセンスファイル(301)のライセンス鍵(506)の更新(1504)を行い、アプリケーションプログラム(302)を起動させる。
ユーザが新しい装置を用意して、これを新待機系サーバ(104’)として組み込む場合、ユーザは新運用系サーバ(103’)に対して新待機系サーバ(104’)の組み込み指示を行う。
新運用系サーバ(103’)は、指定された装置を新待機系サーバ(104’)としてライセンス同期(1507)を行う。ライセンス同期(1507)を行った新待機系サーバ(104’)は、アプリケーションプログラム(302)を待機系専用モードで動作開始させる(1508)。
ライセンス同期(1507)については図9、10にて示した通りであり、新待機系サーバ(104’)は、ライセンスファイル(302)を更新して不揮発性メモリ(203)内のサーバソフトウェア(206)内のライセンスファイル(302)として上書きする。
このようにして、ライセンスファイルを運用系サーバから待機系サーバ(新運用系サーバ)へ引き継ぐことができ、新運用系サーバは新待機系サーバとの間で新たにライセンス同期を行うことが可能となる。
図16に、新運用系サーバ(103’)のライセンス管理部402によるライセンス鍵の更新(1504)の動作フローチャートを示す。まずライセンス鍵(506)の現運用系装置識別子(601)と、現待機系装置識別子(602)、運用系遷移回数(603)、シード(403)からハッシュ値を計算し(1602)、これをハッシュ値C(1603)とする。次に、ライセンス鍵(506)の中のハッシュ値(604)とハッシュ値C(1603)とを比較し(1604)、一致していれば(1605でYESの場合)ライセンス鍵(506)の運用系遷移回数(603)を加算する(1607)。
そして、現運用系装置識別子(601)と現待機系装置識別子(602)と加算した運用系遷移回数(603)とシード(403)とを用いてハッシュ値を計算し(1608)、この値をライセンス鍵(506)のハッシュ値(604)とすることでライセンス鍵(506)を更新して(1609)終了する(1610)。
一方、ライセンス鍵(506)の中のハッシュ値(604)とハッシュ値C(1603)とが一致していなかった場合(1605にてNOの場合)、ライセンスファイル(301)を消去して終了(1610)する。
ライセンス鍵(506)の更新が完了した時点で故障が発生した旧運用系サーバ(103)のライセンス鍵(506)の運用系遷移回数(603)は、新運用系サーバ(103’)のライセンス鍵(506)の運用系遷移回数(603)より小さいため無効である。仮に、旧運用系サーバ(103)を修理してから再度閉域網(101)に組み込んだとしても新運用系サーバ(103’)によるライセンス不正利用監視動作(1103)において旧運用系サーバ(103)の運用系遷移回数(603)が新運用系サーバ(103’)の運用系遷移回数(603)より小さいために不正利用とされて旧運用系サーバ(103)のアプリケーションプログラム(302)は新運用系サーバ(103’)によって停止される。
次に、図17に待機系サーバ(104)が故障した場合の切り替えシーケンスを示す。待機系サーバ(104)で故障が発生する(1701)と運用系サーバ(103)はこれを検出する。この時点では運用系サーバ(103)はライセンス鍵(506)の更新などを行わない。運用系サーバ(103)、ユーザから新しい待機系サーバを指定して待機系組み込み指示(1703)が発行されると運用系サーバ(103)と新待機系サーバ(104’)との間でライセンス同期(1704)を行う。ライセンス同期完了(1704)後、新待機系サーバ(104’)ではアプリケーションプログラム(302)を待機系専用モードで動作開始(1705)させる。
このようにして、運用系サーバは新待機系サーバとの間でライセンス同期を行うことができる。
また、故障を伴わない待機系サーバ(104)の交換シーケンスを図18に示す。これは、例えばメンテナンスなどの目的で行われるものである。ユーザが運用系サーバ(103)に対して新しい待機系サーバ(104’)を指定して待機系組み込み指示(1801)を発行すると、運用系サーバ(103)と新待機系サーバ(104’)との間でライセンス同期(1802)を行う。ライセンス同期(1802)完了時点で新しい冗長構成ペアは新しいライセンスファイル(301)を共有するため、旧待機系サーバ(104)のライセンスファイル(301)は運用系サーバ(103)のライセンスファイル(301)と対応しないため無効になる。新待機系サーバ(104’)ではアプリケーションプログラムを待機系専用モードで動作開始(1803)させる。また、運用系サーバ(103)と旧待機系サーバ(104)との間ではライセンス同期の解消(1804)を行う。
旧待機系サーバ(104)によるライセンス同期の解消(1804)の動作は、運用系サーバ(103)からの指示に応じてライセンスファイル(301)を削除して処理を終了する。
ただし、このライセンス同期の解消(1804)は必須ではない。ライセンス同期の解消(1804)を実施しなかったとしても運用系サーバ(103)と新待機系サーバ(104’)との間でライセンス同期(1802)によるライセンスファイル(301)の更新が行われているため、旧待機系サーバ(104)のラインセンスファイル(301)は無効であるからである。
図19に、ユーザの指示にもとづく系切り替えのシーケンスを示す。これは、例えばメンテナンスなどの目的で行われるものである。ユーザが、運用系サーバ(103)に対して系切り替え指示(2001)を発行すると、運用系サーバ(103)は新待機系サーバ(104’)へ切り替わり(2002)、待機系サーバ(104)に対して系切り替えを指示し(2008)、待機系サーバ(104)はこれを受けて新運用系サーバ(103’)へと切り替わる。新運用系サーバ(103’)のライセンス管理部(402)は、アプリケーションプログラム(302)が待機系専用モードで動作していた場合、これを停止させ(2005)、アプリケーションプログラム(302)を通常モードで動作開始させる(2007)。一方、新待機系サーバ(104’)のライセンス管理部(402)は、アプリケーションプログラム(302)を動作停止させ(2005)、アプリケーションプログラム(302)を待機系専用モードで動作開始させる(2007)。このようにして運用系サーバと待機系サーバが入れ替わる。
実施例2における別のネットワーク構成を図20に示す。これは、冗長構成ペア(2101)において運用系サーバ(2101−1〜N)がN台(N≧2)あって、待機系サーバ(2103)が1台の構成である。この場合、ライセンスファイル、ライセンス鍵の構成はそれぞれ実施例1の図5のライセンスファイル(301)、図6のライセンス鍵(506)と同じだが、各運用系サーバ(2101−1〜N)は待機系サーバ(2103)との間でそれぞれライセンスファイル(302)を共有する。待機系サーバ(2103)は運用系サーバの数だけのライセンスファイル(301)を持つことになる。
各ライセンスファイル(301)におけるライセンス識別子(501)や署名(504)、ライセンス鍵(506)は、対応する運用系サーバ(2101−1〜N)ごとに異なる値をとる。ライセンス同期は図9、図10と同様であるが、全ての運用系サーバ(2101−1〜N)は待機系サーバ(2103)との間にそれぞれコネクションを確立することになる。つまり、待機系サーバ(2103)はN本分のコネクションを有することになる。しかし、運用系サーバの台数が増えたことを除けばライセンス同期、ライセンスファイル相互チェック、ライセンスファイル不正利用監視は実施例1におけるそれぞれ図10・図11、図12・図13、図14と動作は同様であり、各運用系サーバ(2101−1〜N)と待機系サーバ(2103)との間でこれらの動作フローを実施する。
運用系サーバ(2101−1〜N)のうちの1台が故障した場合、待機系サーバ(2103)との切り替えを行い、またユーザから新待機系サーバの指定を受けて新待機系サーバの組み込みを行うなどの動作も実施例1の図15と同じである。待機系サーバ(2103)が故障した場合は、実施例1の図17に示す待機系サーバ故障による切り替えシーケンスを運用系のサーバ台数分だけ実施する。故障を伴わない待機系サーバの切り替えシーケンスは実施例1の図18と同じだが、各運用系サーバ(2101−1〜N)に対して待機系組み込み指示が必要である。またユーザ指定による系切り替えシーケンスについては、指定された運用系サーバ(2102−1〜Nのいずれか)と待機系サーバ(2103)の間で実施例1の図20に示す系切り替えシーケンスを行った後で、残りの全ての運用系サーバに対して図18に示す待機系交換シーケンスを実施する。
実施例では冗長構成の装置において説明したが、冗長構成に限らず2台や3台の装置であってもよい。
以上のように、閉域網内の装置であっても、ライセンスを管理する装置を別に追加することなく、複数の装置間でライセンスを認証し、認証できなければ、各装置で実行しているアプリケーションプログラムの起動を停止することができる。また、各装置に故障などが発生しても、ライセンスの引き継ぎを行うことができる。
101:閉域網
102:サーバ冗長構成ペア
103:運用系サーバ
103’:新運用系サーバ
104:待機系サーバ
104’:新待機系サーバ
206:サーバソフトウェア
208:運用系/待機系区分情報
209:待機系IPアドレス
301:ライセンスファイル
302:アプリケーションプログラム
303:冗長構成管理プログラム
401:アプリケーション本体
402:ライセンス管理部
403:シード
501:ライセンス識別子
502:アプリケーション情報
504:署名
506:ライセンス鍵
601:現運用系装置識別子
602:現待機系装置識別子
603:運用系遷移回数

Claims (10)

  1. 自装置である情報処理装置を識別する第1の装置識別情報と、所定の処理を実行するアプリケーションプログラムと、を有する記憶部と、
    前記アプリケーションプログラムの固有情報を有する認証管理部と、を備え、
    前記認証管理部は、
    通信路を介して接続する他の情報処理装置より当該他の情報処理装置を識別する第2の装置識別情報を取得し、
    取得した前記第2の装置識別情報と前記第1の装置識別情報と前記固有情報とに基づいて第1の値を算出し、
    算出した前記第1の値と前記第1の装置識別情報と前記第2の装置識別情報とに基づいて第1の認証鍵を生成し、
    生成した前記第1の認証鍵を前記他の情報処理装置に送信し、
    所定の期間毎に、前記他の情報処理装置より前記第2の装置識別情報を取得し、
    取得した前記第2の装置識別情報と前記第1の装置識別情報と前記固有情報とに基づいて第2の値を算出し、
    算出した前記第2の値と前記第1の認証鍵の前記第1の値とを比較し、
    前記第2の値と前記第1の値とが一致しなかった場合は、前記アプリケーションプログラムの起動を停止する
    ことを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記記憶部は、前記第1の認証鍵を識別する第1の認証識別情報をさらに有し、
    前記認証管理部は、
    予め設定されたマルチキャストアドレスを用いて、前記アプリケーションプログラムを持つ自装置および前記他の情報処理装置とは別の情報処理装置へ、前記別の情報処理装置の記憶部が有する第2の認証識別情報を送信するよう送信要求を送信し、
    前記別の情報処理装置より前記第2の認証識別情報を受信すると、受信した前記第2の認証識別情報と前記第1の認証識別情報とを比較し、
    前記第2の認証識別情報と前記第1の認証識別情報とが一致した場合は、前記別の情報処理装置へ前記別の情報処理装置の前記アプリケーションプログラムの起動を停止するよう停止指示を送信する
    ことを特徴とした情報処理装置。
  3. 請求項2に記載の情報処理装置であって、
    前記記憶部は、自装置が冗長構成における運用系か待機系かを特定する系情報をさらに有し、
    前記第1の認証鍵は、前記運用系が前記他の情報処理装置および前記別の情報処理装置へ遷移した回数である第1の遷移回数を有し、
    前記系情報が、前記運用系であるとき、
    前記認証管理部は、
    前記送信要求に前記別の情報処理装置が保持する第2の認証鍵の送信の要求も含め、
    前記別の情報処理装置より前記第2の認証識別情報および前記第2の認証鍵を受信すると、
    前記第2の認証識別情報と前記第1の認証識別情報とが一致した場合は、さらに受信した前記第2の認証鍵に含まれる第2の遷移回数と前記第1の認証鍵に含まれる前記第1の遷移回数とを比較し、
    前記第2の遷移回数よりも前記第1の遷移回数が大きいときは、前記停止指示を送信し、
    前記第2の遷移回数よりも前記第1の遷移回数が小さいときは、自装置の前記アプリケーションプログラムの起動を停止する
    ことを特徴とする情報処理装置。
  4. 請求項2に記載の情報処理装置であって、
    前記記憶部は、自装置が冗長構成における運用系か待機系かを特定する系情報をさらに有し、
    前記第1の認証鍵は、前記運用系が前記他の情報処理装置および前記別の情報処理装置へ遷移した回数である第1の遷移回数を有し、
    前記系情報が、前記運用系であるとき、
    前記認証管理部は、
    前記別の情報処理装置より前記第2の認証識別情報および第2の認証鍵を受信すると前記第2の認証識別情報と前記第1の認証識別情報とが一致した場合は、さらに受信した前記第2の認証鍵に含まれる第2の遷移回数と前記第1の認証鍵に含まれる前記第1の遷移回数とを比較し、
    前記第2の遷移回数と前記第1の遷移回数が一致するときは、前記別の情報処理装置へ前記別の情報処理装置の前記アプリケーションプログラムの起動を停止するよう停止指示を送信する
    ことを特徴とする情報処理装置。
  5. 請求項2に記載の情報処理装置であって、
    前記記憶部は、自装置が冗長構成における運用系か待機系かを特定する系情報をさらに有し、
    前記系情報が、前記運用系であるとき、
    前記待機系である前記他の情報処理装置に障害が発生すると、前記障害を検知し、
    自装置および前記他の情報処理装置とは別の情報処理装置を前記待機系とする待機系組込指示を受け付けると、
    前記認証管理部は、
    前記別の情報処理装置より当該別の情報処理装置を識別する第3の装置識別情報を取得し、
    前記固有情報と前記第1の装置識別情報と前記第3の装置識別情報とに基づいて前記第1の値を算出し、
    算出した前記第1の値を含む前記第1の認証鍵を前記別の情報処理装置に送信する
    ことを特徴とする情報処理装置。
  6. 請求項2に記載の情報処理装置であって、
    前記記憶部は、自装置が冗長構成における運用系か待機系かを特定する系情報をさらに有し、
    前記系情報が、前記待機系であるとき、
    前記運用系である前記他の情報処理装置に障害が発生すると、前記障害を検知し、
    前記系情報を前記運用系に変更し、
    前記認証管理部は、
    前記固有情報と前記第1の装置識別情報および前記第2の装置識別情報とに基づいて第3の値を算出し、
    算出した前記第3の値と前記第1の値とを比較し、
    前記第3の値と前記第1の値とが一致する場合は、前記アプリケーションプログラムの起動を開始し、
    自装置および前記他の情報処理装置とは別の情報処理装置を前記待機系とする待機系組込指示を受け付けると、
    前記別の情報処理装置より当該別の情報処理装置を識別する第3の装置識別情報を取得し、
    前記固有情報と前記第1の装置識別情報と前記第3の装置識別情報とに基づいて前記第1の値を算出し、
    算出した前記第1の値を含む前記第1の認証鍵を前記別の情報処理装置に送信する
    ことを特徴とする情報処理装置。
  7. 第1の情報処理装置と、前記第1の情報処理装置と通信路を介して接続する第2の情報処理装置と、を有し
    前記第1の情報処理装置は、
    所定の処理を実行するアプリケーションプログラムと、自装置を識別する第1の装置識別情報と、を有する記憶部と、
    前記アプリケーションプログラムの固有情報を有する認証管理部と、を備え、
    前記第2の情報処理装置は、
    前記アプリケーションプログラムと、自装置を識別する第2の装置識別情報と、を有する記憶部と、
    前記固有情報を有する認証管理部と、を備え、
    前記第1の情報処理装置の認証管理部は、
    前記第2の情報処理装置より前記第2の装置識別情報を取得し、
    取得した前記第2の装置識別情報と前記第1の装置識別情報と自装置の前記固有情報とに基づいて第1の値を算出し、
    算出した前記第1の値と前記第1の装置識別情報と前記第2の装置識別情報とに基づいて第1の認証鍵を生成し、
    生成した前記第1の認証鍵を前記第2の情報処理装置に送信し、
    所定の周期毎に、前記第2の情報処理装置より前記第2の装置識別情報を得し、
    取得した前記第2の装置識別情報と前記第1の装置識別情報と自装置の前記固有情報とに基づいて第2の値を算出し、
    算出した前記第2の値と前記第1の認証鍵の前記第1の値とを比較し、
    前記第2の値と前記第1の値とが一致しなかった場合は、前記アプリケーションプログラムの起動を停止し、
    前記第2の情報処理装置の認証管理部は、
    前記第1の認証鍵を前記第1の情報処理装置より受信すると、
    受信した前記第1の認証鍵を自装置の前記記憶部に格納し、
    所定の周期毎に、前記第1の情報処理装置より前記第1の装置識別情報を得し、
    取得した前記第1の装置識別情報と自装置の前記第2の装置識別情報と自装置の前記固有情報とに基づいて第3の値を算出し、
    算出した前記第3の値と格納した前記第1の認証鍵に含まれる前記第1の値と比較し、
    前記第3の値と前記第1の値とが一致しなかった場合は、前記第1の情報処理装置の前記アプリケーションプログラムの起動を停止するよう停止指示を送信する
    ことを特徴とする通信システム。
  8. 請求項7に記載の通信システムであって、
    前記第1の情報処理装置の前記記憶部は、前記第1の認証鍵を識別する第1の認証識別情報をさらに有し、
    前記第1の情報処理装置の前記認証管理部は、
    予め設定されたマルチキャストアドレスを用いて、前記アプリケーションプログラムを持つ他の情報処理装置へ、前記他の情報処理装置の記憶部が有する第2の認証識別情報を送信するよう送信要求を送信し、
    前記他の情報処理装置より前記第2の認証識別情報を受信すると、受信した前記第2の認証識別情報と前記第1の認証識別情報とを比較し、
    前記第2の認証識別情報と前記第1の認証識別情報とが一致した場合は、前記の情報処理装置へ前記他の情報処理装置の前記アプリケーションプログラムの起動を停止するよう停止指示を送信する
    ことを特徴とした情報処理装置。
  9. 請求項8に記載の通信システムであって、
    前記第1の情報処理装置の前記記憶部は、自装置が冗長構成における運用系か待機系かを特定する系情報をさらに有し、
    前記第1の情報処理装置の前記第1の認証鍵は、前記運用系が前記第2の情報処理装置および前記の情報処理装置へ遷移した回数である第1の遷移回数を有し、
    前記第1の情報処理装置の前記認証管理部は、
    前記送信要求に前記他の情報処理装置が保持する第2の認証鍵の送信の要求も含め、
    前記他の情報処理装置より前記第2の認証識別情報および第2の認証鍵を受信すると、受信した前記第2の認証識別情報と前記第1の認証識別情報とを比較し、
    前記第2の認証識別情報と前記第1の認証識別情報とが一致した場合は、受信した前記第2の認証鍵に含まれる第2の遷移回数と前記第1の認証鍵に含まれる前記第1の遷移回数とを比較し、
    前記第2の遷移回数よりも前記第1の遷移回数が大きいときは、前記他の情報処理装置へ前記他の情報処理装置の前記アプリケーションプログラムの起動を停止するよう停止指示を送信し、
    前記第2の遷移回数よりも前記第1の遷移回数が小さいときは、自装置の前記アプリケーションプログラムの起動を停止する
    ことを特徴とする通信システム。
  10. 請求項9に記載の通信システムであって、
    前記第1の情報処理装置は、
    自装置の前記系情報が、前記運用系であるとき、
    前記待機系である前記第2の情報処理装置に障害が発生すると、前記障害を検知し、
    第3の情報処理装置を前記待機系とする待機系組込指示を受け付けると、
    前記第1の情報処理装置の前記認証管理部は、
    前記第3の情報処理装置より当該第3の情報処理装置を識別する第3の装置識別情報を取得し、
    自装置の前記固有情報と前記第1の装置識別情報と前記第3の装置識別情報とに基づいて前記第1の値を算出し、
    算出した前記第1の値を含む前記第1の認証鍵を前記第3の情報処理装置に送信する
    ことを特徴とする通信システム。
JP2012106393A 2012-05-08 2012-05-08 ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法 Expired - Fee Related JP5719799B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012106393A JP5719799B2 (ja) 2012-05-08 2012-05-08 ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法
US13/776,021 US8800060B2 (en) 2012-05-08 2013-02-25 Information processing device performing software license authentication, communication system, and software license authentication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012106393A JP5719799B2 (ja) 2012-05-08 2012-05-08 ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法

Publications (2)

Publication Number Publication Date
JP2013235352A JP2013235352A (ja) 2013-11-21
JP5719799B2 true JP5719799B2 (ja) 2015-05-20

Family

ID=49549705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012106393A Expired - Fee Related JP5719799B2 (ja) 2012-05-08 2012-05-08 ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法

Country Status (2)

Country Link
US (1) US8800060B2 (ja)
JP (1) JP5719799B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103597495B (zh) * 2011-06-14 2016-03-23 松下电器产业株式会社 信息处理装置、信息处理方法、集成电路
US9703937B2 (en) * 2013-04-10 2017-07-11 Dell Products, L.P. Method to prevent operating system digital product key activation failures
US20150220893A1 (en) * 2014-02-05 2015-08-06 Andrew Dale Jouffray Software marketing and trade
TW201633198A (zh) * 2015-03-04 2016-09-16 映智科技股份有限公司 具有指紋辨識功能之儲存裝置
JP2016177345A (ja) * 2015-03-18 2016-10-06 富士通株式会社 情報処理システム及び情報処理システムの制御方法
US9900285B2 (en) 2015-08-10 2018-02-20 International Business Machines Corporation Passport-controlled firewall
US10044701B2 (en) * 2016-05-24 2018-08-07 Vantiv, Llc Technologies for token-based authentication and authorization of distributed computing resources
JP7151419B2 (ja) * 2018-11-27 2022-10-12 株式会社リコー 代替用サーバ、方法およびプログラム
JP6977740B2 (ja) * 2019-02-22 2021-12-08 横河電機株式会社 コンピュータシステム、コンピュータ装置およびライセンス管理方法
JP7230592B2 (ja) * 2019-03-05 2023-03-01 京セラドキュメントソリューションズ株式会社 機器セットアップシステム、機器セットアップ方法及び電子機器
EP3709197A1 (en) * 2019-03-13 2020-09-16 Ricoh Company, Ltd. Information processing system, server, carrier medium, and method for controlling assignment of license
US11372951B2 (en) * 2019-12-12 2022-06-28 EMC IP Holding Company LLC Proxy license server for host-based software licensing
CN114065140A (zh) * 2020-08-04 2022-02-18 富泰华工业(深圳)有限公司 软件程序验证方法、电子装置及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4101897B2 (ja) 1996-11-13 2008-06-18 富士通株式会社 ソフトウェアライセンス交付装置
JP2005284506A (ja) * 2004-03-29 2005-10-13 Matsushita Electric Ind Co Ltd ダウンロードシステム及びダウンロードシステムを構成する機器、管理局、リムーバブルメディア
US20060020553A1 (en) * 2004-07-26 2006-01-26 Septon Daven W License proxy process to facilitate license sharing between a plurality of applications
US7725721B2 (en) * 2004-11-18 2010-05-25 Cisco Technology, Inc. Method and system for transferring software and hardware feature licenses between devices
US8660964B2 (en) * 2006-06-30 2014-02-25 Hewlett-Packard Development Company, L.P. Secure device licensing
JP4908961B2 (ja) * 2006-07-27 2012-04-04 キヤノン株式会社 情報処理方法、情報処理装置、プログラム及び記憶媒体
JP5177852B2 (ja) * 2008-01-23 2013-04-10 Necインフロンティア株式会社 ライセンスキー共有方法及びライセンスキー共有システム
JP2011150524A (ja) * 2010-01-21 2011-08-04 Yokogawa Electric Corp ソフトウェア実行システム

Also Published As

Publication number Publication date
US8800060B2 (en) 2014-08-05
US20130305394A1 (en) 2013-11-14
JP2013235352A (ja) 2013-11-21

Similar Documents

Publication Publication Date Title
JP5719799B2 (ja) ソフトウェアライセンスの認証を行う情報処理装置および通信システム、ソフトウェアライセンス認証方法
US8266286B2 (en) Dynamic key management server discovery
US8037514B2 (en) Method and apparatus for securely disseminating security server contact information in a network
US8886934B2 (en) Authorizing physical access-links for secure network connections
JP5975594B2 (ja) 通信端末及び通信システム
CN115442147A (zh) 网络通信业务的安全传送装置
WO2010068698A2 (en) System and method for providing virtual private networks
JP4902878B2 (ja) リンク管理システム
CN101952811A (zh) 用于中心管理站自动分发配置信息到远程装置的各种方法和设备
US20160294777A1 (en) Method and system for establishing virtual private networks between local area networks
US8055780B2 (en) Method of managing information and information processing apparatus
US9948621B2 (en) Policy based cryptographic key distribution for network group encryption
JP4877932B2 (ja) 暗号化通信システム及び暗号鍵更新方法
JP2016051921A (ja) 通信システム
US7870604B1 (en) Methods and apparatus to configure network nodes supporting virtual connections
WO2013013481A1 (zh) 接入认证方法、设备、服务器及系统
WO2009006854A1 (fr) Procédé et système d'authentification de gestion basée sur le sous-système de rattachement au réseau
JP6453351B2 (ja) 通信ネットワークにおけるネットワーク要素の認証
US11681813B2 (en) System and method for enforcing context-based data transfer and access
US11936633B2 (en) Centralized management of private networks
CN110943996A (zh) 一种业务加解密的管理方法、装置及系统
JP2018174550A (ja) 通信システム
JP7142272B2 (ja) 通信システム、暗号鍵配布方法、管理通信装置、及び、通信装置
JP2017111599A (ja) 認証装置、認証システム及び認証方法
JP6571615B2 (ja) 認証サーバ、振分装置、クライアント端末認証システム及びクライアント端末認証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150323

LAPS Cancellation because of no payment of annual fees