JP2021185642A - License key with digital signature - Google Patents
License key with digital signature Download PDFInfo
- Publication number
- JP2021185642A JP2021185642A JP2020090173A JP2020090173A JP2021185642A JP 2021185642 A JP2021185642 A JP 2021185642A JP 2020090173 A JP2020090173 A JP 2020090173A JP 2020090173 A JP2020090173 A JP 2020090173A JP 2021185642 A JP2021185642 A JP 2021185642A
- Authority
- JP
- Japan
- Prior art keywords
- information
- information processing
- key
- character string
- 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
Images
Abstract
Description
本発明は、情報処理装置から他の情報処理装置へ任意の情報を転送することを可能にするプログラム及び情報処理システムに関する。 The present invention relates to a program and an information processing system that enable transfer of arbitrary information from an information processing device to another information processing device.
従来、利用者に情報を入力させ、この情報に基づいてライセンスキーを生成する技術が知られている。 Conventionally, there is known a technique of having a user input information and generating a license key based on this information.
しかし、特許文献1に開示された技術では、長い文字列を授受しなければならないという問題がある。
However, the technique disclosed in
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、第1の情報処理装置が暗号化された通信網を用いて第2情報処理装置に鍵を送付し、第2情報処理装置が、前記鍵を用いて暗号化した情報を第3記憶装置に記憶させ、第1情報処理装置が、該情報をダウンロードする情報処理システムすることにある。 The present invention has been made in view of such circumstances, and an object of the present invention is to send a key to a second information processing device using an encrypted communication network of the first information processing device. The second information processing device stores the information encrypted by using the key in the third storage device, and the first information processing device downloads the information.
本発明の一態様の情報処理システムは、
第1情報処理装置は、鍵を暗号化された通信網を用いて第2情報処理装置に送付し、該第2情報処理装置が作成した情報は、前記鍵によって暗号化され第3記憶装置にアップロードされ、情報処理装置1は、該情報を他の情報と識別するライセンスコードの入力を受け付け、情報処理装置1は、該ライセンスコードに基づいて、第3記憶装置に記憶された情報から、ダウンロードすべき情報を特定しダウンロードする。
The information processing system of one aspect of the present invention is
The first information processing device sends the key to the second information processing device using the encrypted communication network, and the information created by the second information processing device is encrypted by the key and stored in the third storage device. Upon being uploaded, the
本発明の一側面によれば、第2情報処理装置が作成した情報を第3記憶装置に記憶させ、該情報より小さい情報をライセンスコードとして第1情報処理装置に入力され、第1情報処理装置は、前記第3記憶装置に記憶された情報から、ダウンロードすべき情報を特定しダウンロードすることが可能。 According to one aspect of the present invention, the information created by the second information processing device is stored in the third storage device, information smaller than the information is input to the first information processing device as a license code, and the first information processing device is used. Can identify and download the information to be downloaded from the information stored in the third storage device.
<実施の形態1>本実施の形態を、図1−1を参照して説明する。図1−1は、情報処理装置を示すブロック図。情報処理装置1は、インターネット、LAN(Local Area Network)または携帯電話網などの通信網Nによりほかの情報処処理装置と相互に接続されている。情報処理装置1は、例えばサーバ装置、パーソナルコンピュータまたはスマートフォン等。情報処理装置1は、CPU(Central Prosessing Unit)11、記憶部12、RAM(Random Access Memory)13、入力部14、表示部15、通信部16、をそなえる。
<
CPU11について。CPU11は、バスを介してハードウェア各部と接続されている。CPU11は、例えば1もしくは複数のCPUまたはマルチコアCPU等をそなえる。CPU11は、記憶部12に記憶されたプログラム12Pに従いハードウェア各部を制御する。CPU11は、記憶媒体(図示しない)に記録されたプログラムをドライブ部(図示しない)に読み取らせ、読み取ったプログラムを記憶部12に、プログラム12Pとして記憶させる形態であってもよい。CPU11は、必要に応じてプログラム12Pを記憶部12からRAM13にロードし、ロードしたプログラム12Pに従って各署の処理を実行する。
About CPU11. The
記憶部12について。記憶部12は、例えばハードディスクまたは大容量メモリ等。記憶部12は、CPU11が処理を行う際に必要な種々のデータおよびプログラム12Pを格納する。
About the
プログラム12Pについて。プログラム12Pは、情報処理装置1の外部からダウンロードされてもよく、予め記憶部12に記憶されていてもよい。この場合、情報処理装置1は、ドライブ部(図示しない)をそなえない形態であってもよい。
About
RAM13について。RAM13は、例えばSRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等。RAM13は、記憶部としても機能し、CPU11による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
About RAM13. The
入力部14について。入力部14は、マウスまたはキーボードなどの入力デバイス。入力部14は、受け付けた操作情報をCPU11へ送信する。
About
表示部15について。表示部15は、CPU11から送信された画像データを表示する。表示部15は、例えば液晶ディスプレイ等。
About the
通信部16について。通信部16は、例えば無線LANカードまたは携帯電話用通信モジュール等。通信部16は、通信網Nを介し各種情報を送受信する。
About
図1−2は、実施の形態1に係る情報処理システムの構成を示すブロック図。 FIG. 1-2 is a block diagram showing a configuration of an information processing system according to the first embodiment.
情報処理システムは、情報処理装置1、情報処理装置2、記憶装置3をそなえる。
The information processing system includes an
情報処理装置1および情報処理装置2について。情報処理装置1および情報処理装置2は、図1を参照して説明したものと同様。情報処理装置1および情報処理装置2および記憶装置3は、通信網Nに接続されている。
About
記憶装置3について。記憶装置3は、サーバ装置などのコンピュータ。記憶装置3は、CPU31、記憶装置32、RAM33、通信部34をそなえる(記憶装置のCPU31は、プログラム32Pに基づいて、情報処理装置2から転送された情報を通信部34を介して、例えば記憶部32に記憶する。)(記憶装置のCPU31は、プログラム32Pに基づいて、情報処理装置1から発せられた要求に基づいて、記憶部32に記憶されている情報を、通信部34を介して、情報処理装置1に転送する(情報処理装置1は、プログラム12Pに基づいて、記憶部32に記憶されている情報をダウンロードする)。)。
About
CPU31について。CPU31は、記憶部32に記憶されたプログラム32Pにしたがいハードウェア各部を制御する。
About CPU31. The
通信部34について。
About
通信部34は、通信網Nを介して各種情報を送受信する。
The
図1−3は、実施の形態1に係る、情報処理装置1と、情報処理装置2を示すブロック図。
FIG. 1-3 is a block diagram showing an
通信網Nについて。通信網Nは、情報処理装置1と情報処理装置2を接続している。
About communication network N. The communication network N connects the
情報処理装置2について。CPU21、記憶部22、RAM23、入力部24、表示部25、通信部26は、情報処理装置1における、CPU11、記憶部12、RAM13、入力部14、表示部15、通信部16、と同様。
About
図2は、情報処理装置1が、前記情報処理装置1を他の情報処理装置と識別できる情報(ID)を作成し、情報処理装置2に送付し、情報処理装置2は前記IDを書き込んだ情報を作成し、前記情報処理装置1が読み取ることができる形態で情報処理装置2が他の情報処理装置または記憶装置に記憶させる情報処理システムに関する図。
In FIG. 2, the
情報処理装置1について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、情報処理装置1を他の情報処理装置と識別できる情報を作成(第1の処理)し、前記第1の処理によって作成された情報は、例えば記憶部12に記憶する。
The
前記第1の処理によって作成される情報について説明する。この情報は、GUID(Globally Unique Identifier)などのUUID(Universally Unique Identifier)を用いることが好適。この情報は、ユーザによる操作に応じて作成され、作成されるたびに記憶部12に暗号化して記憶される形態が好適。
The information created by the first process will be described. It is preferable to use a UUID (Universally Unique Identifier) such as a GUID (Globally Unique Identifier) for this information. It is preferable that this information is created in response to an operation by the user, and is encrypted and stored in the
識別情報201について説明する。識別情報201は、前記第1の処理によって作成された(または以前に前記第1の処理によって作成され、例えば記憶部12に記憶された)情報。識別情報201は、情報処理装置2が作成する情報に書き込まれるため。情報処理装置2を運用する者が作成したウェブサイトに前記識別情報201に相当する文字列を入力させる形態が好適。前記ウェブサイト入力された前記識別情報201は、SSL(Secure Sockets Layer)をはじめとする暗号化を施し、通信網Nを介して送信される形態が好適。
The
情報処理装置2について説明する。情報処理装置2のCPU21は、プログラム22Pに基づいて、前記識別情報201を書き込んだ情報(例えばファイル)を作成(第11の処理)し、例えば記憶部22に記憶する。
The
前記第11の処理によって作成される情報について説明する。この情報は、情報処理装置2、情報処理装置1、を除く装置によっては読み込むことができない形態が好適。そのためには、例えば識別情報201を用いて暗号化する形態が好適。(変形例:情報処理装置1は、公開鍵暗号化のための公開鍵および秘密鍵を作成し、前記公開鍵を識別情報201として扱い、前記公開鍵の鍵ペアである秘密鍵と、前記秘密鍵と鍵ペアである公開鍵を他の公開鍵と識別する情報の組み合わせ(例えば、前記公開鍵自身)(例えば、前記公開鍵の指紋)は例えば記憶部12に記憶する。情報処理装置2は、前記識別情報201を用いて前記第11の処理によって作成された情報を暗号化し、情報処理装置1は、前記公開鍵と鍵ペアである秘密鍵を用いて復号する。第2情報処理装置が作成した情報の少なくともいずれかに、前記暗号化に用いた公開鍵を他の公開鍵と識別する情報(例えば指紋)を付加する)。
The information created by the eleventh process will be described. This information is preferably in a form that cannot be read by any device other than the
ファイル241cについて説明する。
必ずしもファイルという形態でなくてもよい。 It does not necessarily have to be in the form of a file.
例えば、記憶装置3にデータベース(図示しない)を設置しており、情報処理装置2は、前記データベースに書き込むことができ(ファイル201cに相当)、情報処理装置1は、前記データベースに書き込まれた情報を読み取ることができる(ファイル301cに相当)形態が考えられる。
For example, a database (not shown) is installed in the
情報処理装置2のCPU22は、プログラム22Pに基づいて、前記第11の処理によって作成された情報を、通信網Nを介して記憶装置3(の、記憶部32)に記憶される。情報処理装置2と情報処理装置1は、記憶装置3における前記記憶部32の所在(例えば、http://www.tsubossie.client.jp/tokugan123-456というURL(Uniform Resource Locator)によって特定される位置(ディレクトリ))である旨が設定されている。
The
ライセンスコード241bについて説明する。情報処理装置2のCPU22は、プログラム22Pに基づいて、ファイル241cの例えばファイル名に基づいて、ライセンスコード241bを作成する。前記ライセンスコード241bは、例えば文字列として、情報処理装置1を使用する者に連絡され、情報処理装置1は、前記ライセンスコード241bの入力を受け付けて、前記ライセンスコード241bに基づいて、記憶装置3における読み込み対象となる情報を特定し、通信網Nを介して、前記情報を読み込み、例えば記憶部12に記憶する。
The
情報処理装置1について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、入力されたライセンスコード241bを用いて、読み込み対象である情報が存在する位置を特定し、前記位置に存在する情報を読み込み、例えば記憶部12に記憶する。前記記憶部12に記憶された情報を復号(この時に用いる鍵は、前記ライセンスコード241b、前記記憶部12に記憶された情報の少なくともいずれかに書き込まれている情報に基づいて、前記第1の処理によって作成され記憶部12に記憶された情報から特定する)し、前記復号によって得られた情報に基づいて、例えばプログラム12Pの動作を変更する。前記プログラム12Pの動作を変更するために必要な情報があるときは、例えば記憶部12に記憶する。
The
図3は、実施の形態1に係る情報処理装置が、識別情報201を作成する処理に関する。
FIG. 3 relates to a process in which the information processing apparatus according to the first embodiment creates
記憶情報301について説明する。記憶情報301は例えば文字列であって、該文字列は、処理部302を介し、第1連想配列、第2連想配列に変換される。情報処理装置1のCPU11は、プログラム12Pに基づいて、記憶情報301を、例えば文字列として、例えば記憶部12に記憶する。
The
識別情報として使用する情報が作成されたときについて説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、作成された情報を、第1連想配列303bおよび第2連想配列303cの少なくともいずれかに追加する。第1連想配列303bおよび第2連想配列303cは、例えばRAM13に記憶される。
The time when the information to be used as the identification information is created will be described. The
第1連想配列303bについて説明する。少なくとも暗号化のための鍵(例えば、公開鍵暗号化のための鍵であるなら秘密鍵)を該連想配列のキーとし、該キーと組み合わせてある値は、該キーが、何という暗号化の種類(AES、楕円曲線暗号、共通鍵暗号など)のための鍵かを示す情報が格納されている。
The first
第2連想配列303cについて説明する。
The second
秘密鍵を該連想配列のキーとし、該キーと組み合わせてある値は、該秘密鍵と鍵ペアである公開鍵が格納されている(秘密鍵と公開鍵の関係は逆に記憶されていてもよい)。 The private key is used as the key of the associative array, and the value combined with the key stores the public key which is a key pair with the private key (even if the relationship between the private key and the public key is stored in reverse). good).
図3−1は、処理部302に関する図。処理部302の動作を、図3−1を参照しながら説明する。この処理をルーチンとするなら、第1引数(真理値型)、第2引数(参照渡しの文字列型)、第3引数及び第4引数(参照渡しの連想配列)を設け、
FIG. 3-1 is a diagram relating to the
前記第1引数によって、第2引数に代入された文字列を配列に変換し、第3引数または第4引数に代入する処理と、第3引数及び第4引数に代入された連想配列を文字列に変換し、第2引数に代入する処理と、 The process of converting the character string assigned to the second argument into an array by the first argument and assigning it to the third or fourth argument, and the associative array assigned to the third and fourth arguments are character strings. And the process of converting to and assigning to the second argument,
のいずれかを実行する形態が考えられる。前記ルーチンは、処理に成功したときTRUE、処理に失敗したときFALSEを返す形態が好適。処理に成功したときとは、ステップS312またはステップS314にて処理が終了したときを含む。 A form of executing any of the above can be considered. The routine is preferably in the form of returning TRUE when the processing is successful and FALSE when the processing is unsuccessful. The time when the processing is successful includes the time when the processing is completed in step S312 or step S314.
前記ルーチンの変形例は次の通り。 An example of modification of the above routine is as follows.
この処理をルーチンとするなら、第1引数(真理値型)、第2引数(パスワード)、第3引数(参照渡しの文字列型)、第4引数及び第5引数(参照渡しの連想配列)を設け、 If this process is a routine, the first argument (truth value type), the second argument (password), the third argument (string type passed by reference), the fourth argument and the fifth argument (associative array passed by reference) And set up
前記第1引数によって、第2引数に代入された文字列を第3引数をパスワードとみなして復号したものを配列に変換し、第4引数または第5引数に代入する処理と、第4引数及び第5引数に代入された連想配列を文字列に変換し、該文字列を第3引数をパスワードとして暗号化したものを第2引数に代入する処理と、 The process of converting the character string assigned to the 2nd argument by the 1st argument into an array by regarding the 3rd argument as a password and assigning it to the 4th or 5th argument, and the 4th argument and The process of converting the associative array assigned to the 5th argument into a character string, encrypting the character string with the 3rd argument as a password, and assigning it to the 2nd argument.
のいずれかを実行する形態が考えられる。前記ルーチンは、処理に成功したときTRUE、処理に失敗したときFALSEを返す形態が好適。処理に成功したときとは、ステップS312またはステップS314にて処理が終了したときを含む。 A form of executing any of the above can be considered. The routine is preferably in the form of returning TRUE when the processing is successful and FALSE when the processing is unsuccessful. The time when the processing is successful includes the time when the processing is completed in step S312 or step S314.
文字列を配列に変換する処理について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、例えばRAM13に、記憶情報301(文字列)、第1連想配列303b、第2連想配列303c、を記憶する領域を確保し、記憶情報301として文字列を記憶する。記憶情報301、に基づいて、ステップS315によって作成した第1連想配列303b、第2連想配列303b、を例えばRAM13に記憶し、処理を終了する。
The process of converting a character string into an array will be described. Based on the
配列を文字列に変換する処理について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、例えばRAM13に、記憶情報301(文字列)、第1連想配列303b、第2連想配列303c、を記憶する領域を確保し、記憶情報301として文字列を記憶する。第1連想配列303b、第2連想配列303c、に基づいて、ステップS313によって作成した記憶情報301を、例えばRAM13に記憶し、処理を終了する。
The process of converting an array to a character string will be described. Based on the
ステップS311について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、例えばRAM13に記憶された文字列を連想配列2個に変換する処理を実行すべきか、あるいは、例えばRAM13に記憶された連想配列2個を文字列に変換する処理を実行する処理を実行すべきか、を、例えばRAM13に記憶されたフラグ(真理値型の変数)(例えば前記ルーチンの第1引数に指定された)に基づいて判断する。ここでは、Sステップ311:YESの場合にステップS312からステップS313までを実行し、ステップS311:NOの場合にステップS314,ステップS315を実行する場合を例に説明する。
Step S311 will be described. The
ステップS312について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、第1連想配列303b及び第2連想配列303cに格納された連想配列が、いずれも「nullまたは要素数0個」である場合に、記憶情報301に空文字列を記憶させ、処理を終了する。
Step S312 will be described. The
ステップS314について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、記憶情報301に空文字列(nullは空文字列とみなす)が格納されている場合に、第1連想配列303b及び第2連想配列303cに要素数0の連想配列を記憶させ、処理を終了する。
Step S314 will be described. Based on the
図3−2は、ステップS313を示すフローチャート(連想配列から文字列)。情報処理装置のCPU11は、プログラム12Pに基づいて、ステップS313を下記の通り実行する。
FIG. 3-2 is a flowchart (character string from an associative array) showing step S313. The
ステップS323について説明する。 Step S323 will be described.
このステップは、例えばRAM13に記憶されている、第1連想配列303bを第1文字列324bに変換する処理と、第2連想配列303cを第2文字列324cに変換する処理と、
This step includes, for example, a process of converting the first
を実行し、これらの文字列を例えばRAM13に記憶する。前記した、連想配列を文字列に変換する処理の手順は、実施の形態Aに記載の通り。
Is executed, and these character strings are stored in, for example,
ステップS325について説明する。 Step S325 will be described.
このステップは、配列326(要素数は2個)を作成し、例えばRAM13に記憶されている、第1文字列324bを前記配列326の0番の要素に格納する処理と、第2文字列325bを前記配列326の1番の要素に格納する処理と、
This step creates an array 326 (the number of elements is two), for example, stores the
実行し、前記配列326を例えばRAM13に記憶する。
Execute and store the
ステップS327について説明する。 Step S327 will be described.
このステップは、例えばRAM13に記憶されている、配列326のいかなる要素にも存在しない文字を1個特定し、前記文字を区切り文字として、前記配列326の各要素を連結した文字列を作成し、前記文字列の区切り文字とは異なる所定の位置(例えば末尾、1文字目)に前記区切り文字を配置した文字列を、文字列328として作成し、
In this step, for example, one character that is stored in
前記文字列328を、例えばRAM13に記憶し(変形例:前記文字列328を暗号化したものを例えばRAM13に記憶し)、処理を終了する。例えば、配列326(文字列型配列)の0番の要素にaaaa、該配列326の1番の要素にbbbbが。格納されているとき、該配列326のいかなる要素にも存在しない文字、例えばcを区切り文字とし、aaaacbbbbcを文字列328として、例えばRAM13に記憶する。
The
図3−3は、ステップS315を示すフローチャート(文字列から連想配列)。情報処理装置のCPU11は、プログラム12Pに基づいて、ステップS315を下記の通り実行する。
FIG. 3-3 is a flowchart (arrangement from a character string associative array) showing step S315. The
ステップS337について説明する。 Step S337 will be described.
このステップは、例えばRAM13に記憶されている、文字列338の所定の位置(例えば末尾、1文字目)に存在する文字を区切り文字とし、該所定の位置でない位置に存在する文字列を前記区切り文字を境に区切って配列336を作成し、
In this step, for example, a character existing in a predetermined position (for example, the first character at the end) of the
前記配列336を、例えばRAM13に記憶する。文字列338がaaabcccbである場合に、前記所定の位置が末尾である場合を説明する。この場合、bを区切り文字としaaabcccを、前記bを境に区切る。よって配列336は、0番の要素にaaa、1番の要素にcccを格納した要素数2の配列として、例えばRAM13に記憶される。
The
ステップS335について説明する。 Step S335 will be described.
このステップは、例えばRAM13に記憶されている、配列336の各要素に存在する文字列を連想配列に変換し、前記連想配列を、連想配列303b、連想配列303c、として。
In this step, for example, the character string existing in each element of the
例えばRAM13に記憶し、処理を終了する。この時、作成される連想配列の数は、配列336の要素数と同数。前記した、文字列を連想配列に変換する処理の手順は、実施の形態Aに記載の通り。
For example, it is stored in the
図3−4は、処理部303に関する図。処理部302の動作を、図3−1を参照しながら説明する。この処理をルーチンとするなら次の形態が考えられる。第1引数(参照渡し。第1連想配列303bを格納)、第2引数(参照渡し。第2連想配列303cを格納)、第3引数以降に、識別情報201が暗号化のための鍵であるときの該暗号化の種類(RSA、楕円曲線暗号、共通鍵暗号など)を指定するなどのために設ける。例えば、第3引数(真理値型。共通鍵暗号のための鍵を識別情報201として返す場合はTRUE)、第4引数(真理値型。RSA暗号のための鍵を識別情報201として返す場合はTRUE)、第5引数(RSA暗号の秘密鍵を返す場合、該秘密鍵と鍵ペアである公開鍵を格納。それ以外の場合、空文字列またはnullを格納)を設ける形態が考えられる。前記ルーチンは、処理に成功した場合は、識別情報201、失敗した場合は、第6引数に指定された値を返す形態が好適。
FIG. 3-4 is a diagram relating to the
ステップS341について説明する。この処理は必ずしもすべての場合に実行する必要はない。例えば、第1連想配列303bの要素数をn(例えば、n=100)で割り、その剰余(0以上n−1以下)が、乱数(0以上n以下。必ずしも整数でなくてもよい)の場合のみ以下の処理を実行する形態が考えられる。これは必要以上に鍵が増えることを防ぐことと、処理部303の実行時間が長くなる場合を少なくする効果がある。このステップは、処理部303が返そうとしている識別情報201が何の種類の暗号化(RSA、楕円曲線暗号、共通鍵暗号など)かに基づいて、新しい鍵を作成し、該鍵を、少なくとも第1連想配列301bに記憶する。
Step S341 will be described. This process does not necessarily have to be performed in all cases. For example, the number of elements in the first
作成する鍵が共通鍵暗号のための鍵である場合を例に説明する。共通鍵を作成し、該鍵を第1連想配列303bのキーとして記憶する。該キーと組み合わせる値は、該キーが共通鍵暗号のための鍵である旨を示す情報。
The case where the key to be created is a key for symmetric key cryptography will be described as an example. A common key is created, and the key is stored as the key of the first
作成する鍵がRSA暗号のための鍵である場合を説明する。前記秘密鍵を第1連想配列303bのキーとして記憶する。該キーと組み合わせる値は、該キーがRSA暗号のための鍵である旨を示す情報。前記秘密鍵を第2連想配列303cのキーとして記憶する。該キーと組み合わせる値は、該キー(秘密鍵)と鍵ペアである公開鍵。
The case where the key to be created is the key for RSA encryption will be described. The secret key is stored as the key of the first
情報処理装置1のCPU11は、プログラム12Pに基づいて、共通鍵暗号化のための鍵、または、公開鍵暗号のための公開鍵および秘密鍵、を作成し、例えばRAM13に記憶する。
The
ステップS343について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、例えばRAM13に記憶されている第1連想配列303bと、例えばRAM13に記憶されている第2連想配列303cと、を抜き出し、共通鍵344bと、連想配列344cと、を作成し、例えばRAM13に記憶する。
Step S343 will be described. Based on the
共通鍵344bについて説明する。0個以上の共通鍵を記憶した配列。各要素に1個ずつ共通鍵を記憶する。
The
連想配列344cについて説明する。公開鍵を該連想配列のキーとし、該キーと組み合わせる値は、該キー(公開鍵)と鍵ペアである秘密鍵。
The
ステップS344について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、次の処理を実行する。
Step S344 will be described. The
共通鍵を返す場合を説明する。共通鍵344bに記憶されている共通鍵からランダムに1個選び、識別情報201として例えばRAM13に記憶して処理を終了する。
The case of returning the common key will be described. One of the common keys stored in the
RSA暗号の公開鍵を返す場合を説明する。連想配列344cのキーからからランダムに1個選び、識別情報201として例えばRAM13に記憶して処理を終了する。
The case of returning the public key of RSA encryption will be described. One is randomly selected from the keys of the
RSA暗号の秘密鍵を返す場合を説明する。指定された公開鍵と同じキーを連想配列344cから取り出し、該キーに対応する値を、例えばRAM13に記憶して処理を終了する。
The case of returning the private key of RSA encryption will be described. The same key as the designated public key is taken out from the
請求項4について説明する。 A fourth aspect will be described.
処理Bにおける暗号化は、作成された暗号文に、該暗号化に使用した公開鍵を特定できる情報(例えば、前記公開鍵自体、前記公開鍵のフィンガープリント)を付加する形態、 The encryption in the process B is a form in which information that can identify the public key used for the encryption (for example, the public key itself, a fingerprint of the public key) is added to the created ciphertext.
処理Dにおける復号は、復号すべき暗号文に付加された、該暗号化に使用した公開鍵を特定できる情報に基づいて、暗号化に用いた公開鍵を特定し、該公開鍵と鍵ペアである秘密鍵を、この請求項に記載の第2の組み合わせから選び出す形態、 Decryption in process D identifies the public key used for encryption based on the information added to the ciphertext to be decrypted that can identify the public key used for the encryption, and uses the public key and the key pair. A form in which a private key is selected from the second combination described in this claim.
が好適。 Is suitable.
図3−5は、識別情報201を表示部15に表示する場合の例。「ライセンスキーを注文する際に、下記の文字列を連絡してください」。情報処理装置1のCPU11は、プログラム12Pに基づいて、例えば前記した文字列を表示部15に表示させ、識別情報201を、前記表示部15に表示させる。例えば記憶部12に記憶情報301として記憶されている情報を読み込み、該情報を用いて処理部302を実行し、第1連想配列301b、第2連想配列302cを例えばRAM13に記憶する。該第1連想配列301b、該第2連想配列302c、を用いて処理部303を実行させ、表示部15に識別情報201を表示させる。処理部303によって該第1連想配列301b、該第2連想配列302c、の要素が増えている場合があるため、該第1連想配列301b、該第2連想配列302c、を用いて処理部302を実行させ、作成された例えば文字列を記憶部301として例えば記憶部12に記憶し、処理を終了する。
FIG. 3-5 shows an example in which the
文字列351について説明する。文字列351は、表示部15に表示されている識別情報201の例。
The
ボタン352について説明する。ボタン352は、例えば、表示部15に表示されているマウスポインタ(図示しない)を入力部14(例えばマウス)の操作によりクリックする、等の所定の動作により所定のプログラム(ルーチン)が動作するためのボタン。該プログラム(ルーチン)は、下記の動作を実行する。例えば記憶部12に記憶情報301として記憶されている情報を読み込み、該情報を用いて処理部302を実行し、第1連想配列301b、第2連想配列302cを例えばRAM13に記憶する。該第1連想配列301b、該第2連想配列302c、を用いて処理部303を実行させ、表示部15に識別情報201を表示させる。処理部303によって該第1連想配列301b、該第2連想配列302c、の要素が増えている場合があるため、該第1連想配列301b、該第2連想配列302c、を用いて処理部302を実行させ、作成された例えば文字列を記憶部301として例えば記憶部12に記憶し、処理を終了する。
The
ボタン353について説明する。ボタン353は、例えば、表示部15に表示されているマウスポインタ(図示しない)を入力部14(例えばマウス)の操作によりクリックする、等の所定の動作により所定のプログラム(ルーチン)が動作するためのボタン。該プログラム(ルーチン)は、例えばプログラム12Pまたは記憶部12に定義された(変形例:該記憶部12に定義が書き込まれていない場合、プログラム12Pは、該記憶部12に該定義を書き込む)ウェブサイトに接続し、表示部15に前記ウェブサイトを表示する。前記ウェブサイトは、文字列351の入力を受け付ける機能をそなえる。前記文字列351を識別情報201とみなし、情報処理装置2が所定の情報を作成するために用いる。
The
請求項6について説明する。この請求項に記載の「前記識別情報を通信網を介して情報処理装置2が受け取る事ができる形態で送信できる措置を施すこと、」は、例えば、この請求項に記載の識別情報を入力することによりライセンスキーを発行(例えば販売)するためのウェブサイトに接続し、該ウェブサイトを情報処理装置1の表示部15に表示させる措置が考えられる。
The sixth aspect will be described. The "measure to be able to transmit the identification information in a form that can be received by the
図4は、実施の形態1に係る情報処理装置2が、識別情報201を用いて、ライセンスコード241bと、ファイル241cと、を作成する処理に関する。ここでは、作成されるファイル241cはライセンスキーに関する情報が記録され、記憶装置3における、http://tsubossie.client.jp/software/license_From202005というURL(Uniform Resource Locator)としてあらわされるディレクトリ内に記憶される場合を例に説明する。前記ディレクトリは、ファイル241cを読み込む情報処理装置1におけるプログラム22Pまたは記憶部12の少なくともいずれかに定義されている。(変形例:前記ディレクトリが記憶部12に設定されていない場合、情報処理装置1のCPU11は、プログラム22Pに基づいて、前記設定を前記記憶部12に書き込む)。
FIG. 4 relates to a process in which the
有効情報401について説明する。
The
有効情報401は、作成するライセンスキーに書き込まれる情報であって、例えば、該ライセンスキーの入力が有効となる最初の日(第1日付)。該ライセンスキーが有効となる最後の日(第2日付)。該ライセンスキーが入力されたときにおける有効日数(第1日数)。
The
が考えられる。 Can be considered.
処理部402について説明する。情報処理装置2のCPU22は、プログラム22Pに基づいて、下記の処理をする。処理部402は、ルーチン群404に属するルーチンのうち、どのルーチンを用いてファイル241cを作成するかを決定し、決定内容を例えばRAM23に記憶する(決定内容403b)。
The
決定内容403bについて説明する。決定内容403bは、例えば1以上の自然数であって、ルーチン群404に属するルーチンの番号(1以上の自然数)を表す。
The
ルーチン群404について説明する。ルーチン群404は、ルーチン404−1からルーチン404−nまで、n個のルーチンを有する。情報処理装置2のCPU22は、プログラム22Pに基づいて、下記の処理をする。前記ルーチン群に属するルーチンのうち、使用するルーチンを、決定内容403bに基づいて特定し、前記ルーチンに基づいて、有効情報401、識別情報201を用いて、ファイル241c、ライセンスコード241b、を作成する。ルーチン群404に属するルーチンは、必要に応じて、秘密鍵(図示しない)を用いてデジタル署名を実行し、検証のための公開鍵を作成することがある。該公開鍵は、例えば図示しないファイルとして作成され、該ファイルの所在を示す情報は、ファイル405cに書き込まれる(変形例:該公開鍵は、ファイル405cに書き込まれる)。
The
第1情報405bについて説明する。第1情報405bは、ルーチン群404に属するルーチンによって作成された情報。第1情報405bに書き込まれている情報は、作成に用いたルーチンによって異なる。例えば、該ライセンスキーの入力が有効となる最初の日(第1日付)。該ライセンスキーが有効となる最後の日(第2日付)。該ライセンスキーが入力されたときにおける有効日数(第1日数)。
The
が書き込まれている形態が考えられる。 Is considered to be written.
ファイル241cについて説明する。必ずしもファイルという形態でなくてもよい。ファイル241cが1個以上のファイルである形態を例に説明する。情報処理装置2のCPU22は、プログラム22Pに基づいて、下記のファイルを作成し例えば記憶部22に記憶する。ファイル241cは、1個の目録ファイル405b(必ずしもファイルという形態でなくてもよい)、1個以上のファイル405c(必ずしもファイルという形態でなくてもよい)、を作成する。
目録ファイル405bについて説明する。
The
目録ファイル405bは、決定内容403bと、ファイル405cの所在(例えばファイル名)ならびに該ファイル405cに属する各データの役割を示す情報と、
The
が記録される。ファイル405cに属するファイルは、ルーチン群404に属するルーチンによって、個数や役割が異なる。情報処理装置1は、目録ファイル405bを読み取り、その内容に基づいて、ファイル405cに属するファイルを読み取るルーチンを決定する。
Is recorded. The number and role of the files belonging to the
ファイル405cについて説明する。ファイル405cの役割は、種々の形態が考えられるが、例えば、図示しない秘密鍵を用いて電子署名を施し、該電子署名を検証するための鍵、または、該鍵の所在を示す情報が書き込まれている形態が考えられる。
ライセンスコード241bについて説明する。
The
ライセンスコード241bは、目録ファイル405bの所在(例えばファイル名)を示す情報。
The
図4−1は、実施の形態2に係る情報処理装置がファイルおよびライセンスコードを作成する処理に関する図。 FIG. 4-1 is a diagram relating to a process in which the information processing apparatus according to the second embodiment creates a file and a license code.
ルーチン404−nについて説明する。情報処理装置2のCPU21は、プログラム22Pに基づいて、識別情報201、有効情報401に基づいて、ルーチン404−nを用いて、ライセンスコード241bを作成し例えばRAM23に記憶する。ファイル群410bを作成し、例えば記憶部12に記憶する。
Routine 404-n will be described. The
ファイル群410bについて説明する。少なくとも目録ファイル405bを含む1個以上のファイル。
The
目録ファイル405bについて説明する。ファイル群410bに属する各ファイルを作成したルーチンが何であるかを示す情報と、情報処理装置1がファイル群410bに属するファイルを扱うために必要な情報と、が記録される。(例えば、目録ファイル405bを除くファイル群410bに属するファイルの名称及び該ファイルの役割を示す情報)。
The
ライセンスコード241bについて説明する。
The
目録ファイル405bの名称が記録される。
The name of the
図4−2は、実施の形態1に係る情報処理装置2が、ライセンスコード241bと、ファイル241cと、に基づいて、少なくとも有効情報401を読み取る処理に関する。ここでは、図4、図4−1を参照しながら説明した手段によって作成されたファイルを読み取る形態であって、前記ファイルは、記憶装置3における、http://tsubossie.client.jp/software/license_From202005というURL(Uniform Resource Locator)としてあらわされるディレクトリ内に記憶される場合を例に説明する。前記ディレクトリは、ファイル241cを読み込む情報処理装置1におけるプログラム22Pまたは記憶部12の少なくともいずれかに定義されている。(変形例:前記ディレクトリが記憶部12に設定されていない場合、情報処理装置1のCPU11は、プログラム22Pに基づいて、前記設定を前記記憶部12に書き込む)。
FIG. 4-2 relates to a process in which the
処理部422について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、ライセンスコード241bの入力を受け付けて、該ライセンスコード241bに基づいて、記憶装置3における目録ファイル405bの所在を特定し、前記目録ファイル405bを、通信網N、通信部16、を介しダウンロードし、例えば記憶部12に記憶する。前記目録ファイル405bは、前記目録ファイル405bが属するファイル241c(1個以上のファイルの集合と考える)が、情報処理装置2におけるどのルーチン(ルーチン404−1からルーチン404−nのいずれか)によって作成されたものであるかが記録されている。該記録に基づいて、ファイル241cを読み取るために用いるルーチンを、ルーチン群424に属するルーチンのうち、ルーチン424−1からルーチン424−nの、どのルーチンを用いるかを決定する。
The
ルーチン群424について説明する。ルーチン群424は、ルーチン424−1からルーチン424−nまで、n個のルーチンを有する。情報処理装置1のCPU11は、プログラム12Pに基づいて、下記の処理をする。前記ルーチン群に属するルーチンのうち、使用するルーチンを、目録ファイル405bに記録された内容に基づいて特定し、前記ルーチンに基づいて、ファイル241c、ライセンスコード241b、を用いて、有効情報401、識別情報201を読み取る。ルーチン群424に属するルーチンは、必要に応じて、公開鍵(図示しない)を用いてデジタル署名の検証を実行すること、該検証のための公開鍵を取得(例えばダウンロード)することがある。
The
備考。情報処理装置1のCPU11は、プログラム12Pに基づいて、前記情報処理装置1にライセンス情報を記録し、プログラム12Pの機能の一部または全部を、前記ライセンス情報に基づいて実行内容を変更する。例えば、第1日付から第2日付の間に入力されたライセンスキーは、入力日から30日間有効である旨のライセンスキーが存在し、前記情報が書き込まれたライセンスキーが情報処理装置1に読み取られた場合、情報処理装置1のCPU11は、プログラム12Pに基づいて、前記情報を読み取り(有効情報401に含む)例えばRAM13に、前記入力日と、前記入力日の30日後の日付を記録し、これらの日付の間の日付(これらの日付当日を含んでいてもよい)であるか否かによって、プログラム12Pに基づく動作の一部または全部を変更する。
remarks. The
<実施の形態A>本実施の形態は、連想配列を文字列に変換する処理、また、文字列を連想配列に変換する処理に関する。本実施の形態におけるハードウェア構成は実施の形態1と同様。図Aは、実施の形態Aに係る処理のフローチャート。本実施の形態を、図Aを参照しながら説明する。この処理をルーチンとするなら、第1引数(真理値型)、第2引数(参照渡しの連想配列)、第3引数(参照渡しの文字列型)を設け、 <Embodiment A> The present embodiment relates to a process of converting an associative array into a character string and a process of converting a character string into an associative array. The hardware configuration in the present embodiment is the same as that in the first embodiment. FIG. A is a flowchart of the process according to the embodiment A. The present embodiment will be described with reference to FIG. If this process is a routine, provide the first argument (truth value type), the second argument (associative array passed by reference), and the third argument (character string type passed by reference).
前記第1引数によって、第2引数に代入された連想配列を配列に変換し、第3引数に代入する処理と、第3引数に代入された文字列を連想配列に変換し、第2引数に代入する処理と、 By the first argument, the associative array assigned to the second argument is converted into an array and assigned to the third argument, and the character string assigned to the third argument is converted to an associative array and used as the second argument. Substitution processing and
のいずれかを実行する形態が考えられる。前記ルーチンは、処理に成功したときTRUE、処理に失敗したときFALSEを返す形態が好適。 A form of executing any of the above can be considered. The routine is preferably in the form of returning TRUE when the processing is successful and FALSE when the processing is unsuccessful.
文字列を連想配列に変換する処理について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、例えばRAM13に、文字列A105bを記憶する領域と、連想配列A105cを記憶する領域と、を確保し、文字列A105b、に基づいて、ステップSa104によって作成した連想配列A105c、を例えばRAM13に記憶し、処理を終了する。
The process of converting a character string into an associative array will be described. Based on the
連想配列を文字列に変換する処理について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、例えばRAM13に、文字列A105bを記憶する領域と、連想配列A105cを記憶する領域と、を確保し、連想配列A105c、に基づいて、ステップSa102によって作成した文字列A105b、を例えばRAM13に記憶し、処理を終了する。
The process of converting an associative array into a character string will be described. Based on the
ステップSa100について説明する。このステップは、例えばRAM13に記憶された文字列を連想配列に変換する処理を実行すべきか、あるいは、例えばRAM13に記憶された連想配列を文字列に変換する処理を実行する処理を実行すべきか、を、例えばRAM13に記憶されたフラグ(真理値型の変数)(例えば前記ルーチンの第1引数に指定された)に基づいて判断する。ここでは、SステップSa100:YESの場合にステップSa103からステップSa104までを実行し、ステップSa100:NOの場合にステップSa101,ステップSa102を実行する場合を例に説明する。
Step Sa100 will be described. In this step, for example, should the process of converting the character string stored in the
ステップSa101について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、連想配列A105cにnullが格納されている(何も格納されていない)場合は空文字列を作成し文字列A105bとして例えばRAM13に記憶させ、処理を終了する。連想配列A105cに要素数0個の配列が格納されている場合は1文字の文字列を作成し文字列A105bとして例えばRAM13に記憶させ、処理を終了する。
Step Sa101 will be described. Based on the
ステップSa103について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、文字列A105bに空文字列が格納されている(nullは空文字列とみなす)場合は、連想配列A105cにnullを格納して処理を終了する。文字列A105bに文字数1文字の文字列が格納されている場合は、連想配列A105cに要素数0の連想配列を格納して処理を終了する。
Step Sa103 will be described. When the empty string is stored in the character string A105b (null is regarded as an empty string), the
図A−1は、ステップSa102を示すフローチャート(連想配列から文字列)。情報処理装置のCPU11は、プログラム12Pに基づいて、ステップSa102を下記の通り実行する。
FIG. A-1 is a flowchart (character string from an associative array) showing step Sa102. The
ステップSa111について説明する。 Step Sa111 will be described.
このステップは、例えばRAM13に記憶されている、連想配列A105cのキーを例えばRAM13に配列A112bとして記憶し、前記配列A112bの各要素に格納されている値をキーとして連想配列A105cにおいて組み合わせてある値A112cを、例えばRAM13に記憶する。
In this step, for example, the key of the associative array A105c stored in the
図A−1では、aaa、bbb、ccc、をキーとし、それぞれのキーと組み合わせてある値は、えー、びー、しー、である場合を例に説明してある。連想配列A105cのキーは順番の概念が無く配列A112bは順番の概念があるため、A112bの各要素に格納されるキーの順番は、必ずしも1種類とは限らない。 In FIG. A-1, aaa, bbb, and ccc are used as keys, and the values combined with the respective keys are described as examples of er, bi, and er. Since the keys of the associative array A105c do not have the concept of order and the array A112b has the concept of order, the order of the keys stored in each element of A112b is not necessarily one type.
ステップSa113について説明する。配列A114b(要素数はA112bの要素数の2倍)を作成し、例えばRAM13に記憶する。該配列A114bの各要素に格納される値は下記の通り。配列A112bのn番目(0≦n≦配列A112bの要素数‐1)の要素に格納された値は、配列A114bの2n番目の要素に格納する。配列A112bのn番目(0≦n≦配列A112bの要素数‐1)の要素に格納された値を連想配列A105cにおけるキーとし、該キーに対応する値は、配列A114bの2n+1番目の要素に格納する。
Step Sa113 will be described. An array A114b (the number of elements is twice the number of elements of A112b) is created and stored in, for example,
ステップSa115について説明する。配列A114bのいかなる要素にも存在しない文字を1個特定し、前記文字を区切り文字として、前記配列A114bの各要素を連結した文字列を作成し、前記文字列の区切り文字とは異なる所定の位置(例えば末尾、1文字目)に前記区切り文字を配置した文字列を、文字列A116bとして作成し、例えばRAM13に記憶し、処理を終了する。
Step Sa115 will be described. One character that does not exist in any element of the array A114b is specified, a character string is created by concatenating each element of the array A114b with the character as a delimiter, and a predetermined position different from the delimiter of the character string is created. A character string in which the delimiter is arranged (for example, the first character at the end) is created as the character string A116b, stored in the
図A−2は、ステップSa102を示すフローチャート(連想配列から文字列)。情報処理装置のCPU11は、プログラム12Pに基づいて、ステップSa102を下記の通り実行する。
FIG. A-2 is a flowchart (character string from an associative array) showing step Sa102. The
ステップSa125について説明する。 Step Sa125 will be described.
このステップは、例えばRAM13に記憶されている、文字列A126の所定の位置(例えば末尾、1文字目)に存在する文字を区切り文字とし、該所定の位置でない位置に存在する文字列を前記区切り文字を境に区切ってA124bを作成し、
In this step, for example, a character existing in a predetermined position (for example, the first character at the end) of the character string A126 stored in the
前記配列A124bを、例えばRAM13に記憶する。文字列A126bがaaadえーdbbbdびーdcccdしーdである場合に、前記所定の位置が末尾である場合を説明する。この場合、dを区切り文字としaaadえーdbbbdびーdcccdしーdを、前記dを境に区切る。よって配列A124bは、0番の要素にaaa、1番の要素にえー、2番の要素にbbb、3番の要素にびー、4番の要素にccc、5番の要素にしー、を格納した配列として、例えばRAM13に記憶される。
The array A124b is stored in, for example,
ステップSa123について説明する。 Step Sa123 will be described.
このステップは、例えばRAM13に記憶されている、配列A124bに基づいて、連想配列A105cを作成し、該連想配列を例えばRAM13に記憶して、処理を終了する。前記配列A124bの(最初の要素を0番とした)、偶数番目の要素に格納された値をキーとし、該偶数+1番目の要素に格納された値を、前記キーに対応する値とし、
This step creates an associative array A105c based on the array A124b stored in, for example,
連想配列A105cに追加する。配列A124bが図A−2に示す如く格納されている場合、前記連想配列A105cは、aaaをキーとし、えーを値とするキーと値の組み合わせと、bbbをキーとし、びーを値とするキーと値の組み合わせと、cccをキーとし、しーを値とするキーと値の組み合わせと、 Add to associative array A105c. When the array A124b is stored as shown in FIG. A-2, the associative array A105c has a key and a value combination having aaa as a key and a key having bbb as a key and a key having bi as a value. And value combinations, and key / value combinations that use ccc as the key and the value as the value.
が記憶される。 Is remembered.
<実施の形態B>本実施の形態は、デジタル署名を施す処理、また、デジタル署名が施された情報の真偽を検証する処理に関する。本実施の形態におけるハードウェア構成は実施の形態1と同様。ここでは情報処理装置1が実行する場合を例に説明するが情報処理装置2が実行する場合も同様。図Bは、実施の形態Bに係る処理のフローチャート。
<Embodiment B> The present embodiment relates to a process of applying a digital signature and a process of verifying the authenticity of the digitally signed information. The hardware configuration in the present embodiment is the same as that in the first embodiment. Here, the case where the
本実施の形態を、図Bを参照しながら説明する。 This embodiment will be described with reference to FIG. B.
署名対象B100について説明する。本説明における署名の対象。 The signature target B100 will be described. Subject to signature in this description.
ステップBs101について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて。ルーチン群Bs103に属するルーチン(1番からn番までの番号が割り振られているn個のルーチン)の番号、すなわちルーチン群Bs103に属するルーチンの番号に存在する数(但し、ルーチン群Bs103に属するルーチンであって、使用すべきでないルーチンがある場合、該ルーチンの番号を除いた番号から)をランダムに1個選び、例えばRAM13に、ルーチン番号B102として記憶する。
Step Bs101 will be described. The
ルーチン群Bs103について説明する。ルーチン群Bs103は、デジタル署名を施す1個以上のルーチンの集合。情報処理装置1のCPU11は、プログラム12Pに基づいて。例えばRAM13に記憶された、ルーチン番号B102に基づいて、使用するルーチンを決定する。該ルーチンは、署名対象B100に対するデジタル署名を施し(該デジタル署名に用いる鍵は図示しない)、該電子署名によって作成された情報は、例えばRAM13に、第1署名文B104として記憶される。
The routine group Bs103 will be described. The routine group Bs103 is a set of one or more routines for digitally signing. The
ステップBs105について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて。第1署名文B104と、ルーチン番号B102をくみあわせた。第2署名文B106を作成し、例えばRAM13に記憶し、処理を終了する。
Step Bs105 will be described. The
第1署名文B104が文字列である場合を例に説明する。 The case where the first signature sentence B104 is a character string will be described as an example.
情報処理装置1のCPU11は、プログラム12Pに基づいて、ルーチン番号B102を文字列に変換した文字列と、第1署名文B104と、
Based on the
のいずれにも存在しない文字を区切り文字とし、ルーチン番号B102を文字列に変換した文字列と、第1署名文B104と、 A character string in which a character that does not exist in any of the above is used as a delimiter and the routine number B102 is converted into a character string, a first signature statement B104, and
を連結した文字列を作成し、該文字列の区切り文字とは異なる所定の位置(例えば末尾)に、該区切り文字を配置した文字列を作成する。これは、区切り文字を一定の文字(例えばカンマ)と決めると、ルーチン番号B102を文字列に変換した文字列と、第1署名文B104と、 Is created, and a character string in which the delimiter is arranged is created at a predetermined position (for example, at the end) different from the delimiter of the character string. This means that if the delimiter is determined to be a certain character (for example, a comma), the character string obtained by converting the routine number B102 into a character string, the first signature statement B104, and the like.
の少なくともいずれかに例えばカンマが存在すると、第2署名文B106を正しく検証できないおそれがあるため。例えば、例えば、第1署名文B104が文字列1234、ルーチン番号B102を文字列に直したものが5、 If, for example, a comma is present in at least one of the above, the second signature statement B106 may not be verified correctly. For example, the first signature statement B104 is a character string 1234, and the routine number B102 is converted into a character string 5.
である場合、これらに存在しない文字(例えば6)を区切り文字として、文字列として123465を作成、該文字列の区切り文字と異なる所定の位置(例えば末尾)に区切り文字として用いた文字を配置することにより、文字列1234656を作成、例えばRAM13に第2署名文B106として記憶し、処理を終了する。
If, 123465 is created as a character string using a character that does not exist in these (for example, 6) as a delimiter, and the character used as a delimiter is placed at a predetermined position (for example, at the end) different from the delimiter of the character string. As a result, the character string 1234656 is created, stored in, for example, the
図B−1は、図Bを参照しながら説明した形態により施した電子署名を検証する処理のフローチャート。ここでは、第2署名文B106が、検証する対象である場合を例に説明する。 FIG. B-1 is a flowchart of a process for verifying an electronic signature given in the form described with reference to FIG. B. Here, a case where the second signature statement B106 is a target to be verified will be described as an example.
ステップBs111について説明する。情報処理装置1のCPU11は、プログラム12Pに基づいて、第2署名分B106を、第1署名文B104と、ルーチン番号B102に分離し、例えばRAM13に記憶する。
Step Bs111 will be described. Based on the
第2署名文B106が、ステップBs105によって作成されたものである場合を例に説明する。第2署名文B106は、第1署名文B104と、ルーチン番号B102を、区切り文字によって区切り、該区切り文字は、該第2署名文B106の所定の位置(例えば末尾)に存在するから、該所定の位置に存在する文字を区切文字とし、該所定の位置と異なる位置に存在する文字列を複数の文字列に区切ることにより、第1署名文B104と、ルーチン番号B102に分離する。 The case where the second signature statement B106 is created by step Bs105 will be described as an example. The second signature statement B106 separates the first signature statement B104 and the routine number B102 by a delimiter, and the delimiter exists at a predetermined position (for example, the end) of the second signature statement B106. The character existing at the position of is used as a delimiter, and the character string existing at a position different from the predetermined position is divided into a plurality of character strings to separate the first signature sentence B104 and the routine number B102.
ルーチン群Bs112について説明する。ルーチン群Bs112は、デジタル署名が施された情報の該デジタル署名を検証する1個以上のルーチンの集合。情報処理装置1のCPU11は、プログラム12Pに基づいて。例えばRAM13に記憶された、ルーチン番号B102に基づいて、使用するルーチンを決定する。該ルーチンは、署名対象B104に施されたデジタル署名を検証し(該検証用いる鍵は図示しない)、該検証が成功したときは、例えばRAM13に、検証後情報113として記憶される。
The routine group Bs112 will be described. The routine group Bs112 is a set of one or more routines for verifying the digital signature of the digitally signed information. The
今回開示された実施の形態はすべての点で例示であり制限的なものでないと考えられるべき。本発明の範囲は上記した意味でなく特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。また、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 The embodiments disclosed this time should be considered to be exemplary and not restrictive in all respects. The scope of the present invention is shown not by the above meaning but by the scope of claims, and it is intended that all modifications within the meaning and scope equivalent to the scope of claims are included. In addition, each embodiment can be appropriately combined as long as the processing contents do not contradict each other.
Claims (14)
第1情報処理装置は、
該第1の情報処理装置を他の情報処理装置と識別する情報(以下「識別情報」)を作成すること、
第2情報処理装置は、
前記識別情報を用いて情報(以下「ライセンス情報」)を作成し、
前記情報を他の情報と識別する情報(以下「ライセンスコード」)を作成すること、
を特徴とする情報処理システム。 An information processing system in which the first information processing device and the second information processing device are connected by an information network.
The first information processing device is
Creating information that distinguishes the first information processing device from other information processing devices (hereinafter referred to as "identification information").
The second information processing device is
Information (hereinafter referred to as "license information") is created using the identification information.
Creating information that distinguishes the above information from other information (hereinafter referred to as "license code"),
An information processing system featuring.
前記第2情報処理装置は、
前記ライセンス情報を前記第3の記憶装置が記憶できる形態で作成し、
前記ライセンスコードを、第3の記憶装置における前記情報の所在を示す情報として作成すること、
前記第3の記憶装置は、
前記ライセンス情報を記憶することができること、
前記第1の情報処理装置が前記ライセンス情報を読み込むことができること、
前記第1情報処理装置は、
前記ライセンスコードに基づいて、前記第3記憶装置に記憶された情報から、前記第1情報処理装置が使用できるライセンス情報を他のライセンス情報と識別できること、
前記識別に基づいて、前記第3の記憶装置から、前記ライセンス情報を読み込むことができること、
を特徴とする、請求項1に記載の情報処理システム。 The information processing system according to claim 1 is an information processing system in which a third storage device is further connected by an information network.
The second information processing device is
The license information is created in a form that can be stored in the third storage device, and the license information is created.
Creating the license code as information indicating the location of the information in the third storage device,
The third storage device is
Being able to store the license information,
The first information processing device can read the license information.
The first information processing device is
Based on the license code, the license information that can be used by the first information processing device can be distinguished from other license information from the information stored in the third storage device.
The license information can be read from the third storage device based on the identification.
The information processing system according to claim 1.
第1の組み合わせは、
該鍵によって使用可能な暗号の種類(例えば、共通鍵暗号、RSA暗号、楕円曲線暗号)との組み合わせを記憶すること、
第2の組み合わせは、
該と、該鍵によって暗号化された情報を復号するための鍵と、に組み合わせを記憶すること、
第3の処理は、
作成すべき鍵の暗号の種類の指定を受け付けて、鍵を作成し、該鍵を少なくとも前記第1の組み合わせに加える処理、
第2の処理は、
「前記第1の組み合わせと、前記第2の組み合わせ」と(以下「303形態」)、を、「情報処理装置が記憶できる形態」(以下「301形態」)に変換する処理、
前記301形態として記憶された情報を、前記303形態に変換する処理、
の少なくともいずれかを実行すること、
上記の処理を情報処理装置に実行させることを特徴とするプログラム。 A program that causes an information processing device to create a key for another information processing device to create a ciphertext that can be decrypted by the information processing device.
The first combination is
To store a combination with the types of ciphers that can be used with the key (eg, common key cryptography, RSA cryptography, elliptic curve cryptography),
The second combination is
To store the combination in the key and the key for decrypting the information encrypted by the key.
The third process is
A process of accepting the specification of the encryption type of the key to be created, creating the key, and adding the key to at least the first combination.
The second process is
A process of converting "the first combination and the second combination" (hereinafter "303 form") into "a form that can be stored in an information processing apparatus" (hereinafter "301 form").
Processing to convert the information stored as the 301 form into the 303 form,
Doing at least one of the,
A program characterized by having an information processing apparatus execute the above processing.
共通鍵暗号化のための鍵を作成する場合(以下「処理A」)、
前記第2の処理を実行し、これにより得た前記第1の組み合わせに、
必要に応じて、前記第3の処理を実行し、前記第1の組み合わせに、「鍵と、該鍵が使用可能な暗号の種類を示す情報を示す情報の組み合わせ」、を追加する処理、
前記303形態から、共通鍵暗号化に使用可能な鍵を選択する処理、
公開鍵暗号化のための鍵を作成する場合(以下「処理B」)、
前記第2の処理を実行し、これにより得た303形態に、
必要に応じて、前記第3の処理を実行し、前記第1の組み合わせに、「鍵と、該鍵が使用可能な暗号の種類を示す情報を示す情報の組み合わせ」、前記第2の組み合わせに、「鍵と、該鍵によって作成された暗号文を復号する鍵と、の組み合わせ」を追加する処理、
前記303形態から、指定された種類(RSA、楕円曲線暗号など)の暗号化に使用可能な鍵を選択する処理、
共通鍵暗号化された暗号文を復号する鍵を読み込む場合(以下「処理C」)、
前記第2の処理を実行し、これにより得た前記第1の組み合わせから、
共通鍵暗号化のために使用できる0個以上の鍵を選び出す処理、
公開鍵暗号化された暗号文を復号する鍵を読み込む場合(以下「処理D」)、
前記第2の処理を実行し、これにより得た前記第2の組み合わせから、
前記公開鍵暗号化に用いた公開鍵によって暗号化された情報を復号するための鍵を選び出す処理、
上記の処理A、処理B、処理C、処理D、の少なくともいずれかを情報処理装置に実行させることを特徴とするプログラム。 The program according to claim 3 is
When creating a key for common key encryption (hereinafter referred to as "process A")
The second process is executed, and the first combination obtained by the second process is combined with the first combination.
A process of executing the third process as necessary and adding "a combination of a key and information indicating information indicating the type of encryption in which the key can be used" to the first combination.
A process of selecting a key that can be used for common key encryption from the 303 form.
When creating a key for public key encryption (hereinafter referred to as "process B")
In the 303 form obtained by executing the second process,
If necessary, the third process is executed, and the first combination includes "a combination of a key and information indicating information indicating the type of cipher in which the key can be used", and the second combination. , Processing to add "a combination of a key and a key that decrypts the ciphertext created by the key",
A process of selecting a key that can be used for encryption of a specified type (RSA, elliptic curve cryptography, etc.) from the 303 form.
Common key When reading the key to decrypt the encrypted ciphertext (hereinafter referred to as "process C"),
From the first combination obtained by executing the second process.
Processing to select 0 or more keys that can be used for common key encryption,
Public key When reading the key to decrypt the encrypted ciphertext (hereinafter referred to as "process D"),
From the second combination obtained by executing the second process,
A process of selecting a key for decrypting information encrypted by the public key used for the public key encryption.
A program characterized in that at least one of the above processing A, processing B, processing C, and processing D is executed by an information processing apparatus.
前記識別情報は、
情報処理装置が、請求項3から請求項4の少なくともいずれかに記載のプログラムに基づいて作成した鍵を使用することを特徴とする、
請求項1から請求項2までの少なくともいずれかに記載の情報処理システム。 The information processing system according to at least one of claims 1 to 2.
The identification information is
The information processing apparatus uses a key created based on the program according to at least one of claims 3 to 4.
The information processing system according to at least one of claims 1 to 2.
前記第1情報処理装置は、
前記識別情報を表示部に表示させること、
前記識別情報を通信網を介して情報処理装置2が受け取る事ができる形態で送信できる措置を施すこと、
を特徴とする、請求項1から請求項2、請求項5の少なくともいずれかに記載の情報処理システム。 The information processing system according to at least one of claims 1 to 2 and 5.
The first information processing device is
Displaying the identification information on the display unit,
Taking measures to transmit the identification information in a form that can be received by the information processing apparatus 2 via the communication network.
The information processing system according to any one of claims 1, 2, and 5.
上記の請求項に記載の情報処理装置2は、
作成すべきライセンス情報に書き込む情報(以下「有効情報」)と、
前記識別情報と、の指定を受け付ける第1の処理部と、
の指定を受け付ける第1の処理部、
ライセンス情報を作成するために用意された1個以上のプログラムのうち、どのプログラムを使用すべきかを決定する
第2の処理部、
前記第2の処理部における決定内容に基づいて、前記プログラムのいずれかを使用して、ライセンス情報と、ライセンスコード、を作成する
第3の処理部、
を備えることを特徴とする、請求項1、請求項2、請求項5、請求項6の少なくともいずれかに記載の情報処理システム。 The information processing system according to at least one of claims 1, 2, 2, 5, and 6.
The information processing apparatus 2 described in the above claim is
Information to be written in the license information to be created (hereinafter referred to as "valid information") and
The identification information, the first processing unit that accepts the designation, and
The first processing unit that accepts the designation of
A second processing unit that determines which of the one or more programs prepared to create license information should be used.
A third processing unit that creates license information and a license code using any of the programs based on the decisions made in the second processing unit.
The information processing system according to any one of claims 1, 2, 5, 5, and 6.
前記ライセンス情報は、
目録ファイルと、
前記目録ファイルを除いたファイル(以下「アナザーファイル」)、
から構成されていること、
前記目録ファイルは、少なくとも、
前記ライセンス情報を作成するために使用したプログラムが何であるかを示す情報、
前記アナザーファイルの所在(例えばファイル名)を示す情報、
が記録されていること、
を特徴とする、請求項1、請求項2、請求項5、請求項6、請求項7、の少なくともいずれかに記載の情報処理システム。 The information processing system according to at least one of claim 1, claim 2, claim 5, claim 6, and claim 7.
The license information is
Catalog file and
Files excluding the catalog file (hereinafter referred to as "another file"),
Being composed of,
The catalog file is at least
Information indicating what program was used to create the license information,
Information indicating the location (for example, file name) of the other file,
Is recorded,
The information processing system according to any one of claims 1, 2, 2, 5, 6, 6, and 7.
上記の請求項に記載の情報処理装置1は、
指定された識別情報に基づいて、
第3記憶装置に記憶された情報から目録ファイルを読み込む処理を実行する、
第1の処理部と、
ライセンス情報を読み込むために用意された1個以上のプログラムのうち、どのプログラムを使用すべきかを決定する
第2の処理部と、
前記目録ファイルに基づいて、前記アナザーファイルを前記第3記憶装置から読み込み、
少なくとも前記アナザーファイルから、前記有効情報を読み込む処理を実行する、
第3の処理部と、
をそなえることを特徴とする、請求項1、請求項2、請求項5、請求項6、請求項7、請求項8、の少なくともいずれかに記載の情報処理システム。 The information processing system according to any one of claims 1, 2, 2, 5, 6, 6, 7, and 8.
The information processing device 1 according to the above claim is
Based on the specified identification information
Executes the process of reading the catalog file from the information stored in the third storage device.
The first processing unit and
A second processing unit that determines which of the one or more programs prepared to read the license information should be used, and
Based on the catalog file, the another file is read from the third storage device, and the file is read.
Execute the process of reading the valid information from at least the another file.
The third processing unit and
The information processing system according to claim 1, claim 2, claim 5, claim 6, claim 7, claim 8, wherein the information processing system is characterized by the above.
文字列から連想配列に変換する処理(処理A)と、
連想配列から文字列に変換する処理(処理B)と、
の少なくともいずれかを情報処理装置に実行させることを特徴とするプログラムは、
前記処理Bは、
連想配列のキー及び該キーと組み合わせてある値を抜き出す処理(処理1)と、
前記キー及び該キーと組み合わせてある値を区切り文字を境に連結した文字列に変換する処理(処理2)と、
前記区切り文字と同じ文字を、前記文字列の区切り文字とは異なる所定の位置に配置する処理(処理3)と、
前記区切り文字は、前記キー及び該キーと組み合わせてある値のいずれにも存在しない文字である事と、
前記処理Aは、
前記処理Aによって作成された文字列を連想配列に変換する処理であって、
前記文字列の処理3によって配置された文字が存在する位置に存在する文字を、メイン位置(前記文字列の前記位置以外の位置をいう)に存在する文字列における区切り文字とみなし、
前記メイン位置に存在する文字列を、前記区切り文字を境に1個以上の文字列に分割する処理と、
前記1個以上の文字列に基づいて、連想配列を作成する処理と、
である事と、
を特徴とするプログラム。 It ’s a program,
Processing to convert a character string to an associative array (processing A),
Processing to convert from an associative array to a character string (processing B),
A program characterized by having an information processing apparatus execute at least one of the above is
The process B is
The process of extracting the key of the associative array and the value combined with the key (process 1),
The process of converting the key and the value combined with the key into a character string concatenated with a delimiter as a boundary (process 2).
A process of arranging the same character as the delimiter at a predetermined position different from the delimiter of the character string (process 3).
The delimiter is a character that does not exist in either the key or the value in combination with the key.
The process A is
This is a process of converting the character string created by the process A into an associative array.
The character existing at the position where the character arranged by the processing 3 of the character string exists is regarded as a delimiter in the character string existing at the main position (meaning a position other than the above position of the character string).
A process of dividing a character string existing at the main position into one or more character strings with the delimiter as a boundary.
The process of creating an associative array based on the one or more character strings,
And that
A program featuring.
処理Bは、請求項10の記載に関わらず、
変換前の連想配列がnullであるときは、
所定の条件Aを満たす文字列に変換する処理を情報処理装置に実行させること、
変換前の連想配列が要素数0の連想配列であるとは、
所定の条件Bを満たす文字列に変換する処理を情報処理装置に実行させること、
請求項10に記載の処理Bは、
変換前の連想配列が、要素数1以上の連想配列である場合に実行し、
前記条件A、前記条件B、のいずれも満たさない文字列に変換する処理を情報処理装置に実行させること、
処理Aは、請求項10の記載に関わらず、
変換前の文字列が前記条件Aを満たすときは、
nullに変換する処理を情報処理装置に実行させること、
変換前の文字列が前記条件Bを満たすときは、
要素数0の連想配列に変換する処理を情報処理装置に実行させること、
請求項に記載の処理Aは、
変換前の文字列が、前記条件A、前記条件B、のいずれも満たさない文字列である場合に、情報処理装置に実行させること、
を特徴とする、請求項10に記載のプログラム。 The program according to claim 10 is
Process B is not related to the description of claim 10.
When the associative array before conversion is null,
To have the information processing device execute the process of converting to a character string that satisfies the predetermined condition A,
The associative array before conversion is an associative array with 0 elements.
To have the information processing device execute the process of converting to a character string that satisfies the predetermined condition B,
The process B according to claim 10 is
Executed when the associative array before conversion is an associative array with 1 or more elements.
To have the information processing apparatus execute a process of converting into a character string that does not satisfy either the condition A or the condition B.
Process A is not related to the description of claim 10.
When the character string before conversion satisfies the above condition A,
To have the information processing device execute the process of converting to null,
When the character string before conversion satisfies the above condition B,
To have the information processing device execute the process of converting to an associative array with 0 elements,
The process A described in the claim is
When the character string before conversion is a character string that does not satisfy either the condition A or the condition B, the information processing apparatus is made to execute the character string.
10. The program of claim 10.
請求項3、請求項4の少なくともいずれかに記載の301形態は文字列であって、
上記の請求項に記載の第2の処理は、
文字列を連想配列に変換する処理、
連想配列を文字列に変換する処理、
の少なくともいずれかとして実行され、
前記処理は、
請求項10、請求項11、の少なくともいずれかに記載のプログラムに基づく処理を、
情報処理装置に実行させることを特徴とするプログラム。 At least one of the first combination and the second combination according to at least one of claims 3 and 4 is an associative array.
The 301 form according to at least one of claims 3 and 4 is a character string.
The second process described in the above claim is
Processing to convert a character string to an associative array,
Processing to convert an associative array to a string,
Runs as at least one of
The above processing
The processing based on the program according to at least one of claims 10 and 11.
A program characterized by having an information processing device execute it.
デジタル署名を施す処理(処理A)と、
デジタル署名が施された情報を検証し、デジタル署名をする前の情報に変換する処理(処理B)と、
の少なくともいずれかを情報処理装置に実行させることを特徴とするプログラムは、
前記処理Aは、
デジタル署名を実行するためのルーチンが1個以上用意されており、
該ルーチンのうち、どのルーチンを用いてデジタル署名を施すかを決定する処理(処理1)と、
前記処理1における決定内容に基づいてデジタル署名された情報を作成する処理(処理2)と、
前記処理2によって作成された情報に、処理1によって決定された情報を付加する処理と(処理3)と、
を含む事と、
前記処理Bは、
デジタル署名された情報を検証するためのルーチンが1個以上用意されており、
前記処理3によって作成された情報から前記処理1によって作成された情報(情報1)と前記処理2によって作成された情報(情報2)とを読み取る処理(処理4)と、
前記情報1に基づいて、前記ルーチンのうち、どのルーチンを用いて検証するかを決定する処理(処理5)と、
前記処置5における決定内容に基づいて情報2に施されているデジタル署名を検証する処理(処理6)と、
を含む事と、
を特徴とするプログラム。 It ’s a program,
The process of applying a digital signature (process A) and
A process (process B) that verifies the digitally signed information and converts it into the information before the digital signature.
A program characterized by having an information processing apparatus execute at least one of the above is
The process A is
There is one or more routines for performing digital signatures,
Of the routines, a process (process 1) for determining which routine is used for digital signatures, and
The process of creating digitally signed information based on the decision contents in the process 1 (process 2) and
A process of adding the information determined by the process 1 to the information created by the process 2 and (process 3).
Including
The process B is
There is one or more routines for verifying digitally signed information.
A process (process 4) of reading the information (information 1) created by the process 1 and the information (information 2) created by the process 2 from the information created by the process 3.
A process (process 5) for determining which of the routines is used for verification based on the information 1.
A process (process 6) for verifying the digital signature applied to the information 2 based on the determination content in the procedure 5 and the process (process 6).
Including
A program featuring.
請求項13に記載のデジタル署名または検証の、少なくともいずれかを
含む事を特徴とする、
請求項1から請求項9の少なくともいずれかに記載の情報処理システム。 The information processing system according to at least one of claims 1 to 9.
It comprises at least one of the digital signatures or verifications of claim 13.
The information processing system according to at least one of claims 1 to 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020090173A JP2021185642A (en) | 2020-05-24 | 2020-05-24 | License key with digital signature |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020090173A JP2021185642A (en) | 2020-05-24 | 2020-05-24 | License key with digital signature |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021185642A true JP2021185642A (en) | 2021-12-09 |
Family
ID=78815796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020090173A Pending JP2021185642A (en) | 2020-05-24 | 2020-05-24 | License key with digital signature |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021185642A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004054846A (en) * | 2002-07-24 | 2004-02-19 | Nec Corp | License management system and license management method |
JP2004164131A (en) * | 2002-11-11 | 2004-06-10 | Sony Corp | Authoring device and method, authoring program, and recording medium recording authoring program |
JP2006018402A (en) * | 2004-06-30 | 2006-01-19 | Canon Inc | License issuing system, license information issuing server and license information issuing method |
JP2009211471A (en) * | 2008-03-05 | 2009-09-17 | Kyocera Mita Corp | License management system and license management program |
JP2009223383A (en) * | 2008-03-13 | 2009-10-01 | Canon Inc | License management system |
JP2014112361A (en) * | 2012-11-07 | 2014-06-19 | Ricoh Co Ltd | Information management device, information management system, information management method, and program |
-
2020
- 2020-05-24 JP JP2020090173A patent/JP2021185642A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004054846A (en) * | 2002-07-24 | 2004-02-19 | Nec Corp | License management system and license management method |
JP2004164131A (en) * | 2002-11-11 | 2004-06-10 | Sony Corp | Authoring device and method, authoring program, and recording medium recording authoring program |
JP2006018402A (en) * | 2004-06-30 | 2006-01-19 | Canon Inc | License issuing system, license information issuing server and license information issuing method |
JP2009211471A (en) * | 2008-03-05 | 2009-09-17 | Kyocera Mita Corp | License management system and license management program |
JP2009223383A (en) * | 2008-03-13 | 2009-10-01 | Canon Inc | License management system |
JP2014112361A (en) * | 2012-11-07 | 2014-06-19 | Ricoh Co Ltd | Information management device, information management system, information management method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11341464B2 (en) | Purchase transaction system with encrypted payment card data | |
US6601169B2 (en) | Key-based secure network user states | |
JP2021502023A (en) | Data sharing methods, clients, servers, computing devices, and storage media | |
US20150039888A1 (en) | Techniques for sharing data | |
JP2017504856A (en) | Data transfer optimization | |
JP2011035800A (en) | Electronic price-proposing system, electronic price-proposing device, and electronic price-proposing method | |
EP1227613B1 (en) | Method and apparatus for attaching electronic signature to document having structure | |
CN111512590B (en) | Homomorphic encryption for password authentication | |
JP2002118551A (en) | Authentication method | |
CN109462602A (en) | Log-on message storage method, login validation method, device, equipment and medium | |
CN111177735A (en) | Identity authentication method, device, system and equipment and storage medium | |
JP4979210B2 (en) | Login information management apparatus and method | |
JP4216914B2 (en) | Network system | |
JP5969716B1 (en) | Data management system, data management program, communication terminal, and data management server | |
WO2008113617A1 (en) | A method and system for a subscription to a derived symmetric key | |
US11545007B2 (en) | Method, system, and device for selecting a winner of a raffle based on content from raffle tickets | |
JP4011383B2 (en) | Data search method, data search system, search keyword generation device, and computer program | |
JP2021185642A (en) | License key with digital signature | |
JP4627316B2 (en) | Service providing system, authentication method, authentication program, and recording medium therefor | |
WO2004002059A1 (en) | Data communication system, information processing device and method, recording medium, and program | |
JP2006039794A (en) | File management system | |
JP2021140299A (en) | Data matching system, information processing apparatus, and data matching method | |
JPH10215242A (en) | Authentication method and device therefor | |
JP2007065789A (en) | Authentication system and method | |
JP2021149484A (en) | Program and license key processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210817 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220322 |