本発明は、アプリケーションソフトウェアの提供及び認証方法並びにそのためのシステムに関し、特に、ドングルや紙面等の非デジタル情報媒体を介さないアプリケーションソフトウェアの提供及び認証方法並びにそのためのシステムに関する。 The present invention relates to a method for providing and authenticating application software and a system therefor, and more particularly to a method for providing and authenticating application software not via non-digital information media such as dongles and paper, and a system therefor.
例えばセキュリティーソフトウェアや文書編集ソフトウェア等の各種アプリケーションソフトウェアは、かつては個別に店舗で販売されていたが、インターネットの普及とその通信速度及び容量等の向上に伴い、ネットを介してダウンロードされて提供されることが主流となってきた。しかしながら、購買したソフトウェアが特定の装置のみで利用されることを担保するために、プロダクトキー等の購買したソフトウェアに1対1に対応した固有情報が与えられることについては変わらない。すなわち、その固有情報が、利用装置に接続可能な特定のハードウェア(典型的にはUSB(USBドングル))で提供されている。 For example, various application software such as security software and document editing software were once sold individually at stores, but are downloaded and provided via the Internet as the Internet spreads and the communication speed and capacity thereof are improved. Has become mainstream. However, in order to ensure that purchased software is used only in a specific device, it does not change that the purchased software such as a product key is provided with unique information corresponding to one to one. That is, the specific information is provided by specific hardware (typically, USB (USB dongle)) connectable to the use device.
また、昨今のように、各種アプリケーションソフトウェアがダウンロードされて提供される場合には、購買されたアプリケーションのグレードや使用できる期間等の使用条件をいわゆるライセンス情報として提供して、柔軟性のあるアプリケーションの提供が可能になってきた。 Also, as in recent times, when various application software is downloaded and provided, use conditions such as the grade of the purchased application and the usable period can be provided as so-called license information to provide flexible application It has become possible to offer.
関連する技術として、特許文献1がある。当該文献においては、パッケージソフトウェアと、ライセンス情報とその電子署名からなるライセンスファイルとがネットを介して、ソフトウェアメーカーからユーザーに提供され、一方、ライセンス情報が格納されたUSBドングルで提供されている。そして、電子署名に基づいて、ネットを介して提供されたライセンス情報とUSBドングル内のライセンス情報を照合し、認証が成立すれば、当該ユーザーは、提供されたパッケージソフトウェアをライセンス情報が示す範囲内で使用することが可能となる。ここで、特に、特許文献1においては、ライセンス情報がXMLで記述されることと、そのライセンス情報に電子署名が付されることが特徴となっている(特許文献1参照)。 There is Patent Document 1 as a related technology. In the document, package software and a license file consisting of license information and its electronic signature are provided from the software maker to the user via a net, while the license information is provided in a USB dongle storing the information. Then, based on the electronic signature, the license information provided via the Internet is compared with the license information in the USB dongle, and if authentication is established, the user is within the range where the license information indicates the provided package software. Can be used in Here, in particular, Patent Document 1 is characterized in that the license information is described in XML and that the license information is attached with an electronic signature (see Patent Document 1).
また、関連する他の技術として、特許文献2がある。当該文献においては、ハードウェアとして、ソフトウェア提供サーバ(130)、ユーザー端末機(110)、及びドングル形態のトークン(120)が記述され、ユーザーが正式に特定ソフトウェアを購入した場合にはトークン(120)が提供され、ユーザーは、そのトークン(120)を自己の端末機(110)に接続した状態で、サーバ(130)から当該ソフトウェアをダウンロードする。その際、サーバ(130)は、ユーザー端末機(110)にトークン(120)が接続されているか否かを検証し、接続されている場合には、自身とトークン(120)との間で相互認証されるか否かを確認する。相互認証が確認された場合には、サーバ(130)は、当該ソフトウェアの使用を許可するためのセキュレットを暗号化してトークン(120)に転送する。 Moreover, there exists patent document 2 as another related technique. In the document, software provision server (130), user terminal (110), and dongle type token (120) are described as hardware, and token (120) when the user formally purchases specific software. ) And the user downloads the software from the server (130) with the token (120) connected to his terminal (110). At that time, the server (130) verifies whether or not the token (120) is connected to the user terminal (110), and if connected, the server (130) mutually communicates with the token (120). Check if it is certified. If the mutual authentication is confirmed, the server (130) encrypts and transmits a security token for permitting the use of the software to the token (120).
そして、ユーザーが購入したソフトウェアをユーザー端末機(110)にて使用する際には、まず、ユーザー端末機(110)が、購入したソフトウェアを駆動するためのセキュレットが、接続されたトークン(120)内に存在するか否かを確認する。そして、存在する場合、ユーザー端末機(110)は、トークン(120)に、セキュレットを実行させるための実行命令を転送する。実行命令を受け取ったトークン(120)は、該当するセキュレットをメモリに読み込んできて実行し、その実行結果をユーザー端末機(110)に返送する。ユーザー端末機(110)に実行結果が返されると、ユーザー端末機(110)は、当該ソフトウェアの実行を開始する(特許文献2参照)。 When the user terminal (110) uses the software purchased by the user, the user terminal (110) first uses a token (120 for connecting the securelet for driving the purchased software). Check to see if it exists). And, if it exists, the user terminal (110) transfers to the token (120) an execution instruction to execute the securelet. The token (120) that has received the execution command reads the corresponding securelet into the memory and executes it, and returns the execution result to the user terminal (110). When the execution result is returned to the user terminal (110), the user terminal (110) starts the execution of the software (see Patent Document 2).
しかしながら、従来技術のアプリケーションソフトウェアの提供の手続きにおいては、ドングルや紙面等の非デジタル情報媒体をその一部に介しているのが実情である。 However, in the procedure of providing application software according to the prior art, it is the fact that non-digital information media such as dongles and paper are partially used.
本発明は上述のような事情から為されたものであり、本発明の目的は、ドングルや紙面等の非デジタル情報媒体を介すことなく、電子通信のみのやりとりでも、高度なセキュリティが担保できるアプリケーションソフトウェアの提供及び認証方法並びにそのためのシステムを提供することにある。 The present invention has been made under the circumstances as described above, and the object of the present invention is to ensure a high level of security even when exchanging only electronic communication without passing through a non-digital information medium such as dongle or paper. A method of providing and authenticating application software and providing a system therefor.
上記目的を達成するため、本発明のアプリケーションソフトウェアの提供及び認証方法は、顧客が自己の装置で使用するアプリケーションソフトウェアをその開発者から取得して利用する際のアプリケーションソフトウェアの提供及び認証方法であって、前記開発者は、前記顧客からの要求に応じ、任意の共通鍵に基づき暗号化した前記アプリケーションソフトウェアを、ネットワークを介して前記顧客に送信し、ライセンスサーバが作成した、前記アプリケーションソフトウェアに係るライセンスの情報には、顧客名、又は顧客名及び有効期限の情報が含められ、前記開発者は、前記ライセンスの情報を、前記ネットワークを介して前記顧客に送信することを要旨とする。 In order to achieve the above object, the method of providing and authenticating application software of the present invention is a method of providing and authenticating application software when the customer acquires application software used in his own device from the developer and uses it. The developer transmits the application software encrypted based on an arbitrary common key to the customer via a network in response to a request from the customer, and the license server creates the application software The information on the license includes the name of the customer or the information on the name of the customer and the expiration date, and the developer is intended to transmit the information on the license to the customer via the network.
特に、前記開発者は、前記ライセンスの情報に、前記任意の共通鍵に対して、少なくとも前記顧客名の情報を施して変換させて得られた難読化された共通鍵の情報を含ませ、前記顧客の装置に送られた暗号化されたアプリケーションソフトウェアの実行時には、前記ライセンスの情報に含まれた前記難読化された共通鍵に対して、前記難読化された共通鍵を得るための処理とは逆の処理を施して、元の共通鍵を復元し、その元の共通鍵で前記暗号化されたアプリケーションソフトウェアを復号化する。 In particular, the developer includes, in the information of the license, information of the obfuscated common key obtained by applying at least the information of the customer name to the arbitrary common key and converting it. With respect to the obfuscated common key included in the license information, the process for obtaining the obfuscated common key when executing the encrypted application software sent to the customer device The reverse process is performed to recover the original common key and decrypt the encrypted application software with the original common key.
また、前記開発者は、前記ライセンスの情報に、少なくとも前記顧客名の情報に基づく電子署名を含ませ、前記顧客の装置に送られた暗号化されたアプリケーションソフトウェアは、前記電子署名に基づき、その真正が判定されることが好適である。 Further, the developer includes an electronic signature based on at least the information of the customer name in the information of the license, and the encrypted application software sent to the device of the customer is based on the electronic signature. Preferably, the authenticity is determined.
また、前記ライセンスの情報に前記有効期限の情報が含められているときにおいて、前記ライセンスの情報に含まれた有効期限を満たすか否かの判定による前記顧客の装置に送られた前記暗号化されたアプリケーションソフトウェアの真正の判定は、前記ネットワークとオフラインの場合には、前記顧客の装置自身の時刻を参照することにより行われ、一方、オンラインの場合には、前記ライセンスサーバの時刻を参照して行われることが好適である。 In addition, when the information of the license includes the information of the expiration date, the encryption transmitted to the device of the customer by determining whether the expiration date included in the information of the license is satisfied. The determination of the authenticity of the application software is performed by referring to the time of the customer's device itself in the case of offline with the network, while referring to the time of the license server in the case of online. It is preferred to be done.
一方、前記ライセンスサーバは、前記ライセンスの情報を作成するたびに、その情報をテーブルとして自己に保存しておくと利点がある。 On the other hand, each time the license server creates the information of the license, it is advantageous to save the information as a table in itself.
前記ネットワークとオンラインの場合、前記ライセンスサーバは、前記顧客の装置から、前記アプリケーションソフトウェアの使用頻度及び使用地域の情報を取得するようにすると有益である。 When online with the network, it is useful for the license server to obtain information on frequency of use and area of use of the application software from the customer's device.
また、1つのアプリケーションソフトウェアに、選択可能な複数の機能レベルが設定できる場合、前記開発者は、外からの指定に基づき機能レベルの自動設定が可能な1つのアプリケーションを各顧客に配布し、アプリケーションプログラムが実行時に顧客に応じてその機能レベルの自動設定を行うことも特徴である。そのとき、前記アプリケーションプログラムは、前記機能レベルの情報を前記ライセンスの情報から取得することが典型的である。 In addition, when a plurality of selectable function levels can be set in one application software, the developer distributes to each customer one application which can automatically set the function level based on external specification, and the application Another feature is that the program automatically sets its function level according to the customer at the time of execution. At that time, the application program typically obtains the information of the function level from the information of the license.
また、上記目的を達成するため、本発明のアプリケーションソフトウェアの提供及び認証システムは、顧客の有する顧客装置と、顧客の要求に係るアプリケーションソフトウェアを任意の共通鍵で暗号化してその暗号化されたアプリケーションソフトウェアを前記顧客装置にネットワークを介して送信する開発者装置と、前記顧客の要求に係るアプリケーションソフトウェアに対応したライセンスの情報を作成するライセンスサーバと、を備えたアプリケーションソフトウェアの提供及び認証システムであって、前記ライセンスサーバにより作成された前記ライセンスの情報には、顧客名、又は顧客名及び有効期限の情報を含められ、前記開発者装置は、前記ライセンスの情報を、前記ネットワークを介して前記顧客装置に送信することを要旨とする。 Further, to achieve the above object, the application software provision and authentication system of the present invention comprises a customer apparatus possessed by a customer and an application encrypted by encrypting application software relating to the customer request with an arbitrary common key. An application software provision and authentication system comprising: a developer device that transmits software to the customer device via a network; and a license server that creates license information corresponding to the application software according to the customer request. The information on the license created by the license server includes the name of the customer, or the information on the name of the customer and the expiration date, and the developer device is configured to transmit the information on the license to the customer via the network. Need to send to the device To.
本発明のアプリケーションソフトウェアの提供及び認証方法並びにそのためのシステムによれば、ライセンスの情報に、少なくとも顧客名の情報を含ませているので、ドングルや紙面等の非デジタル情報媒体を介すことなく、電子通信のみのやりとりでも、高度なセキュリティが担保できる。 According to the application software provision and authentication method of the present invention and the system therefor, the license information includes at least the customer name information, so that it does not involve non-digital information media such as dongles and paper. Even with only electronic communication, high security can be secured.
特に、ライセンスの情報に、アプリケーションソフトウェアを暗号化するための任意の共通鍵に対して、少なくとも顧客名の情報を施して変換させて得られた難読化された共通鍵の情報を含ませるようにしたので、ライセンスの情報の顧客名が、悪意のある第三者に書き変えられた場合、その難読化された共通鍵の情報に基づき、元の共通鍵を得ようとしても真正な共通鍵は得られないので、暗号化されたアプリケーションソフトウェアの復号化には成功しない。 In particular, the license information may include at least the customer name information and the obfuscated common key information obtained by converting the arbitrary common key for encrypting the application software. Therefore, when the customer name of the license information is rewritten to a malicious third party, the genuine common key is obtained even if it tries to obtain the original common key based on the obfuscated common key information. Since it can not be obtained, decryption of encrypted application software is not successful.
また、顧客の装置に送られた暗号化されたアプリケーションソフトウェアの実行時には、その認証に、ネットワークとのオンライン又はオフラインに応じた融通性のある処理を行うことができる。 Also, at the time of execution of the encrypted application software sent to the customer's device, the authentication can be performed flexibly according to the online or offline with the network.
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
本発明の実施の形態においては、アプリケーションソフトウェアを提供する者(アプリケーションプロバイダー)を「開発者」、アプリケーションソフトウェアの提供を受ける者を「顧客」と称することとするが、これらは典型的な呼称なだけであって、これらの呼称に本発明が限定を受けることはない。Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
In the embodiment of the present invention, a person who provides application software (application provider) is referred to as a “developer” and a person who receives application software is referred to as a “customer”. However, the present invention is not limited to these designations.
図8を参照して、本発明の実施の形態における技術的環境としては、顧客の操作する顧客装置1と、開発者が操作する開発者装置2と、ライセンスサーバ3とは、典型的には、インターネット4を介して相互に接続されている。なお、「ライセンスサーバ」という名称も、典型例であって、本発明を限定するものではない。本発明を解釈するにあたっては、その機能で判断するべきものである。 Referring to FIG. 8, as a technical environment in the embodiment of the present invention, customer device 1 operated by a customer, developer device 2 operated by a developer, and license server 3 are typically , Are mutually connected via the Internet 4. The name "license server" is also a typical example and does not limit the present invention. In interpreting the present invention, it should be judged by its function.
顧客装置1、開発者装置2、及びライセンスサーバ3は、例えば、コンピュータ装置であり、制御装置(processor)、主記憶装置(RAM:Random Access Memory)、補助記憶装置(ハードディスク、フラッシュメモリ等)、入出力装置(キーボード、マウス、表示装置等)、通信装置、読取り装置等で構成される。顧客装置1、開発者装置2、及びライセンスサーバ3では、各種プログラムが、主記憶装置に展開されつつ、制御装置により処理される。また、各々の通信装置は、顧客装置1、開発者装置2、及びライセンスサーバ3を、他の装置と通信可能に接続させる。更に、顧客装置1、開発者装置2、及びライセンスサーバ3の各制御装置に、各種処理を実行させるプログラムは、外部記録媒体、例えば、SDメモリカード(SD Memory Card)、FD(Floppy Disk)、CD(Compact Disk)、DVD(Digital Versatile Disk)、BD(Blu-ray Disk:登録商標)、及びフラッシュメモリ等を介して、上記補助記憶媒体に格納される。 The customer device 1, the developer device 2, and the license server 3 are, for example, computer devices, and include a controller, a main storage device (RAM: random access memory), an auxiliary storage device (hard disk, flash memory, etc.) It comprises an input / output device (keyboard, mouse, display device, etc.), communication device, reader, etc. In the customer device 1, the developer device 2 and the license server 3, various programs are processed by the control device while being developed in the main storage device. Further, each communication device communicably connects the customer device 1, the developer device 2 and the license server 3 to other devices. Further, programs for causing the control devices of the customer device 1, the developer device 2 and the license server 3 to execute various processes are external recording media, such as an SD memory card (SD Memory Card), an FD (Floppy Disk), It is stored in the auxiliary storage medium via a CD (Compact Disk), a DVD (Digital Versatile Disk), a BD (Blu-ray Disk (registered trademark)), a flash memory, and the like.
図1は、本発明のアプリケーションソフトウェアの提供及び認証方法並びにそのためのシステムの実施の形態における顧客装置1、開発者装置2、及びライセンスサーバ3の相互間の手順の流れを示す図である。なお、当該図面において、上から下に向けて時系列となっている。図2は、開発者装置2を所有する開発者が、ライセンスサーバ3及び開発者装置2に予め行っておく処理を説明するための図である。 FIG. 1 is a diagram showing the flow of procedures among the customer device 1, the developer device 2 and the license server 3 in the embodiment of the method for providing and authenticating application software and the system therefor according to the present invention. In the drawing, it is time-series from top to bottom. FIG. 2 is a diagram for explaining processing that the developer owning the developer device 2 performs in advance on the license server 3 and the developer device 2.
まず、図2を参照し、開発者が、ライセンスサーバ3及び開発者装置2に予め行っておく処理を説明する。開発者は、ライセンスサーバ3に対しては、アプリケーションソフトウェアを共通鍵暗号化方式で暗号化するための共通鍵を難読化するためのアルゴリズムと、そのアルゴリズムに基づくプログラムを配布しておく。また、開発者は、開発者装置2に対しては、暗号化ツール(開発者装置2内では暗号化ツール21)を配布しておく。この暗号化ツールは、任意のアプリケーションソフトウェアを暗号化するためのプログラムと、復号化用ダイナミックリンクライブラリDLLとを含んでおり、その復号化用ダイナミックリンクライブラリDLLは、上述の共通鍵を難読化するためのアルゴリズムと、暗号化後のアプリケーションソフトウェアを復号化するためのプログラムとからなっている。 First, with reference to FIG. 2, a process that the developer performs in advance on the license server 3 and the developer device 2 will be described. The developer distributes to the license server 3 an algorithm for obfuscating the common key for encrypting the application software by the common key encryption method, and a program based on the algorithm. Further, the developer distributes the encryption tool (the encryption tool 21 in the developer device 2) to the developer device 2. The encryption tool includes a program for encrypting arbitrary application software and a dynamic link library DLL for decryption, and the dynamic link library DLL for decryption obfuscates the common key described above. And a program for decrypting application software after encryption.
次に、図1を参照して、顧客が任意のアプリケーションソフトウェアを開発者から購入する手順を説明する。そこで、まず、顧客は、購入したいアプリケーションソフトウェアの開発者に対して、自己の顧客装置1により、少なくとも製品(プロダクト)名を指定して購入希望の旨(購入要求)を伝達する。顧客からの当該購入要求は開発者装置2に受け付けられ、次に、その開発者装置2は、そのプロダクト名を指定しつつ、ライセンスサーバ3に対して、プロダクトファイルPFを要求する。それに応答して、ライセンスサーバ3は、開発者装置2に対してプロダクトファイルPFを送信する。そのプロダクトファイルPFには、指定されたプロダクト名と、テキスト表示された任意の共通鍵が含まれる。この共通鍵は、上述のように、アプリケーションソフトウェアを共通鍵暗号化方式で暗号化するときに使用する鍵である。プロダクトファイルPFの例を下に示す。
--- product file ---
プロダクト名: PRODUCT0
共通鍵: 30DF54B681E2E94D4C21E3EC73459039EBCF379F19FED05CEA
B1CFB1A6CDAD9F
なお、プロダクトファイルPFは、顧客に配布するわけではなく開発者のみが使用するため、共通鍵としてこのように生の値をそのまま送ってもよいが、ライセンスサーバ3への不正アクセスを考慮して、公開鍵暗号化方式により難読化しておくことが好ましい。Next, referring to FIG. 1, the procedure for the customer to purchase any application software from the developer will be described. Therefore, first, the customer specifies at least a product (product) name and transmits a purported purchase request (purchase request) to the developer of the application software that he / she wishes to purchase, by using his / her customer device 1. The purchase request from the customer is received by the developer device 2, and then the developer device 2 requests the license server 3 for the product file PF while designating the product name. In response to this, the license server 3 transmits the product file PF to the developer device 2. The product file PF includes the designated product name and any common key displayed in text. This common key is a key used when encrypting application software with the common key encryption method as described above. An example of the product file PF is shown below.
--- product file ---
Product Name: PRODUCT0
Common key: 30DF54B681E2E94D4C21E3EC73459039EBCF379F19FED05CEA
B1CFB1A6CDAD9F
Since the product file PF is not distributed to the customer but used only by the developer, the raw value may be sent as it is as a common key, but in consideration of unauthorized access to the license server 3 Preferably, obfuscation is performed by a public key encryption method.
なお、図1、図2、及び図8においては、説明の便宜上、一のライセンスサーバに対して開発者が一として記載されているが、無論現実には、一のライセンスサーバ3に対して、1つ又は複数のアプリケーションソフトウェアを開発する開発者が複数存在することは言うまでもない。かかる技術的環境においては、ライセンスサーバ3は、新たな開発者からプロダクトファイルPFの要求があってプロダクトファイルPFを返信するごとに、図3に示すようなテーブルを作成して管理しておくことが好適である。 In FIG. 1, FIG. 2 and FIG. 8, for convenience of explanation, although the developer is described as one for one license server, it is needless to say that for one license server 3, in reality, It goes without saying that there are a plurality of developers who develop one or more application software. In such a technical environment, the license server 3 creates and manages a table as shown in FIG. 3 every time a new developer requests a product file PF and returns a product file PF. Is preferred.
図4は、プロダクトファイルPFを受信した開発者装置2が、当該プロダクトファイルPFに基づいて行う処理を説明するための図である。
開発者装置2には、図1に示すように、暗号化前アプリケーションAPが格納されているが、図2を参照して説明したように、開発者から予め暗号化ツール21が配布格納されている。そこで、まず、暗号化前アプリケーションAPについて説明すると、暗号化前アプリケーションAPは、図4(b)に示すように、暗号化前プログラム、リソース、及びエントリーポイントからなり、エントリーポイントが、プログラムの始点を指し示している。FIG. 4 is a diagram for explaining the process performed by the developer device 2 receiving the product file PF based on the product file PF.
As shown in FIG. 1, the pre-encryption application AP is stored in the developer device 2, but as described with reference to FIG. 2, the encryption tool 21 is distributed and stored in advance from the developer. There is. Therefore, first, the pre-encryption application AP will be described. The pre-encryption application AP includes a pre-encryption program, a resource, and an entry point, as shown in FIG. Is pointing to
図4(a)を参照して、プロダクトファイルPFを受信した開発者装置2は、その暗号化ツール21により、プロダクト名により指定された暗号化前アプリケーションAPを、プロダクトファイルPFに含まれる共通鍵を使用して暗号化処理する。この暗号化されたアプリケーションを(暗号化後アプリケーションEAP)は、復号化用ダイナミックリンクライブラリDLLと共に出力される。同図(c)は、暗号化後アプリケーションEAPを説明するための図である。同図に示すように、暗号化後アプリケーションEAPは、暗号化前アプリケーションAPの構成に対してスタブプログラムが加わる構成となっており、エントリーポイントがスタブプログラムの始点を指し示し、スタブプログラムがアプリケーションプログラムの始点を指し示すようになっている。また、スタブプログラムが復号化用ダイナミックリンクライブラリDLLを呼び出す構成となっている。 Referring to FIG. 4A, the developer device 2 having received the product file PF uses the encryption tool 21 to input the pre-encryption application AP designated by the product name to the common key included in the product file PF. Process encryption using. This encrypted application (application after encryption EAP) is output together with the dynamic link library DLL for decryption. The figure (c) is a figure for demonstrating application EAP after encryption. As shown in the figure, the post-encryption application EAP is configured such that a stub program is added to the configuration of the pre-encryption application AP, the entry point indicates the start point of the stub program, and the stub program is an application program It is designed to point to the starting point. Further, the stub program is configured to call the dynamic link library DLL for decryption.
このように、アプリケーションソフトウェアは暗号化されて顧客に提供されるため、バイナリデータに対してなされるような書き換えやその解析によるハッキングを防止することができる。なお、採用される共通鍵暗号化方式としては、AES(Advanced Encryption Standard)が典型であるが、その他の共通鍵暗号化方式でもよい。 As described above, the application software is encrypted and provided to the customer, so that it is possible to prevent hacking due to rewriting and analysis performed on binary data. In addition, although AES (Advanced Encryption Standard) is typical as a common key encryption system employ | adopted, another common key encryption system may be used.
図1に戻り、開発者装置2において生成された暗号化後アプリケーションEAPと復号化用ダイナミックリンクライブラリDLLとは、購入要求に係る顧客の顧客装置1に配布される。 Returning to FIG. 1, the post-encryption application EAP and the dynamic link library DLL for decryption generated in the developer device 2 are distributed to the customer device 1 of the customer relating to the purchase request.
次に、顧客装置1に暗号化後アプリケーションEAP及び復号化用ダイナミックリンクライブラリDLLを受け取った顧客は、その顧客装置1により、有効期限を指定しつつ、開発者に対して、暗号化後アプリケーションEAPを復号するためのライセンスを要求する。開発者装置2に当該顧客からライセンス要求を受け取った開発者は、その開発者装置2により、顧客名、プロダクト名、及び有効期限を指定しつつ、ライセンスサーバ3に対してライセンスファイル(ライセンスの情報)要求を行う。 Next, the customer who receives the post-encryption application EAP and the dynamic link library DLL for decryption in the customer device 1 uses the customer device 1 to specify the expiration date and, while specifying the expiration date, send the developer an post-application application EAP. Request a license to decrypt The developer who has received the license request from the customer to the developer device 2 uses the developer device 2 to specify the customer name, the product name, and the expiration date, and the license file (license information) for the license server 3 ) Make a request.
開発者装置2からライセンスファイル要求を受け取ったライセンスサーバ3は、開発者装置2に対してライセンスファイルLFを送信する。そのライセンスファイルLFには、プロダクト名、有効期限、顧客名、難読化された共通鍵、及び電子署名が含まれる。ライセンスサーバ3からライセンスファイルLFを受け取った開発者装置2は、そのライセンスファイルLFを顧客装置1にメール等で送信する。このとき、メール等の通信で送れる理由は、以下説明する難読化された共通鍵や電子署名を備えたからである。なお、顧客名と有効期限の両方を含ませるのではなく、顧客名の情報のみでもよい。 The license server 3 receiving the license file request from the developer device 2 transmits the license file LF to the developer device 2. The license file LF includes a product name, an expiration date, a customer name, an obfuscated common key, and a digital signature. The developer device 2 having received the license file LF from the license server 3 transmits the license file LF to the customer device 1 by e-mail or the like. At this time, the reason why the e-mail can be sent by communication is because the obfuscated common key and the electronic signature described below are provided. Note that instead of including both the customer name and the expiration date, only the information on the customer name may be used.
まず、難読化された共通鍵について説明する。ライセンスファイルPFは顧客に配布されるため、共通鍵は秘匿される必要がある。また、顧客名や有効期限が第三者により故意に書き換えられたよう場合には、アプリケーションの暗号化の解除を不能にする必要がある。従って、本発明の実施の形態においては、ライセンスファイルLFに含ませる共通鍵を、生のテキストデータではなく、それに対して特定の処理を施すことにより、難読化する。その特定の処理(図2で説明した、共通鍵を難読化するためのアルゴリズム)としては、難読化前の共通鍵と、顧客名とのデータ間、又は、難読化前の共通鍵と、顧客名及び有効期限とのデータ間で排他的論理和(EXclusive OR)をとり、そのあとSBOX(substitution box)などのルックアップテーブルを通したり、順番を入れ替えたりする。なお、排他的論理和ではなく、それらのバイト値の加減算でもよい。また、難読化前の共通鍵を別の共通鍵で暗号化してもよい。そのときには、その別の共通鍵は、復号化用ダイナミックリンクライブラリDLLに含ませて顧客装置1に送っておくことができる。また、難読化前の共通鍵を開発者装置2に固有の秘密鍵で暗号化し、対応する公開鍵をもって顧客装置1で復号化させるようにしてもよい。そのときにも、その公開鍵は、復号化用ダイナミックリンクライブラリDLLに含ませて送ることができる。 First, the obfuscated common key will be described. Since the license file PF is distributed to the customers, the common key needs to be concealed. Also, if the customer name and expiration date are intentionally rewritten by a third party, it is necessary to disable the decryption of the application encryption. Therefore, in the embodiment of the present invention, the common key included in the license file LF is obfuscated by subjecting the common key to specific processing, not to raw text data. As the specific processing (the algorithm for obfuscating the common key described in FIG. 2), the common key before obfuscation and the data between the customer name or the common key before obfuscation and the customer An exclusive or (EXclusive OR) is taken between the data of the name and the expiration date, and then the order is changed or passed through a lookup table such as SBOX (substitution box). In addition, addition / subtraction of those byte values may be used instead of exclusive OR. Also, the common key before obfuscation may be encrypted with another common key. At that time, the other common key can be included in the dynamic link library DLL for decryption and sent to the customer apparatus 1. Alternatively, the common key before obfuscation may be encrypted with a secret key unique to the developer device 2 and may be decrypted by the customer device 1 with a corresponding public key. Also at that time, the public key can be sent by being included in the dynamic link library DLL for decryption.
次に、電子署名について説明する。ここでの電子署名は、顧客名と有効期限の情報に基づくものである。従って、かかる電子署名により、顧客名と有効期限の情報の改ざんを検出することができる。電子署名の具体的作成においては、顧客名と有効期限の情報をSBOXなどのルックアップテーブルやSHA(Secure Hash Algorithm)などのハッシュ関数に通し、ライセンスファイルLFに記載されている値との一致をとることで行える。また、RSAやDSA(Digital Signature Algorithm)などの一般的な電子署名アルゴリズムを使用してもよい。 Next, the electronic signature will be described. The electronic signature here is based on the information of the customer name and the expiration date. Therefore, such electronic signature can detect falsification of information on customer name and expiration date. In the specific creation of the electronic signature, the customer name and expiration date information is passed through a lookup table such as SBOX or a hash function such as SHA (Secure Hash Algorithm) to match the value described in the license file LF. It can be done by taking it. Also, a general electronic signature algorithm such as RSA or DSA (Digital Signature Algorithm) may be used.
通信途中等で不正にライセンスファイルLFを取得した者が、その顧客名を書き変えてアプリケーションソフトウェアを使用しようとした場合、上述のように、顧客名及び有効期限についての電子署名を採用したので、後述の認証の際に、認証されない。また、上述のように、共通鍵に対して、少なくとも顧客名の情報を組み入れて、難読化(書き変え)をしているので、ライセンスファイルLF内の顧客名の情報が書き変えられた場合、その書き変えられた情報に基づいて元の共通鍵を復元しようとしても、正しい共通鍵は復元できないので、暗号化後アプリケーションEAPの復号化は不可能となる。 When a person who obtained the license file LF illegally in the middle of communication or the like tries to rewrite the customer name and use the application software, as described above, the electronic signature for the customer name and the expiration date is adopted. It is not authenticated at the time of the below-mentioned authentication. Also, as described above, since at least the customer name information is incorporated into the common key and obfuscation (rewriting) is performed, when the customer name information in the license file LF is rewritten, Even if the original common key is to be restored based on the rewritten information, since the correct common key can not be restored, decryption of the application EAP after encryption becomes impossible.
ライセンスファイルLFの例を下に示す。
--- license file ---
プロダクト名: PRODUCT0
有効期限: 2016/12/31
顧客名: AB** Corporation
難読化された共通鍵: 374E7EB28CFE0F38B0E174913A2D3277260BC5A9B1035
C098B39FF4C9C17B30C
電子署名: 7912A040D1CE675FCC0977D4968A24ECDC4F236A8FD8
C55618830FD3ADA1E938E38CBC3D5CB7581743316FC9C
BC75AD4711A67DD372FBA952E8830E147B4534An example of the license file LF is shown below.
--- license file ---
Product Name: PRODUCT0
Expiration date: December 31, 2016
Customer Name: AB ** Corporation
Obfuscated common key: 374E7EB28CFE0F38B0E174913A2D3277260BC5A9B1035
C098B39FF4C9C17B30C
Electronic signature: 7912A040D1CE675FCC0977D4968A24ECDC4F236A8FD8
C55618830FD3ADA1E938E38CBC3D5CB7581743316FC9C
BC75AD4711A67DD372FBA952E8830E147B4534
なお、ライセンスサーバ3は、開発者からライセンスファイルLFの要求を受けるごとに、図5に示すように、顧客とライセンスファイルLFとの対応関係をテーブルとして確保しておくことが好適である。ここで、テーブル内の“利用停止フラグ”は、後述する認証の際に、送られてきたプロダクト名及び顧客名の情報に基づき、対応するアプリケーションソフトウェアの暗号化を解除してもよいか否かを示す情報である。なお、難読化された共通鍵及び電子署名の項目は、ライセンスの再発行が想定されないのであれば、省略できる。 Preferably, the license server 3 secures, as a table, the correspondence between the customer and the license file LF as shown in FIG. 5 each time a request for the license file LF is received from the developer. Here, whether the "use stop flag" in the table may be used to decrypt the corresponding application software based on the information of the product name and the customer name sent during authentication described later. Information indicating The obfuscated common key and the items of the electronic signature can be omitted if reissue of the license is not expected.
次に、顧客が開発者から購入した、暗号化されたアプリケーションソフトウェアの、顧客装置1における実行について説明する。なお、顧客は、暗号化後アプリケーションEAPが格納された顧客装置1内のフォルダと同じフォルダにライセンスファイルLFを格納しておくことで、その暗号化後アプリケーションEAPを復号化して実行することができる、という構成にしておくことが好適である。 Next, the execution on the customer apparatus 1 of encrypted application software purchased by the customer from the developer will be described. Note that the customer can decrypt and execute the encrypted application EAP by storing the license file LF in the same folder as the folder in the customer apparatus 1 in which the encrypted application EAP is stored. It is preferable to have a configuration of
図6及び図7は、顧客装置1における、暗号化後アプリケーションEAPの実行について説明するための図である。図6(a)は、図4(c)に示した構成に、ライセンスファイルLFを加えて、実行時の説明のために書き変えた図である。図6(b)及び図7は、それぞれ、スタブプログラム及復号化用ダイナミックリンクライブラリDLLの処理手順を示すフローチャートである。 FIGS. 6 and 7 are diagrams for explaining the execution of the post-encryption application EAP in the customer apparatus 1. FIG. 6 (a) is a diagram in which the license file LF is added to the configuration shown in FIG. 4 (c) and rewritten for explanation at the time of execution. FIGS. 6B and 7 are flowcharts showing processing procedures of the stub program and the dynamic link library DLL for decoding, respectively.
暗号化後アプリケーションEAPに対して起動が掛かると、まず、エントリーポイントで指し示されたスタブプログラムが走り始める。図6(b)を参照して、スタブプログラムは、復号化用ダイナミックリンクライブラリDLLを呼び出す(ステップS11)。図7を参照して、呼び出された復号化用ダイナミックリンクライブラリDLLは(ステップS21において肯定判定)、ライセンスファイルLFの認証を行う(ステップS22)。 When the application EAP is activated after encryption, the stub program pointed to by the entry point starts running. Referring to FIG. 6 (b), the stub program calls the dynamic link library DLL for decryption (step S11). Referring to FIG. 7, the called dynamic link library DLL for decryption (affirmative determination in step S21) authenticates the license file LF (step S22).
具体的には、ライセンスファイルLFに含まれる電子署名に基づき、顧客名と有効期限の正当性(真正)を判定する。電子署名作成後に、ライセンスファイルLFの顧客名又は有効期限が改ざんされた場合には、電子署名の判定が否定される。加えて、ネットワークとオンラインで接続されている場合には、ライセンスサーバ3に対して、ライセンスファイルLFの有効性を問い合わせる。ライセンスサーバ3は、自身のライセンステーブル内の“利用停止フラグ”のON/OFFをみることにより、返答を行う。また、有効期限内か否かの判定においては、ネットワークとオフラインの場合には、オフラインでも可能なように、顧客装置1自身の時刻を参照することにより有効性を判定する。一方、オンラインの場合には、ライセンスサーバ3の時刻を参照して行うことにより、より強固な正当性の判定を実現する。また、開発者が顧客の不正な使用を検出できる手段として、オンラインの場合には、当該アプリケーションソフトウェアの使用状況や使用地域をライセンスサーバ3に通知するようにする。 Specifically, based on the electronic signature included in the license file LF, the legitimacy (authenticity) of the customer name and the expiration date is determined. If the customer name or the expiration date of the license file LF is falsified after the creation of the digital signature, the determination of the digital signature is denied. In addition, when connected online with the network, the license server 3 is inquired about the validity of the license file LF. The license server 3 responds by checking ON / OFF of the "use stop flag" in its own license table. Further, in the determination as to whether the expiration date is within the validity period, in the case of the network and the offline case, the validity is determined by referring to the time of the customer apparatus 1 itself so as to be possible offline. On the other hand, in the case of the on-line, more robust determination of legitimacy is realized by referring to the time of the license server 3. In addition, as a means by which the developer can detect the unauthorized use of the customer, in the case of the on-line, the usage condition and the use area of the application software are notified to the license server 3.
ステップS22におけるライセンスファイルLFの認証の結果、認証が否定的であった場合(ステップS23において否定判定)には、エラー処理を介して、暗号化後アプリケーションEAPの復号化が許可されない旨が通知される(ステップS24)。一方、認証が肯定的であった場合(ステップS23において肯定判定)には、復号化用ダイナミックリンクライブラリDLLは、ライセンスファイルLFから難読化された共通鍵を読み出し、難読化の処理と逆の処理をその難読化された共通鍵に施すことにより、元の共通鍵を復元する(ステップS25)。復号化用ダイナミックリンクライブラリDLLは、その復元した元の共通鍵を用いて、暗号化後アプリケーションEAPを復号化する(ステップS26)。ここで、難読化の処理のアルゴリズムは第三者には不明であるので、ライセンスファイルLF内の難読化された共通鍵の情報が不正に搾取されても、元の共通鍵を復元することは困難である。また、その難読化の処理には、正規の顧客名及び有効期限の情報が組み込まれているので、その後、ライセンスファイルLFのそれらの情報が書き変えられても、上記復号化の段階で復号できないか、又は復号化できても復号化後のアプリケーションは正常に動作しない。なお、電子署名が付されている場合には、その認証が成功すれば、顧客名及び有効期限の情報は不正に書き変えられていないと判定でき、上述の難読化された共通鍵の復元処理においても、元の共通鍵が復元できると考えられるが、何らかの理由で、電子署名の判定を通過してしまった場合に、このように二重に判定することにより、ライセンスファイルLF内の情報の保護が強固となる。 As a result of the authentication of the license file LF in step S22, when the authentication is negative (negative determination in step S23), it is notified that the decryption of the application EAP after encryption is not permitted through an error process. (Step S24). On the other hand, when the authentication is positive (affirmative determination in step S23), the dynamic link library DLL for decryption reads out the obfuscated common key from the license file LF, and performs processing reverse to the obfuscation processing. Is applied to the obfuscated common key to restore the original common key (step S25). The decryption dynamic link library DLL decrypts the encrypted application EAP using the restored original common key (step S26). Here, since the algorithm of the obfuscation process is unknown to the third party, even if the obfuscated common key information in the license file LF is illegally exploited, it is possible to restore the original common key. Have difficulty. Also, since the obfuscation process incorporates the information of the legitimate customer name and the expiration date, it can not be decrypted at the above decryption stage even if the information of the license file LF is rewritten thereafter. The application after decryption does not operate normally although it can be decrypted. When the electronic signature is attached, if the authentication is successful, it can be judged that the information on the customer name and the expiration date has not been rewritten illegally, and the obfuscated common key restoration process described above Even in the case where the original common key can be restored, if the electronic signature determination has been passed for some reason, the information in the license file LF can be Protection is strong.
図6(b)のスタブプログラムの処理に戻り、復号化用ダイナミックリンクライブラリDLLによる復号化処理が終了すると(ステップS12において肯定判定)、スタブプログラムは、制御を復号化されたプログラムの先頭にジャンプさせることにより、アプリケーションソフトウェアを実行させる(ステップS13)。 Returning to the processing of the stub program in FIG. 6 (b), when the decoding processing by the dynamic link library DLL for decoding is completed (affirmative determination in step S12), the stub program jumps control to the beginning of the decoded program. Application software is executed (step S13).
なお、1つのアプリケーションに、選択可能な複数の機能レベルが設定できる場合、顧客が購入要求時に指定した機能レベルで当該アプリケーションの機能を予め限定したものを、顧客に配布するようにしてもよいが、外からの指定に基づき機能レベルの自動設定が可能な1つのアプリケーションを各顧客に配布し、アプリケーションプログラムが実行時に顧客に応じてその機能レベルの自動設定を行うようにしてもよい。そのときには、顧客は、購入要求時又はライセンス要求時にその機能レベルの情報も提供し、ライセンスサーバ3は、ライセンスファイルLFにその機能レベルの情報も加えておき、アプリケーションプログラムは、復号化用ダイナミックリンクライブラリDLLを介してその情報を取得したり、又はAPI(Application Programing Interface)経由で取得したりすることもできる。 If a plurality of selectable function levels can be set in one application, it may be possible to distribute to the customer a limited function of the application at the function level specified by the customer at the time of purchase request. Alternatively, one application capable of automatically setting the function level based on an external designation may be distributed to each customer, and the application program may automatically set the function level according to the customer at the time of execution. At that time, the customer also provides the information of the function level at the time of purchase request or license request, the license server 3 adds the information of the function level to the license file LF, and the application program is a dynamic link for decryption. The information can also be acquired via a library DLL or acquired via an API (Application Programming Interface).
なお、上述のように暗号化後プログラムの復号化処理を復号化用ダイナミックリンクライブラリDLLに行わせたのは、C言語で開発できるという利点があるためである。スタブプログラムによっても可能ではあるが、C言語を使用できないためその分メンテナンスコストは上がってしまう。 As described above, the reason why the decryption process for the post-encryption program is performed by the decryption dynamic link library DLL is that it can be developed in C language. Although this can be done by a stub program, the maintenance cost is increased because C language can not be used.
なお、上述の実施の形態においては、暗号化されたアプリケーションソフトウェアは、ネットワークを介して開発者から顧客に渡されているが、CD等の媒体を介してもよい。 In the above embodiment, the encrypted application software is delivered from the developer to the customer via the network, but may be via a medium such as a CD.
以上のように、アプリケーションソフトウェアの提供及び認証方法並びにそのためのシステムにおける実施形態によれば、ライセンスの情報に、少なくとも顧客名の情報を含ませているので、ドングルや紙面等の非デジタル情報媒体を介すことなく、電子通信のみのやりとりでも、高度なセキュリティが担保できる。 As described above, according to the embodiment of the application software provision and authentication method and the system therefor, the license information includes at least the customer name information, and therefore non-digital information media such as dongles and paper etc. It is possible to secure high security even when exchanging only electronic communication without intervention.
特に、ライセンスファイルLFに、アプリケーションソフトウェアを暗号化するための共通鍵に対して、少なくとも顧客名の情報を施して変換させて得られた難読化された共通鍵の情報を含ませるようにしたので、ライセンスファイルLFの顧客名が、悪意のある第三者に書き変えられた場合、その難読化された共通鍵の情報に基づき、元の共通鍵を得ようとしても真正な共通鍵は得られないので、暗号化されたアプリケーションソフトウェアの復号化には成功しない。 In particular, the license file LF contains at least the customer name information and the obfuscated common key information obtained by converting the common key for encrypting the application software. When the customer name of the license file LF is rewritten to a malicious third party, a genuine common key is obtained even if it is tried to obtain the original common key based on the obfuscated common key information. Because it is not, decryption of encrypted application software is not successful.
また、顧客装置1に送られた暗号化されたアプリケーションソフトウェアの実行時には、その認証に、ネットワーク4とのオンライン又はオフラインに応じた融通性のある処理を行うことができる。 Further, when executing the encrypted application software sent to the customer apparatus 1, it is possible to perform flexible processing according to on-line or off-line with the network 4 for the authentication.
本発明のアプリケーションソフトウェアの提供及び認証方法並びにそのためのシステムは、例えば、任意の者が自身のパーソナルコンピュータで使用したい各種アプリケーションソフトウェアをその開発者のホームページや販売サイトから入手する場合の技術である。 The method for providing and authenticating application software and the system therefor according to the present invention is, for example, a technique when any person wants to obtain various application software that he / she wants to use on his / her personal computer from the homepage or sales site of the developer.
1 顧客装置
2 開発者装置
21 暗号化ツール
3 ライセンスサーバ
4 インターネット
PF プロダクトファイル
LF ライセンスファイル
AP 暗号化前アプリケーション
EAP 暗号化後アプリケーション
DLL 復号化用ダイナミックリンクライブラリ
1 Customer Device 2 Developer Device 21 Encryption Tool 3 License Server 4 Internet PF Product File LF License File AP Pre-Encryption Application EAP Post-Encryption Application DLL Dynamic Link Library for Decryption
本発明は、アプリケーションソフトウェアの提供及び認証方法並びにそのためのシステムに関する。The present invention isrelated to systems providing and authentication method and for its application software.
まず、難読化された共通鍵について説明する。ライセンスファイルLFは顧客に配布されるため、共通鍵は秘匿される必要がある。また、顧客名や有効期限が第三者により故意に書き換えられた場合には、アプリケーションの暗号化の解除を不能にする必要がある。従って、本発明の実施の形態においては、ライセンスファイルLFに含ませる共通鍵を、生のテキストデータではなく、それに対して特定の処理を施すことにより、難読化する。その特定の処理(図2で説明した、共通鍵を難読化するためのアルゴリズム)としては、難読化前の共通鍵と、顧客名とのデータ間、又は、難読化前の共通鍵と、顧客名及び有効期限とのデータ間で排他的論理和(Exclusive OR)をとり、そのあとSBOX(substitution box)などのルックアップテーブルを通したり、順番を入れ替えたりする。なお、排他的論理和ではなく、それらのバイト値の加減算でもよい。また、難読化前の共通鍵を別の共通鍵で暗号化してもよい。そのときには、その別の共通鍵は、復号化用ダイナミックリンクライブラリDLLに含ませて顧客装置1に送っておくことができる。また、難読化前の共通鍵を開発者装置2に固有の秘密鍵で暗号化し、対応する公開鍵をもって顧客装置1で復号化させるようにしてもよい。そのときにも、その公開鍵は、復号化用ダイナミックリンクライブラリDLLに含ませて送ることができる。また、共通鍵を難読化するとき、顧客名に加えて、顧客PC(顧客装置1)のMacアドレス、CPUシリアル、及びディスクドライブシリアルを用いて難読化してもよい。これにより、顧客PC以外でのアプリケーションソフトウェアの実行を抑制することができる。First, the obfuscated common key will be described. Since the license fileL F is distributed to the customers, the common key needs to be concealed. In addition, in thecase that has been rewritten to deliberately customer name and the expiration date by a third party, it is necessary to disable the release of encryption of the application. Therefore, in the embodiment of the present invention, the common key included in the license file LF is obfuscated by subjecting the common key to specific processing, not to raw text data. As the specific processing (the algorithm for obfuscating the common key described in FIG. 2), the common key before obfuscation and the data between the customer name or the common key before obfuscation and the customer An exclusive OR is taken between the data of the name and the expiration date, and then it is passed through a lookup table such as SBOX (substitution box) or the order is changed. In addition, addition / subtraction of those byte values may be used instead of exclusive OR. Also, the common key before obfuscation may be encrypted with another common key. At that time, the other common key can be included in the dynamic link library DLL for decryption and sent to the customer apparatus 1. Alternatively, the common key before obfuscation may be encrypted with a secret key unique to the developer device 2 and may be decrypted by the customer device 1 with a corresponding public key. Also at that time, the public key can be sent by being included in the dynamic link library DLL for decryption.When obfuscating the common key, in addition to the customer name, the Mac address of the customer PC (customer device 1), CPU serial, and disk drive serial may be used for obfuscation. This can suppress the execution of application software other than the customer PC.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017078356AJP6796861B2 (en) | 2017-04-11 | 2017-04-11 | Application software provision and authentication method and system for that |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017078356AJP6796861B2 (en) | 2017-04-11 | 2017-04-11 | Application software provision and authentication method and system for that |
| Publication Number | Publication Date |
|---|---|
| JP2018180854Atrue JP2018180854A (en) | 2018-11-15 |
| JP6796861B2 JP6796861B2 (en) | 2020-12-09 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017078356AActiveJP6796861B2 (en) | 2017-04-11 | 2017-04-11 | Application software provision and authentication method and system for that |
| Country | Link |
|---|---|
| JP (1) | JP6796861B2 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2020195417A1 (en)* | 2019-03-27 | 2020-10-01 | ||
| WO2021054145A1 (en) | 2019-09-19 | 2021-03-25 | ソニー株式会社 | Information processing method and recording medium |
| JP2021190915A (en)* | 2020-06-02 | 2021-12-13 | 株式会社メディアドゥ | Content utilization system, content utilization method, user terminal, program, and distribution server |
| JP7655656B2 (en) | 2020-09-29 | 2025-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Software Access Through Heterogeneous Encryption |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111401901B (en)* | 2020-03-23 | 2021-06-04 | 腾讯科技(深圳)有限公司 | Authentication method and device of biological payment device, computer device and storage medium |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH086784A (en)* | 1994-06-15 | 1996-01-12 | Nippon Telegr & Teleph Corp <Ntt> | Unauthorized copy use prevention system for software / copyright and unauthorized copy use prevention processing method |
| JPH0969044A (en)* | 1995-08-31 | 1997-03-11 | Fujitsu Ltd | Licensee notification system |
| JP2002163578A (en)* | 2000-08-21 | 2002-06-07 | Credist Inc | System and method for software lending, and computer program for software lending system |
| JP2003029861A (en)* | 2001-07-12 | 2003-01-31 | Hitachi Ltd | Application program supply method, application program used in this supply method, and recording medium recording the same |
| JP2005004449A (en)* | 2003-06-11 | 2005-01-06 | Canon Inc | Information processing apparatus, information processing method, program, and storage medium |
| JP2011023950A (en)* | 2009-07-15 | 2011-02-03 | Nec Corp | Time management apparatus, ip broadcast receiver, time management method and program |
| US8359473B1 (en)* | 2009-02-02 | 2013-01-22 | Adobe Systems Incorporated | System and method for digital rights management using digital signatures |
| WO2013140774A1 (en)* | 2012-03-20 | 2013-09-26 | パナソニック株式会社 | Server device, player device, and content distribution system |
| JP2014501966A (en)* | 2010-11-22 | 2014-01-23 | インテル コーポレイション | Secure software licensing and provisioning using hardware-based security engines |
| JP2017016167A (en)* | 2015-06-26 | 2017-01-19 | キヤノン株式会社 | Information processing apparatus, method, and program |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH086784A (en)* | 1994-06-15 | 1996-01-12 | Nippon Telegr & Teleph Corp <Ntt> | Unauthorized copy use prevention system for software / copyright and unauthorized copy use prevention processing method |
| JPH0969044A (en)* | 1995-08-31 | 1997-03-11 | Fujitsu Ltd | Licensee notification system |
| JP2002163578A (en)* | 2000-08-21 | 2002-06-07 | Credist Inc | System and method for software lending, and computer program for software lending system |
| JP2003029861A (en)* | 2001-07-12 | 2003-01-31 | Hitachi Ltd | Application program supply method, application program used in this supply method, and recording medium recording the same |
| JP2005004449A (en)* | 2003-06-11 | 2005-01-06 | Canon Inc | Information processing apparatus, information processing method, program, and storage medium |
| US8359473B1 (en)* | 2009-02-02 | 2013-01-22 | Adobe Systems Incorporated | System and method for digital rights management using digital signatures |
| JP2011023950A (en)* | 2009-07-15 | 2011-02-03 | Nec Corp | Time management apparatus, ip broadcast receiver, time management method and program |
| JP2014501966A (en)* | 2010-11-22 | 2014-01-23 | インテル コーポレイション | Secure software licensing and provisioning using hardware-based security engines |
| WO2013140774A1 (en)* | 2012-03-20 | 2013-09-26 | パナソニック株式会社 | Server device, player device, and content distribution system |
| JP2017016167A (en)* | 2015-06-26 | 2017-01-19 | キヤノン株式会社 | Information processing apparatus, method, and program |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2020195417A1 (en)* | 2019-03-27 | 2020-10-01 | ||
| JP7291905B2 (en) | 2019-03-27 | 2023-06-16 | パナソニックIpマネジメント株式会社 | Display system, control device and control method |
| WO2021054145A1 (en) | 2019-09-19 | 2021-03-25 | ソニー株式会社 | Information processing method and recording medium |
| US12386941B2 (en) | 2019-09-19 | 2025-08-12 | Sony Group Corporation | Information processing method and recording medium |
| JP2021190915A (en)* | 2020-06-02 | 2021-12-13 | 株式会社メディアドゥ | Content utilization system, content utilization method, user terminal, program, and distribution server |
| JP7655656B2 (en) | 2020-09-29 | 2025-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Software Access Through Heterogeneous Encryption |
| Publication number | Publication date |
|---|---|
| JP6796861B2 (en) | 2020-12-09 |
| Publication | Publication Date | Title |
|---|---|---|
| US9853957B2 (en) | DRM protected video streaming on game console with secret-less application | |
| EP1942430B1 (en) | Token Passing Technique for Media Playback Devices | |
| KR100912276B1 (en) | Electronic Software Distribution Method and System Using a Digital Rights Management Method Based on Hardware Identification | |
| KR100362219B1 (en) | Method and system for distributing programs using tamper resistant processor | |
| US7313828B2 (en) | Method and apparatus for protecting software against unauthorized use | |
| EP1636664B1 (en) | Proof of execution using random function | |
| US20020083318A1 (en) | Method and system for software integrity control using secure hardware assist | |
| JP2018180854A (en) | Application software provision and authentication method and system therefor | |
| JP2009070397A (en) | Method and system for using tamperproof hardware to provide copy protection and online security | |
| WO2009110457A1 (en) | Authentication information generation system, authentication information generation method, and authentication information generation program utilizing a client device and said method | |
| JP3580333B2 (en) | How to equip the encryption authentication function | |
| JP2001175468A (en) | Method and device for controlling use of software | |
| US20130173923A1 (en) | Method and system for digital content security cooperation | |
| WO2006109640A1 (en) | Content distribution server and content distribution system using the same | |
| TW201530344A (en) | Application program access protection method and application program access protection device | |
| CN112800392A (en) | Soft certificate-based authorization method and device, and storage medium | |
| JP2008287488A (en) | Data distributing and preserving unit | |
| JP2010500656A (en) | Portable mass storage with virtual machine activation | |
| JP2005512170A (en) | Information protection method and apparatus against unauthorized use | |
| US8756433B2 (en) | Associating policy with unencrypted digital content | |
| JP2007515723A (en) | Software execution protection using active entities | |
| CN114070548A (en) | Software copyright encryption protection method based on soft dongle device | |
| JP2006527446A (en) | Method and system for performing transactions and verifying legitimate access to or use of digital data | |
| JP2005303370A (en) | Semiconductor chip, start program, semiconductor chip program, storage medium, terminal, and information processing method | |
| US7197144B1 (en) | Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users |
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20170426 | |
| A521 | Request for written amendment filed | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20170616 | |
| A621 | Written request for application examination | Free format text:JAPANESE INTERMEDIATE CODE: A621 Effective date:20190402 | |
| A977 | Report on retrieval | Free format text:JAPANESE INTERMEDIATE CODE: A971007 Effective date:20200227 | |
| A131 | Notification of reasons for refusal | Free format text:JAPANESE INTERMEDIATE CODE: A131 Effective date:20200401 | |
| A521 | Request for written amendment filed | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20200529 | |
| A131 | Notification of reasons for refusal | Free format text:JAPANESE INTERMEDIATE CODE: A131 Effective date:20200908 | |
| A521 | Request for written amendment filed | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20201021 | |
| TRDD | Decision of grant or rejection written | ||
| RD04 | Notification of resignation of power of attorney | Free format text:JAPANESE INTERMEDIATE CODE: A7424 Effective date:20201028 | |
| A01 | Written decision to grant a patent or to grant a registration (utility model) | Free format text:JAPANESE INTERMEDIATE CODE: A01 Effective date:20201104 | |
| A61 | First payment of annual fees (during grant procedure) | Free format text:JAPANESE INTERMEDIATE CODE: A61 Effective date:20201110 | |
| R150 | Certificate of patent or registration of utility model | Ref document number:6796861 Country of ref document:JP Free format text:JAPANESE INTERMEDIATE CODE: R150 | |
| R250 | Receipt of annual fees | Free format text:JAPANESE INTERMEDIATE CODE: R250 |