JP2007183696A - Program, method and device for managing license of application program or content - Google Patents
Program, method and device for managing license of application program or content Download PDFInfo
- Publication number
- JP2007183696A JP2007183696A JP2005380681A JP2005380681A JP2007183696A JP 2007183696 A JP2007183696 A JP 2007183696A JP 2005380681 A JP2005380681 A JP 2005380681A JP 2005380681 A JP2005380681 A JP 2005380681A JP 2007183696 A JP2007183696 A JP 2007183696A
- Authority
- JP
- Japan
- Prior art keywords
- license
- hardware key
- content
- program
- application program
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000006870 function Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000004913 activation Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、アプリケーションプログラム又はコンテンツのライセンスを管理するためのプログラム、方法、及び装置に関する。 The present invention relates to a program, a method, and an apparatus for managing an application program or content license.
従来より、アプリケーションプログラム又はコンテンツのライセンス範囲外の不正使用を防止するために様々な方策が提案されている。例えば、特許文献1は、所定のキー情報を記録した特殊なハードウェアキーをアプリケーションプログラムと共にユーザー側に配布しておき、ユーザーがアプリケーションプログラムの使用を希望するときは、ユーザー側から前記ハードウェアキーのキー情報をホストコンピュータ側にネットワーク経由で送信し、前記ホストコンピュータ側で必要な照合・判定を行った後に起動許可情報をユーザー側に送信するという方式を提案している。 Conventionally, various measures have been proposed to prevent unauthorized use of an application program or content outside the license range. For example, in Patent Document 1, a special hardware key in which predetermined key information is recorded is distributed to a user side together with an application program, and when the user desires to use the application program, the hardware key is transmitted from the user side. The key information is transmitted to the host computer via the network, and after the necessary verification / determination is performed on the host computer, the activation permission information is transmitted to the user.
また、ライセンスチェック(暗号解除)用のAPI(アプリケーション・プログラム・インターフェース)をプログラムのソースコードに埋め込む(ハードウェアキーも使用する)ことにより、ライセンス管理を可能にしたFlexLMという方式も一部で実用化されている。
前記特許文献1の方式は、いちいち専用の特殊なハードウェアキーを配布する必要があるのでコスト高になってしまう、専用のデバイスドライバをインストールする必要がありまた使用時にはホストコンピュータにキー情報を送信する必要があるのでユーザーにとって極めて煩雑である、専用のハードウェアキーは記憶容量が比較的小さいため柔軟なライセンス管理が難しい、などの問題がある。 The method disclosed in Patent Document 1 requires a special hardware key to be distributed each time, which increases the cost. It is necessary to install a dedicated device driver, and key information is transmitted to the host computer when used. Therefore, there is a problem that it is extremely complicated for the user, and that the dedicated hardware key has a relatively small storage capacity, so that flexible license management is difficult.
また、前記FlexLMは、プログラムのソースコードにライセンスチェック(暗号解除)用のAPI(アプリケーション・プログラム・インターフェース)を直接埋め込む必要があるため、ソースコードの設計段階からプロテクトを意識した設計が必要になる、市販パッケージなどのソースコードが入手できないプログラムには適用できない、プログラムではない音楽や映像などのコンテンツには(APIを埋め込むことができないので)適用できない、などの問題がある。 In addition, since FlexLM needs to embed a license check (decryption) API (application program interface) directly in the program source code, it needs to be designed with protection in mind from the design stage of the source code. There are problems such as being unable to be applied to programs such as commercial packages where source code is not available, and not being able to be applied to contents such as music and video that are not programs (because APIs cannot be embedded).
本発明はこのような従来技術の問題点に着目してなされたものであって、ライセンス管理のためのコストを最小にすることができ、ユーザーに煩雑な作業を要求する必要がなく、記憶容量が比較的大きいハードウェアキーを使用できるため柔軟なライセンスモデルの構築を可能にし、ソースコードの設計段階からプロテクトを意識した設計を不要にでき、市販パッケージなどのソースコードが入手できないプログラムにも適用することができ、さらに、プログラムではない音楽や映像などのコンテンツにも適用することができる、アプリケーションプログラム又はコンテンツのライセンスを管理するためのプログラム、方法、又は装置を提供することを目的とする。 The present invention has been made by paying attention to such problems of the prior art, can minimize the cost for license management, does not require complicated work for the user, and has a storage capacity. Since a relatively large hardware key can be used, it is possible to build a flexible license model, eliminating the need for protection-conscious design from the source code design stage, and applying it to programs such as commercial packages where source code is not available It is another object of the present invention to provide a program, a method, or an apparatus for managing an application program or a license of content, which can be applied to content such as music and video that is not a program.
以上のような課題を解決するための本発明は、ユーザー端末に内蔵又は接続された記録手段に、暗号化されたアプリケーションプログラム又はコンテンツを含む(カプセル化・エンベロープ化した)プログラムがインストール又は記録されており、且つ、ユーザー端末に内蔵又は接続された記録手段(後述のハードウェアキーでもよい)に、前記アプリケーションプログラム又はコンテンツの使用有効期限などの使用許可条件とハードウェアキー(ユーザー端末に内蔵又は接続され、その識別情報が電子的に読み取り可能な一つ又は複数のハードウェアから成る)の識別情報とを含むライセンス情報であって前記ハードウェアキーの識別情報により暗号化されたライセンス情報が記録されている環境下で、前記アプリケーションプログラム又はコンテンツのライセンスを管理するためのプログラム、方法、又は装置であって、ユーザー端末に内蔵又は接続されている一つ又は複数のハードウェアキーの識別情報を取得する機能(ステップ、又は手段)と、前記取得したハードウェアキーの識別情報に基づいて前記暗号化されたライセンス情報を復号化する機能(ステップ、又は手段)と、前記復号化されたライセンス情報の中に含まれるハードウェアキーの識別情報と前記取得したハードウェアキーの識別情報とが一致するとき、前記暗号化されたアプリケーションプログラム又はコンテンツの中のこれから実行又は再生する部分を動的に復号化する機能(ステップ、又は手段)と、前記復号化されたライセンス情報の中に含まれるハードウェアキーの識別情報と前記取得したハードウェアキーの識別情報とが一致するとき、前記アプリケーションプログラム又はコンテンツのライセンス監視を行うためのライセンス監視プログラムを動的に生成する機能(ステップ、又は手段)と、前記ライセンス監視プログラムにより実現される機能(ステップ、又は手段)であって、前記ハードウェアキーがユーザー端末に内蔵又は接続されなくなったとき又は前記ライセンス情報中の使用許可条件が充足されなくなったとき前記アプリケーションプログラム又はコンテンツの復号化を終了させる機能(ステップ、又は手段)と、を備えたことを特徴とするものである。 According to the present invention for solving the above problems, an encrypted application program or a program including content (encapsulated / enveloped) is installed or recorded in a recording means built in or connected to a user terminal. In addition, a recording means (which may be a hardware key to be described later) built in or connected to the user terminal, a use permission condition such as a use expiration date of the application program or content, and a hardware key (built in the user terminal or License information including identification information of one or a plurality of pieces of hardware that are connected and whose identification information is electronically readable, and the license information encrypted by the identification information of the hardware key is recorded The application program or A program, method, or apparatus for managing content licenses, the function (step or means) for acquiring identification information of one or more hardware keys built in or connected to a user terminal; A function (step or means) for decrypting the encrypted license information based on the acquired hardware key identification information, and hardware key identification information included in the decrypted license information And a function (step or means) for dynamically decrypting a portion to be executed or reproduced in the encrypted application program or content when the acquired hardware key identification information matches, The hardware key identification information contained in the decrypted license information and the acquired hardware A function (step or means) for dynamically generating a license monitoring program for performing license monitoring of the application program or content when the identification information of the wear key matches, and a function realized by the license monitoring program When the hardware key is no longer built in or connected to the user terminal or when the use permission condition in the license information is no longer satisfied, the decryption of the application program or content is terminated. And a function (step or means) to be performed.
また、本発明によるアプリケーションプログラム又はコンテンツのライセンスを管理するためのプログラム、方法、又は装置においては、前記ハードウェアキーは、「前記ユーザー端末に内蔵又は接続され、その識別情報が電子的に読み取り可能な複数のハードウェア」の中からユーザーが任意に選択した一つ又は複数のハードウェアである、ことが望ましい。 In the program, method, or apparatus for managing an application program or content license according to the present invention, the hardware key is “built in or connected to the user terminal, and its identification information can be read electronically. Preferably, it is one or a plurality of hardware arbitrarily selected by the user from “a plurality of hardware”.
また、本発明によるアプリケーションプログラム又はコンテンツのライセンスを管理するためのプログラム、方法、又は装置においては、前記ハードウェアキーは、固有の識別IDを取得可能なUSBフラッシュメモリなどのUSB機器、ハードディスク装置、ネットワークカード、又はUSIM(universal subscriber identity module)カードであり、前記暗号化されたライセンス情報はこのハードウェアキーとしてのUSBフラッシュメモリ又はこれとは別の電子的に記録可能な記録媒体の中に記録されている、ことが望ましい。 In the program, method, or apparatus for managing the application program or content license according to the present invention, the hardware key is a USB device such as a USB flash memory capable of acquiring a unique identification ID, a hard disk device, It is a network card or a USIM (Universal subscriber identity module) card, and the encrypted license information is recorded in a USB flash memory as a hardware key or another electronically recordable recording medium. It is desirable that
本発明によるアプリケーションプログラム又はコンテンツのライセンスを管理するためのプログラム、方法、又は装置においては、ユーザー端末に内蔵されているハードディスクやユーザー端末に接続されているUSBフラッシュメモリ、ネットワークカード、USBのIDが取得可能なマウスやプリンタなどのように、ユーザー端末に日常的に内蔵又は接続されている市販の機器をハードウェアキーとしている。よって、本発明によれば、従来のように専用の特殊なハードウェアをハードウェアキーとする場合と異なって、ライセンス管理のために特別なコストや専用のデバイスドライバをインストールする手間などは必要なく、低コストで手軽なライセンス管理が可能である。また、本発明では、前述のようにハードディスクやUSBフラッシュメモリなどの記憶容量が比較的大きい機器をハードウェアキーとして使用できるので柔軟なライセンスモデルを構築できるようになる。 In the program, method, or apparatus for managing the application program or content license according to the present invention, the hard disk built in the user terminal, the USB flash memory connected to the user terminal, the network card, and the USB ID are stored. A commercially available device that is routinely built in or connected to a user terminal, such as an acquirable mouse or printer, is used as a hardware key. Therefore, according to the present invention, unlike the conventional case where dedicated hardware is used as a hardware key, there is no need for special costs or the installation of a dedicated device driver for license management. , Low-cost and easy license management. In the present invention, as described above, since a device having a relatively large storage capacity such as a hard disk or a USB flash memory can be used as a hardware key, a flexible license model can be constructed.
また、本発明によるアプリケーションプログラム又はコンテンツのライセンスを管理するためのプログラム、方法、又は装置においては、ユーザーが前記アプリケーションプログラム又はコンテンツの使用を希望するとき(例えばユーザーが前記アプリケーションプログラム又はコンテンツを含む(カプセル化・エンベロープ化した)プログラムをマウスでダブルクリックしたとき)、前記ハードウェアキーの識別情報を自動的に取得するようにして、この識別情報から前記アプリケーションプログラム又はコンテンツのライセンスチェック(暗号解除)やライセンス監視を自動的に行うようにしている。よって、本発明によれば、ソフトウェアベンダーは、ユーザーに煩雑さを感じさせることなく手軽なライセンス管理を行うことができる。 In the program, method, or apparatus for managing an application program or content license according to the present invention, when a user desires to use the application program or content (for example, the user includes the application program or content) When the encapsulated / enveloped program is double-clicked with the mouse), the hardware key identification information is automatically acquired, and the license check (decryption) of the application program or content is performed from this identification information. And license monitoring is performed automatically. Therefore, according to the present invention, the software vendor can perform easy license management without making the user feel complicated.
また、本発明によるアプリケーションプログラム又はコンテンツのライセンスを管理するためのプログラム、方法、又は装置においては、アプリケーションプログラム又はコンテンツそのものを暗号化しておき、前記アプリケーションプログラム又はコンテンツとは別のプログラムでライセンスチェック(暗号解除)やライセンス監視を行うようにしているので、前記アプリケーションプログラム又はコンテンツそれ自体の中にライセンスチェック(暗号解除)用のAPIを埋め込む必要がない。よって、本発明によれば、前記アプリケーションプログラムのソースコードの設計段階ではプロテクトを意識して設計する必要がない。また、本発明によるライセンス管理は、ソースコードが入手できない市販のアプリケーションプログラムやプログラムではないコンテンツに対しても、プロテクトのために適用することができる。 In the program, method, or apparatus for managing the license of the application program or content according to the present invention, the application program or the content itself is encrypted, and the license check is performed using a program different from the application program or the content ( Since decryption and license monitoring are performed, it is not necessary to embed an API for license check (decryption) in the application program or the content itself. Therefore, according to the present invention, it is not necessary to design with the protection in mind at the design stage of the source code of the application program. In addition, the license management according to the present invention can be applied to protect commercially available application programs for which source code is not available or contents that are not programs.
本発明を実施するための最良の形態は、以下の実施例1について述べるような形態である。 The best mode for carrying out the present invention is a mode as described in Example 1 below.
以下、本発明の実施例1によるアプリケーションプログラム又はコンテンツのライセンスを管理するためのプログラム、方法、及び装置を説明する。なお、以下では、可逆暗号変換前のアプリケーションプログラム又はコンテンツを「プログラムA」、前記アプリケーションプログラム又はコンテンツを可逆暗号変換したものをカプセル化・エンベロープ化したプログラム(ベンダーがユーザーに提供するもの)を「プログラムB」、プログラムBの中に含まれているプログラムAのライセンス監視をするプログラムを「プログラムC」と呼ぶ。また、「コンテンツ」とは、映像や音楽などから構成される映画、番組、ゲーム、その他の映像ソフト、音楽ソフトなどの情報の内容をいう。 Hereinafter, a program, a method, and an apparatus for managing an application program or content license according to the first embodiment of the present invention will be described. In the following, an application program or content before reversible encryption conversion is referred to as “program A”, and a program encapsulated and enveloped from the application program or content obtained by reversible encryption conversion (provided by the vendor to the user) is “ A program that monitors licenses of program A included in program B and program B is referred to as “program C”. The “content” refers to the content of information such as movies, programs, games, other video software, music software, etc. composed of video and music.
また、本実施例1において、前記のプログラムAは、プログラムBを生成するときに使用するオリジナル(暗号化前のプログラム)である。本実施例1では、後述するように、プログラムBを実行すると、プログラムAとプログラムCが復号化・生成される。プログラムAとプログラムCは、プログラムB内に暗号化されて格納(エンベロープ化・カプセル化)され、全体が1つのソフトウェアとしてパッケージングされている。 In the first embodiment, the program A is an original (an unencrypted program) used when the program B is generated. In the first embodiment, as described later, when the program B is executed, the program A and the program C are decoded and generated. Program A and program C are encrypted and stored (enveloped / encapsulated) in program B, and packaged as a single piece of software.
図1は本実施例1によるアプリケーションプログラム又はコンテンツのライセンス管理装置を示す概念ブロック図、図2は暗号化されたアプリケーションプログラム又はコンテンツをライセンス付きでユーザー側に配布するベンダー側のサーバー(ライセンス発行サーバー及びソフトウェア提供サーバー)の動作を示すフローチャート、図3はユーザー端末側で暗号化されたアプリケーションプログラム又はコンテンツを復号して利用するときの動作を示すフローチャート、である。 FIG. 1 is a conceptual block diagram illustrating an application program or content license management apparatus according to the first embodiment, and FIG. 2 is a vendor-side server (license issuing server) that distributes encrypted application programs or content to users with a license. And FIG. 3 is a flowchart showing the operation when decrypting and using the encrypted application program or content on the user terminal side.
図1において、1はユーザーが保有するパソコン、PDA(携帯型情報端末)、携帯電話などのユーザー端末、2はこのユーザー端末1に接続されるUSBフラッシュメモリ(本実施例1ではこれがハードウェアキーとなっている)、3は前記ユーザー端末1に内蔵されるハードディスク、4は前記ユーザー端末に備えられているキーボードやディスプレイなどから成る入出力部、である。 In FIG. 1, 1 is a user terminal such as a personal computer, PDA (portable information terminal), mobile phone, etc. owned by a user, 2 is a USB flash memory connected to the user terminal 1 (in this embodiment 1, this is a hardware key) 3) is a hard disk built in the user terminal 1, and 4 is an input / output unit comprising a keyboard, a display, etc. provided in the user terminal.
また、図1において、11はユーザーからの所定の入力操作に基づいてプログラムBを起動するためのプログラムB起動部、12は前記プログラムB起動部11からの信号に基づいて前記USBフラッシュメモリ(ハードウェアキー)2のIDを前記USBフラッシュメモリ2のID記録部2aから読み取るためのハードウェアキーID取得部、13は前記ハードウェアキーID取得部12からのハードウェアキーIDに基づいて前記USBフラッシュメモリ(ハードウェアキー)2のライセンス情報記録部2bに記録されている暗号化されたライセンス情報を復号化するためのライセンス情報復号部、である。
In FIG. 1, reference numeral 11 denotes a program B starting unit for starting the program B based on a predetermined input operation from the user, and 12 denotes the USB flash memory (hardware) based on a signal from the program B starting unit 11. Hardware key ID acquisition unit for reading the ID of the
また、図1において、14は、前記ライセンス情報復号部13からの前記復号化されたライセンス情報の中に含まれているハードウェアキーIDと、前記ハードウェアキーID取得部12からのユーザー端末1に現在内蔵又は接続されているハードウェアキーのIDとを照合して両者が一致するかどうかを判定するためのハードウェアキーID照合判定部、である。前記ハードウェアキーID照合判定部14は、前記照合の結果、前記両IDが一致しないときは、そのことを警告表示して、プログラムBに含まれるプログラムAの復号化を不可とする。また、前記ハードウェアキーID照合判定部14は、前記照合の結果、前記両IDが一致するときは、そのことを示す信号を次の使用許可判定部15に出力する。
In FIG. 1,
また、図1において、15は、前記ハードウェアキーID照合判定部14から前記両IDが一致することを示す信号を受信したとき、前記ライセンス情報復号部13からの復号化されたライセンス情報中の使用有効期限などの使用許可条件の情報を受信し、プログラムBがこの使用有効期限などの使用許可条件(逆変換の条件)を満たしているかどうかを判定するための使用許可判定部である。
In FIG. 1, when 15 receives a signal indicating that the two IDs match from the hardware key ID
また、図1において、16は前記使用許可判定部15によりプログラムBが使用許可条件を満たしていると判定されたときにそれを示す信号を受けてプログラムAの実行に必要な部分(プログラムAがコンテンツの場合はその再生に必要な部分)を部分的に復号化するためのプログラムA復号部、17は前記使用許可判定部15によりプログラムBが使用許可条件を満たしていると判定されたときにそれを示す信号を受けてプログラムCを動的に生成するためのプログラムC生成部、である。
In FIG. 1, reference numeral 16 denotes a portion (program A is a part necessary for execution of the program A in response to a signal indicating that the program B determines that the program B satisfies the use permission condition by the use
以上に説明した符号11〜17で示す部分により、プログラムB実行部10が構成されている。このプログラムB実行部10は、実際には、プログラムBとこれを実行するためのCPUやメモリなどにより実現されている。 The program B execution part 10 is comprised by the part shown with the code | symbols 11-17 demonstrated above. The program B execution unit 10 is actually realized by the program B and a CPU or memory for executing the program B.
また、図1において、21は前記プログラムA復号部16により部分的に復号化されたプログラムAを実行するためのプログラムA実行部で、復号化されたプログラムAとこれを実行するためのCPUやメモリなどにより実現されている。 In FIG. 1, reference numeral 21 denotes a program A execution unit for executing the program A partially decoded by the program A decoding unit 16, and a decrypted program A and a CPU for executing the program A. It is realized by memory.
また、図1において、22は前記プログラムC生成部17により動的に生成されたプログラムCを実行するためのプログラムC実行部で、動的に生成されたプログラムCとこれを実行するためのCPUやメモリなどにより実現されている。前記プログラムCは、前記プログラムA実行部21により実行されるプログラムAのライセンス監視を行うためのもので、ユーザー端末1からハードウェアキー(USBフラッシュメモリ)2が取り外されたり、ライセンスの使用有効期限が終了した場合は、そのことを検知して直ちにプログラムAを終了させ、その後プログラムCも直ちに終了する。
In FIG. 1,
次に、図2を参照してベンダー側のライセンス発行サーバー(ソフトウェア提供サーバーを兼ねる)及びユーザー端末の動作を説明する。 Next, the operations of the vendor-side license issuance server (also serving as the software providing server) and the user terminal will be described with reference to FIG.
ユーザー側からプログラムAの送信要求が送信されると(ステップS1)、ベンダー側は、ハードウェアキーは指定せずにプログラムBのみをインターネット経由でユーザー側にダウンロードさせる(プログラムBの出荷段階。ステップS2、S3)。 When a transmission request for the program A is transmitted from the user side (step S1), the vendor side downloads only the program B to the user side via the Internet without designating the hardware key (shipping stage of the program B. step). S2, S3).
その後、ユーザー端末側で前記ダウンロードしたプログラムBをインストールするときは(ステップS4)、前記プログラムBのインストーラが、ユーザー端末に内蔵又は接続されており固有の製品番号やMACアドレスなどのIDが電子的に読み取り可能なハードウェア機器、例えば内蔵のハードディスク3、外付けのUSBフラッシュメモリ2(図1参照)、ネットワークカード、USBのIDを有しているプリンタやマウスなどのハードウェア機器を、検出する(ステップS5)。例えば、図1において、USBフラッシュメモリ2やハードディスク3などは、固有の製品番号などのIDが電子的に読み取り可能であるから、前記プログラムBのインストーラにより検出される。
Thereafter, when the downloaded program B is installed on the user terminal side (step S4), the installer of the program B is built in or connected to the user terminal, and a unique product number, ID such as a MAC address is electronically Readable hardware devices such as a built-in hard disk 3, an external USB flash memory 2 (see FIG. 1), a network card, and a printer or mouse having a USB ID are detected. (Step S5). For example, in FIG. 1, the
次に、前記プログラムBのインストーラは、前述のように各IDが電子的に読み取り可能な複数の機器を画面に一覧表示し、ユーザーに対して、この一覧表示された複数の機器の中からプログラムBの復号のためのハードウェアキーとすべきもの(一つ又は複数)を任意に選択するように促す(ステップS6)。この画面上で、ユーザーが例えばUSBフラッシュメモリ2をハードウェアキーとして選択すると、前記プログラムBのインストーラは、この選択されたUSBフラッシュメモリのIDを読み取り、これをハードウェアキーIDとしてベンダー側に送信する(ステップS7)。
Next, the installer of the program B displays a list of a plurality of devices whose IDs can be read electronically on the screen as described above, and provides a program to the user from the list of displayed devices. It is urged to arbitrarily select one or a plurality of hardware keys for decrypting B (step S6). On this screen, when the user selects, for example, the
ベンダー側では、この送信されてきたハードウェアキーID(USBフラッシュメモリ2のID)を使用して、このハードウェアキーIDとプログラムAの使用許可条件などを含むライセンス情報を生成し、これを暗号化する(ステップS8)。ベンダー側は、この暗号化したライセンス情報をユーザー端末1に送信する(ステップS9)。 The vendor uses the hardware key ID (the ID of the USB flash memory 2) sent to generate license information including the hardware key ID and use permission conditions for the program A, and encrypts the license information. (Step S8). The vendor side transmits the encrypted license information to the user terminal 1 (step S9).
ユーザー端末1では、前記プログラムBのインストーラが、このベンダー側から送信されてきた暗号化されたライセンス情報をUSBフラッシュメモリ2(ハードウェアキー)の中のライセンス情報記録部2bに記録して、前記プログラムBのインストールを終了する(ステップS10)。 In the user terminal 1, the installer of the program B records the encrypted license information transmitted from the vendor side in the license information recording unit 2b in the USB flash memory 2 (hardware key), and The installation of program B is terminated (step S10).
次に、図3を参照して、ユーザー側で、前記プログラムBを起動して、ライセンスチェックを行って、暗号化されたプログラムAを復号化し、この復号化したプログラムAを実行又は再生するときの動作を説明する。 Next, referring to FIG. 3, when the user activates the program B, performs a license check, decrypts the encrypted program A, and executes or reproduces the decrypted program A The operation of will be described.
まず、ユーザーがプログラムBを起動すると(ステップS21)、プログラムB起動部11(図1参照)からの信号に基づいて、ハードウェアキーID取得部12が、ユーザー端末1に接続又は内蔵されているハードウェアキー(本実施例1ではUSBフラッシュメモリ2)のIDを取得する(ステップS22)。その後、前記ライセンス情報復号部13が、前記ハードウェアキーID取得部12が取得したハードウェアキーIDに基づいて、前記USBフラッシュメモリ2に記録されたライセンス情報を復号化する(ステップS23)。
First, when the user starts the program B (step S21), the hardware key ID acquisition unit 12 is connected to or built in the user terminal 1 based on a signal from the program B activation unit 11 (see FIG. 1). The ID of the hardware key (
次に、前記ハードウェアキーID照合判定部14が、前記ハードウェアキーID取得部12により取得されたハードウェアキーIDと、前記ライセンス情報復号部13により復号化されたライセンス情報に含まれるハードウェアキーIDとが、互いに一致するかどうかを照合・判定する(ステップS24)。
Next, the hardware key ID
前記ステップS24で前記両IDが一致していないと判定されたときは、プログラムAの復号化を不可とし、処理を終了する(ステップS25)。他方、前記ステップS24で前記両IDが一致していると判定されたときは、ステップS26に進み、前記使用許可判定部15が、前記復号化されたライセンス情報に含まれる使用許可条件をプログラムB(この中に含まれるプログラムA)が満たしているかどうかを判定する。
If it is determined in step S24 that the two IDs do not match, the program A cannot be decrypted, and the process ends (step S25). On the other hand, if it is determined in step S24 that the two IDs match, the process proceeds to step S26, where the use
前記ステップS26で前記使用許可条件を満たしていないと判定されたときは、プログラムAの復号化を不可とし、処理を終了する(ステップS25)。他方、前記ステップS26で前記使用許可条件を満たしていると判定されたときは、ステップS27に進み、前記プログラムA復号部16によりプログラムAの実行(又は再生)に必要な部分を動的に復号化し、前記プログラムA実行部21により実行(又は再生)する。さらに、ステップS28に進み、前記プログラムC生成部17によりプログラムCを動的に生成し、前記プログラムC実行部22により実行する。
When it is determined in step S26 that the use permission condition is not satisfied, the decryption of the program A is disabled and the process is terminated (step S25). On the other hand, when it is determined in step S26 that the use permission condition is satisfied, the process proceeds to step S27, and the program A decoding unit 16 dynamically decodes a portion necessary for execution (or reproduction) of program A. And is executed (or reproduced) by the program A execution unit 21. In step S28, the program
前記プログラムCは、プログラムAが動的に実行されているとき、そのライセンス監視をするプログラムである。前記プログラムCは、ユーザー端末1からハードウェアキーの接続又は内蔵が無くなったとき又はプログラムAのライセンスの使用有効期限が終了したとき、プログラムAを直ちに終了させ、プログラムCも直ちに終了する。 The program C is a program for monitoring the license when the program A is dynamically executed. The program C immediately terminates the program A when the hardware key is no longer connected or built in from the user terminal 1 or when the license expiration date of the program A expires, and the program C also terminates immediately.
以上、本発明の各実施例について説明したが、本発明及び本発明を構成する各構成要件は、それぞれ、前記の各実施例及び前記の各実施例を構成する各要素として述べたものに限定されるものではなく、様々な修正及び変更が可能である。例えば、前記の実施例1においては、ユーザー端末1に外付けされたUSBフラッシュメモリ2をハードウェアキーとしているが、本発明ではこれに限られるものではなく、様々な機器をハードウェアキーとして使用することができる。例えば、マウスやプリンタなどでも、USBフラッシュメモリなどと同様にUSBのIDを取得可能な機器であれば、ハードウェアキーとして使用できる。また、ハードディスクなどの固有の製品番号を電子的に保有している機器、ネットワークカードなどのMACアドレスを電子的に保有している機器も、ハードウェアキーとして使用できる。また、例えば株式会社NTTドコモが3G携帯電話用に提供している「FOMAカード」(商品名)を初めとする「USIM(universal subscriber identity module)カード」のような、契約者・加入者情報を電子的に記録して契約者・加入者を電子的に特定できる機器も、ハードウェアキーとして使用できる。
The embodiments of the present invention have been described above. However, the present invention and the constituent elements constituting the present invention are limited to those described as the respective embodiments and the respective elements constituting the respective embodiments, respectively. Various modifications and changes are possible. For example, in the first embodiment, the
また、前記の実施例1では、ハードウェアキーIDと使用許可条件とを含む暗号化されたライセンス情報を、ハードウェアキーの中に記録するようにしているが、本発明では、前記暗号化されたライセンス情報はハードウェアキー以外の他の記録手段(ユーザー端末1に内蔵又は接続されている他の記録手段)の中に記録するようにしてもよい。例えば、上記のUSBのIDを取得可能なマウスやプリンタの場合は、他の記録可能な媒体(ハードディスク、USBフラッシュメリ、CD−Rなど)に、前記暗号化されたライセンス情報を記録する。 In the first embodiment, the encrypted license information including the hardware key ID and the use permission condition is recorded in the hardware key. However, in the present invention, the encrypted license information is recorded. The license information may be recorded in recording means other than the hardware key (other recording means built in or connected to the user terminal 1). For example, in the case of a mouse or printer capable of acquiring the USB ID, the encrypted license information is recorded on another recordable medium (hard disk, USB flash memory, CD-R, etc.).
また、前記の実施例1においては、ユーザー側にライセンスを発行する方法として、ユーザー側からオンラインでハードウェアキーIDをサーバー側に送信させてそれを基にライセンス情報を生成・暗号化してユーザー側に送信するという方式(ユーザーによるオンライン・アクティベーション方式)を説明したが、本発明ではこの方式に限定されるものではなく、他の方式も可能である。例えば、ベンダー側からのソフトウェアの出荷段階で使用可能なハードウェアキーに対してライセンスを発行してソフトウェアに添付するという従来のセキュリティ製品におけると同様の方式(ベンダーによるハードウェアキーのアクティベーション方式)、ユーザーが指定したハードウェアキーの情報をベンダー側にメールやFAXで送信してもらい、ベンダー側でその情報に基づいてライセンスの自動設定プログラムを生成し、これをユーザー側にメールや郵送などの方法で送付する方式(センドバックによるアクティベーション方式)などの様々な方式を採用することができる。 In the first embodiment, as a method for issuing a license to the user side, a hardware key ID is transmitted online from the user side to the server side, and license information is generated and encrypted based on the hardware key ID. Although the method of transmitting to the user (online activation method by the user) has been described, the present invention is not limited to this method, and other methods are possible. For example, a method similar to that in a conventional security product in which a license is issued to a hardware key that can be used at the time of software shipment from the vendor and attached to the software (a hardware key activation method by the vendor) The hardware key information specified by the user is sent to the vendor by e-mail or FAX, and the vendor automatically generates a license auto-configuration program based on that information, which is sent to the user by e-mail or mail. Various methods such as a method of sending by method (activation method by sendback) can be adopted.
1 ユーザー端末
2 USBフラッシュメモリ
2a ハードウェアキーID記録部
2b ライセンス情報記録部
3 ハードディスク
10 プログラムB実行部
11 プログラムB起動部
12 ハードウェアキーID取得部
13 ライセンス情報復号部
14 ハードウェアキーID照合判定部
15 使用許可判定部
16 プログラムA復号部
17 プログラムC生成部
21 プログラムA実行部
22 プログラムC実行部
DESCRIPTION OF SYMBOLS 1
Claims (9)
ユーザーが前記アプリケーションプログラム又はコンテンツの使用を希望するとき、ユーザー端末に内蔵又は接続されている一つ又は複数のハードウェアキーの識別情報を取得する機能と、
前記ハードウェアキーの識別情報が取得されたとき、前記取得したハードウェアキーの識別情報に基づいて前記暗号化されたライセンス情報を復号化する機能と、
前記復号化されたライセンス情報の中に含まれるハードウェアキーの識別情報と前記取得したハードウェアキーの識別情報とが一致するとき、前記暗号化されたアプリケーションプログラム又はコンテンツの中のこれから実行又は再生する部分を動的に復号化する機能と、
前記復号化されたライセンス情報の中に含まれるハードウェアキーの識別情報と前記取得したハードウェアキーの識別情報とが一致するとき、前記アプリケーションプログラム又はコンテンツのライセンス監視を行うためのライセンス監視プログラムを動的に生成する機能と、
前記ライセンス監視プログラムにより実現される機能であって、前記アプリケーションプログラム又はコンテンツが部分的に動的に実行又は再生されている場合において、前記ハードウェアキーがユーザー端末に内蔵又は接続されなくなったとき又は前記ライセンス情報中の使用許可条件が充足されなくなったとき、前記アプリケーションプログラム又はコンテンツの復号化を終了させる機能と、
を備えたことを特徴とするアプリケーションプログラム又はコンテンツのライセンスを管理するためのプログラム。 A program containing an encrypted application program or content is installed or recorded in recording means built in or connected to the user terminal, and the application program or content is stored in recording means built in or connected to the user terminal. License information including a use permission condition such as a use expiration date of the hardware and identification information of a hardware key built in or connected to the user terminal, and the license information encrypted by the identification information of the hardware key is recorded. A program for managing a license of the application program or content under a certain environment,
A function of acquiring identification information of one or a plurality of hardware keys built in or connected to the user terminal when the user wishes to use the application program or content;
A function of decrypting the encrypted license information based on the acquired hardware key identification information when the hardware key identification information is acquired;
When the hardware key identification information included in the decrypted license information matches the acquired hardware key identification information, execution or reproduction from the encrypted application program or content is started. A function to dynamically decrypt the part to be
A license monitoring program for monitoring the license of the application program or content when the hardware key identification information included in the decrypted license information matches the acquired hardware key identification information The ability to generate dynamically,
A function realized by the license monitoring program, wherein the hardware key is no longer built in or connected to the user terminal when the application program or content is partially dynamically executed or reproduced; or A function that terminates decryption of the application program or content when the use permission condition in the license information is no longer satisfied;
An application program or a program for managing content licenses.
ユーザーが前記アプリケーションプログラム又はコンテンツの使用を希望するとき、ユーザー端末に内蔵又は接続されている一つ又は複数のハードウェアキーの識別情報を取得する第1ステップと、
前記ハードウェアキーの識別情報が取得されたとき、前記取得したハードウェアキーの識別情報に基づいて前記暗号化されたライセンス情報を復号化する第2ステップと、
前記復号化されたライセンス情報の中に含まれるハードウェアキーの識別情報と前記取得したハードウェアキーの識別情報とが一致するとき、前記暗号化されたアプリケーションプログラム又はコンテンツの中のこれから実行又は再生する部分を動的に復号化する第3ステップと、
前記第3ステップと同時に又は相前後して、前記復号化されたライセンス情報の中に含まれるハードウェアキーの識別情報と前記取得したハードウェアキーの識別情報とが一致するとき、前記アプリケーションプログラム又はコンテンツのライセンス監視を行うためのライセンス監視プログラムを動的に生成する第4ステップと、
前記アプリケーションプログラム又はコンテンツが部分的に動的に実行又は再生されている場合において、前記ハードウェアキーがユーザー端末に内蔵又は接続されなくなったとき又は前記ライセンス情報中の使用許可条件が充足されなくなったとき、前記ライセンス監視プログラムにより、前記アプリケーションプログラム又はコンテンツの復号化を終了させる第5ステップと、
を備えたことを特徴とするアプリケーションプログラム又はコンテンツのライセンスを管理するための方法。 A program containing an encrypted application program or content is installed or recorded in recording means built in or connected to the user terminal, and the application program or content is stored in recording means built in or connected to the user terminal. License information including a use permission condition such as a use expiration date of the hardware and identification information of a hardware key built in or connected to the user terminal, and the license information encrypted by the identification information of the hardware key is recorded. A method for managing a license of the application program or content under an environment,
A first step of acquiring identification information of one or more hardware keys built in or connected to the user terminal when the user desires to use the application program or content;
A second step of decrypting the encrypted license information based on the acquired hardware key identification information when the hardware key identification information is acquired;
When the hardware key identification information included in the decrypted license information matches the acquired hardware key identification information, execution or reproduction from the encrypted application program or content is started. A third step of dynamically decoding the portion to be performed;
When the hardware key identification information included in the decrypted license information matches the acquired hardware key identification information simultaneously with or before or after the third step, the application program or A fourth step of dynamically generating a license monitoring program for content license monitoring;
When the application program or content is partially dynamically executed or played, the use permission condition in the license information is not satisfied when the hardware key is not built in or connected to the user terminal. A fifth step of terminating the decryption of the application program or content by the license monitoring program;
A method for managing licenses for application programs or contents.
ユーザーが前記アプリケーションプログラム又はコンテンツの使用を希望するとき、ユーザー端末に内蔵又は接続されている一つ又は複数のハードウェアキーの識別情報を取得するためのハードウェアキーID取得手段と、
前記ハードウェアキーの識別情報が取得されたとき、前記取得したハードウェアキーの識別情報に基づいて前記暗号化されたライセンス情報を復号化するためのライセンス情報復号化手段と、
前記復号化されたライセンス情報の中に含まれるハードウェアキーの識別情報と前記取得したハードウェアキーの識別情報とが一致するとき、前記暗号化されたアプリケーションプログラム又はコンテンツの中のこれから実行又は再生する部分を動的に復号化するためのハードウェアキーID一致判定手段と、
前記復号化されたライセンス情報の中に含まれるハードウェアキーの識別情報と前記取得したハードウェアキーの識別情報とが一致するとき、前記アプリケーションプログラム又はコンテンツのライセンス監視を行うためのライセンス監視プログラムを動的に生成するためのライセンス監視プログラム生成手段と、
前記ライセンス監視プログラムにより実現されるライセンス監視手段であって、前記アプリケーションプログラム又はコンテンツが部分的に動的に実行又は再生されている場合において、前記ハードウェアキーがユーザー端末に内蔵又は接続されなくなったとき又は前記ライセンス情報中の使用許可条件が充足されなくなったとき、前記アプリケーションプログラム又はコンテンツの復号化を終了させるためのライセンス監視手段と、
を備えたことを特徴とするアプリケーションプログラム又はコンテンツのライセンスを管理するためのライセンス管理装置。 A program containing an encrypted application program or content is installed or recorded in recording means built in or connected to the user terminal, and the application program or content is stored in recording means built in or connected to the user terminal. License information including a use permission condition such as a use expiration date of the hardware and identification information of a hardware key built in or connected to the user terminal, and the license information encrypted by the identification information of the hardware key is recorded. A license management apparatus for managing a license of the application program or content under a certain environment,
Hardware key ID acquisition means for acquiring identification information of one or more hardware keys built in or connected to the user terminal when the user desires to use the application program or content;
License information decryption means for decrypting the encrypted license information based on the acquired hardware key identification information when the hardware key identification information is acquired;
When the hardware key identification information included in the decrypted license information matches the acquired hardware key identification information, execution or reproduction from the encrypted application program or content is started. Hardware key ID match determination means for dynamically decrypting a portion to be
A license monitoring program for monitoring the license of the application program or content when the hardware key identification information included in the decrypted license information matches the acquired hardware key identification information A license monitoring program generating means for dynamically generating;
License monitoring means realized by the license monitoring program, wherein the hardware key is no longer built in or connected to the user terminal when the application program or content is partially dynamically executed or played License monitoring means for ending decryption of the application program or content when the use permission condition in the license information is no longer satisfied, or
A license management apparatus for managing licenses for application programs or contents.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005380681A JP2007183696A (en) | 2005-12-29 | 2005-12-29 | Program, method and device for managing license of application program or content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005380681A JP2007183696A (en) | 2005-12-29 | 2005-12-29 | Program, method and device for managing license of application program or content |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007183696A true JP2007183696A (en) | 2007-07-19 |
Family
ID=38339748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005380681A Pending JP2007183696A (en) | 2005-12-29 | 2005-12-29 | Program, method and device for managing license of application program or content |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007183696A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014006839A (en) * | 2012-06-27 | 2014-01-16 | Max Co Ltd | Authentication system and authentication method |
CN104615919A (en) * | 2015-02-10 | 2015-05-13 | 北京润科通用技术有限公司 | File source code License control method and device |
-
2005
- 2005-12-29 JP JP2005380681A patent/JP2007183696A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014006839A (en) * | 2012-06-27 | 2014-01-16 | Max Co Ltd | Authentication system and authentication method |
CN104615919A (en) * | 2015-02-10 | 2015-05-13 | 北京润科通用技术有限公司 | File source code License control method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101028601B1 (en) | Methods and apparatus for protected distribution of applications and media content | |
US8181266B2 (en) | Method for moving a rights object between devices and a method and device for using a content object based on the moving method and device | |
EP1630998A1 (en) | User terminal for receiving license | |
KR20060089632A (en) | Flexible licensing architecture for licensing digital application | |
KR101086420B1 (en) | Method and apparatus for decoding right-object and method and apparatus for sharing contents using it | |
CN103635911A (en) | Storage device and host device for protecting content and method thereof | |
WO2006075892A1 (en) | Method and device for consuming rights objects having inheritance structure | |
US20050060544A1 (en) | System and method for digital content management and controlling copyright protection | |
JP2005258927A (en) | Dynamic value control drm system, license issuing server, content reproduction device, cooperation method of dynamic value control and drm, and program | |
JP2005128960A (en) | Apparatus and method for reproducing content | |
JP2007282064A (en) | Device and method for processing data, storage medium and program | |
JP2007183696A (en) | Program, method and device for managing license of application program or content | |
JP2008011219A (en) | Digital watermark embedding system, device and program | |
KR101236459B1 (en) | Terminal apparatus with DRM decoding function and DRM decoding method in terminal apparatus | |
KR100695442B1 (en) | Method of operating local contents providing system for providing encrypted contents to local system and local contents providing system of enabling the method | |
JP5938331B2 (en) | Terminal device having DRM decoding function and DRM decoding method in terminal device | |
KR100746689B1 (en) | Method and apparutus for playing digital rights management contents | |
JP2006185201A (en) | Content delivery server, content reproduction device, program, security chip, and content biometric authentication method and system | |
EP2728825B1 (en) | Terminal apparatus with DRM decoding function and DRM decoding method in terminal apparatus | |
CN116933284A (en) | File processing method and device and electronic equipment | |
JP2011054014A (en) | Equipment authentication system | |
JP2006129144A (en) | Content reproducing system and method therefor, permission information storing apparatus, content reproducing apparatus, and computer program | |
JP2006318006A (en) | Content protection system and program | |
KR20090063383A (en) | Digital rights management conversion system and controlling method for the same | |
JPWO2006064565A1 (en) | Content management system and identification medium |