JP6820073B2 - プログラム管理装置、プログラム管理方法、及びプログラム - Google Patents

プログラム管理装置、プログラム管理方法、及びプログラム Download PDF

Info

Publication number
JP6820073B2
JP6820073B2 JP2019501812A JP2019501812A JP6820073B2 JP 6820073 B2 JP6820073 B2 JP 6820073B2 JP 2019501812 A JP2019501812 A JP 2019501812A JP 2019501812 A JP2019501812 A JP 2019501812A JP 6820073 B2 JP6820073 B2 JP 6820073B2
Authority
JP
Japan
Prior art keywords
program
license key
terminal device
execute
latest
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.)
Active
Application number
JP2019501812A
Other languages
English (en)
Other versions
JPWO2018155593A1 (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.)
NEC Solutions Innovators Ltd
Original Assignee
NEC Solutions Innovators 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 NEC Solutions Innovators Ltd filed Critical NEC Solutions Innovators Ltd
Publication of JPWO2018155593A1 publication Critical patent/JPWO2018155593A1/ja
Application granted granted Critical
Publication of JP6820073B2 publication Critical patent/JP6820073B2/ja
Active 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]
    • 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/12Protecting executable software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Description

本発明は、プログラムをライセンスに沿って適法に使用させるための、プログラム管理装置及びプログラム管理方法に関し、更には、これらを実現するためのプログラムに関する。
従来では、ソフトウェアの分野では、非合法に入手したコピー品の使用、更には、許可されているライセンスの範囲を超えたプログラムの使用、といった不正使用を阻止するため、プログラムの利用時にアクティベーションと呼ばれる処理が求められるようになっている。
例えば、非特許文献1は、アクティベーションを行なうための仕組みとして、プログラムのコンピュータへのインストール時に、プロダクトIDとインストール先のコンピュータのハードウェア構成の情報とを管理サーバに登録する仕組みを開示している。非特許文献1に開示された仕組みによれば、後日、同じプロダクトIDを用いて、別のコンピュータにプログラムをインストールできなくすることができ、不正使用が阻止される。
また、非特許文献2は、ライセンスキーに有効期間を設定し、ユーザが、有効期間内にライセンス管理用のサーバにアクセスして、ライセンスキーを更新しないと、プログラムを起動できないようにする仕組みを開示している。非特許文献2に開示された仕組みによれば、よりいっそうプログラムの不正使用が阻止される。
また、非特許文献3は、フローティングライセンスと呼ばれる仕組みを開示している。フローティングライセンスを用いた場合、プログラムは、ライセンス数を超える数のコンピュータにインストールすることが可能であるが、起動及び利用は、管理サーバによって、ライセンス数までのコンピュータに制限される。
更に、非特許文献4は、ドングルと呼ばれるハードウェアキーを用いた仕組みを開示している。非特許文献4に開示された仕組みによれば、ドングルがコンピュータのポートに挿入されていない限り、プログラムを利用できないため、確実にプログラムの不正使用を阻止できる。
小川誉久、小林章彦、デジタルアドバンテージ、「マイクロソフトライセンス認証(Microsoft Product Activation)」、[online]、2007年12月20日、アイティメディア株式会社、[平成28年12月1日検索]、インターネット<URL:http://www.atmarkit.co.jp/ait/articles/0205/23/news002.html> 「5分でわかるボリュームアクティベーション」、[online]、2012年11月12日、MCTの憂鬱、[平成28年12月1日検索]、インターネット<URL:http://mctjp.com/2012/11/12/5%E5%88%86%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%99%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/> 「スタンダードライセンスとフローティングライセンスの違い」、[online]、Sparx Systems Japan株式会社、[平成28年12月1日検索]、インターネット<URL:http://www.sparxsystems.jp/purchase/license_case.htm> 「LOCK STAR-PKUSBドングルタイプのソフトウェアコピープロテクト製品」、[online]、2016年、ロジカルテック株式会社、[平成28年12月1日検索]、インターネット<URL:http://www.atmarkit.co.jp/ait/articles/0205/23/news002.html>
ところで、近年においては、物理的なマシンのリソースを効率良く使用できるようにするため、コンピュータシステムにおいては、仮想マシンの構築が行なわれることがある。仮想マシンは、ソフトウェアによって仮想的に構築したものであり、ネットワーク上では、物理マシンと同様に、1台のコンピュータとして成立している。また、仮想マシンにおいても、オペレーティングシステムが動作しており、仮想マシンもオペレーティングシステム上でプログラムを実行することができる。従って、仮想マシンであっても、ライセンスされたプログラムを実行する場合は、アクティベーションが必要となる。
しかしながら、仮想マシンの構築は、物理マシン上のプログラムの実行環境をそっくりそのままコピーすることによっても行なうことができるため、仮想マシン上で新たにアクティベーションを行なうことなく、プログラムを実行することもできる。このため、上記非特許文献1〜3に開示された仕組みでは、プログラムの不正使用を阻止できないことある。
一方、上記非特許文献4に開示された仕組みを利用した場合は、ドングルが複製されない限り、プログラムが不正に使用されることはない。また、この仕組みは、仮想マシンに対しても、物理マシンのポートをこの仮想マシンに割り当てることによって適用可能である。
しかしながら、物理マシンにおいて、ポートの数には限りがあり、更に、1台の物理マシン上で複数の仮想マシンが構築されることがあるので、実際のところ、常に全ての仮想マシンにポートを割り当てることができるわけではない。従って、仮想マシン上でのプログラムの不正使用を阻止するため、上記非特許文献1〜4以外の仕組みが求められている。
本発明の目的の一例は、上記問題を解消し、プログラムのインストール先が仮想マシンである場合であっても、プログラムの不正使用を抑制し得る、プログラム管理装置、プログラム管理方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面におけるプログラム管理装置は、
端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、キー取得部と、
取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、実行許可部と、
前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、キー更新部と、
を備えている、ことを特徴とする。
また、上記目的を達成するため、本発明の一側面におけるプログラム管理方法は、
(a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
(b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
(c)前記ライセンスキーが予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
を有する、ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
(b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
(c)前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
を実行させる、ことを特徴とする。
以上のように、本発明によれば、プログラムのインストール先が仮想マシンである場合であっても、プログラムの不正使用を抑制することができる。
図1は、本発明の実施の形態におけるプログラム管理装置の構成を示すブロック図である。 図2は、本実施の形態においてプログラム管理装置が複数の端末装置から同一のライセンスキーを取得した場合を説明する図である。 図3は、本発明の実施の形態におけるプログラム管理装置がプログラムの実行許可の際に行なう動作を示すフロー図である。 図4は、本発明の実施の形態におけるプログラム管理装置がライセンスキーの更新の際に行なう動作を示すフロー図である。 図5は、本実施の形態の変形例においてプログラム管理装置が実行を許可する端末装置にトークンを送信している場合を説明する図である。 図6は、本発明の実施の形態におけるプログラム管理装置を実現するコンピュータの一例を示すブロック図である。
(実施の形態)
以下、本発明の実施の形態における、プログラム管理装置、プログラム管理方法、及びプログラムについて、図1〜図6を参照しながら説明する。
[装置構成]
最初に、本発明の実施の形態におけるプログラム管理装置の構成について説明する。図1は、本発明の実施の形態におけるプログラム管理装置の構成を示すブロック図である。
図1に示す本実施の形態におけるプログラム管理装置10は、端末装置20で実行されるプログラム22のライセンスキー23を管理するための装置である。また、本実施の形態では、プログラム管理装置10は、インターネット、LAN(Local Area Network)等のネットワーク30を介して、複数の端末装置20に接続されている。なお、図1の例では、端末装置20は全て同様の構成を備えているが、1つの端末装置20についてのみ機能ブロックを明示している。
図1に示すように、プログラム管理装置10は、キー取得部11と、実行許可部12と、キー更新部13とを備えている。
キー取得部11は、端末装置20がプログラム22の実行のために送信してきたライセンスキー23を取得する。実行許可部12は、取得されたライセンスキー23が最新であるかどうかを判定し、最新である場合に、ライセンスキー23を送信してきた端末装置20に対してプログラム22の実行を許可する。
キー更新部13は、ライセンスキー23を予め設定されたタイミングで更新し、更新したライセンスキーを、プログラムの実行が許可された端末装置20に送信し、更に、更新したライセンスキーを最新のライセンスキーとする。本実施の形態では、後述するように、端末装置20において、ライセンスキーは、設定されたタイミングで更新される。なお、本実施の形態は、この態様に限定されず、キー更新部13が、予め設定されたタイミングでライセンスキーを更新し、更新後のライセンスキーを端末装置20に通知する態様であっても良い。
また、図1に示すように、端末装置20は、プログラム実行部21を備えている。具体的には、プログラム実行部21は、端末装置20に搭載されているオペレーティングシステム(OS:Operating System)によって構築されている。
プログラム実行部21は、まず、プログラム22の実行が指示されると、ハードディスク、フラッシュメモリ等の記憶装置からプログラム22を読み込み、読み込んだプログラム22をメモリに格納する。なお、図2において、記憶装置及びメモリの図示は省略されている。
次に、プログラム実行部21は、実行が指示されたプログラム22のライセンスキー23を読み込み、読み込んだライセンスキー23をプログラム管理装置10に送信する。そして、プログラム管理装置10の実行許可部12から実行が許可されると、プログラム22を実行する。
また、プログラム実行部21は、プログラム管理装置10のキー更新部13によって、ライセンスキー23が更新され、更新されたライセンスキー23が送信されてきた場合は、保持しているライセンスキー23を更新する。
このように、本実施の形態では、端末装置20は、ライセンスキー23をプログラム管理装置10に送信し、そこで最新と判断されて許可されない限り、プログラム22を実行できないようになっている。また、ライセンスキー23は、定期的に更新され、第3者がライセンスキー23をコピーできたとしても、コピーされたライセンスキーはすぐに古くなってしまう。
このため、端末装置20が仮想マシンであり、その実行環境がそっくりそのままコピーされただけでは、プログラム22が実行されることはない。本実施の形態によれば、プログラム22のインストール先が仮想マシンである場合であっても、プログラム22の不正使用を抑制することができる。
また、本実施の形態において、ライセンスキー23としては、例えば、ハッシュキーが挙げられる。ハッシュキーは、例えば、プログラム22のシリアルキーと端末装置20のMACアドレスとをハッシュ関数に入力することによって算出される。但し、ライセンスキーは、ハッシュキーに限られず、予め設定された文字列であっても良い。
ところで、端末装置20が仮想マシンであり、その実行環境がそっくりそのままコピーされた場合は、図2に示すように、キー取得部11が複数の端末装置20それぞれから同一のライセンスキーを取得する事態が想定される。そして、このような事態において、正規の端末装置20でライセンスキーの更新が未だであると、取得された同一のライセンスキーそれぞれが最新となってしまう。図2は、本実施の形態においてプログラム管理装置が複数の端末装置から同一のライセンスキーを取得した場合を説明する図である。
これに対して、図2に示すように、本実施の形態においては、実行許可部12は、設定されたルールに沿って、同一のライセンスキーを送信してきた複数の端末装置20a及び20bのうちのいずれかを選択し、選択した端末装置に対してのみプログラム22の実行を許可する。このため、本実施の形態では、正規の端末装置20がライセンスキーを更新する前に、その実行環境がコピーされた場合であっても、不正なプログラムの使用が抑制される。
また、この場合に用いられる「ルール」としては、先にライセンスキーを送信してきた端末装置20を優先する、受信履歴にあるIPアドレスから送信している端末装置20を優先する、等が挙げられる。なお、「同一のライセンスキー」とは、本実施の形態では、対応する端末装置20の識別子と、同じく対応するプログラム22の識別子とが同一のライセンスキーを意味する。具体的には、対応するMACアドレスとシリアル番号とが同一となるライセンスキーである。
また、実行許可部12による実行が許可された後に、プログラム管理装置10において、キー更新部13は、ライセンスキーを所定のタイミングで更新する。この場合、プログラム22の実行が許可された端末装置20のみが、ライセンスキーを更新できるので、以降、プログラム22の実行が許可されなかった端末装置が最新のライセンスキー23を送信することはない。
[装置動作]
次に、本発明の実施の形態におけるプログラム管理装置10の動作について図3及び図4を用いて説明する。以下の説明においては、適宜図1及び図2を参酌する。また、本実施の形態では、プログラム管理装置10を動作させることによって、プログラム管理方法が実施される。よって、本実施の形態におけるプログラム管理方法の説明は、以下のプログラム管理装置10の動作説明に代える。
最初に、図3を用いて、プログラムの実行許可を行なう際の処理について説明する。図3は、本発明の実施の形態におけるプログラム管理装置がプログラムの実行許可の際に行なう動作を示すフロー図である。
図3に示すように、最初に、プログラム管理装置10において、キー取得部11は、端末装置20が送信してきたライセンスキーを取得する(ステップA1)。また、キー取得部11は、取得したライセンスキーを、実行許可部12に渡す。
次に、実行許可部12は、ステップA1において、同一の最新のライセンスキー23が複数取得されていたかどうかを判定する(ステップA2)。具体的には、複数の端末装置20それぞれから同一の最新のライセンスキー23が送信されてきているかどうかを判定する。
ステップA2の判定の結果、同一の最新のライセンスキー23が複数取得されている場合は、実行許可部12は、設定されたルールに沿って、最新の同一のライセンスキーを送信してきた端末装置20のうちのいずれかを選択する(ステップA3)。例えば、実行許可部12は、先にライセンスキー23を送信してきた端末装置20を選択する。その後、実行許可部12は、ステップA5を実行し、選択した端末装置20に対して、プログラム22の実行を許可する。
一方、ステップA2の判定の結果、最新のライセンスキー23が複数存在していない場合は、実行許可部12は、最新のライセンスキー23を送信してきた端末装置20を選択する。その後、実行許可部12は、ステップA5を実行し、選択した端末装置20に対して、プログラム22の実行を許可する。
なお、ステップA2の判定では、ライセンスキーは取得されているが、そこに最新のライセンスキーが含まれていない場合も、Noと判定される。この場合は、ステップA4では、実行許可部12は、ライセンスキーを送信してきた端末装置20に対して、プログラム22の実行を許可出来ない旨を通知し、処理を終了する。
続いて、図4を用いて、ライセンスキーを更新する場合の処理について説明する。図4は、本発明の実施の形態におけるプログラム管理装置がライセンスキーの更新の際に行なう動作を示すフロー図である。
最初に、図4に示すように、プログラム管理装置10において、キー更新部13が、所定のタイミングでライセンスキー23を更新する(ステップB1)。次に、キー更新部13は、更新前のライセンスキー23によってプログラム22の実行が許可されている端末装置20に対して、更新後のライセンスキー23を送信する(ステップB2)。
ステップB2が実行された場合は、実行許可部12は、ステップB2で更新されたライセンスキー23を用いて、キー取得部11で取得されたライセンスキー23が最新のライセンスキーであるかどうかを判定する。
以上のように、本実施の形態では、ライセンスキーが定期的に更新され、端末装置20から送信されてきたライセンスキー23が、更新後の最新のライセンスキーと一致して初めてプログラム22の実行が許可される。このため、端末装置20が仮想マシンであり、その実行環境がコピーされてしまった場合であっても、プログラムの不正使用が抑制される。
更に、本実施の形態は、物理サーバの上にゲストOSを実装することによって構築された仮想マシンだけに限られず、物理マシンのOSの上に、コンテナと呼ばれる仮想的なユーザ空間が構築される場合であっても、プログラムの不正使用を抑制できる。
また、コピーされた実行環境に最新のライセンスキー23が保持されていたとしても、プログラム22の実行が許可される端末装置20の数は制限されるので、より確実にプログラム22の不正使用が抑制される。
[変形例1]
ここで、本実施の形態における変形例1について図5を用いて説明する。図5は、本実施の形態の変形例においてプログラム管理装置が実行を許可する端末装置にトークンを送信している場合を説明する図である。
本変形例1では、図5に示すように、実行許可部12は、端末装置20aに対してプログラム22の実行を許可した場合に、それに際して、端末装置20aに対してトークン24を送信する。トークンの具体例としては、識別子、文字列等が挙げられる。
そして、図5に示すように、プログラム管理装置10において、トークン24の送信後に、トークン24を有していない端末装置20bから同一のライセンスキー23が取得されたとする。更に、取得された同一のライセンスキーが最新であるとする。この場合、本変形例1では、実行許可部12は、トークンを有していない端末装置20bによるプログラムの実行を不許可とする。本変形例1では、トークン24を有する端末装置20を優先することで、プログラムの不正使用が抑制される。
[変形例2]
次いで、本実施の形態における変形例2について説明する。本変形例2では、プログラム管理装置10において、実行許可部12は、端末装置20に対してプログラム22の実行を許可する際に、ライセンスキー23が最新でない場合であっても実行が許可される期間(1ヶ月間など)を設定することができる。この場合、端末装置20において、プログラム実行部21は、設定された期間が経過するまで、プログラム22を実行することができる。なお、期間以外にも、実行が許可される世代(例えば、最新のライセンスキーの2世代前まで)が設定されていても良い。
[変形例3]
続いて、本実施の形態における変形例3について説明する。変形例3では、トークンを保持している端末装置に対し、実行許可部12が一定期間プログラムの実行を許可する。この場合、オフライン状態(端末装置20とプログラム管理装置10とが通信出来ない状態)であっても、端末装置20はプログラムの使用が可能となる。
[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図3に示すステップA1〜A5、図4に示すステップB1及びB2を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるプログラム管理装置とプログラム管理方法とを実現することができる。この場合、コンピュータのプロセッサは、キー取得部11、実行許可部12、及びキー更新部13として機能し、処理を行なう。
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、キー取得部11、実行許可部12、及びキー更新部13のいずれかとして機能しても良い。
ここで、本実施の形態におけるプログラムを実行することによって、プログラム管理装置10を実現するコンピュータについて図6を用いて説明する。図6は、本発明の実施の形態におけるプログラム管理装置を実現するコンピュータの一例を示すブロック図である。
図6に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
なお、本実施の形態におけるプログラム管理装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、プログラム管理装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記12)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、キー取得部と、
取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、実行許可部と、
前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、キー更新部と、
を備えている、ことを特徴とするプログラム管理装置。
(付記2)
前記実行許可部が、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
付記1に記載のプログラム管理装置。
(付記3)
前記キー取得部によって、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記実行許可部が、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
付記1または2に記載のプログラム管理装置。
(付記4)
前記実行許可部が、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、
付記1または2に記載のプログラム管理装置。
(付記5)
(a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
(b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
(c)前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
を有する、ことを特徴とするプログラム管理方法。
(付記6)
前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
付記5に記載のプログラム管理方法。
(付記7)
前記(a)のステップにおいて、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記(b)のステップにおいて、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
付記5または6に記載のプログラム管理方法。
(付記8)
前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
当該プログラム管理方法が、
(d)前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、ステップを更に有する、
付記5または6に記載のプログラム管理方法。
(付記9)
コンピュータに、
(a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
(b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
(c)前記ライセンスキーを予め設定したタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
を実行させる、プログラム。
(付記10)
前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
付記9に記載のプログラム
(付記11)
前記(a)のステップにおいて、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記(b)のステップにおいて、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
付記9または10に記載のプログラム
(付記12)
前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
記コンピュータに、
(d)前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、ステップを更に実行させる、
付記9または10に記載のプログラム
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2017年2月24日に出願された日本出願特願2017−034129を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上のように、本発明によれば、プログラムのインストール先が仮想マシンである場合であっても、プログラムの不正使用を抑制することができる。本発明は、プログラムの管理が必要な種々のコンピュータシステムに有用である。
10 プログラム管理装置
11 キー取得部
12 実行許可部
13 キー更新部
20 端末装置
21 プログラム実行部
22 プログラム
23 ライセンスキー
24 トークン
30 ネットワーク
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (9)

  1. 端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、キー取得部と、
    取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、実行許可部と、
    前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、キー更新部と、
    を備え
    前記実行許可部が、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
    ことを特徴とするプログラム管理装置。
  2. 前記キー取得部によって、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記実行許可部が、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
    請求項1に記載のプログラム管理装置。
  3. 前記実行許可部が、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
    前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、
    請求項1に記載のプログラム管理装置。
  4. (a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
    (b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
    (c)前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
    を有し、
    前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
    ことを特徴とするプログラム管理方法。
  5. 前記(a)のステップにおいて、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記(b)のステップにおいて、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
    請求項に記載のプログラム管理方法。
  6. 前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
    当該プログラム管理方法が、
    (d)前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、ステップを更に有する、
    請求項に記載のプログラム管理方法。
  7. コンピュータに、
    (a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
    (b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
    (c)前記ライセンスキーを予め設定したタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
    を実行させ
    前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
    プログラム。
  8. 前記(a)のステップにおいて、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記(b)のステップにおいて、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
    請求項に記載のプログラム。
  9. 前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
    前記コンピュータに、
    (d)前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、ステップを更に実行させる、
    請求項に記載のプログラム。
JP2019501812A 2017-02-24 2018-02-22 プログラム管理装置、プログラム管理方法、及びプログラム Active JP6820073B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017034129 2017-02-24
JP2017034129 2017-02-24
PCT/JP2018/006584 WO2018155593A1 (ja) 2017-02-24 2018-02-22 プログラム管理装置、プログラム管理方法、及びコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JPWO2018155593A1 JPWO2018155593A1 (ja) 2019-12-12
JP6820073B2 true JP6820073B2 (ja) 2021-01-27

Family

ID=63252787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019501812A Active JP6820073B2 (ja) 2017-02-24 2018-02-22 プログラム管理装置、プログラム管理方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP6820073B2 (ja)
WO (1) WO2018155593A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7196485B2 (ja) * 2018-09-18 2022-12-27 富士フイルムビジネスイノベーション株式会社 情報処理装置及びライセンス認証システム
JP7115213B2 (ja) * 2018-10-19 2022-08-09 富士フイルムビジネスイノベーション株式会社 情報処理システムおよび認証システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070171A (en) * 1998-05-15 2000-05-30 Palantir Software, Inc. Method and system for copy-tracking distributed software featuring tokens containing a key field and a usage field
US20030135745A1 (en) * 2002-01-17 2003-07-17 Yu-Chin Liu Method of licensing computer program or data to be used legally
US20040143746A1 (en) * 2003-01-16 2004-07-22 Jean-Alfred Ligeti Software license compliance system and method
JP2005321850A (ja) * 2004-05-06 2005-11-17 Ipl:Kk ライセンス認証システム、ライセンス認証方法及びライセンス認証プログラム
US20080208754A1 (en) * 2007-02-22 2008-08-28 Aladdin Knowledge Systems Method for detecting duplicated instances of a software license
US20120216269A1 (en) * 2011-02-18 2012-08-23 Mitel Networks Corporation Software licensing in a virtualization environment

Also Published As

Publication number Publication date
JPWO2018155593A1 (ja) 2019-12-12
WO2018155593A1 (ja) 2018-08-30

Similar Documents

Publication Publication Date Title
CN109416720B (zh) 跨重置维护操作系统秘密
JP5065295B2 (ja) 異なる仮想マシン・イメージ間でファイルを共有するための方法、システム、およびコンピュータ読み取り可能媒体
CN109074452B (zh) 用于生成绊网文件的系统和方法
KR101861401B1 (ko) 장치 기능과 애플리케이션의 결합
RU2295834C2 (ru) Инициализация, поддержание, обновление и восстановление защищенного режима работы интегрированной системы, использующей средство управления доступом к данным
JP5381670B2 (ja) 実行制御方法、実行制御プログラムおよび実行制御装置
US11762987B2 (en) Systems and methods for hardening security systems using data randomization
US20160371298A1 (en) Method and system for executing an executable file
CN107644174B (zh) 数据泄漏防止系统及数据泄漏防止方法
US9881142B2 (en) Method and apparatus for preventing and investigating software piracy
US20190238560A1 (en) Systems and methods to provide secure storage
CN114710263B (zh) 密钥管理方法、密钥管理装置、密钥管理设备及存储介质
JP6820073B2 (ja) プログラム管理装置、プログラム管理方法、及びプログラム
JP2013131015A (ja) ライセンス管理プログラム及び情報処理装置
CN112219202A (zh) 用于客户操作系统的存储器分配
US20190278891A1 (en) Method and apparatus for preventing and investigating software piracy
JP2010238168A (ja) 実行制御プログラムおよび情報処理システム
TW202311999A (zh) 降低硬體可信執行環境的潛時
JP7087932B2 (ja) ストレージ装置、データ共有システム及びデータ共有方法
JP6253333B2 (ja) 情報処理装置、情報処理システムおよび情報処理方法
JP5673220B2 (ja) セキュリティ管理システム、セキュリティ管理方法、及びプログラム
WO2015087444A1 (ja) ライセンス管理システムおよびライセンス管理方法
JP2009169868A (ja) 記憶領域アクセス装置及び記憶領域のアクセス方法
JP2007018344A (ja) ライセンス情報の更新方法
US20240045933A1 (en) Method and apparatus for preventing and investigating software piracy

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190821

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200729

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: 20201201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201224

R150 Certificate of patent or registration of utility model

Ref document number: 6820073

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150