JP6264935B2 - Authentication method for information processing apparatus - Google Patents

Authentication method for information processing apparatus Download PDF

Info

Publication number
JP6264935B2
JP6264935B2 JP2014032583A JP2014032583A JP6264935B2 JP 6264935 B2 JP6264935 B2 JP 6264935B2 JP 2014032583 A JP2014032583 A JP 2014032583A JP 2014032583 A JP2014032583 A JP 2014032583A JP 6264935 B2 JP6264935 B2 JP 6264935B2
Authority
JP
Japan
Prior art keywords
information processing
code
encryption
processing apparatus
rearrangement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014032583A
Other languages
Japanese (ja)
Other versions
JP2015159394A (en
Inventor
秀一 沖
秀一 沖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2014032583A priority Critical patent/JP6264935B2/en
Publication of JP2015159394A publication Critical patent/JP2015159394A/en
Application granted granted Critical
Publication of JP6264935B2 publication Critical patent/JP6264935B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置の認証方法に関し、特に、ランダムコードの暗号化を伴う処理により、一方の情報処理装置が他方の情報処理装置を正当な装置として認証する技術に関する。   The present invention relates to an information processing apparatus authentication method, and more particularly, to a technique in which one information processing apparatus authenticates the other information processing apparatus as a valid apparatus by processing involving encryption of a random code.

一対の情報処理装置が相互に通信を開始する場合、事前に相手方装置の正当性を確認する認証処理が不可欠である。このような認証処理として、現在最も普及している方法は、ランダムコードの暗号化を伴う処理を行うチャレンジレスポンス方式の認証方法である。   When a pair of information processing apparatuses start communication with each other, an authentication process for confirming the validity of the counterpart apparatus in advance is indispensable. As such an authentication process, the most popular method at present is a challenge-response authentication method that performs a process involving encryption of a random code.

この認証方法によって、第1の情報処理装置が第2の情報処理装置の正当性を確認する場合、まず、第1の情報処理装置が「チャレンジ」と呼ばれるランダムコードを発生させ、これを第2の情報処理装置に送信する。第2の情報処理装置は、この「チャレンジ」を所定の暗号アルゴリズム(通常、特定の暗号鍵を用いた数学的な演算アルゴリズムが用いられる。当該演算アルゴリズム自体は必ずしも秘密である必要はないが、暗号鍵は秘密にされる。)を用いて暗号化し、「レスポンス」と呼ばれる認証トークンの形で第1の情報処理装置に返信する。一方、第1の情報処理装置においても、「チャレンジ」を同一の暗号アルゴリズムを用いて暗号化し、その結果が、返信されてきた「レスポンス」に一致するか否かを判定する。両者が一致すれば、第2の情報処理装置を正当な装置として認証することができる。たとえば、下記の特許文献1および特許文献2には、このようなチャレンジレスポンス方式の認証方法が開示されている。   When the first information processing apparatus confirms the legitimacy of the second information processing apparatus by this authentication method, first, the first information processing apparatus generates a random code called “challenge”, which is used as the second code. To the information processing apparatus. The second information processing apparatus uses a predetermined cryptographic algorithm (usually a mathematical arithmetic algorithm using a specific cryptographic key. The arithmetic algorithm itself does not necessarily have to be a secret, The encryption key is kept secret.) And sent back to the first information processing apparatus in the form of an authentication token called “response”. On the other hand, also in the first information processing apparatus, the “challenge” is encrypted using the same encryption algorithm, and it is determined whether or not the result matches the returned “response”. If the two match, the second information processing apparatus can be authenticated as a legitimate apparatus. For example, Patent Document 1 and Patent Document 2 below disclose such challenge-response authentication methods.

上記認証方法を採れば、暗号鍵の秘匿性が維持されている限り、不正な装置を正規の装置になりすませる不正な認証行為を防ぐことができる。一般に、情報処理装置間の通信経路が盗聴され、両者間でやりとりされる「チャレンジ」および「レスポンス」が傍受されたとしても、暗号アルゴリズムが数学的に強固なものであれば、それだけで暗号アルゴリズムが露見する可能性は低い。実際、現在利用されている暗号アルゴリズムを、情報処理装置間の通信傍受で得た「チャレンジ」および「レスポンス」のみから解析することは極めて困難である。   By adopting the above authentication method, as long as the encryption key is kept confidential, it is possible to prevent an unauthorized authentication act that impersonates an unauthorized device as a legitimate device. In general, even if the communication path between information processing devices is wiretapped and the "challenge" and "response" exchanged between the two are intercepted, if the cryptographic algorithm is mathematically robust, that alone Is unlikely to be exposed. Actually, it is extremely difficult to analyze the currently used encryption algorithm only from “challenge” and “response” obtained by intercepting communication between information processing apparatuses.

しかしながら、近年は、サイドチャネル解析と呼ばれている暗号解析技術を用いた攻撃(サイドチャネル攻撃)が問題になってきている。サイドチャネル解析は、暗号化処理を実行中の情報処理装置についての消費電力、演算処理時間、発生する電磁波などをモニタして暗号アルゴリズムを推定する解析方法である。このサイドチャネル解析の手法を、通信傍受で得た「チャレンジ」および「レスポンス」の情報に組み合わせると暗号アルゴリズムの推定が容易になるため、たとえ数学的に強固な暗号アルゴリズムを採用していても、不正な認証行為が行われる可能性が危惧されている。   However, in recent years, attacks using a cryptographic analysis technique called side channel analysis (side channel attacks) have become a problem. Side channel analysis is an analysis method for estimating a cryptographic algorithm by monitoring power consumption, calculation processing time, generated electromagnetic waves, and the like for an information processing apparatus that is executing encryption processing. When this side channel analysis method is combined with the “challenge” and “response” information obtained by communication interception, it becomes easy to estimate the encryption algorithm, so even if a mathematically strong encryption algorithm is adopted, There is concern about the possibility of unauthorized authentication.

そこで、たとえば、下記の特許文献3には、鍵処理のための処理時間を工夫して中継端末に対する攻撃を防ぐ手法が開示されている。また、サイドチャネル攻撃への対応策として、特許文献4には、物理的現象に基づいて暗号鍵を生成する手法が開示されており、特許文献5には、暗号鍵の再利用を制限しながら、内部を秘密状態に保つ機能をもった装置で暗号化を行う手法が開示されている。更に、特許文献6には、回路レベルでサイドチャネル攻撃に対抗する技術が開示されており、特許文献7には、複数の暗号鍵をランダムに採用することによりサイドチャネル攻撃に対抗する技術が開示されている。   Therefore, for example, Patent Document 3 below discloses a technique for preventing an attack on a relay terminal by devising a processing time for key processing. Further, as a countermeasure against the side channel attack, Patent Document 4 discloses a method of generating an encryption key based on a physical phenomenon, and Patent Document 5 restricts reuse of the encryption key. A method of performing encryption with a device having a function of keeping the inside secret is disclosed. Further, Patent Document 6 discloses a technique for combating a side channel attack at a circuit level, and Patent Document 7 discloses a technique for combating a side channel attack by randomly adopting a plurality of encryption keys. Has been.

WO2005/057447号公報WO2005 / 057447 特開2000−183869号公報JP 2000-183869 A 特開2006−197458号公報JP 2006-197458 A 特表2012−519987号公報Special table 2012-519987 gazette 特表2013−513312号公報Special table 2013-513312 gazette WO2012/014291号公報WO2012 / 014291 WO2012/131926号公報WO2012 / 131926

上述したように、認証機能を備えた情報処理装置へのサイドチャネル攻撃に対する対策として、様々な方法が提案されている。しかしながら、従来提案されている対抗策は、ハードウエア的に専用の設備を設ける必要があったり、ソフトウエア的に複雑な処理を行う必要があったりするため、構成が複雑になり、必ずしも効率的な対抗策にはなっていない。そのため、導入するにはそれなりのコストがかかり、製品価格を高騰させる要因になるという問題がある。   As described above, various methods have been proposed as countermeasures against side channel attacks on information processing apparatuses having an authentication function. However, the countermeasures that have been proposed in the past require a dedicated hardware facility or complicated software processing, which complicates the configuration and is not always efficient. It is not a serious countermeasure. For this reason, there is a problem in that introduction costs a certain amount and causes the product price to rise.

そこで本発明は、通信傍受とサイドチャネル解析とを組み合わせた攻撃にも十分に耐えることができ、かつ、効率的な処理が可能な情報処理装置の認証方法を提供することを目的とする。   Therefore, an object of the present invention is to provide an authentication method for an information processing apparatus that can sufficiently withstand an attack that combines communication interception and side channel analysis, and that can perform efficient processing.

(1) 第1の実施形態に係る基本発明(図5参照)
本発明の第1の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、文字もしくは数字を羅列したランダムコードを発生させ、これを第2の情報処理装置に送信する段階と、
第2の情報処理装置が、ランダムコードを受信し、その構成要素をランダムな第1の並び替え方法で並び替えて並替コードを生成する段階と、
第2の情報処理装置が、並替コードを所定の暗号アルゴリズムに基づく暗号化演算によって暗号化し、暗号コードを生成する段階と、
第2の情報処理装置が、暗号コードの構成要素をランダムな第2の並び替え方法で並び替えて並替暗号コードを生成する段階と、
第2の情報処理装置が、並替暗号コードとともに、第1の並び替え方法および第2の並び替え方法のいずれか一方もしくは双方を示す並替情報を、第1の情報処理装置に送信する段階と、
第1の情報処理装置が、並替暗号コードとともに、並替情報を受信し、受信した並替暗号コードの正当性を、受信した並替情報に基づく並び替え処理および上記暗号アルゴリズムに基づく暗号化演算もしくは復号演算により確認する段階と、
を行うようにしたものである。
(1) Basic invention according to the first embodiment (see FIG. 5)
According to a first aspect of the present invention, there is provided an authentication method for an information processing device in which the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
The first information processing apparatus generates a random code in which characters or numbers are enumerated using a random number, and transmits the random code to the second information processing apparatus;
The second information processing apparatus receives a random code, rearranges its constituent elements by a random first rearrangement method, and generates a rearrangement code;
The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm, and generates an encryption code;
The second information processing apparatus rearranges the constituent elements of the encryption code by a random second rearrangement method to generate a rearrangement encryption code;
The second information processing apparatus transmits rearrangement information indicating one or both of the first rearrangement method and the second rearrangement method together with the rearrangement encryption code to the first information processing apparatus. When,
The first information processing apparatus receives the rearrangement information together with the rearrangement encryption code, and verifies the validity of the received rearrangement encryption code based on the rearrangement process based on the received rearrangement information and the encryption algorithm. A step of checking by calculation or decoding operation;
Is to do.

(2) 第1の実施形態に係る基本発明のバリエーション(並替情報の暗号化)
本発明の第2の態様は、上述した第1の態様に係る情報処理装置の認証方法において、
第2の情報処理装置から第1の情報処理装置への並替情報の送信を暗号化した状態で行うようにしたものである。
(2) Variation of the basic invention according to the first embodiment (encryption of rearrangement information)
According to a second aspect of the present invention, in the authentication method for an information processing device according to the first aspect described above,
Transmission of the rearrangement information from the second information processing apparatus to the first information processing apparatus is performed in an encrypted state.

(3) 実施例Aに係る発明(図8参照)
本発明の第3の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
第2の情報処理装置が、第1の並び替えテーブルに基づいて、ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、第2の並び替えテーブルに基づいて、暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
第2の情報処理装置が、第1の並び替えテーブルおよび第2の並び替えテーブルをそれぞれ暗号化し、第1の暗号化テーブルおよび第2の暗号化テーブルを生成するテーブル暗号化段階と、
第2の情報処理装置が、並替暗号コードとともに、第1の暗号化テーブルおよび第2の暗号化テーブルを、第1の情報処理装置に送信する並替暗号コード送信段階と、
第1の情報処理装置が、並替暗号コードとともに、第1の暗号化テーブルおよび第2の暗号化テーブルを受信する並替暗号コード受信段階と、
第1の情報処理装置が、第1の暗号化テーブルおよび第2の暗号化テーブルをそれぞれ復号し、第1の並び替えテーブルおよび第2の並び替えテーブルを復元するテーブル復号段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードの構成要素を、第1の並び替えテーブルに基づいて並び替えて照合用並替コードを生成する照合用並替コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく暗号化演算によって、照合用並替コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、第2の並び替えテーブルに基づいて、照合用暗号コードの構成要素を並び替えて照合用並替暗号コードを生成する照合用並替暗号コード生成段階と、
第1の情報処理装置が、並替暗号コード受信段階で受信した並替暗号コードと、照合用並替暗号コード生成段階で生成された照合用並替暗号コードと、が一致するか否かを照合し、一致した場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(3) Invention according to Example A (see FIG. 8)
According to a third aspect of the present invention, there is provided an authentication method for an information processing device in which the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus that uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A rearrangement table generation stage in which a second information processing device generates a first rearrangement table and a second rearrangement table using random numbers;
A second information processing device, based on the first rearrangement table, rearranges the components of the random code to generate a rearrangement code generation stage;
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the rearrangement code by an encryption operation based on a predetermined encryption algorithm;
A second information processing apparatus, based on the second rearrangement table, rearranges the constituent elements of the cipher code and generates a rearranged cipher code; and
A table encryption stage in which the second information processing apparatus encrypts the first rearrangement table and the second rearrangement table, respectively, and generates the first encryption table and the second encryption table;
The second information processing apparatus transmits the first encryption table and the second encryption table together with the rearrangement encryption code to the first information processing apparatus;
The first information processing apparatus receives the first encryption table and the second encryption table together with the rearrangement encryption code, and receives the rearrangement encryption code reception stage.
A table decryption stage in which the first information processing device decrypts the first encryption table and the second encryption table, respectively, and restores the first rearrangement table and the second rearrangement table;
The collation rearrangement code generation stage in which the first information processing apparatus rearranges the components of the random code generated in the random code generation stage based on the first rearrangement table to generate the collation rearrangement code. When,
The first information processing apparatus encrypts the collation rearrangement code by the encryption operation based on the encryption algorithm to generate the collation encryption code generation stage;
The first information processing device rearranges the constituent elements of the verification encryption code based on the second rearrangement table to generate the verification rearrangement encryption code generation stage;
Whether the first information processing apparatus matches the reordered encryption code received at the reordered encryption code receiving stage and the reordered encryption code for verification generated at the verification reordered encryption code generation stage. A collation determination step of determining, when matching, that the second information processing apparatus is an apparatus whose validity has been confirmed;
Is to do.

(4) 実施例Bに係る発明(図9参照)
本発明の第4の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
第2の情報処理装置が、第1の並び替えテーブルに基づいて、ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、第2の並び替えテーブルに基づいて、暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
第2の情報処理装置が、第1の並び替えテーブルおよび第2の並び替えテーブルをそれぞれ暗号化し、第1の暗号化テーブルおよび第2の暗号化テーブルを生成するテーブル暗号化段階と、
第2の情報処理装置が、並替暗号コードとともに、第1の暗号化テーブルおよび第2の暗号化テーブルを、第1の情報処理装置に送信する並替暗号コード送信段階と、
第1の情報処理装置が、並替暗号コードとともに、第1の暗号化テーブルおよび第2の暗号化テーブルを受信する並替暗号コード受信段階と、
第1の情報処理装置が、第1の暗号化テーブルおよび第2の暗号化テーブルをそれぞれ復号し、第1の並び替えテーブルおよび第2の並び替えテーブルを復元するテーブル復号段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードの構成要素を、第1の並び替えテーブルに基づいて並び替えて照合用並替コードを生成する照合用並替コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく暗号化演算によって、照合用並替コードを暗号化して照合用暗号コードを生成する照合用暗号コード第1生成段階と、
第1の情報処理装置が、第2の並び替えテーブルを逆転させたテーブルに基づいて、並替暗号コード受信段階で受信した並替暗号コードの構成要素を並び替えて照合用暗号コードを生成する照合用暗号コード第2生成段階と、
第1の情報処理装置が、照合用暗号コード第1生成段階で生成した照合用暗号コードと、照合用暗号コード第2生成段階で生成した照合用暗号コードと、が一致するか否かを照合し、一致した場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(4) Invention according to Example B (see FIG. 9)
According to a fourth aspect of the present invention, there is provided an authentication method for an information processing device in which the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus that uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A rearrangement table generation stage in which a second information processing device generates a first rearrangement table and a second rearrangement table using random numbers;
A second information processing device, based on the first rearrangement table, rearranges the components of the random code to generate a rearrangement code generation stage;
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the rearrangement code by an encryption operation based on a predetermined encryption algorithm;
A second information processing apparatus, based on the second rearrangement table, rearranges the constituent elements of the cipher code and generates a rearranged cipher code; and
A table encryption stage in which the second information processing apparatus encrypts the first rearrangement table and the second rearrangement table, respectively, and generates the first encryption table and the second encryption table;
The second information processing apparatus transmits the first encryption table and the second encryption table together with the rearrangement encryption code to the first information processing apparatus;
The first information processing apparatus receives the first encryption table and the second encryption table together with the rearrangement encryption code, and receives the rearrangement encryption code reception stage.
A table decryption stage in which the first information processing device decrypts the first encryption table and the second encryption table, respectively, and restores the first rearrangement table and the second rearrangement table;
The collation rearrangement code generation stage in which the first information processing apparatus rearranges the components of the random code generated in the random code generation stage based on the first rearrangement table to generate the collation rearrangement code. When,
A first verification encryption code generating step of generating a verification encryption code by encrypting the verification rearrangement code by an encryption operation based on the encryption algorithm;
The first information processing apparatus rearranges the components of the reordered encryption code received in the reordered encryption code reception stage based on the table obtained by reversing the second reordering table, and generates a verification encryption code. A verification encryption code second generation stage;
The first information processing apparatus collates whether or not the verification encryption code generated in the verification encryption code first generation stage matches the verification encryption code generated in the verification encryption code second generation stage. And a collation determination stage for determining, when they match, that the second information processing apparatus is an apparatus whose validity has been confirmed;
Is to do.

(5) 実施例Cに係る発明(図10参照)
本発明の第5の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
第2の情報処理装置が、第1の並び替えテーブルに基づいて、ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、第2の並び替えテーブルに基づいて、暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
第2の情報処理装置が、第1の並び替えテーブルおよび第2の並び替えテーブルをそれぞれ暗号化し、第1の暗号化テーブルおよび第2の暗号化テーブルを生成するテーブル暗号化段階と、
第2の情報処理装置が、並替暗号コードとともに、第1の暗号化テーブルおよび第2の暗号化テーブルを、第1の情報処理装置に送信する並替暗号コード送信段階と、
第1の情報処理装置が、並替暗号コードとともに、第1の暗号化テーブルおよび第2の暗号化テーブルを受信する並替暗号コード受信段階と、
第1の情報処理装置が、第1の暗号化テーブルおよび第2の暗号化テーブルをそれぞれ復号し、第1の並び替えテーブルおよび第2の並び替えテーブルを復元するテーブル復号段階と、
第1の情報処理装置が、第2の並び替えテーブルを逆転させたテーブルに基づいて、並替暗号コード受信段階で受信した並替暗号コードの構成要素を並び替えて照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく復号演算によって、照合用暗号コードを復号して照合用並替コードを生成する照合用並替コード生成段階と、
第1の情報処理装置が、第1の並び替えテーブルを逆転させたテーブルに基づいて、照合用並替コードの構成要素を並び替えて照合用ランダムコードを生成する照合用ランダムコード生成段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードと、照合用ランダムコード生成段階で生成された照合用ランダムコードと、が一致するか否かを照合し、一致した場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(5) Invention according to Example C (see FIG. 10)
According to a fifth aspect of the present invention, in the authentication method for an information processing device, the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus that uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A rearrangement table generation stage in which a second information processing device generates a first rearrangement table and a second rearrangement table using random numbers;
A second information processing device, based on the first rearrangement table, rearranges the components of the random code to generate a rearrangement code generation stage;
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the rearrangement code by an encryption operation based on a predetermined encryption algorithm;
A second information processing apparatus, based on the second rearrangement table, rearranges the constituent elements of the cipher code and generates a rearranged cipher code; and
A table encryption stage in which the second information processing apparatus encrypts the first rearrangement table and the second rearrangement table, respectively, and generates the first encryption table and the second encryption table;
The second information processing apparatus transmits the first encryption table and the second encryption table together with the rearrangement encryption code to the first information processing apparatus;
The first information processing apparatus receives the first encryption table and the second encryption table together with the rearrangement encryption code, and receives the rearrangement encryption code reception stage.
A table decryption stage in which the first information processing device decrypts the first encryption table and the second encryption table, respectively, and restores the first rearrangement table and the second rearrangement table;
The first information processing apparatus rearranges the components of the reordered encryption code received in the reordered encryption code reception stage based on the table obtained by reversing the second reordering table, and generates a verification encryption code. A verification encryption code generation stage;
A collation rearrangement code generation stage in which the first information processing apparatus generates a collation rearrangement code by decrypting the collation cipher code by a decryption operation based on the encryption algorithm;
A collating random code generation stage in which the first information processing apparatus rearranges the constituent elements of the collating reordering code based on the table obtained by reversing the first reordering table to generate a collating random code;
When the first information processing apparatus collates whether or not the random code generated in the random code generation stage matches the verification random code generated in the verification random code generation stage. A collation determination stage for determining that the second information processing apparatus is a verified apparatus;
Is to do.

(6) 実施例Dに係る発明(図11参照)
本発明の第6の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
第2の情報処理装置が、第1の並び替えテーブルに基づいて、ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、第2の並び替えテーブルに基づいて、暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
第2の情報処理装置が、第1の並び替えテーブルおよび第2の並び替えテーブルをそれぞれ暗号化し、第1の暗号化テーブルおよび第2の暗号化テーブルを生成するテーブル暗号化段階と、
第2の情報処理装置が、並替暗号コードとともに、第1の暗号化テーブルおよび第2の暗号化テーブルを、第1の情報処理装置に送信する並替暗号コード送信段階と、
第1の情報処理装置が、並替暗号コードとともに、第1の暗号化テーブルおよび第2の暗号化テーブルを受信する並替暗号コード受信段階と、
第1の情報処理装置が、第1の暗号化テーブルおよび第2の暗号化テーブルをそれぞれ復号し、第1の並び替えテーブルおよび第2の並び替えテーブルを復元するテーブル復号段階と、
第1の情報処理装置が、第2の並び替えテーブルを逆転させたテーブルに基づいて、並替暗号コード受信段階で受信した並替暗号コードの構成要素を並び替えて照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく復号演算によって、照合用暗号コードを復号して照合用並替コードを生成する照合用並替コード第1生成段階と、
第1の情報処理装置が、第1の並び替えテーブルに基づいて、ランダムコード発生段階で発生させたランダムコードの構成要素を並び替えて照合用並替コードを生成する照合用並替コード第2生成段階と、
第1の情報処理装置が、照合用並替コード第1生成段階で生成した照合用並替コードと、照合用並替コード第2生成段階で生成した照合用並替コードと、が一致するか否かを照合し、一致した場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(6) Invention according to Example D (see FIG. 11)
According to a sixth aspect of the present invention, there is provided an authentication method for an information processing device in which the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus that uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A rearrangement table generation stage in which a second information processing device generates a first rearrangement table and a second rearrangement table using random numbers;
A second information processing device, based on the first rearrangement table, rearranges the components of the random code to generate a rearrangement code generation stage;
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the rearrangement code by an encryption operation based on a predetermined encryption algorithm;
A second information processing apparatus, based on the second rearrangement table, rearranges the constituent elements of the cipher code and generates a rearranged cipher code; and
A table encryption stage in which the second information processing apparatus encrypts the first rearrangement table and the second rearrangement table, respectively, and generates the first encryption table and the second encryption table;
The second information processing apparatus transmits the first encryption table and the second encryption table together with the rearrangement encryption code to the first information processing apparatus;
The first information processing apparatus receives the first encryption table and the second encryption table together with the rearrangement encryption code, and receives the rearrangement encryption code reception stage.
A table decryption stage in which the first information processing device decrypts the first encryption table and the second encryption table, respectively, and restores the first rearrangement table and the second rearrangement table;
The first information processing apparatus rearranges the components of the reordered encryption code received in the reordered encryption code reception stage based on the table obtained by reversing the second reordering table, and generates a verification encryption code. A verification encryption code generation stage;
A collation rearrangement code first generation stage in which the first information processing apparatus decrypts the collation cipher code by the decryption operation based on the cipher algorithm and generates a collation rearrangement code;
Based on the first rearrangement table, the first information processing apparatus rearranges the components of the random code generated at the random code generation stage to generate the collation rearrangement code second. Generation stage,
Does the first information processing apparatus match the collation rearrangement code generated in the collation rearrangement code first generation stage with the collation rearrangement code generated in the second collation rearrangement code generation stage? A collation determination step of determining whether or not the second information processing apparatus is a confirmed apparatus when matching,
Is to do.

(7) 実施例Eに係る発明(図12参照)
本発明の第7の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
第2の情報処理装置が、第1の並び替えテーブルに基づいて、ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、第2の並び替えテーブルに基づいて、暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
第2の情報処理装置が、第1の並び替えテーブルを暗号化し、第1の暗号化テーブルを生成するテーブル暗号化段階と、
第2の情報処理装置が、並替暗号コードとともに第1の暗号化テーブルを、第1の情報処理装置に送信する並替暗号コード送信段階と、
第1の情報処理装置が、並替暗号コードとともに、第1の暗号化テーブルを受信する並替暗号コード受信段階と、
第1の情報処理装置が、第1の暗号化テーブルを復号し、第1の並び替えテーブルを復元するテーブル復号段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードの構成要素を、第1の並び替えテーブルに基づいて並び替えて照合用並替コードを生成する照合用並替コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく暗号化演算によって、照合用並替コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、並替暗号コード受信段階で受信した並替暗号コードに含まれている構成要素と、照合用暗号コード生成段階で生成された照合用暗号コードに含まれている構成要素と、が対応するか否かを照合し、対応する場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(7) Invention according to Example E (see FIG. 12)
According to a seventh aspect of the present invention, there is provided an authentication method for an information processing device in which the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus that uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A rearrangement table generation stage in which a second information processing device generates a first rearrangement table and a second rearrangement table using random numbers;
A second information processing device, based on the first rearrangement table, rearranges the components of the random code to generate a rearrangement code generation stage;
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the rearrangement code by an encryption operation based on a predetermined encryption algorithm;
A second information processing apparatus, based on the second rearrangement table, rearranges the constituent elements of the cipher code and generates a rearranged cipher code; and
A table encryption stage in which the second information processing apparatus encrypts the first rearrangement table and generates the first encryption table;
A second information processing apparatus transmits a first encryption table together with the rearrangement encryption code to the first information processing apparatus;
A first information processing apparatus receives a first encryption table together with a rearranged encryption code;
A table decryption stage in which the first information processing apparatus decrypts the first encryption table and restores the first rearrangement table;
The collation rearrangement code generation stage in which the first information processing apparatus rearranges the components of the random code generated in the random code generation stage based on the first rearrangement table to generate the collation rearrangement code. When,
The first information processing apparatus encrypts the collation rearrangement code by the encryption operation based on the encryption algorithm to generate the collation encryption code generation stage;
A configuration in which the first information processing apparatus is included in the constituent encryption code received in the rearrangement encryption code receiving stage and the verification encryption code generated in the verification encryption code generation stage. A collation determination step of collating whether or not the elements correspond to each other, and determining that the second information processing apparatus is an apparatus whose validity has been confirmed,
Is to do.

(8) 実施例Fに係る発明(図13参照)
本発明の第8の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
第2の情報処理装置が、第1の並び替えテーブルに基づいて、ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、第2の並び替えテーブルに基づいて、暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
第2の情報処理装置が、第2の並び替えテーブルを暗号化し、第2の暗号化テーブルを生成するテーブル暗号化段階と、
第2の情報処理装置が、並替暗号コードとともに第2の暗号化テーブルを、第1の情報処理装置に送信する並替暗号コード送信段階と、
第1の情報処理装置が、並替暗号コードとともに、第2の暗号化テーブルを受信する並替暗号コード受信段階と、
第1の情報処理装置が、第2の暗号化テーブルを復号し、第2の並び替えテーブルを復元するテーブル復号段階と、
第1の情報処理装置が、第2の並び替えテーブルを逆転させたテーブルに基づいて、並替暗号コード受信段階で受信した並替暗号コードの構成要素を並び替えて照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく復号演算によって、照合用暗号コードを復号して照合用並替コードを生成する照合用並替コード生成段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードに含まれている構成要素と、照合用並替コード生成段階で生成された照合用並替コードに含まれている構成要素と、が対応するか否かを照合し、対応する場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(8) Invention according to Example F (see FIG. 13)
According to an eighth aspect of the present invention, there is provided an authentication method for an information processing device in which the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus that uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A rearrangement table generation stage in which a second information processing device generates a first rearrangement table and a second rearrangement table using random numbers;
A second information processing device, based on the first rearrangement table, rearranges the components of the random code to generate a rearrangement code generation stage;
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the rearrangement code by an encryption operation based on a predetermined encryption algorithm;
A second information processing apparatus, based on the second rearrangement table, rearranges the constituent elements of the cipher code and generates a rearranged cipher code; and
A table encryption stage in which the second information processing apparatus encrypts the second rearrangement table and generates a second encryption table;
A second encryption information transmitting step in which the second information processing device transmits the second encryption table together with the replacement encryption code to the first information processing device;
A first information processing apparatus that receives a second encryption table together with a rearranged encryption code;
A table decryption stage in which the first information processing device decrypts the second encryption table and restores the second rearrangement table;
The first information processing apparatus rearranges the components of the reordered encryption code received in the reordered encryption code reception stage based on the table obtained by reversing the second reordering table, and generates a verification encryption code. A verification encryption code generation stage;
A collation rearrangement code generation stage in which the first information processing apparatus generates a collation rearrangement code by decrypting the collation cipher code by a decryption operation based on the encryption algorithm;
Components included in the random code generated in the random code generation stage by the first information processing apparatus, and components included in the collation rearrangement code generated in the collation rearrangement code generation stage And a collation determination step of determining that the second information processing device is a device whose validity has been confirmed.
Is to do.

(9) 実施例Gに係る発明(図14参照)
本発明の第9の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して並び替えテーブルを生成する並替テーブル生成段階と、
第2の情報処理装置が、並び替えテーブルに基づいて、ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、暗号コードに対して一方向性関数を作用させて所定の関数値を生成する一方向性関数値生成段階と、
第2の情報処理装置が、並び替えテーブルを暗号化し、暗号化テーブルを生成するテーブル暗号化段階と、
第2の情報処理装置が、上記関数値とともに暗号化テーブルを、第1の情報処理装置に送信する関数値送信段階と、
第1の情報処理装置が、上記関数値とともに、暗号化テーブルを受信する関数値受信段階と、
第1の情報処理装置が、暗号化テーブルを復号し、並び替えテーブルを復元するテーブル復号段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードの構成要素を、並び替えテーブルに基づいて並び替えて照合用並替コードを生成する照合用並替コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく暗号化演算によって、照合用並替コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、照合用暗号コードに対して上記一方向性関数を作用させて照合用関数値を生成する照合用一方向性関数値生成段階と、
第1の情報処理装置が、関数値受信段階で受信した関数値と、照合用一方向性関数値生成段階で生成された照合用関数値と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(9) Invention according to Example G (see FIG. 14)
According to a ninth aspect of the present invention, in the authentication method for an information processing device, the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus that uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A rearrangement table generation stage in which a second information processing device generates a rearrangement table using random numbers;
A second information processing device, based on the rearrangement table, rearranges random code components to generate a rearrangement code generation stage;
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the rearrangement code by an encryption operation based on a predetermined encryption algorithm;
A second information processing apparatus that generates a predetermined function value by applying a one-way function to the encryption code; and
A table encryption stage in which the second information processing apparatus encrypts the rearrangement table and generates an encryption table;
A function value transmission stage in which the second information processing apparatus transmits the encryption table together with the function value to the first information processing apparatus;
A function value receiving stage in which the first information processing apparatus receives the encryption table together with the function value;
A table decryption stage in which the first information processing apparatus decrypts the encryption table and restores the rearrangement table;
A collation rearrangement code generation stage in which the first information processing device rearranges the components of the random code generated in the random code generation stage based on the rearrangement table to generate a collation rearrangement code;
The first information processing apparatus encrypts the collation rearrangement code by the encryption operation based on the encryption algorithm to generate the collation encryption code generation stage;
A first unidirectional function value generation stage in which the first information processing apparatus generates the verification function value by applying the unidirectional function to the verification encryption code;
The first information processing apparatus collates whether or not the function value received at the function value receiving stage matches the matching function value generated at the matching one-way function value generating stage. A collation determination stage for determining that the second information processing apparatus is a verified apparatus;
Is to do.

(10) 実施例A〜Fのバリエーション(同一の並び替えテーブル)
本発明の第10の態様は、上述した第3〜第8の態様に係る情報処理装置の認証方法において、
第1の並び替えテーブルおよび第2の並び替えテーブルとして、同一のテーブルを用いるようにしたものである。
(10) Variations of Examples A to F (same sort table)
A tenth aspect of the present invention is the information processing apparatus authentication method according to the third to eighth aspects described above,
The same table is used as the first rearrangement table and the second rearrangement table.

(11) 実施例A〜Gのバリエーション(公開鍵暗号方式)
本発明の第11の態様は、上述した第3〜第10の態様に係る情報処理装置の認証方法において、
第2の情報処理装置が、テーブル暗号化段階において、公開鍵暗号方式に用いる一対の鍵のうちの一方の鍵を用いて並び替えテーブルの暗号化を行い、
第1の情報処理装置が、テーブル復号段階において、この一対の鍵のうちの他方の鍵を用いて並び替えテーブルの復号を行うようにしたものである。
(11) Variations of Examples A to G (public key cryptosystem)
An eleventh aspect of the present invention is the information processing apparatus authentication method according to the third to tenth aspects described above.
The second information processing apparatus encrypts the rearrangement table using one of a pair of keys used for the public key cryptosystem in the table encryption stage,
In the table decryption stage, the first information processing apparatus decrypts the rearrangement table using the other key of the pair of keys.

(12) 第2の実施形態に係る基本発明(図15参照)
本発明の第12の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、数字を羅列したランダムコードを発生させ、これを第2の情報処理装置に送信する段階と、
第2の情報処理装置が、ランダムコードを受信し、その構成要素となる個々の数字に対して、ランダムに発生した第1の修正数を用いた第1の修正演算を行って修正コードを生成する段階と、
第2の情報処理装置が、修正コードを所定の暗号アルゴリズムに基づく暗号化演算によって暗号化し、暗号コードを生成する段階と、
第2の情報処理装置が、暗号コードの構成要素となる個々の数字に対して、ランダムに発生した第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する段階と、
第2の情報処理装置が、修正暗号コードとともに、第1の修正演算および第2の修正演算のいずれか一方もしくは双方を示す修正情報を、第1の情報処理装置に送信する段階と、
第1の情報処理装置が、修正暗号コードとともに、修正情報を受信し、受信した修正暗号コードの正当性を、受信した修正情報に基づく修正演算および上記暗号アルゴリズムに基づく暗号化演算もしくは復号演算により確認する段階と、
を行うようにしたものである。
(12) Basic invention according to the second embodiment (see FIG. 15)
According to a twelfth aspect of the present invention, in the authentication method for an information processing device, the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing device generates a random code enumerating numbers using random numbers and transmits the random code to the second information processing device;
The second information processing apparatus receives a random code, and generates a correction code by performing a first correction operation using the first correction number generated at random for each number that is a component of the random code. And the stage of
A step in which the second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm, and generates an encryption code;
A step in which the second information processing apparatus performs a second correction operation using a second correction number generated at random on each number as a constituent element of the encryption code to generate a corrected encryption code; ,
A step in which the second information processing apparatus transmits correction information indicating one or both of the first correction calculation and the second correction calculation together with the correction encryption code to the first information processing apparatus;
The first information processing apparatus receives the modification information together with the modified encryption code, and the validity of the received modified encryption code is determined by the modification operation based on the received modification information and the encryption operation or decryption operation based on the encryption algorithm. A stage to check,
Is to do.

(13) 第2の実施形態に係る基本発明のバリエーション(修正情報の暗号化)
本発明の第13の態様は、上述した第12の態様に係る情報処理装置の認証方法において、
第2の情報処理装置から第1の情報処理装置への修正情報の送信を暗号化した状態で行うようにしたものである。
(13) Variation of the basic invention according to the second embodiment (encryption of correction information)
A thirteenth aspect of the present invention is the information processing apparatus authentication method according to the twelfth aspect described above,
The correction information is transmitted from the second information processing apparatus to the first information processing apparatus in an encrypted state.

(14) 実施例aに係る発明(図18参照)
本発明の第14の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
第2の情報処理装置が、受信したランダムコードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
第2の情報処理装置が、第1の修正数および第2の修正数をそれぞれ暗号化し、第1の暗号化修正数および第2の暗号化修正数を生成する修正数暗号化段階と、
第2の情報処理装置が、修正暗号コードとともに、第1の暗号化修正数および第2の暗号化修正数を、第1の情報処理装置に送信する修正暗号コード送信段階と、
第1の情報処理装置が、修正暗号コードとともに、第1の暗号化修正数および第2の暗号化修正数を受信する修正暗号コード受信段階と、
第1の情報処理装置が、第1の暗号化修正数および第2の暗号化修正数をそれぞれ復号し、第1の修正数および第2の修正数を復元する修正数復号段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算を行って照合用修正コードを生成する照合用修正コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく暗号化演算によって、照合用修正コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、照合用暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算を行って照合用修正暗号コードを生成する照合用修正暗号コード生成段階と、
第1の情報処理装置が、修正暗号コード受信段階で受信した修正暗号コードと、照合用修正暗号コード生成段階で生成された照合用修正暗号コードと、が一致するか否かを照合し、一致した場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
行うようにしたものである。
(14) Invention according to Example a (see FIG. 18)
According to a fourteenth aspect of the present invention, in the authentication method for an information processing device, the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus generates a random code using a random number to generate a random code that enumerates constituent numbers,
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code generation stage in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a constituent element of the received random code; ,
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the correction code by an encryption operation based on a predetermined encryption algorithm;
A modified encryption code generation stage in which the second information processing apparatus performs a second modification operation using the second modification number on each number that is a constituent element of the encryption code to generate a modified encryption code; ,
A modified number encryption stage in which the second information processing apparatus encrypts the first modified number and the second modified number, respectively, and generates the first encrypted modified number and the second encrypted modified number;
A modified encryption code transmission stage in which the second information processing apparatus transmits the first encryption modification number and the second encryption modification number together with the modified encryption code to the first information processing apparatus;
A modified encryption code receiving stage in which the first information processing apparatus receives the first encryption modification number and the second encryption modification number together with the modified encryption code;
A modified number decryption stage in which the first information processing device decrypts the first encrypted modified number and the second encrypted modified number, respectively, and restores the first modified number and the second modified number;
The first information processing apparatus performs a first correction operation using the first correction number on each number that is a constituent element of the random code generated at the random code generation stage, and performs a correction code for verification. A verification correction code generation stage for generating
The first information processing apparatus encrypts the verification correction code and generates a verification encryption code by an encryption operation based on the encryption algorithm;
The first information processing apparatus performs a second correction operation using the second correction number on each number that is a constituent element of the verification encryption code to generate a verification corrected encryption code A modified cryptographic code generation stage;
The first information processing apparatus collates whether or not the modified encrypted code received in the modified encrypted code receiving stage matches the matched modified encrypted code generated in the collated modified encrypted code generation stage. A collation determination stage for determining that the second information processing device is a device whose validity has been confirmed.
It is what I do.

(15) 実施例bに係る発明(図19参照)
本発明の第15の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
第2の情報処理装置が、受信したランダムコードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
第2の情報処理装置が、第1の修正数および第2の修正数をそれぞれ暗号化し、第1の暗号化修正数および第2の暗号化修正数を生成する修正数暗号化段階と、
第2の情報処理装置が、修正暗号コードとともに、第1の暗号化修正数および第2の暗号化修正数を、第1の情報処理装置に送信する修正暗号コード送信段階と、
第1の情報処理装置が、修正暗号コードとともに、第1の暗号化修正数および第2の暗号化修正数を受信する修正暗号コード受信段階と、
第1の情報処理装置が、第1の暗号化修正数および第2の暗号化修正数をそれぞれ復号し、第1の修正数および第2の修正数を復元する修正数復号段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算を行って照合用修正コードを生成する照合用修正コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく暗号化演算によって、照合用修正コードを暗号化して照合用暗号コードを生成する照合用暗号コード第1生成段階と、
第1の情報処理装置が、修正暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算とは逆の演算を行って照合用暗号コードを生成する照合用暗号コード第2生成段階と、
第1の情報処理装置が、照合用暗号コード第1生成段階で生成した照合用暗号コードと、照合用暗号コード第2生成段階で生成した照合用暗号コードと、が一致するか否かを照合し、一致した場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(15) Invention according to Example b (see FIG. 19)
According to a fifteenth aspect of the present invention, in the authentication method for an information processing device, the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus generates a random code using a random number to generate a random code that enumerates constituent numbers,
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code generation stage in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a constituent element of the received random code; ,
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the correction code by an encryption operation based on a predetermined encryption algorithm;
A modified encryption code generation stage in which the second information processing apparatus performs a second modification operation using the second modification number on each number that is a constituent element of the encryption code to generate a modified encryption code; ,
A modified number encryption stage in which the second information processing apparatus encrypts the first modified number and the second modified number, respectively, and generates the first encrypted modified number and the second encrypted modified number;
A modified encryption code transmission stage in which the second information processing apparatus transmits the first encryption modification number and the second encryption modification number together with the modified encryption code to the first information processing apparatus;
A modified encryption code receiving stage in which the first information processing apparatus receives the first encryption modification number and the second encryption modification number together with the modified encryption code;
A modified number decryption stage in which the first information processing device decrypts the first encrypted modified number and the second encrypted modified number, respectively, and restores the first modified number and the second modified number;
The first information processing apparatus performs a first correction operation using the first correction number on each number that is a constituent element of the random code generated at the random code generation stage, and performs a correction code for verification. A verification correction code generation stage for generating
A first verification encryption code generating step of generating a verification encryption code by encrypting the verification correction code by an encryption operation based on the encryption algorithm;
The first information processing apparatus generates a verification encryption code by performing an operation opposite to the second correction operation using the second correction number on each number that is a component of the correction encryption code. A verification encryption code second generation stage,
The first information processing apparatus collates whether or not the verification encryption code generated in the verification encryption code first generation stage matches the verification encryption code generated in the verification encryption code second generation stage. And a collation determination stage for determining, when they match, that the second information processing apparatus is an apparatus whose validity has been confirmed;
Is to do.

(16) 実施例cに係る発明(図20参照)
本発明の第16の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
第2の情報処理装置が、受信したランダムコードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
第2の情報処理装置が、第1の修正数および第2の修正数をそれぞれ暗号化し、第1の暗号化修正数および第2の暗号化修正数を生成する修正数暗号化段階と、
第2の情報処理装置が、修正暗号コードとともに、第1の暗号化修正数および第2の暗号化修正数を、第1の情報処理装置に送信する修正暗号コード送信段階と、
第1の情報処理装置が、修正暗号コードとともに、第1の暗号化修正数および第2の暗号化修正数を受信する修正暗号コード受信段階と、
第1の情報処理装置が、第1の暗号化修正数および第2の暗号化修正数をそれぞれ復号し、第1の修正数および第2の修正数を復元する修正数復号段階と、
第1の情報処理装置が、修正暗号コード受信段階で受信した修正暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算とは逆の演算を行って照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく復号演算によって、照合用暗号コードを復号して照合用修正コードを生成する照合用修正コード生成段階と、
第1の情報処理装置が、照合用修正コードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算とは逆の演算を行って照合用ランダムコードを生成する照合用ランダムコード生成段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードと、照合用ランダムコード生成段階で生成された照合用ランダムコードと、が一致するか否かを照合し、一致した場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(16) Invention according to Example c (see FIG. 20)
According to a sixteenth aspect of the present invention, in the authentication method for an information processing device, the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus generates a random code using a random number to generate a random code that enumerates constituent numbers,
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code generation stage in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a constituent element of the received random code; ,
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the correction code by an encryption operation based on a predetermined encryption algorithm;
A modified encryption code generation stage in which the second information processing apparatus performs a second modification operation using the second modification number on each number that is a constituent element of the encryption code to generate a modified encryption code; ,
A modified number encryption stage in which the second information processing apparatus encrypts the first modified number and the second modified number, respectively, and generates the first encrypted modified number and the second encrypted modified number;
A modified encryption code transmission stage in which the second information processing apparatus transmits the first encryption modification number and the second encryption modification number together with the modified encryption code to the first information processing apparatus;
A modified encryption code receiving stage in which the first information processing apparatus receives the first encryption modification number and the second encryption modification number together with the modified encryption code;
A modified number decryption stage in which the first information processing device decrypts the first encrypted modified number and the second encrypted modified number, respectively, and restores the first modified number and the second modified number;
The first information processing apparatus performs an operation opposite to the second correction operation using the second correction number for each number that is a component of the corrected encryption code received in the correction encryption code reception stage. A verification cryptographic code generation stage for performing verification and generating a verification cryptographic code;
A verification correction code generation stage in which the first information processing apparatus generates a verification correction code by decrypting the verification encryption code by a decryption operation based on the encryption algorithm;
The first information processing apparatus performs an operation opposite to the first correction operation using the first correction number on each number that is a component of the correction code for verification to generate a random code for verification. A verification random code generation stage to generate;
When the first information processing apparatus collates whether or not the random code generated in the random code generation stage matches the verification random code generated in the verification random code generation stage. A collation determination stage for determining that the second information processing apparatus is a verified apparatus;
Is to do.

(17) 実施例dに係る発明(図21参照)
本発明の第17の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
第2の情報処理装置が、受信したランダムコードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
第2の情報処理装置が、第1の修正数および第2の修正数をそれぞれ暗号化し、第1の暗号化修正数および第2の暗号化修正数を生成する修正数暗号化段階と、
第2の情報処理装置が、修正暗号コードとともに、第1の暗号化修正数および第2の暗号化修正数を、第1の情報処理装置に送信する修正暗号コード送信段階と、
第1の情報処理装置が、修正暗号コードとともに、第1の暗号化修正数および第2の暗号化修正数を受信する修正暗号コード受信段階と、
第1の情報処理装置が、第1の暗号化修正数および第2の暗号化修正数をそれぞれ復号し、第1の修正数および第2の修正数を復元する修正数復号段階と、
第1の情報処理装置が、修正暗号コード受信段階で受信した修正暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算とは逆の演算を行って照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく復号演算によって、照合用暗号コードを復号して照合用修正コードを生成する照合用修正コード第1生成段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算を行って照合用修正コードを生成する照合用修正コード第2生成段階と、
第1の情報処理装置が、照合用修正コード第1生成段階で生成した照合用修正コードと、照合用修正コード第2生成段階で生成した照合用修正コードと、が一致するか否かを照合し、一致した場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(17) Invention according to Example d (see FIG. 21)
According to a seventeenth aspect of the present invention, in the authentication method for an information processing device, the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus generates a random code using a random number to generate a random code that enumerates constituent numbers,
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code generation stage in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a constituent element of the received random code; ,
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the correction code by an encryption operation based on a predetermined encryption algorithm;
A modified encryption code generation stage in which the second information processing apparatus performs a second modification operation using the second modification number on each number that is a constituent element of the encryption code to generate a modified encryption code; ,
A modified number encryption stage in which the second information processing apparatus encrypts the first modified number and the second modified number, respectively, and generates the first encrypted modified number and the second encrypted modified number;
A modified encryption code transmission stage in which the second information processing apparatus transmits the first encryption modification number and the second encryption modification number together with the modified encryption code to the first information processing apparatus;
A modified encryption code receiving stage in which the first information processing apparatus receives the first encryption modification number and the second encryption modification number together with the modified encryption code;
A modified number decryption stage in which the first information processing device decrypts the first encrypted modified number and the second encrypted modified number, respectively, and restores the first modified number and the second modified number;
The first information processing apparatus performs an operation opposite to the second correction operation using the second correction number for each number that is a component of the corrected encryption code received in the correction encryption code reception stage. A verification cryptographic code generation stage for performing verification and generating a verification cryptographic code;
A first correction code for collation generating a correction code for collation by decrypting the cipher code for collation by a decryption operation based on the encryption algorithm;
The first information processing apparatus performs a first correction operation using the first correction number on each number that is a constituent element of the random code generated at the random code generation stage, and performs a correction code for verification. A correction code second generation stage for generating a verification code;
The first information processing apparatus collates whether or not the collation correction code generated in the collation correction code first generation stage matches the collation correction code generated in the collation correction code second generation stage. And a collation determination stage for determining, when they match, that the second information processing apparatus is an apparatus whose validity has been confirmed;
Is to do.

(18) 実施例eに係る発明(図22参照)
本発明の第18の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
第2の情報処理装置が、受信したランダムコードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
第2の情報処理装置が、第1の修正数を暗号化し、第1の暗号化修正数を生成する修正数暗号化段階と、
第2の情報処理装置が、修正暗号コードとともに、第1の暗号化修正数を、第1の情報処理装置に送信する修正暗号コード送信段階と、
第1の情報処理装置が、修正暗号コードとともに、第1の暗号化修正数を受信する修正暗号コード受信段階と、
第1の情報処理装置が、第1の暗号化修正数を復号し、第1の修正数を復元する修正数復号段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算を行って照合用修正コードを生成する照合用修正コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく暗号化演算によって、照合用修正コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、修正暗号コード受信段階で受信した修正暗号コードに含まれている構成要素と、照合用暗号コード生成段階で生成された照合用暗号コードに含まれている構成要素と、が第2の修正演算による演算前後の数値として矛盾のない対応関係を有するか否かを照合し、矛盾のない対応関係を有する場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(18) Invention according to Example e (see FIG. 22)
According to an eighteenth aspect of the present invention, in the authentication method for an information processing device, the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus generates a random code using a random number to generate a random code that enumerates constituent numbers,
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code generation stage in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a constituent element of the received random code; ,
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the correction code by an encryption operation based on a predetermined encryption algorithm;
A modified encryption code generation stage in which the second information processing apparatus performs a second modification operation using the second modification number on each number that is a constituent element of the encryption code to generate a modified encryption code; ,
A correction number encryption stage in which the second information processing apparatus encrypts the first correction number and generates the first encryption correction number;
A modified encryption code transmission stage in which the second information processing apparatus transmits the first encrypted modification number together with the modified encryption code to the first information processing apparatus;
A modified encryption code receiving stage in which the first information processing apparatus receives the first encryption modification number together with the modified encryption code;
A modified number decryption stage in which the first information processing apparatus decrypts the first encrypted modified number and restores the first modified number;
The first information processing apparatus performs a first correction operation using the first correction number on each number that is a constituent element of the random code generated at the random code generation stage, and performs a correction code for verification. A verification correction code generation stage for generating
The first information processing apparatus encrypts the verification correction code and generates a verification encryption code by an encryption operation based on the encryption algorithm;
A component included in the modified encryption code received by the first information processing apparatus in the modified encryption code reception stage; and a component included in the verification encryption code generated in the verification encryption code generation stage; Is verified whether the second information processing apparatus has a consistent correspondence as a numerical value before and after the calculation by the second correction operation. A collation determination stage for determining the device;
Is to do.

(19) 実施例fに係る発明(図23参照)
本発明の第19の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
第2の情報処理装置が、受信したランダムコードの構成要素となる個々の数字に対して、第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
第2の情報処理装置が、第2の修正数を暗号化し、第2の暗号化修正数を生成する修正数暗号化段階と、
第2の情報処理装置が、修正暗号コードとともに第2の暗号化修正数を、第1の情報処理装置に送信する修正暗号コード送信段階と、
第1の情報処理装置が、修正暗号コードとともに、第2の暗号化修正数を受信する修正暗号コード受信段階と、
第1の情報処理装置が、第2の暗号化修正数を復号し、第2の修正数を復元する修正数復号段階と、
第1の情報処理装置が、修正暗号コード受信段階で受信した修正暗号コードの構成要素となる個々の数字に対して、第2の修正数を用いた第2の修正演算とは逆の演算を行って照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく復号演算によって、照合用暗号コードを復号して照合用修正コードを生成する照合用修正コード生成段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードに含まれている構成要素と、照合用修正コード生成段階で生成された照合用修正コードに含まれている構成要素と、が第1の修正演算による演算前後の数値として矛盾のない対応関係を有するか否かを照合し、矛盾のない対応関係を有する場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(19) Invention according to Example f (see FIG. 23)
According to a nineteenth aspect of the present invention, in the authentication method for an information processing device, the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus generates a random code using a random number to generate a random code that enumerates constituent numbers,
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code generation stage in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a constituent element of the received random code; ,
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the correction code by an encryption operation based on a predetermined encryption algorithm;
A modified encryption code generation stage in which the second information processing apparatus performs a second modification operation using the second modification number on each number that is a constituent element of the encryption code to generate a modified encryption code; ,
A modified number encryption stage in which the second information processing apparatus encrypts the second modified number and generates a second encrypted modified number;
A modified encryption code transmission stage in which the second information processing apparatus transmits the second encrypted modification number together with the modified encryption code to the first information processing apparatus;
A modified encryption code receiving stage in which the first information processing apparatus receives the second encrypted modification number together with the modified encryption code;
A modified number decryption stage in which the first information processing apparatus decrypts the second encrypted modified number and restores the second modified number;
The first information processing apparatus performs an operation opposite to the second correction operation using the second correction number for each number that is a component of the corrected encryption code received in the correction encryption code reception stage. A verification cryptographic code generation stage for performing verification and generating a verification cryptographic code;
A verification correction code generation stage in which the first information processing apparatus generates a verification correction code by decrypting the verification encryption code by a decryption operation based on the encryption algorithm;
The first information processing apparatus includes a component included in the random code generated in the random code generation stage, a component included in the verification correction code generated in the verification correction code generation stage, Is verified as a numerical value before and after the calculation by the first correction calculation, and the second information processing apparatus is confirmed to be valid when it has a consistent correspondence. A matching determination stage for determining
Is to do.

(20) 実施例gに係る発明(図24参照)
本発明の第20の態様は、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する情報処理装置の認証方法において、
第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
第1の情報処理装置が、ランダムコードを第2の情報処理装置に送信するランダムコード送信段階と、
第2の情報処理装置が、ランダムコードを受信するランダムコード受信段階と、
第2の情報処理装置が、乱数を利用して修正数を生成する修正数生成段階と、
第2の情報処理装置が、受信したランダムコードの構成要素となる個々の数字に対して、上記修正数を用いた修正演算を行って修正コードを生成する修正コード生成段階と、
第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
第2の情報処理装置が、暗号コードに対して一方向性関数を作用させて所定の関数値を生成する一方向性関数値生成段階と、
第2の情報処理装置が、上記修正数を暗号化し、暗号化修正数を生成する修正数暗号化段階と、
第2の情報処理装置が、上記関数値とともに暗号化修正数を、第1の情報処理装置に送信する関数値送信段階と、
第1の情報処理装置が、上記関数値とともに、暗号化修正数を受信する関数値受信段階と、
第1の情報処理装置が、暗号化修正数を復号し、修正数を復元する修正数復号段階と、
第1の情報処理装置が、ランダムコード発生段階で発生させたランダムコードの構成要素となる個々の数字に対して、上記修正数を用いた修正演算を行って照合用修正コードを生成する照合用修正コード生成段階と、
第1の情報処理装置が、上記暗号アルゴリズムに基づく暗号化演算によって、照合用修正コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
第1の情報処理装置が、照合用暗号コードに対して上記一方向性関数を作用させて照合用関数値を生成する照合用一方向性関数値生成段階と、
第1の情報処理装置が、関数値受信段階で受信した関数値と、照合用一方向性関数値生成段階で生成された照合用関数値と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を行うようにしたものである。
(20) Invention according to Example g (see FIG. 24)
According to a twentieth aspect of the present invention, there is provided an authentication method for an information processing device in which the first information processing device authenticates the second information processing device as a device whose validity has been confirmed.
A first information processing apparatus generates a random code using a random number to generate a random code that enumerates constituent numbers,
A random code transmission stage in which the first information processing device transmits a random code to the second information processing device;
A random code receiving stage in which the second information processing apparatus receives a random code;
A correction number generation stage in which the second information processing apparatus generates a correction number using a random number;
A correction code generation stage in which the second information processing apparatus generates a correction code by performing a correction operation using the correction number for each number that is a constituent element of the received random code;
An encryption code generation stage in which the second information processing apparatus generates an encryption code by encrypting the correction code by an encryption operation based on a predetermined encryption algorithm;
A second information processing apparatus that generates a predetermined function value by applying a one-way function to the encryption code; and
A correction number encryption stage in which the second information processing apparatus encrypts the correction number and generates an encrypted correction number;
A function value transmission stage in which the second information processing apparatus transmits the encryption correction number together with the function value to the first information processing apparatus;
A function value receiving stage in which the first information processing apparatus receives the encryption correction number together with the function value;
A first information processing apparatus decrypts the encrypted correction number and restores the correction number;
The first information processing device performs a correction operation using the correction number on each number that is a constituent element of the random code generated at the random code generation stage to generate a correction code for verification A modified code generation stage;
The first information processing apparatus encrypts the verification correction code and generates a verification encryption code by an encryption operation based on the encryption algorithm;
A first unidirectional function value generation stage in which the first information processing apparatus generates the verification function value by applying the unidirectional function to the verification encryption code;
The first information processing apparatus collates whether or not the function value received at the function value receiving stage matches the matching function value generated at the matching one-way function value generating stage. A collation determination stage for determining that the second information processing apparatus is a verified apparatus;
Is to do.

(21) 実施例a〜fのバリエーション(同一の修正数)
本発明の第21の態様は、上述した第14〜第19の態様に係る情報処理装置の認証方法において、
第1の修正数および第2の修正数として、同一の修正数を用いるようにしたものである。
(21) Variations of Examples a to f (the same number of modifications)
According to a twenty-first aspect of the present invention, in the authentication method for an information processing device according to the fourteenth to nineteenth aspects described above,
The same correction number is used as the first correction number and the second correction number.

(22) 実施例a〜gのバリエーション(公開鍵暗号方式)
本発明の第22の態様は、上述した第14〜第21の態様に係る情報処理装置の認証方法において、
第2の情報処理装置が、修正数暗号化段階において、公開鍵暗号方式に用いる一対の鍵のうちの一方の鍵を用いて修正数の暗号化を行い、
第1の情報処理装置が、修正数復号段階において、この一対の鍵のうちの他方の鍵を用いて修正数の復号を行うようにしたものである。
(22) Variations of Examples ag (public key cryptosystem)
According to a twenty-second aspect of the present invention, in the authentication method for an information processing device according to the fourteenth to twenty-first aspects described above,
The second information processing apparatus performs encryption of the correction number using one of the pair of keys used for the public key cryptosystem in the correction number encryption stage,
The first information processing apparatus is configured to decrypt the modified number using the other key of the pair of keys in the modified number decryption stage.

(23) 実施例a〜gのバリエーション(修正数の加減算)
本発明の第23の態様は、上述した第14〜第22の態様に係る情報処理装置の認証方法において、
修正数として、乱数を利用して生成した正もしくは負の数を用い、修正演算として、個々の数字に対してこの修正数を加算もしくは減算する演算を行うようにしたものである。
(23) Variations of Examples a to g (addition / subtraction of correction number)
According to a twenty-third aspect of the present invention, in the information processing apparatus authentication method according to the fourteenth to twenty-second aspects described above,
A positive or negative number generated using a random number is used as the correction number, and an operation for adding or subtracting the correction number to each number is performed as the correction operation.

(24) 実施例a〜gのバリエーション(数値範囲の制限)
本発明の第24の態様は、上述した第23の態様に係る情報処理装置の認証方法において、
ランダムコードの構成要素となる個々の数字および暗号コードの構成要素となる個々の数字が、N〜M(但し、N<M)の範囲内の数値となるようにし、修正演算を行う際に、演算後の数値VがV<Nとなる場合には(M−N+1)を加算する補正を行い、演算後の数値VがV>Mとなる場合には(M−N+1)を減算する補正を行い、修正演算後の数値がN〜Mの範囲内の数値となるようにしたものである。
(24) Variations of Examples ag (Limitation of numerical range)
According to a twenty-fourth aspect of the present invention, in the authentication method for an information processing device according to the twenty-third aspect described above,
When performing the correction operation so that the individual numbers that are the constituent elements of the random code and the individual numbers that are the constituent elements of the encryption code are numerical values within the range of N to M (where N <M), When the calculated numerical value V is V <N, correction is performed by adding (M−N + 1), and when the calculated numerical value V is V> M, correction is performed by subtracting (M−N + 1). The numerical value after the correction calculation is set to a numerical value within the range of N to M.

(25) 実施例a〜gのバリエーション(構成要素ごとの個別修正)
本発明の第25の態様は、上述した第14〜第24の態様に係る情報処理装置の認証方法において、
複数n個の数字を構成要素として含むコードについて、これらn個の構成要素のそれぞれについて別個に修正数を生成し、n個の修正数の数列を用いて修正演算を行うことを特徴とする情報処理装置の認証方法。
(25) Variations of Examples ag (Individual correction for each component)
According to a twenty-fifth aspect of the present invention, in the information processing apparatus authentication method according to the fourteenth to twenty-fourth aspects described above,
For a code including a plurality of n numbers as constituent elements, a correction number is separately generated for each of the n constituent elements, and a correction operation is performed using a sequence of n correction numbers. Processing device authentication method.

(26) 第2の実施形態に係る基本発明のバリエーション(文字を含むコード)
本発明の第26の態様は、上述した第12〜第25の態様に係る情報処理装置の認証方法において、
第1の情報処理装置および第2の情報処理装置として、それぞれ特定の数字に対応づけられた文字を取り扱う装置を用い、ランダムコードもしくは暗号コードとして文字を含むコードを発生させ、個々の文字をそれぞれ対応する数字として取り扱う処理を行うようにしたものである。
(26) Variations of the basic invention according to the second embodiment (code including characters)
According to a twenty-sixth aspect of the present invention, in the authentication method for an information processing apparatus according to the twelfth to twenty-fifth aspects described above,
As the first information processing device and the second information processing device, devices that handle characters associated with specific numbers are used to generate a code including characters as a random code or an encryption code. The processing is handled as a corresponding number.

(27) 本発明全体についてのバリエーション(相互認証)
本発明の第27の態様は、上述した第1〜第26の態様に係る情報処理装置の認証方法において、
第1の情報処理装置が行う各処理段階と、第2の情報処理装置が行う各処理段階と、を入れ替えた処理を更に行うことにより、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証するとともに、第2の情報処理装置が第1の情報処理装置を正当性が確認された装置として認証する処理を行うようにしたものである。
(27) Variations of the present invention as a whole (mutual authentication)
A twenty-seventh aspect of the present invention is the information processing apparatus authentication method according to the first to twenty-sixth aspects described above.
By further performing a process in which each processing stage performed by the first information processing apparatus and each processing stage performed by the second information processing apparatus are interchanged, the first information processing apparatus changes the second information processing apparatus. While authenticating as a device whose validity has been confirmed, the second information processing device performs processing for authenticating the first information processing device as a device whose validity has been confirmed.

(28) 本発明全体についてのバリエーション(情報処理装置)
本発明の第28の態様は、上述した第1〜第26の態様に係る情報処理装置の認証方法における第1の情報処理装置または第2の情報処理装置が行う各段階を実行する機能をもった装置を提供するようにしたものである。
(28) Variation of the present invention as a whole (information processing device)
A twenty-eighth aspect of the present invention has a function of executing each stage performed by the first information processing apparatus or the second information processing apparatus in the information processing apparatus authentication method according to the first to twenty-sixth aspects described above. A device is provided.

(29) 本発明全体についてのバリエーション(プログラム)
本発明の第29の態様は、上述した第1〜第26の態様に係る情報処理装置の認証方法における第1の情報処理装置または第2の情報処理装置が行う各段階をコンピュータに実行させるプログラムを提供するようにしたものである。
(29) Variations (programs) for the present invention as a whole
According to a twenty-ninth aspect of the present invention, there is provided a program for causing a computer to execute each step performed by the first information processing apparatus or the second information processing apparatus in the authentication method for the information processing apparatus according to the first to twenty-sixth aspects. It is intended to provide.

本発明に係る情報処理装置の認証方法によれば、第1の情報処理装置から送信されてきたランダムコード(チャレンジ)を第2の情報処理装置で暗号化する際に、暗号化処理の前後に、コードの並び替え処理、修正処理、もしくは一方向性関数の作用処理を施すようにしたため、通信経路を介して送受されるチャレンジおよびレスポンスと、暗号化処理の対象となる平文および暗号文とが、相互に異なるデータになる。すなわち、通信傍受で得たチャレンジおよびレスポンスと、サイドチャネル解析の対象となる暗号化処理で用いる平文および暗号文とが直接的には対応しないことになる。したがって、通信傍受とサイドチャネル解析とを組み合わせた攻撃が行われても、採用している暗号アルゴリズムを容易には推定することができなくなり、そのような組み合わせ攻撃にも十分に耐え得る認証方法を提供することができる。また、本発明を導入するにあたっては、暗号化処理の前後に、コードの並び替え処理、修正処理、もしくは一方向性関数の作用処理を施すだけでよいので、非常に効率的な処理により目的を達成することができ、導入コストを抑制させることができる。   According to the authentication method of the information processing apparatus according to the present invention, when the random code (challenge) transmitted from the first information processing apparatus is encrypted by the second information processing apparatus, before and after the encryption process. Since the code rearrangement process, the correction process, or the action process of the one-way function is performed, the challenge and response transmitted / received via the communication path and the plaintext and ciphertext to be encrypted are , The data will be different from each other. That is, the challenge and response obtained by communication interception do not directly correspond to the plaintext and ciphertext used in the encryption processing to be subjected to side channel analysis. Therefore, even if an attack that combines communication interception and side channel analysis is performed, it is not possible to easily estimate the encryption algorithm that is used, and an authentication method that can sufficiently withstand such a combined attack. Can be provided. In introducing the present invention, it is only necessary to perform code rearrangement processing, correction processing, or one-way function operation processing before and after the encryption processing. This can be achieved and the introduction cost can be suppressed.

一般的なチャレンジレスポンス方式の認証方法を示すブロック図である。It is a block diagram which shows the authentication method of a general challenge response system. 本願の説明で便宜的に利用する具体的な暗号アルゴリズムAの一例を示す図である。It is a figure which shows an example of the concrete encryption algorithm A utilized for convenience by description of this application. 図1に示す認証方法に、図2に示す暗号アルゴリズムAを用いた場合の具体的なデータの変遷を示すブロック図である。It is a block diagram which shows the transition of the concrete data at the time of using the encryption algorithm A shown in FIG. 2 for the authentication method shown in FIG. 図3に示す認証方法に対する通信傍受およびサイドチャネル解析を組み合わせた攻撃を示す図である。It is a figure which shows the attack which combined the communication interception and side channel analysis with respect to the authentication method shown in FIG. 本発明の第1の実施形態に係る認証方法の基本概念を示すブロック図である。It is a block diagram which shows the basic concept of the authentication method which concerns on the 1st Embodiment of this invention. 図5の実施形態で用いられている具体的な並び替え方法を示す図である。It is a figure which shows the specific rearrangement method used by embodiment of FIG. 図5に示す認証方法に対する通信傍受およびサイドチャネル解析を組み合わせた攻撃を示す図である。It is a figure which shows the attack which combined communication interception and side channel analysis with respect to the authentication method shown in FIG. 図5に示す第1の実施形態の具体的実施例Aを示すブロック図である。It is a block diagram which shows the specific Example A of 1st Embodiment shown in FIG. 図5に示す第1の実施形態の具体的実施例Bを示すブロック図である。It is a block diagram which shows the specific Example B of 1st Embodiment shown in FIG. 図5に示す第1の実施形態の具体的実施例Cを示すブロック図である。It is a block diagram which shows the specific Example C of 1st Embodiment shown in FIG. 図5に示す第1の実施形態の具体的実施例Dを示すブロック図である。It is a block diagram which shows the specific Example D of 1st Embodiment shown in FIG. 図5に示す第1の実施形態の具体的実施例Eを示すブロック図である。It is a block diagram which shows the specific Example E of 1st Embodiment shown in FIG. 図5に示す第1の実施形態の具体的実施例Fを示すブロック図である。It is a block diagram which shows the specific Example F of 1st Embodiment shown in FIG. 図5に示す第1の実施形態の具体的実施例Gを示すブロック図である。It is a block diagram which shows the specific Example G of 1st Embodiment shown in FIG. 本発明の第2の実施形態に係る認証方法の基本概念を示すブロック図である。It is a block diagram which shows the basic concept of the authentication method which concerns on the 2nd Embodiment of this invention. 図15の実施形態で用いられている具体的な修正演算を示す図である。It is a figure which shows the specific correction calculation used in embodiment of FIG. 図15に示す認証方法に対する通信傍受およびサイドチャネル解析を組み合わせた攻撃を示す図である。It is a figure which shows the attack which combined the communication interception and side channel analysis with respect to the authentication method shown in FIG. 図15に示す第2の実施形態の具体的実施例aを示すブロック図である。It is a block diagram which shows the specific Example a of 2nd Embodiment shown in FIG. 図15に示す第2の実施形態の具体的実施例bを示すブロック図である。It is a block diagram which shows the specific Example b of 2nd Embodiment shown in FIG. 図15に示す第2の実施形態の具体的実施例cを示すブロック図である。It is a block diagram which shows the specific Example c of 2nd Embodiment shown in FIG. 図15に示す第2の実施形態の具体的実施例dを示すブロック図である。It is a block diagram which shows the specific Example d of 2nd Embodiment shown in FIG. 図15に示す第2の実施形態の具体的実施例eを示すブロック図である。It is a block diagram which shows the specific Example e of 2nd Embodiment shown in FIG. 図15に示す第2の実施形態の具体的実施例fを示すブロック図である。It is a block diagram which shows the specific Example f of 2nd Embodiment shown in FIG. 図15に示す第2の実施形態の具体的実施例gを示すブロック図である。It is a block diagram which shows the specific Example g of 2nd Embodiment shown in FIG.

以下、本発明を図示する実施形態に基づいて説明する。   Hereinafter, the present invention will be described based on the illustrated embodiments.

<<< §1. 一般的なチャレンジレスポンス方式の認証方法 >>>
はじめに、説明の便宜上、従来から広く利用されている一般的なチャレンジレスポンス方式の認証方法の基本原理を簡単に説明しておく。ここでは、図1に示すように、第1の情報処理装置10(たとえば、サーバ装置)が第2の情報処理装置20(たとえば、クライアント装置)の正当性を確認する処理を例にとって、具体的なデータの流れに即した手順を述べる。
<<< §1. General challenge-response authentication method >>>
First, for the convenience of explanation, the basic principle of a general challenge-response authentication method that has been widely used in the past will be briefly described. Here, as shown in FIG. 1, the first information processing apparatus 10 (for example, a server apparatus) specifically takes a process of confirming the validity of the second information processing apparatus 20 (for example, a client apparatus) as an example. The procedure according to the data flow is described.

図示の例の場合、認証処理に関与する構成要素として、第1の情報処理装置10には、ランダムコード発生部11、照合用暗号コード生成部13、照合判定部15、ランダムコード送信部16、暗号コード受信部17が設けられており、第2の情報処理装置20には、ランダムコード受信部21、暗号コード生成部23、暗号コード送信部25が設けられている。   In the case of the illustrated example, as the components involved in the authentication process, the first information processing apparatus 10 includes a random code generation unit 11, a verification encryption code generation unit 13, a verification determination unit 15, a random code transmission unit 16, The encryption code receiving unit 17 is provided, and the second information processing apparatus 20 is provided with a random code receiving unit 21, an encryption code generating unit 23, and an encryption code transmitting unit 25.

もちろん、実際には、各情報処理装置10,20には、それぞれ本来の機能を実行するために必要な様々な構成要素が組み込まれているが、ここでは認証処理に関与する構成要素のみを図示し、これら図示された構成要素についてのみの説明を行うことにする。§2以下に述べる本発明の各実施形態の説明においても同様である。   Of course, in reality, each of the information processing apparatuses 10 and 20 incorporates various components necessary for executing the original functions, but only the components involved in the authentication processing are illustrated here. Only those components shown and described will be described. The same applies to the description of each embodiment of the present invention described below.

また、本願では、各情報処理装置の個々の構成要素を「○○部」と称するブロックで示し、当該「○○部」が実行する処理を「○○処理」もしくは「○○段階」と呼ぶことにする。たとえば、図1に示す例の場合、ランダムコード発生部11が実行する処理は「ランダムコード発生処理」もしくは「ランダムコード発生段階」であり、ランダムコード送信部16が実行する処理は「ランダムコード送信処理」もしくは「ランダムコード送信段階」ということになる。実際には、これらの各構成要素は専用のプログラムが組み込まれたコンピュータもしくは半導体集積回路の個々の機能として実現されることになり、各処理や各段階は、コンピュータもしくは半導体集積回路によって実行されることになる。   Further, in the present application, each component of each information processing apparatus is indicated by a block called “XX part”, and the process executed by the “XX part” is called “XX process” or “XX stage”. I will decide. For example, in the example shown in FIG. 1, the process executed by the random code generation unit 11 is “random code generation process” or “random code generation stage”, and the process executed by the random code transmission unit 16 is “random code transmission”. This is called “processing” or “random code transmission stage”. Actually, each of these components is realized as an individual function of a computer or a semiconductor integrated circuit in which a dedicated program is incorporated, and each process and each stage is executed by the computer or the semiconductor integrated circuit. It will be.

さて、第1の情報処理装置10が、第2の情報処理装置20を正当性が確認された装置として認証するには、まず、ランダムコード発生部11によって、文字もしくは数字を羅列したランダムコードRを発生させる処理が行われる。ランダムコード発生部11には、乱数を発生させる機能が備わっており、この機能を利用して、複数の文字もしくは数字からなるランダムコードRが生成される。たとえば、それぞれ1バイトからなる数字を1構成要素として、n個の構成要素を羅列したnバイトからなるランダムコードRを生成すればよい。このランダムコード発生段階の処理は、第2の情報処理装置20に対する認証が必要になったときに毎回行われるが、ランダムコードRは乱数に基づいて生成されたランダムなコードであるため、毎回、その内容は異なっている。   In order for the first information processing apparatus 10 to authenticate the second information processing apparatus 20 as an apparatus whose validity has been confirmed, first, a random code R enumerated by a random code generator 11 is used. Is generated. The random code generator 11 has a function of generating a random number, and a random code R composed of a plurality of characters or numbers is generated using this function. For example, it is only necessary to generate a random code R consisting of n bytes in which n constituent elements are enumerated, each of which consists of a number consisting of 1 byte. This random code generation stage process is performed every time authentication of the second information processing apparatus 20 is required, but since the random code R is a random code generated based on a random number, Its contents are different.

こうして発生されたランダムコードRは、ランダムコード送信部16によって、第2の情報処理装置20に対して送信される。こうして送信されるランダムコードRは、一般に「チャレンジ」と呼ばれるデータである。なお、コンピュータで取り扱われるデータは、いずれもバイナリデジタルデータであるが、本願では、実施例の説明の便宜上、ランダムコードRおよびこれに派生して生じる各種コードを文字もしくは数字を羅列したコードと把握して、以下の説明を行うことにする。   The random code R generated in this way is transmitted to the second information processing apparatus 20 by the random code transmission unit 16. The random code R transmitted in this way is data generally called “challenge”. The data handled by the computer is binary digital data, but in this application, for convenience of explanation of the embodiments, the random code R and various codes derived therefrom are grasped as codes in which characters or numbers are enumerated. The following explanation will be given.

一方、第2の情報処理装置20では、「チャレンジ」として送信されてきたランダムコードRが、ランダムコード受信部21によって受信され、暗号コード生成部23に引き渡される。暗号コード生成部23は、与えられたランダムコードRを所定の暗号アルゴリズムAに基づいて暗号化し、暗号コードQを生成する処理を行い、これを暗号コード送信部25に与える。暗号コード送信部25は、この暗号コードQを第1の情報処理装置10に対して送信する。こうして送信される暗号コードQは、一般に「レスポンス」(認証トークン)と呼ばれるデータである。   On the other hand, in the second information processing apparatus 20, the random code R transmitted as “challenge” is received by the random code receiving unit 21 and delivered to the encryption code generating unit 23. The encryption code generation unit 23 encrypts the given random code R based on a predetermined encryption algorithm A, generates a encryption code Q, and supplies this to the encryption code transmission unit 25. The encryption code transmission unit 25 transmits this encryption code Q to the first information processing apparatus 10. The encryption code Q transmitted in this way is data generally called “response” (authentication token).

続いて、第1の情報処理装置10では、「レスポンス」として送信されてきた暗号コードQが、暗号コード受信部17によって受信される。また、ランダムコード発生部11によって発生されたランダムコードRは、照合用暗号コード生成部13に引き渡される。照合用暗号コード生成部13は、第2の情報処理装置20内の暗号コード生成部23と同じ機能をもった構成要素であり、与えられたランダムコードRを暗号アルゴリズムAに基づいて暗号化し、照合用暗号コードQを生成する処理を行う。   Subsequently, in the first information processing apparatus 10, the encryption code Q transmitted as “response” is received by the encryption code receiving unit 17. The random code R generated by the random code generation unit 11 is delivered to the verification encryption code generation unit 13. The verification encryption code generation unit 13 is a component having the same function as the encryption code generation unit 23 in the second information processing apparatus 20, and encrypts the given random code R based on the encryption algorithm A, Processing for generating a verification encryption code Q is performed.

第1の情報処理装置10内の照合用暗号コード生成部13で利用される暗号アルゴリズムAは、第2の情報処理装置20内の暗号コード生成部23で利用される暗号アルゴリズムAと全く同じアルゴリズムである。図では、この点を明確に示すため、これら各ブロック13,23内に丸Aの記号を記載してある。したがって、本来、照合用暗号コード生成部13で生成された照合用暗号コードQは、暗号コード生成部23で生成された暗号コードQと一致するはずである。照合判定部15は、両者が一致するか否かの照合を行い、一致した場合に、第2の情報処理装置20を正当性が確認された装置と判定する照合判定処理を行う。   The encryption algorithm A used in the verification encryption code generation unit 13 in the first information processing apparatus 10 is exactly the same algorithm as the encryption algorithm A used in the encryption code generation unit 23 in the second information processing apparatus 20. It is. In the drawing, in order to clearly show this point, a symbol of a circle A is written in each of the blocks 13 and 23. Therefore, the verification encryption code Q generated by the verification encryption code generation unit 13 should be identical to the encryption code Q generated by the encryption code generation unit 23. The collation determination unit 15 collates whether or not both match, and performs a collation determination process that determines that the second information processing device 20 is a device whose validity has been confirmed.

要するに、第1の情報処理装置10で発生させたランダムコードRをチャレンジ(平文)として第2の情報処理装置200に与え、第2の情報処理装置200で暗号化し、得られた暗号コードQをレスポンス(暗号文)として返信させ、第1の情報処理装置10において、当該レスポンス(暗号文)が当該チャレンジ(平文)に応じた正しいものであるか否かを判定することにより、第2の情報処理装置200の正当性確認を行うことになる。   In short, the random code R generated by the first information processing apparatus 10 is given as a challenge (plain text) to the second information processing apparatus 200, encrypted by the second information processing apparatus 200, and the obtained encryption code Q is obtained. By making a response (ciphertext) as a response and determining in the first information processing apparatus 10 whether or not the response (ciphertext) is correct according to the challenge (plaintext), the second information The validity of the processing device 200 is confirmed.

このようなチャレンジレスポンス方式の認証方法を採れば、暗号アルゴリズムAの秘匿性が維持されている限り、不正な装置を正規の装置になりすませる不正な認証行為を防ぐことができる。たとえば、第3の情報処理装置30を、第2の情報処理装置20に見せかけて不正行為を行うことを企てても、暗号コード生成部23で採用されている暗号アルゴリズムAの実体が把握できなければ、与えられたチャレンジRに対して正しいレスポンスQを返信することができないので、第1の情報処理装置10によって第3の情報処理装置30は、正規の装置として認証されないことになる。   By adopting such a challenge-response authentication method, as long as the encryption algorithm A is kept confidential, it is possible to prevent an unauthorized authentication act that impersonates an unauthorized device as a legitimate device. For example, even if the third information processing device 30 looks like the second information processing device 20 and attempts to perform an illegal act, the entity of the encryption algorithm A employed by the encryption code generation unit 23 can be grasped. Otherwise, since the correct response Q cannot be returned to the given challenge R, the first information processing apparatus 10 does not authenticate the third information processing apparatus 30 as a legitimate apparatus.

暗号アルゴリズムAとしては、通常、固有の秘密鍵を用いる複雑な数学的演算処理が利用される。本発明における「暗号アルゴリズム」という用語は、このような数学的演算処理の手順そのものだけでなく、当該演算に用いられる固有の秘密鍵をも含めた概念を意味するものである。したがって、数学的演算処理の手順自体が漏洩したとしても、当該演算に用いられる固有の秘密鍵が秘匿状態であれば、本発明における「暗号アルゴリズム」の秘匿性は維持できることになる。   As the encryption algorithm A, a complicated mathematical calculation process using a unique secret key is usually used. The term “encryption algorithm” in the present invention means not only such a mathematical operation processing procedure itself but also a concept including a unique secret key used for the operation. Therefore, even if the mathematical operation procedure itself leaks, the confidentiality of the “encryption algorithm” in the present invention can be maintained if the unique secret key used for the operation is in a confidential state.

このように、一般的なチャレンジレスポンス方式の認証方法では、通常、固有の秘密鍵(暗号鍵)を用いる複雑な数学的演算処理からなる暗号アルゴリズムが利用されることになる。ただ、以下の各例では、説明の便宜上、図2に示すような極めて単純な暗号アルゴリズムAが採用された例に基づいて、具体的なデータの変遷例を示すことにする。図2に示す暗号アルゴリズムAは、10種類の数字(1〜9,0)と10種類のアルファベット(A〜J)とを1対1に対応させた表を用いて暗号化処理および復号処理を行う例である。   As described above, in a general challenge-response authentication method, an encryption algorithm including a complicated mathematical operation process using a unique secret key (encryption key) is usually used. However, in the following examples, for convenience of explanation, specific data transition examples will be shown based on an example in which a very simple encryption algorithm A as shown in FIG. 2 is adopted. The encryption algorithm A shown in FIG. 2 performs encryption processing and decryption processing using a table in which 10 types of numbers (1 to 9, 0) and 10 types of alphabets (A to J) correspond to each other in a one-to-one relationship. It is an example to do.

たとえば、「12345」という5つの数字を羅列した平文データが与えられた場合に、図2に示す暗号アルゴリズムAを用いて暗号化処理を行えば、「ABCDE」という5つのアルファベットを羅列した暗号データが得られることになる。逆に、「ABCDE」という暗号データが与えられた場合に、この暗号アルゴリズムAを用いて復号処理を行えば、「12345」という元の平文データが得られる。なお、平文データ/暗号データの区別や、暗号化処理/復号処理の区別は、人間の都合に応じて定められるものであり、それぞれ呼び方を逆にしてもかまわない。   For example, when plaintext data enclosing five numbers “12345” is given, if encryption processing is performed using the encryption algorithm A shown in FIG. 2, encrypted data enumerating five alphabets “ABCDE” Will be obtained. Conversely, if encrypted data “ABCDE” is given and decryption processing is performed using this encryption algorithm A, the original plaintext data “12345” is obtained. Note that the distinction between plaintext data / encrypted data and the distinction between encryption processing / decryption processing are determined according to the convenience of humans, and the names may be reversed.

要するに暗号アルゴリズムAは、与えられた第1の状態のデータを、一義的に第2の状態のデータに可逆的に変換するための論理的なアルゴリズムであればよい。可逆的な変換アルゴリズムであるから、当然、第2の状態のデータを一義的に第1の状態のデータに戻すことが可能である。上述したとおり、図2に例示するような極めて単純な暗号アルゴリズムAは、実用上、利用されることはないが、本願では、説明の便宜上、このような単純な暗号アルゴリズムAを利用した例を以下に述べることにする。   In short, the encryption algorithm A may be a logical algorithm for reversibly converting given data in the first state into data in the second state uniquely. Since it is a reversible conversion algorithm, naturally, the data in the second state can be uniquely returned to the data in the first state. As described above, an extremely simple cryptographic algorithm A as illustrated in FIG. 2 is not practically used. However, in this application, for convenience of explanation, an example using such a simple cryptographic algorithm A is used. It will be described below.

図3は、図1に示す認証方法に、図2に示す暗号アルゴリズムAを用いた場合の具体的なデータの変遷を示すブロック図である。この図3には、ランダムコード発生部11によって、「12345」なる5つの数字を羅列したランダムコードRが発生された場合の例が示されている。図面上では、この具体的なコードを括弧書きで示すことにする。こうして発生されたランダムコードR「12345」は、ランダムコード送信部16によって「チャレンジ」として送信され、ランダムコード受信部21によって受信される。   FIG. 3 is a block diagram showing a specific data transition when the encryption algorithm A shown in FIG. 2 is used in the authentication method shown in FIG. FIG. 3 shows an example in which the random code generator 11 generates a random code R in which five numbers “12345” are enumerated. In the drawing, this specific code is shown in parentheses. The random code R “12345” generated in this way is transmitted as a “challenge” by the random code transmitting unit 16 and received by the random code receiving unit 21.

続いて、暗号コード生成部23が、このランダムコードR「12345」に対して、図2に示す暗号アルゴリズムAを用いた暗号化処理を行い、暗号コードQ「ABCDE」を生成する。この暗号コードQ「ABCDE」は、暗号コード送信部25から「レスポンス」として返信され、暗号コード受信部17によって受信される。   Subsequently, the encryption code generation unit 23 performs an encryption process using the encryption algorithm A shown in FIG. 2 on the random code R “12345” to generate an encryption code Q “ABCDE”. The encryption code Q “ABCDE” is returned as a “response” from the encryption code transmission unit 25 and is received by the encryption code reception unit 17.

一方、ランダムコード発生部11によって発生されたランダムコードR「12345」は、照合用暗号コード生成部13によって暗号化される。照合用暗号コード生成部13は、暗号コード生成部23と全く同じ暗号アルゴリズムAを用いた暗号化処理を行うため、ランダムコードR「12345」は、やはり暗号コードQ「ABCDE」に変換される。最後に、照合判定部15において、照合用暗号コード生成部13で生成された照合用暗号コードQ「ABCDE」と、暗号コード受信部17によって受信された暗号コードQ「ABCDE」と、が一致するか否かの判定が行われ、一致した場合に、第2の情報処理装置20が正規の装置として認証される。図示の例の場合、両暗号コードはいずれも「ABCDE」であり、第2の情報処理装置20は正規の装置として認証されることになる。   On the other hand, the random code R “12345” generated by the random code generation unit 11 is encrypted by the verification encryption code generation unit 13. Since the verification encryption code generation unit 13 performs encryption processing using the same encryption algorithm A as the encryption code generation unit 23, the random code R “12345” is also converted into the encryption code Q “ABCDE”. Finally, in the verification determination unit 15, the verification encryption code Q “ABCDE” generated by the verification encryption code generation unit 13 matches the encryption code Q “ABCDE” received by the encryption code reception unit 17. Whether or not the second information processing apparatus 20 is authenticated as a legitimate apparatus. In the illustrated example, both encryption codes are “ABCDE”, and the second information processing apparatus 20 is authenticated as a legitimate apparatus.

このようなチャレンジレスポンス方式の認証方法は、暗号アルゴリズムAの秘匿性が維持されている限り有効な認証方法として機能する。上例は、ランダムコード発生部11によって発生されたランダムコードRが「12345」である例になっているが、ランダムコードRは乱数に基づいて認証を行うたびに発生されるランダムなコードであるため、毎回異なっている。たとえば、2回目の認証時には、「67890」のようなランダムコードRが「チャレンジ」として発生されることになり、これに対して「FGHIJ」なる暗号コードQが「レスポンス」として返信されることになる。したがって、暗号アルゴリズムAが秘匿されている限り、正しい「レスポンス」を生成することはできず、不正な方法で認証が行われることを防ぐことができる。   Such a challenge-response authentication method functions as an effective authentication method as long as the encryption algorithm A is kept confidential. In the above example, the random code R generated by the random code generator 11 is “12345”, but the random code R is a random code generated every time authentication is performed based on a random number. Because every time is different. For example, in the second authentication, a random code R such as “67890” is generated as a “challenge”, and an encryption code Q “FGHIJ” is returned as a “response”. Become. Therefore, as long as the encryption algorithm A is kept secret, a correct “response” cannot be generated, and authentication can be prevented from being performed in an unauthorized manner.

しかしながら、暗号アルゴリズムAの内容が推定されてしまうと、当該暗号アルゴリズムAに基づく暗号化処理機能をもたせた任意の情報処理装置を、正規の装置として認証させる不正行為が可能になる。   However, if the contents of the encryption algorithm A are estimated, an illegal act of authenticating any information processing apparatus having an encryption processing function based on the encryption algorithm A as a legitimate apparatus becomes possible.

暗号アルゴリズムAを解析する方法としては、古くから、情報処理装置10,20間の通信を傍受する方法が知られている。図示の例の場合、両者間の通信路を流れる情報を盗聴すれば、ランダムコードR「12345」によるチャレンジに対して、暗号コードQ「ABCDE」というレスポンスが得られることが認識できる。同様に、別な認証時には、ランダムコードR「67890」によるチャレンジに対して、暗号コードQ「FGHIJ」というレスポンスが得られることが認識できる。   As a method of analyzing the encryption algorithm A, a method of intercepting communication between the information processing apparatuses 10 and 20 has been known for a long time. In the case of the illustrated example, if the information flowing on the communication path between the two is wiretapped, it can be recognized that a response of the encryption code Q “ABCDE” is obtained in response to the challenge by the random code R “12345”. Similarly, at the time of another authentication, it can be recognized that a response of the encryption code Q “FGHIJ” is obtained in response to the challenge with the random code R “67890”.

もちろん、第2の情報処理装置20を入手した者であれば、任意のコードをチャレンジとして与えたときに、どのようなレスポンスが返されるかを系統的に調べることも可能である。本願における「通信傍受」とは、このように第2の情報処理装置20を入手した者が、意図的に特定のチャレンジを与えて、どのようなレスポンスが返されるかを調べる行為も含めた概念である。   Of course, a person who has obtained the second information processing apparatus 20 can systematically check what response is returned when an arbitrary code is given as a challenge. “Communication interception” in the present application is a concept including an act in which a person who has obtained the second information processing apparatus 20 in this way intentionally gives a specific challenge and checks what kind of response is returned. It is.

このような通信傍受により得られたチャレンジ・レスポンスの組み合わせは、第2の情報処理装置20内で実行されている暗号化処理で用いられている暗号アルゴリズムA(図2に示すアルゴリズム)を推定するヒントを与えることになる。図2に例示するような単純なアルゴリズムAであれば、チャレンジ・レスポンスの組み合わせをいくつか収集することにより解析が可能であり、通信傍受により容易に推定することができる。   The combination of challenge and response obtained by such communication interception estimates the encryption algorithm A (algorithm shown in FIG. 2) used in the encryption processing executed in the second information processing apparatus 20. Give a hint. A simple algorithm A as illustrated in FIG. 2 can be analyzed by collecting several combinations of challenges and responses, and can be easily estimated by communication interception.

ただ、前述したとおり、実用上は、固有の秘密鍵を用いる複雑な数学的演算処理からなる暗号アルゴリズムが利用されており、その防備は数学的にはかなり強固である。したがって、現在一般に利用されている暗号アルゴリズムを、通信傍受の方法のみによって推定することは極めて困難と言うことができ、それだけで暗号アルゴリズムが露見する可能性は低い。ところが、近年、問題視されているサイドチャネル解析を組み合わせると、暗号アルゴリズムの推定が容易になることが懸念されている。   However, as described above, in practice, a cryptographic algorithm comprising a complicated mathematical operation process using a unique secret key is used, and its defense is quite strong mathematically. Therefore, it can be said that it is extremely difficult to estimate a cryptographic algorithm that is currently generally used only by a method of communication interception, and it is unlikely that the cryptographic algorithm is revealed by itself. However, there is concern that the encryption algorithm can be easily estimated by combining side channel analysis, which has been regarded as a problem in recent years.

図3に示す例の場合、サイドチャネル解析は、暗号アルゴリズムAに基づいて暗号化処理を実行中の第2の情報処理装置20について、消費電力、演算処理時間、発生する電磁波などをモニタすることによって行われる。たとえば、第2の情報処理装置20に様々な測定装置を取り付けた状態で暗号化処理を実行させれば、特定のチャレンジに対して特定のレスポンスを生成する際に、装置内部でどのような演算処理が行われているのかを推定する重要な手がかりが得られることになる。   In the case of the example shown in FIG. 3, the side channel analysis is to monitor power consumption, calculation processing time, generated electromagnetic waves, and the like for the second information processing apparatus 20 that is executing encryption processing based on the encryption algorithm A. Is done by. For example, if encryption processing is executed with various measurement devices attached to the second information processing device 20, what kind of calculation is performed in the device when generating a specific response to a specific challenge. This will provide important clues for estimating whether the process is taking place.

図4は、図3に示す認証方法に対する通信傍受およびサイドチャネル解析を組み合わせた攻撃を示す図である。図示の例の場合、まず、通信傍受により、ランダムコードR「12345」によるチャレンジに対して、暗号コードQ「ABCDE」というレスポンスが得られる事実が認識できる。このとき、暗号コード生成部23の内部では、暗号アルゴリズムAに基づく暗号化処理の演算が実行されていることになる。したがって、同時にサイドチャネル解析を行えば、暗号コード生成部23がコード「12345」をコード「ABCDE」に変換する演算を実行する際の消費電力、演算処理時間、発生する電磁波などの情報が得られることになる。 FIG. 4 is a diagram illustrating an attack that combines communication interception and side channel analysis for the authentication method illustrated in FIG. 3. In the case of the illustrated example, first, the fact that a response of the encryption code Q “ABCDE” is obtained with respect to the challenge by the random code R “12345” can be recognized by communication interception. At this time, encryption processing based on the encryption algorithm A is executed in the encryption code generation unit 23. Therefore, if the side channel analysis is performed at the same time, information such as power consumption, calculation processing time, and generated electromagnetic wave when the code generation unit 23 executes calculation for converting the code “12345” into the code “ABCDE” can be obtained. It will be.

このように、通信傍受によって得られた情報に、サイドチャネル解析によって得られた情報を組み合わせると、暗号アルゴリズムAの推定が容易になることは否めない。このため、たとえ数学的に強固な暗号アルゴリズムを採用しても、不正な攻撃にさらされる危険性が指摘されている。本発明は、このような問題を解決する一手法を提案するものであり、通信傍受とサイドチャネル解析とを組み合わせた攻撃にも十分に耐え得る情報処理装置の認証方法を提供することを目的とする。   As described above, when information obtained by side channel analysis is combined with information obtained by communication interception, it cannot be denied that estimation of the encryption algorithm A becomes easy. For this reason, even if a mathematically strong cryptographic algorithm is adopted, there is a risk of exposure to unauthorized attacks. The present invention proposes a method for solving such a problem, and an object thereof is to provide an authentication method for an information processing apparatus that can sufficiently withstand an attack combining communication interception and side channel analysis. To do.

<<< §2. 本発明の第1の実施形態に係る認証方法の基本概念 >>>
ここでは、図5を参照しながら、本発明の第1の実施形態に係る認証方法の基本概念を説明する。具体的には、第1の情報処理装置100(たとえば、サーバ装置)が第2の情報処理装置200(たとえば、クライアント装置)の正当性を確認する処理を例にとって、データの流れに即した処理手順を述べることにする。
<<< §2. Basic concept of authentication method according to first embodiment of the present invention >>>
Here, the basic concept of the authentication method according to the first embodiment of the present invention will be described with reference to FIG. Specifically, a process according to the flow of data, taking as an example a process in which the first information processing apparatus 100 (for example, a server apparatus) confirms the validity of the second information processing apparatus 200 (for example, a client apparatus). The procedure will be described.

図示の例の場合、認証処理に関与する構成要素として、第1の情報処理装置100には、ランダムコード発生部110、照合用並替コード生成部120、照合用暗号コード生成部130、照合用並替暗号コード生成部140、照合判定部150、ランダムコード送信部160、並替暗号コード受信部170が設けられており、第2の情報処理装置200には、ランダムコード受信部210、並替コード生成部220、暗号コード生成部230、並替暗号コード生成部240、並替暗号コード送信部250が設けられている。   In the case of the illustrated example, the first information processing apparatus 100 includes a random code generation unit 110, a collation rearrangement code generation unit 120, a collation encryption code generation unit 130, and a collation element as components involved in the authentication process. A rearrangement encryption code generation unit 140, a collation determination unit 150, a random code transmission unit 160, and a rearrangement encryption code reception unit 170 are provided. The second information processing apparatus 200 includes a random code reception unit 210, a rearrangement encryption code reception unit 170, and a rearrangement encryption code reception unit 170. A code generation unit 220, an encryption code generation unit 230, a rearrangement encryption code generation unit 240, and a rearrangement encryption code transmission unit 250 are provided.

この図5に示す第1の情報処理装置100(本発明の装置)を、図3に示す第1の情報処理装置10(従来の装置)と対比すると、ランダムコード発生部110はランダムコード発生部11に対応し、照合用暗号コード生成部130は、照合用暗号コード生成部13に対応し、照合判定部150は照合判定部15に対応し、ランダムコード送信部160はランダムコード送信部16に対応し、並替暗号コード受信部170は暗号コード受信部17に対応する。これらの各対応する構成要素の機能は基本的にほぼ同じものである。   When the first information processing apparatus 100 (the apparatus of the present invention) shown in FIG. 5 is compared with the first information processing apparatus 10 (conventional apparatus) shown in FIG. 3, the random code generation unit 110 is a random code generation unit. 11, the verification encryption code generation unit 130 corresponds to the verification encryption code generation unit 13, the verification determination unit 150 corresponds to the verification determination unit 15, and the random code transmission unit 160 corresponds to the random code transmission unit 16. Correspondingly, the rearranged encryption code receiving unit 170 corresponds to the encryption code receiving unit 17. The function of each of these corresponding components is basically the same.

したがって、図5に示す第1の情報処理装置100(本発明の装置)の大きな特徴は、図3に示す第1の情報処理装置10(従来の装置)に、更に、照合用並替コード生成部120および照合用並替暗号コード生成部140を付加したものということになる。これら新たな構成要素120,140の役割は、照合用暗号コード生成部130における暗号化処理の前後の段階において、データの並び替えを行うことにある。   Therefore, the major feature of the first information processing apparatus 100 (the apparatus of the present invention) shown in FIG. 5 is that the first information processing apparatus 10 (conventional apparatus) shown in FIG. That is, the unit 120 and the collation rearranged encryption code generation unit 140 are added. The role of these new components 120 and 140 is to rearrange the data before and after the encryption processing in the verification encryption code generation unit 130.

一方、図5に示す第2の情報処理装置200(本発明の装置)を、図3に示す第2の情報処理装置20(従来の装置)と対比すると、ランダムコード受信部210はランダムコード受信部21に対応し、暗号コード生成部230は暗号コード生成部23に対応し、並替暗号コード送信部250は暗号コード送信部25に対応する。これらの各対応する構成要素の機能は基本的にほぼ同じものである。   On the other hand, when the second information processing device 200 (device of the present invention) shown in FIG. 5 is compared with the second information processing device 20 (conventional device) shown in FIG. 3, the random code receiving unit 210 receives the random code. The encryption code generation unit 230 corresponds to the encryption code generation unit 23, and the rearrangement encryption code transmission unit 250 corresponds to the encryption code transmission unit 25. The function of each of these corresponding components is basically the same.

したがって、図5に示す第2の情報処理装置200(本発明の装置)の大きな特徴は、図3に示す第2の情報処理装置20(従来の装置)に、更に、並替コード生成部220および並替暗号コード生成部240を付加したものということになる。これら新たな構成要素220,240の役割は、暗号コード生成部230における暗号化処理の前後の段階において、データの並び替えを行うことにある。   Therefore, the major feature of the second information processing apparatus 200 (the apparatus of the present invention) shown in FIG. 5 is further different from the second information processing apparatus 20 (conventional apparatus) shown in FIG. In other words, the permutation encryption code generation unit 240 is added. The role of these new components 220 and 240 is to rearrange the data before and after the encryption process in the encryption code generation unit 230.

より具体的に説明すれば、第1の情報処理装置100内の照合用並替コード生成部120および第2の情報処理装置200内の並替コード生成部220は、いずれも与えられたランダムコードRの構成要素を並び替えて並替コードR′を生成する機能を果たす。具体的には、図示の例の場合、第1の並び替え方法X1に基づいて、5つの数字を羅列してなるランダムコードR「12345」が、「35214」という順序に並び替えられ、並替コードR′が生成されている。図5におけるブロック220内の丸X1は、方法X1によって並び替えが行われることを示すものである(以下同様)。   More specifically, the collation rearrangement code generation unit 120 in the first information processing apparatus 100 and the rearrangement code generation unit 220 in the second information processing apparatus 200 are both given random codes. The function of rearranging the constituent elements of R to generate a rearrangement code R ′ is achieved. Specifically, in the case of the illustrated example, based on the first rearrangement method X1, the random code R “12345” formed by enumerating five numbers is rearranged in the order “35214”. Code R 'is generated. A circle X1 in the block 220 in FIG. 5 indicates that rearrangement is performed by the method X1 (the same applies hereinafter).

図6(a) は、この第1の並び替え方法X1を定義する第1の並び替えテーブルT1を示す図である。このテーブルT1は、5つの構成要素m1〜m5からなる任意のコードに対する並び替えを定義するためのものであり、具体的には、構成要素m1,m2,m3,m4,m5をこの順番に羅列してなるコードについて、各構成要素が、m3,m5,m2,m1,m4の順番に並ぶような並び替え方法を定義するものである。図5に示す例の場合、照合用並替コード生成部120および並替コード生成部220において、ランダムコードR「12345」の各構成要素が、この第1の並び替えテーブルT1に基づいて並び替えられ、並替コードR′「35214」が生成されている。   FIG. 6 (a) is a diagram showing a first rearrangement table T1 that defines the first rearrangement method X1. This table T1 is for defining a rearrangement for an arbitrary code consisting of five constituent elements m1 to m5. Specifically, the constituent elements m1, m2, m3, m4 and m5 are listed in this order. For the code thus formed, a rearrangement method is defined in which each component is arranged in the order of m3, m5, m2, m1, and m4. In the example shown in FIG. 5, in the collation rearrangement code generation unit 120 and the rearrangement code generation unit 220, each component of the random code R “12345” is rearranged based on the first rearrangement table T1. As a result, the rearrangement code R ′ “35214” is generated.

結局、照合用暗号コード生成部130および暗号コード生成部230には、ランダムコードR「12345」の代わりに並替コードR′「35214」が与えられることになる。したがって、暗号化処理は、この並替コードR′「35214」に対して行われる。前述のとおり、ここでは説明の便宜上、暗号化処理が、図2に示すような単純な暗号アルゴリズムAに基づいて行われることにしている。したがって、並替コードR′「35214」に対する暗号化処理を行うことにより、暗号コードQ「CEBAD」が生成されることになる。   Eventually, the collation encryption code generation unit 130 and the encryption code generation unit 230 are provided with the rearrangement code R ′ “35214” instead of the random code R “12345”. Therefore, the encryption process is performed on the rearrangement code R ′ “35214”. As described above, here, for convenience of explanation, the encryption processing is performed based on a simple encryption algorithm A as shown in FIG. Therefore, the encryption code Q “CEBAD” is generated by performing the encryption process on the rearrangement code R ′ “35214”.

一方、第1の情報処理装置100内の照合用並替暗号コード生成部140および第2の情報処理装置200内の並替暗号コード生成部240は、いずれも与えられた暗号コードQの構成要素を並び替えて並替暗号コードQ′を生成する機能を果たす。具体的には、図示の例の場合、第2の並び替え方法X2に基づいて、5つのアルファベットを羅列してなる暗号コードQ「CEBAD」が、「BEDAC」という順序に並び替えられ、並替暗号コードQ′が生成されている。   On the other hand, the collation rearrangement encryption code generation unit 140 in the first information processing apparatus 100 and the rearrangement encryption code generation unit 240 in the second information processing apparatus 200 are both constituent elements of the given encryption code Q. Are rearranged to generate a rearranged encryption code Q ′. Specifically, in the case of the illustrated example, based on the second rearrangement method X2, the encryption code Q “CEBAD” formed by enumerating five alphabets is rearranged in the order of “BEDAC”. An encryption code Q ′ is generated.

図6(b) は、この第2の並び替え方法X2を定義する第2の並び替えテーブルT2を示す図である。このテーブルT2は、やはり5つの構成要素m1〜m5からなる任意のコードに対する並び替えを定義するためのものであり、具体的には、構成要素m1,m2,m3,m4,m5をこの順番に羅列してなるコードについて、各構成要素が、m3,m2,m5,m4,m1の順番に並ぶような並び替え方法を定義するものである。図5に示す例の場合、照合用並替暗号コード生成部140および並替暗号コード生成部240において、暗号コード「CEBAD」の各構成要素が、この第2の並び替えテーブルT2に基づいて並び替えられ、並替暗号コードQ′「BEDAC」が生成されている。   FIG. 6 (b) is a diagram showing a second rearrangement table T2 that defines the second rearrangement method X2. This table T2 is for defining a rearrangement for an arbitrary code consisting of five constituent elements m1 to m5. Specifically, the constituent elements m1, m2, m3, m4 and m5 are arranged in this order. A rearrangement method is defined so that the constituent elements are arranged in the order of m3, m2, m5, m4, and m1 for the enumerated codes. In the example shown in FIG. 5, in the collation rearrangement encryption code generation unit 140 and the rearrangement encryption code generation unit 240, the constituent elements of the encryption code “CEBAD” are arranged based on the second rearrangement table T2. As a result, the rearrangement encryption code Q ′ “BEDAC” is generated.

こうして、並替暗号コード送信部250から並替暗号コード受信部170に対しては、並替暗号コードQ′「BEDAC」が返信されることになる。照合判定部150は、並替暗号コード受信部170が受信した並替暗号コードQ′「BEDAC」と、照合用並替暗号コード生成部140が生成した並替暗号コードQ′「BEDAC」と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200を正当性が確認された装置と判定する処理を行うことになる。   In this way, the rearranged encryption code Q ′ “BEDAC” is returned from the rearranged encryption code transmission unit 250 to the rearrangement encryption code reception unit 170. The collation determination unit 150 includes a rearrangement encryption code Q ′ “BEDAC” received by the rearrangement encryption code reception unit 170, a rearrangement encryption code Q ′ “BEDAC” generated by the comparison rearrangement encryption code generation unit 140, Are matched, and if they match, the second information processing device 200 is determined to be a device whose validity has been confirmed.

なお、並替コード生成部220が実行する並び替え処理に利用される第1の並び替え方法X1や、並替暗号コード生成部240が実行する並び替え処理に利用される第2の並び替え方法X2は、認証処理が行われるたびにランダムに定義するようにする。すなわち、ランダムコード受信部210が新たなランダムコードRを受信するたびに、並替コード生成部220および並替暗号コード生成部240は、ランダムに定義された新たな並び替え方法X1およびX2を用いて、毎回、異なる並び替え方法に基づく並び替えが行われるようにする。   The first rearrangement method X1 used for the rearrangement process executed by the rearrangement code generation unit 220 and the second rearrangement method used for the rearrangement process executed by the rearrangement encryption code generation unit 240. X2 is defined at random each time authentication processing is performed. That is, each time the random code receiving unit 210 receives a new random code R, the rearrangement code generation unit 220 and the rearrangement encryption code generation unit 240 use the new rearrangement methods X1 and X2 defined at random. Thus, rearrangement based on a different rearrangement method is performed each time.

一方、照合用並替コード生成部120が利用する並び替え方法X1は、そのときに並替コード生成部220で利用された並び替え方法X1と同一である必要があり、照合用並替暗号コード生成部140が利用する並び替え方法X2は、そのときに並替暗号コード生成部240で利用された並び替え方法X2と同一である必要がある。そこで、並替暗号コード送信部250は、並替暗号コードQ′とともに、並替コード生成部220が利用した第1の並び替え方法X1と並替暗号コード生成部240が利用した第2の並び替え方法X2とを示す並替情報を、並替暗号コード受信部170に対して送信する。   On the other hand, the rearrangement method X1 used by the collation rearrangement code generation unit 120 needs to be the same as the rearrangement method X1 used by the rearrangement code generation unit 220 at that time. The rearrangement method X2 used by the generation unit 140 needs to be the same as the rearrangement method X2 used by the rearrangement encryption code generation unit 240 at that time. Therefore, the rearrangement encryption code transmission unit 250, together with the rearrangement encryption code Q ′, the first rearrangement method X1 used by the rearrangement code generation unit 220 and the second rearrangement used by the rearrangement encryption code generation unit 240. The rearrangement information indicating the replacement method X2 is transmitted to the rearrangement encryption code receiving unit 170.

並替暗号コード受信部170は、受信した並替暗号コードQ′を照合判定部150に引き渡すとともに、受信した並替情報(すなわち、第1の並び替え方法X1および第2の並び替え方法X2)を照合用並替コード生成部120および照合用並替暗号コード生成部140に引き渡す処理を行う。これにより、照合用並替コード生成部120は第1の並び替え方法X1に基づく並び替え処理を行うことができ、照合用並替暗号コード生成部140は第2の並び替え方法X2に基づく並び替え処理を行うことができる。   The rearrangement encryption code receiving unit 170 delivers the received rearrangement encryption code Q ′ to the collation determination unit 150 and receives the received rearrangement information (that is, the first rearrangement method X1 and the second rearrangement method X2). Is transferred to the collation rearrangement code generation unit 120 and the collation rearrangement encryption code generation unit 140. Thereby, the collation rearrangement code generation unit 120 can perform rearrangement processing based on the first rearrangement method X1, and the collation rearrangement encryption code generation unit 140 performs rearrangement based on the second rearrangement method X2. Replacement processing can be performed.

要するに、この図5に示す認証方法を採用した場合、第1の情報処理装置100から第2の情報処理装置200に対して、チャレンジとしてランダムコードR「12345」が与えられると、並替コード生成部220において、このランダムコードR「12345」は、第1の並び替え方法X1に基づいて並び替えられ、並替コードR′「35214」に変換される。そして、暗号コード生成部230は、この並替コードR′「35214」に対して暗号アルゴリズムAに基づく暗号化処理を行って、暗号コードQ「CEBAD」を生成する。更に、並替暗号コード生成部240において、この暗号コードQ「CEBAD」は、第2の並び替え方法X2に基づいて並び替えられ、並替暗号コードQ′「BEDAC」に変換された後、この並替暗号コードQ′「BEDAC」がレスポンスとして返信されることになる。   In short, when the authentication method shown in FIG. 5 is adopted, if a random code R “12345” is given as a challenge from the first information processing apparatus 100 to the second information processing apparatus 200, a rearranged code is generated. In the unit 220, the random code R “12345” is rearranged based on the first rearrangement method X1 and converted into the rearrangement code R ′ “35214”. Then, the encryption code generation unit 230 performs encryption processing based on the encryption algorithm A on the rearrangement code R ′ “35214” to generate the encryption code Q “CEBAD”. Further, in the rearrangement encryption code generation unit 240, the encryption code Q “CEBAD” is rearranged based on the second rearrangement method X2 and converted into the rearrangement encryption code Q ′ “BEDAC”. The rearrangement encryption code Q ′ “BEDAC” is returned as a response.

図7は、図5に示す認証方法に対する通信傍受およびサイドチャネル解析を組み合わせた攻撃を示す図である。もちろん、この図5に示す認証方法を採用した場合も、通信傍受やサイドチャネル解析は可能である。しかしながら、通信傍受によって得られる情報とサイドチャネル解析によって得られる情報との間には、直接的な関連がないため、両者を組み合わせたとしても、暗号アルゴリズムAを推定することは困難である。   FIG. 7 is a diagram showing an attack combining communication interception and side channel analysis for the authentication method shown in FIG. Of course, even when the authentication method shown in FIG. 5 is adopted, communication interception and side channel analysis are possible. However, since there is no direct relationship between information obtained by communication interception and information obtained by side channel analysis, it is difficult to estimate the encryption algorithm A even if both are combined.

すなわち、図5に示す認証方法を採用した場合、通信傍受によって得られる情報は、図7に示すとおり、ランダムコードR「12345」によるチャレンジに対して、並替暗号コードQ′「BEDAC」というレスポンスが得られるという事実である。しかしながら、このとき、暗号コード生成部230の内部で行われている暗号化処理の演算は、ランダムコードR「12345」を並替暗号コードQ′「BEDAC」に変換する演算ではなく、並替コードR′「35214」を暗号コードQ「CEBAD」に変換する演算であり、サイドチャネル解析によって得られる情報は、図7に示すとおり、並替コードR′「35214」を暗号コードQ「CEBAD」に変換する演算を実行する際の消費電力、演算処理時間、発生する電磁波などの情報ということになる。   That is, when the authentication method shown in FIG. 5 is adopted, the information obtained by the communication interception is a response of the rearrangement encryption code Q ′ “BEDAC” to the challenge by the random code R “12345” as shown in FIG. Is the fact that However, at this time, the operation of the encryption process performed in the encryption code generation unit 230 is not the operation of converting the random code R “12345” into the replacement encryption code Q ′ “BEDAC”, but the replacement code. This is an operation for converting R ′ “35214” into a cipher code Q “CEBAD”. Information obtained by side channel analysis is shown in FIG. 7 in which the rearrangement code R ′ “35214” is converted into the cipher code Q “CEBAD”. This means information such as power consumption, calculation processing time, and generated electromagnetic waves when executing the conversion operation.

別言すれば、暗号コード生成部230が採用している暗号アルゴリズムAを解析しようとして、通信傍受によりチャレンジ「12345」とレスポンス「BEDAC」とが特定されたとしても、実際に行われている暗号化処理の演算は、別なコード「35214」を「CEBAD」に変換する演算であるため、両者を組み合わせた解析を行ったとしても、暗号アルゴリズムAを推定することは困難になる。これが本発明の基本的な技術思想であり、通信傍受とサイドチャネル解析とを組み合わせた攻撃にも十分に耐え得る認証方法が実現できる基本原理である。また、本発明を導入するにあたっては、暗号化処理の前後に、比較的単純なデータ処理(図5の例の場合、並べ替え処理)を行うプロセスを追加するだけでよいので、非常に効率的な処理により上記攻撃への対抗策を用意することができ、導入コストを抑制させることができる。   In other words, even if the challenge “12345” and the response “BEDAC” are specified by the communication interception in an attempt to analyze the encryption algorithm A employed by the encryption code generation unit 230, Since the calculation process is an operation for converting another code “35214” into “CEBAD”, it is difficult to estimate the encryption algorithm A even if analysis is performed by combining the two codes. This is the basic technical idea of the present invention, which is a basic principle that can realize an authentication method that can sufficiently withstand an attack that combines communication interception and side channel analysis. In addition, when introducing the present invention, it is only necessary to add a process for performing relatively simple data processing (in the case of FIG. 5, rearrangement processing) before and after the encryption processing, which is very efficient. By the simple processing, a countermeasure against the above attack can be prepared, and the introduction cost can be suppressed.

結局、本発明の第1の実施形態に係る情報処理装置の認証方法を総括すると、次のようなプロセスが行われることになる。すなわち、第1の情報処理装置100が第2の情報処理装置200を正当性が確認された装置として認証するために、まず、第1の情報処理装置100側において、乱数を利用して、文字もしくは数字を羅列したランダムコードRを発生させ、これを第2の情報処理装置200に送信する段階(ランダムコード発生部110およびランダムコード送信部160による処理)が行われる。   After all, when the authentication method of the information processing apparatus according to the first embodiment of the present invention is summarized, the following process is performed. That is, in order for the first information processing apparatus 100 to authenticate the second information processing apparatus 200 as an apparatus whose validity has been confirmed, first, on the first information processing apparatus 100 side, a character is used by using a random number. Alternatively, a step of generating a random code R enumerating numbers and transmitting it to the second information processing apparatus 200 (processing by the random code generation unit 110 and the random code transmission unit 160) is performed.

続いて、第2の情報処理装置200側において、送信されてきたランダムコードRを受信し、その構成要素をランダムな第1の並び替え方法X1で並び替えて並替コードR′を生成する段階(ランダムコード受信部210および並替コード生成部220による処理)と、この並替コードR′を所定の暗号アルゴリズムにAに基づく暗号化演算によって暗号化し、暗号コードQを生成する段階(暗号コード生成部230による処理)と、この暗号コードQの構成要素をランダムな第2の並び替え方法X2で並び替えて並替暗号コードQ′を生成する段階(並替暗号コード生成部240による処理)と、並替暗号コードQ′とともに、第1の並び替え方法X1および第2の並び替え方法X2を示す並替情報を、第1の情報処理装置100に送信する段階(並替暗号コード送信部250による処理)と、が行われる。   Subsequently, the second information processing apparatus 200 side receives the transmitted random code R, rearranges its constituent elements by the random first rearrangement method X1, and generates a rearrangement code R ′. (Processing by the random code receiving unit 210 and the rearrangement code generation unit 220) and the step of encrypting the rearrangement code R ′ by an encryption operation based on A with a predetermined encryption algorithm to generate an encryption code Q (encryption code Processing by the generation unit 230) and a step of rearranging the constituent elements of the encryption code Q by the random second rearrangement method X2 to generate the rearrangement encryption code Q ′ (processing by the rearrangement encryption code generation unit 240) And rearrangement information indicating the first rearrangement method X1 and the second rearrangement method X2 together with the rearrangement encryption code Q ′ is transmitted to the first information processing apparatus 100. And step (processing by rearranging encryption code transmission unit 250), is performed.

そして、第1の情報処理装置100側において、並替暗号コードQ′とともに、並替情報を受信し(並替暗号コード受信部170による処理)、受信した並替暗号コードQ′の正当性を、受信した並替情報に基づく並び替え処理(照合用並替コード生成部120および照合用並替暗号コード生成部140による処理)および暗号コード生成部230による暗号化処理と同じ暗号アルゴリズムAに基づく暗号化演算(照合用暗号コード生成部130による処理)によって確認する段階が行われる。   Then, the first information processing apparatus 100 side receives the rearrangement information together with the rearrangement encryption code Q ′ (processing by the rearrangement encryption code receiver 170), and confirms the validity of the received rearrangement encryption code Q ′. Based on the same encryption algorithm A as the rearrangement process based on the received rearrangement information (the process by the collation rearrangement code generation unit 120 and the collation rearrangement encryption code generation unit 140) and the encryption process by the encryption code generation unit 230 A step of confirming by an encryption operation (processing by the verification encryption code generation unit 130) is performed.

なお、第2の情報処理装置200から第1の情報処理装置100への並替情報(第1の並び替え方法X1および第2の並び替え方法X2を示す情報)の送信は、実際には暗号化した状態で行うのが好ましい。すなわち、第2の情報処理装置200側で並替情報の暗号化処理を行い、暗号化された状態の並替情報が並替暗号コード送信部250から並替暗号コード受信部170へと送信されるようにし、これを第1の情報処理装置100側で復号して元に戻すようにすれば、通信傍受が行われても並替情報が露見するのを防ぐことができる。   Note that the transmission of rearrangement information (information indicating the first rearrangement method X1 and the second rearrangement method X2) from the second information processing apparatus 200 to the first information processing apparatus 100 is actually encrypted. It is preferable to carry out in the state of being converted. That is, the second information processing apparatus 200 performs encryption processing of the rearrangement information, and the rearrangement information in the encrypted state is transmitted from the rearrangement encryption code transmission unit 250 to the rearrangement encryption code reception unit 170. Thus, if this is decoded on the first information processing apparatus 100 side and restored, the rearrangement information can be prevented from being revealed even if the communication is intercepted.

また、図5に示す例では、第1の情報処理装置100側において、第2の情報処理装置200側で行われた暗号化演算と同じ暗号化演算を行い、照合判定部150が双方の処理結果として得られた並替暗号コードQ′の一致確認を行うことにより認証を行っているが、本発明は、必ずしもこのような手順で一致確認を行う例に限定されるものではない。たとえば、第1の情報処理装置100側において、並替暗号コードQ′に基づく復号演算(暗号コード生成部230による暗号化処理と同じ暗号アルゴリズムAに基づく復号演算)を実行することにより照合を行ってもかまわない。   In the example illustrated in FIG. 5, the same encryption operation as that performed on the second information processing apparatus 200 side is performed on the first information processing apparatus 100 side, and the collation determination unit 150 performs both processes. Although the authentication is performed by confirming the matching of the resulting rearranged encryption code Q ′, the present invention is not necessarily limited to the example in which the matching is confirmed by such a procedure. For example, on the first information processing apparatus 100 side, collation is performed by executing a decryption operation based on the reordered encryption code Q ′ (a decryption operation based on the same encryption algorithm A as the encryption processing by the encryption code generation unit 230). It doesn't matter.

更に、図5に示す例では、第2の情報処理装置200側において、並び替え方法X1に基づくランダムコードRに対する並び替えと、並び替え方法X2に基づく暗号コードQに対する並び替えと、を行っているため、これに応じて、第1の情報処理装置100側においても、並び替え方法X1に基づくランダムコードRに対する並び替えと、並び替え方法X2に基づく暗号コードQに対する並び替えと、を行っている。しかしながら、本発明は、必ずしもこのような手順で一致確認を行う例に限定されるものではなく、たとえば、第1の情報処理装置100側において、一方の並び替え処理を省略することも可能である。この場合、並替暗号コード送信部250は、並替暗号コードQ′とともに、第1の並び替え方法および第2の並び替え方法の双方を示す並替情報を送信する必要はなく、いずれか一方を示す並替情報を送信すれば足りる。   Furthermore, in the example shown in FIG. 5, the second information processing apparatus 200 performs the rearrangement for the random code R based on the rearrangement method X1 and the rearrangement for the encryption code Q based on the rearrangement method X2. Accordingly, on the first information processing apparatus 100 side as well, rearrangement for the random code R based on the rearrangement method X1 and rearrangement for the encryption code Q based on the rearrangement method X2 are performed. Yes. However, the present invention is not necessarily limited to an example in which matching is confirmed by such a procedure. For example, one rearrangement process can be omitted on the first information processing apparatus 100 side. . In this case, the rearrangement encryption code transmission unit 250 does not need to transmit rearrangement information indicating both the first rearrangement method and the second rearrangement method together with the rearrangement encryption code Q ′. It is sufficient to transmit rearrangement information indicating.

このように、ここでは図5に示す基本的な実施例に基づいて本発明の第1の実施形態の基本概念を説明したが、実際には、細かな部分を変更した様々なバリエーションが考えられる。そこで、以下の§3では、このようなバリエーションに係る実施例をいくつか述べることにする。   As described above, the basic concept of the first embodiment of the present invention has been described based on the basic example shown in FIG. 5, but actually, various variations in which detailed portions are changed are conceivable. . Therefore, in §3 below, some examples relating to such variations will be described.

<<< §3. 第1の実施形態の具体的な実施例 >>>
本発明の第1の実施形態の特徴は、図5の例を用いてその基本概念を説明したように、認証を行う際に、図6に例示するような並び替え方法をランダムに定義し、暗号化処理を行う際に並び替え処理を行う点にある。以下、その具体的な実施例をいくつか説明する。
<<< §3. Specific Example of First Embodiment >>>
The feature of the first embodiment of the present invention is that, as described in the basic concept using the example of FIG. 5, when performing authentication, a rearrangement method as illustrated in FIG. 6 is randomly defined, The rearrangement process is performed when the encryption process is performed. Several specific examples will be described below.

<3−1.実施例A:暗号化による照合その1>
図8は、図5に示す第1の実施形態の実施例Aを示すブロック図である。ここでは、この図8を参照しながら、実施例Aに係る認証方法の基本概念を説明する。この実施例Aでは、第1の情報処理装置100Aが第2の情報処理装置200Aの正当性を確認する処理が行われることになる。
<3-1. Example A: Verification by Encryption Part 1>
FIG. 8 is a block diagram showing Example A of the first embodiment shown in FIG. Here, the basic concept of the authentication method according to the embodiment A will be described with reference to FIG. In Example A, the first information processing apparatus 100A performs processing for confirming the validity of the second information processing apparatus 200A.

図示のとおり、この実施例の場合、認証処理に関与する構成要素として、第1の情報処理装置100Aには、ランダムコード発生部110、照合用並替コード生成部120、照合用暗号コード生成部130、照合用並替暗号コード生成部140、照合判定部150、ランダムコード送信部160、並替暗号コード受信部170、テーブル復号部180が設けられている。ここで、構成要素110〜170は、図5に示す基本的実施例の構成要素110〜170と同一の構成要素である。また、構成要素180は、この実施例Aにおいて新たに導入された構成要素であり、暗号化された状態で送信されてきた並び替えテーブルを復号する処理を行う構成要素である。   As shown in the figure, in this embodiment, the first information processing apparatus 100A includes a random code generation unit 110, a collation rearrangement code generation unit 120, a collation encryption code generation unit as constituent elements involved in the authentication process. 130, a collation rearrangement encryption code generation unit 140, a collation determination unit 150, a random code transmission unit 160, a rearrangement encryption code reception unit 170, and a table decryption unit 180 are provided. Here, the components 110 to 170 are the same as the components 110 to 170 in the basic embodiment shown in FIG. The component 180 is a component newly introduced in the embodiment A, and is a component that performs a process of decrypting the rearrangement table transmitted in an encrypted state.

一方、第2の情報処理装置200Aには、ランダムコード受信部210、並替コード生成部220、暗号コード生成部230、並替暗号コード生成部240、並替暗号コード送信部250、テーブル暗号化部260、並替テーブル生成部270が設けられている。ここで、構成要素210〜250は、図5に示す基本的実施例の構成要素210〜250と同一の構成要素である。また、構成要素260,270は、この実施例Aにおいて新たに導入された構成要素であり、コードの並び替え方法X1,X2を定義するために並び替えテーブルT1,T2を生成し、これを暗号化する処理を行う構成要素である。   On the other hand, the second information processing apparatus 200A includes a random code reception unit 210, a rearrangement code generation unit 220, an encryption code generation unit 230, a rearrangement encryption code generation unit 240, a rearrangement encryption code transmission unit 250, and table encryption. 260 and a rearrangement table generation unit 270 are provided. Here, the components 210 to 250 are the same as the components 210 to 250 of the basic embodiment shown in FIG. Also, the constituent elements 260 and 270 are constituent elements newly introduced in the embodiment A, and rearrangement tables T1 and T2 are generated to define the code rearrangement methods X1 and X2. It is a component that performs processing to be converted.

結局、この図8に示す実施例Aでは、図5に示す基本的実施例における第2の情報処理装置200内に、乱数を利用して第1の並び替えテーブルT1および第2の並び替えテーブルT2を生成する並替テーブル生成部270と、これら第1の並び替えテーブルT1および第2の並び替えテーブルT2をそれぞれ暗号化し、第1の暗号化テーブルT1および第2の暗号化テーブルT2を生成するテーブル暗号化部260と、が追加されることになる。 After all, in the embodiment A shown in FIG. 8, the first rearrangement table T1 and the second rearrangement table using random numbers in the second information processing apparatus 200 in the basic embodiment shown in FIG. The rearrangement table generation unit 270 that generates T2, and the first rearrangement table T1 and the second rearrangement table T2 are respectively encrypted, and the first encryption table T1 * and the second encryption table T2 * are encrypted . Is added to the table encryption unit 260 for generating.

並替テーブル生成部270は、ランダムコード受信部210が新たなランダムコードRを受信するたびに、第1の並び替えテーブルT1および第2の並び替えテーブルT2を生成する処理を行う。そして、並替コード生成部220は、こうして生成された第1の並び替えテーブルT1によって定義される第1の並び替え方法X1(たとえば、図6(a) に示す方法)に基づいてランダムコードRの構成要素を並び替えて並替コードR′を生成する処理を行う。同様に、並替暗号コード生成部240は、こうして生成された第2の並び替えテーブルT2によって定義される第2の並び替え方法X2(たとえば、図6(b) に示す方法)に基づいて暗号コードQの構成要素を並び替えて並替暗号コードQ′を生成する処理を行う。   The rearrangement table generation unit 270 performs a process of generating the first rearrangement table T1 and the second rearrangement table T2 each time the random code reception unit 210 receives a new random code R. Then, the rearrangement code generator 220 generates a random code R based on the first rearrangement method X1 (for example, the method shown in FIG. 6A) defined by the first rearrangement table T1 thus generated. A process of rearranging the constituent elements is generated to generate a rearrangement code R ′. Similarly, the rearrangement encryption code generation unit 240 performs encryption based on the second rearrangement method X2 (for example, the method shown in FIG. 6B) defined by the second rearrangement table T2 thus generated. A process of rearranging the constituent elements of the code Q to generate a rearranged encryption code Q ′ is performed.

並び替えテーブルの具体的な形態は、図6(a) ,(b) に例示するように、ランダムコードRや暗号コードQの構成要素(個々の文字もしくは数字)の並び順を特定の並び替え方法に基づいて変更することを定義できるものであれば、どのような形態のものであってもかまわない。図示の例の場合、ランダムコードRおよび暗号コードQは、いずれも5つの構成要素によって構成されているため、並び替えテーブルT1,T2は、5つの構成要素についての並び替えを定義するテーブルになっているが、もちろん、並び替えテーブルは、ランダムコードRおよび暗号コードQの構成要素の数に応じたテーブルにしておくようにする。   The specific form of the rearrangement table is a specific rearrangement of the arrangement order of the constituent elements (individual characters or numbers) of the random code R and the encryption code Q as illustrated in FIGS. 6 (a) and 6 (b). Any form can be used as long as it can be defined to change based on the method. In the case of the illustrated example, the random code R and the encryption code Q are both composed of five components, so the rearrangement tables T1 and T2 are tables that define the rearrangement for the five components. Of course, the rearrangement table is a table corresponding to the number of components of the random code R and the encryption code Q.

こうして生成された並び替えテーブルT1,T2は、テーブル暗号化部260において暗号化され、暗号テーブルT1,T2となる。したがって、並替暗号コード送信部250は、並替暗号コードQ′とともに暗号テーブルT1,T2を第1の情報処理装置100Aに対して送信することになる。 The rearrangement tables T1 and T2 generated in this way are encrypted by the table encryption unit 260 to become encryption tables T1 * and T2 * . Therefore, rearrangement encryption code transmission unit 250 transmits encryption tables T1 * and T2 * together with rearrangement encryption code Q ′ to first information processing apparatus 100A.

並替暗号コード受信部170は、こうして送信されてきた並替暗号コードQ′および暗号テーブルT1,T2を受信する。受信した並替暗号コードQ′は、照合判定部150に与えられ、受信した暗号テーブルT1,T2は、テーブル復号部180に与えられる。テーブル復号部180は、暗号テーブルT1,T2をそれぞれ復号し、元の並び替えテーブルT1,T2を復元する処理を行う。 The rearrangement encryption code receiving unit 170 receives the rearrangement encryption code Q ′ and the encryption tables T1 * and T2 * thus transmitted. The received rearrangement encryption code Q ′ is given to the collation determination unit 150, and the received encryption tables T 1 * , T 2 * are given to the table decryption unit 180. The table decryption unit 180 decrypts the encryption tables T1 * and T2 * , and performs processing for restoring the original rearrangement tables T1 and T2.

照合用並替コード生成部120は、こうして復元された第1の並び替えテーブルT1によって定義される第1の並び替え方法X1に基づいてランダムコードRの構成要素を並び替えて並替コードR′を生成する処理を行う。同様に、照合用並替暗号コード生成部140は、こうして復元された第2の並び替えテーブルT2によって定義される第2の並び替え方法X2に基づいて暗号コードQの構成要素を並び替えて並替暗号コードQ′を生成する処理を行う。   The collation rearrangement code generation unit 120 rearranges the constituent elements of the random code R based on the first rearrangement method X1 defined by the first rearrangement table T1 restored in this way, thereby rearranging the rearrangement code R ′. Process to generate. Similarly, the collation rearrangement cipher code generation unit 140 rearranges the constituent elements of the cipher code Q based on the second rearrangement method X2 defined by the second rearrangement table T2 restored in this way. A process for generating a replacement encryption code Q ′ is performed.

なお、並び替えテーブルT1,T2の暗号化および復号には、公開鍵暗号方式を利用するのが好ましい。具体的には、テーブル暗号化部260が、公開鍵暗号方式に用いる一対の鍵のうちの一方の鍵を用いて並び替えテーブルT1,T2の暗号化を行って暗号テーブルT1,T2を生成するようにし、テーブル復号部180が、上記一対の鍵のうちの他方の鍵を用いて暗号テーブルT1,T2に対する復号を行って元の並び替えテーブルT1,T2を生成するようにすればよい。 It should be noted that public key cryptography is preferably used for encryption and decryption of the rearrangement tables T1 and T2. Specifically, the table encryption unit 260 encrypts the rearrangement tables T1 and T2 using one of the pair of keys used in the public key cryptosystem, and obtains the encryption tables T1 * and T2 * . And the table decrypting unit 180 decrypts the cipher tables T1 * and T2 * using the other key of the pair of keys to generate the original rearrangement tables T1 and T2. That's fine.

たとえば、第1の情報処理装置100Aがサーバ装置、第2の情報処理装置200Aがクライアント装置の場合、テーブル暗号化部260は、サーバ装置100Aを管理する者の公開鍵を用いて暗号化を行い、テーブル復号部180は、サーバ装置100Aを管理する者の秘密鍵を用いて復号を行うことができる。   For example, when the first information processing apparatus 100A is a server apparatus and the second information processing apparatus 200A is a client apparatus, the table encryption unit 260 performs encryption using the public key of the person who manages the server apparatus 100A. The table decryption unit 180 can perform decryption using the secret key of the person who manages the server device 100A.

上述したとおり、並び替えテーブルT1,T2は、図示する認証処理を行うたびに、第2の情報処理装置200A側で乱数を利用して新たに生成されるランダムなテーブルであるため、これを第1の情報処理装置100A側に送信する必要がある。ここに示す実施例Aでは、並び替えテーブルT1,T2を暗号化して、暗号テーブルT1,T2の形で送信することができるので、通信傍受が行われても、並び替えテーブルT1,T2が直接露見することはない。したがって、不正な攻撃に対する防備をより高めることができる。 As described above, each of the rearrangement tables T1 and T2 is a random table that is newly generated by using a random number on the second information processing apparatus 200A side every time the illustrated authentication process is performed. 1 to the information processing apparatus 100A side. In the embodiment A shown here, the rearrangement tables T1 and T2 can be encrypted and transmitted in the form of the encryption tables T1 * and T2 *. Will not be exposed directly. Therefore, defense against unauthorized attacks can be further enhanced.

なお、図6には、第1の並び替えテーブルT1および第2の並び替えテーブルT2として、それぞれ異なるテーブルを生成する例を示したが、テーブルT1,T2は、必ずしも異なるテーブルである必要はなく、同一のテーブルを用いるようにしてもかまわない。ただ、それぞれ異なるテーブルを用意した方が、不正な攻撃に対する防備を高める上では効果的であるので、実用上は、図6に示す例のように、第1の並び替えテーブルT1および第2の並び替えテーブルT2として、それぞれ異なるテーブルを生成するのが好ましい。   FIG. 6 shows an example in which different tables are generated as the first rearrangement table T1 and the second rearrangement table T2, but the tables T1 and T2 are not necessarily different tables. The same table may be used. However, preparing different tables is more effective in increasing defense against unauthorized attacks, so practically, as in the example shown in FIG. 6, the first sort table T1 and the second table It is preferable to generate different tables as the rearrangement table T2.

続いて、図8を参照しながら、実施例Aにおける認証方法の具体的な処理内容、すなわち、第1の情報処理装置100Aが第2の情報処理装置200Aを正当性が確認された装置として認証するための具体的手順を、データの流れを追って順に説明する。   Subsequently, with reference to FIG. 8, the specific processing content of the authentication method in the embodiment A, that is, the first information processing apparatus 100A authenticates the second information processing apparatus 200A as the apparatus whose validity has been confirmed. The specific procedure for doing this will be explained in order following the flow of data.

まず、ランダムコード発生部110において、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードRを発生させるランダムコード発生段階が行われる。図示の例は、5つの数字を羅列したランダムコードR「12345」が発生された例である。実用上は、1バイトで表現される数字をn個羅列したランダムコードRを発生させるのが好ましい。そして、ランダムコード送信部160において、このランダムコードR「12345」を第2の情報処理装置200Aに送信するランダムコード送信段階が行われる。   First, the random code generation unit 110 uses a random number to perform a random code generation stage for generating a random code R in which characters or numbers as constituent elements are enumerated. The illustrated example is an example in which a random code R “12345” in which five numbers are arranged is generated. Practically, it is preferable to generate a random code R in which n numbers represented by 1 byte are arranged. Then, the random code transmission unit 160 performs a random code transmission step of transmitting the random code R “12345” to the second information processing apparatus 200A.

続いて、ランダムコード受信部210において、送信されてきたランダムコードR「12345」を受信するランダムコード受信段階が行われ、並替テーブル生成部270において、乱数を利用して、図6に例示するような第1の並び替えテーブルT1および第2の並び替えテーブルT2を生成する並替テーブル生成段階が行われる。   Subsequently, the random code receiving unit 210 performs a random code receiving step of receiving the transmitted random code R “12345”, and the rearrangement table generating unit 270 uses a random number, and is illustrated in FIG. A rearrangement table generation step for generating the first rearrangement table T1 and the second rearrangement table T2 is performed.

そして、並替コード生成部220において、第1の並び替えテーブルT1に基づいて(第1の並び替え方法X1に基づいて)、ランダムコードR「12345」の構成要素を並び替えて並替コードR′「35214」を生成する並替コード生成段階が行われ、暗号コード生成部230において、所定の暗号アルゴリズムAに基づく暗号化演算によって、並替コードR′「35214」を暗号化して暗号コードQ「CEBAD」を生成する暗号コード生成段階が行われ、更に、並替暗号コード生成部240において、第2の並び替えテーブルT2に基づいて、暗号コードQ「CEBAD」の構成要素を並び替えて並替暗号コードQ′「BEDAC」を生成する並替暗号コード生成段階が行われる。   Then, the rearrangement code generator 220 rearranges the components of the random code R “12345” on the basis of the first rearrangement table T1 (based on the first rearrangement method X1), thereby rearranging the rearrangement code R. ′ “35214” is generated, and the encryption code generation unit 230 encrypts the replacement code R ′ “35214” by an encryption operation based on a predetermined encryption algorithm A to generate the encryption code Q An encryption code generation stage for generating “CEBAD” is performed, and the rearrangement encryption code generation unit 240 rearranges the components of the encryption code Q “CEBAD” on the basis of the second rearrangement table T2. A rearrangement encryption code generation step for generating the replacement encryption code Q ′ “BEDAC” is performed.

また、テーブル暗号化部260では、第1の並び替えテーブルT1および第2の並び替えテーブルT2をそれぞれ暗号化し、第1の暗号化テーブルT1および第2の暗号化テーブルT2を生成するテーブル暗号化段階が行われる。そして、並替暗号コード送信部250において、並替暗号コードQ′「BEDAC」とともに、第1の暗号化テーブルT1および第2の暗号化テーブルT2を、第1の情報処理装置100Aに送信する並替暗号コード送信段階が行われる。 The table encryption unit 260 encrypts the first rearrangement table T1 and the second rearrangement table T2, respectively, and generates a first encryption table T1 * and a second encryption table T2 *. An encryption stage is performed. Then, rearrangement encryption code transmission unit 250 transmits first encryption table T1 * and second encryption table T2 * together with rearrangement encryption code Q ′ “BEDAC” to first information processing apparatus 100A. A reordering encryption code transmission step is performed.

一方、並替暗号コード受信部170では、送信を受けた並替暗号コードQ′「BEDAC」、ならびに、第1の暗号化テーブルT1および第2の暗号化テーブルT2を受信する並替暗号コード受信段階が行われ、テーブル復号部180では、第1の暗号化テーブルT1および第2の暗号化テーブルT2をそれぞれ復号し、第1の並び替えテーブルT1および第2の並び替えテーブルT2を復元するテーブル復号段階が行われる。 On the other hand, the rearrangement encryption code receiving unit 170 receives the rearrangement encryption code Q ′ “BEDAC” that has been transmitted, and the rearrangement encryption code that receives the first encryption table T1 * and the second encryption table T2 *. The code reception stage is performed, and the table decryption unit 180 decrypts the first encryption table T1 * and the second encryption table T2 * , respectively, and the first rearrangement table T1 and the second rearrangement table T2. A table decoding stage is performed to restore.

そして、照合用並替コード生成部120において、ランダムコード発生部110が発生させたランダムコードR「12345」の構成要素を、復元された第1の並び替えテーブルT1に基づいて並び替えて照合用並替コードR′「35214」を生成する照合用並替コード生成段階が行われ、照合用暗号コード生成部130において、暗号コード生成部230が採用している暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく暗号化演算によって、照合用並替コードR′「35214」を暗号化して照合用暗号コードQ「CEBAD」を生成する照合用暗号コード生成段階が行われ、更に、照合用並替暗号コード生成部140において、復元された第2の並び替えテーブルT2に基づいて、照合用暗号コードQ「CEBAD」の構成要素を並び替えて照合用並替暗号コードQ′「BEDAC」を生成する照合用並替暗号コード生成段階が行われる。   In the collation rearrangement code generation unit 120, the constituent elements of the random code R “12345” generated by the random code generation unit 110 are rearranged based on the restored first rearrangement table T1 for collation. A collation rearrangement code generation stage for generating rearrangement code R ′ “35214” is performed, and the collation encryption code generation unit 130 uses the same encryption algorithm A as the encryption algorithm A employed by the encryption code generation unit 230. A verification encryption code generation step of generating a verification encryption code Q “CEBAD” by encrypting the verification rearrangement code R ′ “35214” is performed by the encryption operation based on the above, and further, a verification rearrangement encryption code generation is performed. In component 140, based on the restored second rearrangement table T2, components of verification encryption code Q “CEBAD” Verification rearrangement encryption code generation step of generating a collation for sorting encryption code Q ' "BEDAC" by rearranging is performed.

そして、最後に、照合判定部150において、並替暗号コード受信部170が受信した並替暗号コードQ′「BEDAC」と、照合用並替暗号コード生成部140が生成した照合用並替暗号コードQ′「BEDAC」と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200Aを正当性が確認された装置と判定する照合判定段階が行われる。   Finally, in collation determination unit 150, reordered encryption code Q ′ “BEDAC” received by reordered encryption code receiving unit 170 and the reordered encryption code for verification generated by reordered encryption code generation unit 140 for verification. It is checked whether or not Q ′ “BEDAC” matches, and if they match, a matching determination step is performed in which the second information processing device 200A is determined to be a device whose validity has been confirmed.

結局、この図8に示す実施例Aに係る認証方法を採用した場合、第1の情報処理装置100Aから第2の情報処理装置200Aに対して、チャレンジとしてランダムコードR「12345」が与えられると、並替コード生成部220において、このランダムコードR「12345」は、第1の並び替えテーブルT1に基づいて並び替えられ、並替コードR′「35214」に変換される。そして、暗号コード生成部230は、この並替コードR′「35214」に対して暗号アルゴリズムAに基づく暗号化処理を行って、暗号コードQ「CEBAD」を生成する。更に、並替暗号コード生成部240において、この暗号コードQ「CEBAD」は、第2の並び替えテーブルT2に基づいて並び替えられ、並替暗号コードQ′「BEDAC」に変換された後、この並替暗号コードQ′「BEDAC」がレスポンスとして返信されることになる。   After all, when the authentication method according to the embodiment A shown in FIG. 8 is adopted, when the random code R “12345” is given as a challenge from the first information processing apparatus 100A to the second information processing apparatus 200A. In the rearrangement code generation unit 220, the random code R “12345” is rearranged based on the first rearrangement table T1 and converted into the rearrangement code R ′ “35214”. Then, the encryption code generation unit 230 performs encryption processing based on the encryption algorithm A on the rearrangement code R ′ “35214” to generate the encryption code Q “CEBAD”. Further, in the rearrangement encryption code generation unit 240, the encryption code Q “CEBAD” is rearranged based on the second rearrangement table T2 and converted into the rearrangement encryption code Q ′ “BEDAC”. The rearrangement encryption code Q ′ “BEDAC” is returned as a response.

このとき、第1の情報処理装置100Aには、このレスポンスとともに、並び替えテーブルT1,T2が暗号化された状態で送信される。しかも、照合用暗号コード生成部130は、暗号コード生成部230と同じ暗号アルゴリズムAを用いた暗号化処理を実行する機能を有している。したがって、第1の情報処理装置100A側においても、第2の情報処理装置200A側において実行された手順と同様の手順を実行して、ランダムコードR「12345」→並替コードR′「35214」→暗号コードQ「CEBAD」→並替暗号コードQ′「BEDAC」という変遷を辿って、並替暗号コードQ′「BEDAC」を得ることができ、最終的に、照合判定部150において、並替暗号コードQ′「BEDAC」の一致確認を行うことにより、第2の情報処理装置200Aの正当性が確認されることになる。   At this time, the rearrangement tables T1 and T2 are transmitted to the first information processing apparatus 100A together with this response in an encrypted state. In addition, the verification encryption code generation unit 130 has a function of executing an encryption process using the same encryption algorithm A as the encryption code generation unit 230. Therefore, on the first information processing apparatus 100A side as well, a procedure similar to the procedure executed on the second information processing apparatus 200A side is executed, and the random code R “12345” → the rearrangement code R ′ “35214”. → Cryptographic code Q “CEBAD” → Reordered cipher code Q ′ “BEDAC” can be traced to obtain rearranged cipher code Q ′ “BEDAC”. By confirming the coincidence of the encryption code Q ′ “BEDAC”, the validity of the second information processing apparatus 200A is confirmed.

この実施例Aに示す認証方法が、通信傍受およびサイドチャネル解析を組み合わせた攻撃に対しても十分な防備機能を果たすことは、図7を用いて説明したとおりである。すなわち、図8に示す認証方法を採用した場合、通信傍受によって得られる情報は、図7に示すとおり、ランダムコードR「12345」によるチャレンジに対して、並替暗号コードQ′「BEDAC」というレスポンスが得られるという事実である。   As described with reference to FIG. 7, the authentication method shown in the embodiment A fulfills a sufficient defense function against an attack combining communication interception and side channel analysis. That is, when the authentication method shown in FIG. 8 is adopted, information obtained by communication interception is a response of a rearranged encryption code Q ′ “BEDAC” in response to a challenge with a random code R “12345” as shown in FIG. Is the fact that

ところが、このとき、暗号コード生成部230の内部で行われている暗号化処理の演算は、ランダムコードR「12345」を並替暗号コードQ′「BEDAC」に変換する演算ではなく、並替コードR′「35214」を暗号コードQ「CEBAD」に変換する演算であり、サイドチャネル解析によって得られる情報は、図7に示すとおり、並替コードR′「35214」を暗号コードQ「CEBAD」に変換する演算を実行する際の消費電力、演算処理時間、発生する電磁波などの情報ということになる。   However, at this time, the operation of the encryption process performed in the encryption code generation unit 230 is not an operation for converting the random code R “12345” into the replacement encryption code Q ′ “BEDAC”, but a rearrangement code. This is an operation for converting R ′ “35214” into a cipher code Q “CEBAD”. Information obtained by side channel analysis is shown in FIG. 7 in which the rearrangement code R ′ “35214” is converted into the cipher code Q “CEBAD”. This means information such as power consumption, calculation processing time, and generated electromagnetic waves when executing the conversion operation.

このように、通信傍受によりチャレンジ「12345」とレスポンス「BEDAC」とが特定されたとしても、実際に行われている暗号化処理の演算は、別なコード「35214」を「CEBAD」に変換する演算であるため、両者を組み合わせた解析を行ったとしても、暗号アルゴリズムAを推定することは困難になる。   As described above, even if the challenge “12345” and the response “BEDAC” are specified by the communication interception, the operation of the encryption process actually performed converts another code “35214” into “CEBAD”. Since it is an operation, it is difficult to estimate the encryption algorithm A even if analysis is performed by combining the two.

<3−2.実施例B:暗号化による照合その2>
続いて、図9を参照しながら、本発明の第1の実施形態の実施例Bを説明する。この実施例Bでは、第1の情報処理装置100Bが第2の情報処理装置200Bの正当性を確認する処理が行われることになる。実施例Bは、前述した実施例Aにおける照合プロセスを若干変更したものであり、基本的な構成は、実施例Aとほぼ同じである。そこで、以下、実施例Aとの相違点についての説明のみを行う。
<3-2. Example B: Verification by Encryption Part 2>
Next, Example B of the first embodiment of the present invention will be described with reference to FIG. In Example B, the first information processing apparatus 100B performs processing for confirming the validity of the second information processing apparatus 200B. The embodiment B is obtained by slightly changing the collation process in the above-described embodiment A, and the basic configuration is almost the same as that of the embodiment A. Therefore, only the differences from the embodiment A will be described below.

まず、第2の情報処理装置200Bについては、実施例Aに示す第2の情報処理装置200Aの構成と全く同じであるため、ここでは説明を省略する。また、第1の情報処理装置100Bについては、構成要素110,120,160,170,180は、実施例Aにおいて同一符号を付した構成要素と全く同じである。実施例Aとの相違点は、構成要素130,140,150の代わりに、照合用暗号コード第1生成部130B,照合用暗号コード第2生成部140B,照合判定部150Bが設けられている点である。そこで、以下、これら3つの構成要素の機能について説明する。なお、実施例Bの構成要素のうち、実施例Aの構成要素と異なるものについては、符号末尾に「B」を付して示してある。   First, the second information processing apparatus 200B is exactly the same as the configuration of the second information processing apparatus 200A shown in the embodiment A, and thus the description thereof is omitted here. In the first information processing apparatus 100B, the constituent elements 110, 120, 160, 170, and 180 are exactly the same as the constituent elements assigned the same reference numerals in the embodiment A. The difference from the embodiment A is that a verification encryption code first generation unit 130B, a verification encryption code second generation unit 140B, and a verification determination unit 150B are provided instead of the constituent elements 130, 140, and 150. It is. Therefore, the functions of these three components will be described below. Of the constituent elements of the embodiment B, those different from the constituent elements of the embodiment A are indicated by “B” at the end of the reference numerals.

はじめに、照合用暗号コード第1生成部130Bは、実際には、実施例Aにおける照合用暗号コード生成部130と全く同じ機能をもった構成要素であり、暗号コード生成部230において実行される暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく暗号化演算によって、照合用並替コードR′「35214」を暗号化して照合用暗号コードQ「CEBAD」を生成する照合用暗号コード第1生成段階を実行する。したがって、図9においても、「照合用暗号コード第1生成部130B」と呼ばずに「照合用暗号コード生成部130」と呼んでもよいが、ここでは、構成要素140Bとの混同を避けるため、名称に「第1」を挿入しているため、符号も「130」ではなく新たな符号「130B」を付している。   First, the verification encryption code first generation unit 130B is actually a component having the same function as the verification encryption code generation unit 130 in the embodiment A, and the encryption code executed by the encryption code generation unit 230 is the same. The verification encryption code first generation stage is executed in which the verification rearrangement code R ′ “35214” is encrypted by the encryption operation based on the same encryption algorithm A as the algorithm A to generate the verification encryption code Q “CEBAD”. . Therefore, in FIG. 9, it may be called “verification encryption code generation unit 130” instead of “verification encryption code first generation unit 130B”, but here, in order to avoid confusion with the component 140B, Since “first” is inserted in the name, the code is also given a new code “130B” instead of “130”.

一方、照合用暗号コード第2生成部140Bは、第2の並び替えテーブルT2を逆転させたテーブルに基づいて、並替暗号コード受信部170が受信した並替暗号コードQ′「BEDAC」の構成要素を並び替えて、照合用暗号コードQ「CEBAD」を生成する照合用暗号コード第2生成段階を行う構成要素である。照合用暗号コード第1生成部130Bも照合用暗号コード第2生成部140Bも、照合用暗号コードQ「CEBAD」を生成する機能をもった構成要素であるが、前者が、照合用並替コードR′「35214」に対する暗号化処理によって照合用暗号コードQ「CEBAD」を生成するのに対して、後者は、並替暗号コードQ′「BEDAC」に対する並び替え処理によって照合用暗号コードQ「CEBAD」を生成することになる。   On the other hand, the verification encryption code second generation unit 140B has the configuration of the rearrangement encryption code Q ′ “BEDAC” received by the rearrangement encryption code reception unit 170 based on the table obtained by reversing the second rearrangement table T2. This is a constituent element that performs a second verification encryption code generation step of rearranging the elements to generate a verification encryption code Q “CEBAD”. Both the verification encryption code first generation unit 130B and the verification encryption code second generation unit 140B are components having a function of generating the verification encryption code Q “CEBAD”. The verification encryption code Q “CEBAD” is generated by the encryption process for R ′ “35214”, whereas the latter is performed by the rearrangement process for the rearrangement encryption code Q ′ “BEDAC”. Will be generated.

ここで、第2の並び替えテーブルT2を逆転させたテーブルとは、図6(b) に示すテーブルT2とは逆の並び替えを示すテーブル、すなわち、図の矢印の向きを逆転させて、下段の並び順から上段の並び順に変換する並び替え方法を示すテーブルを意味する。なお、本願の図では、任意の並び替えテーブルTを逆転させたテーブルを、符号Tの上部にバーを付した符号で示し、任意の並び替え方法Xを逆転させた並び替え方法を、符号Xの上部にバーを付した符号で示すことにする。また、明細書中では、それぞれテーブルTバー、並び替え方法Xバーと表記する。   Here, the table obtained by reversing the second rearrangement table T2 is a table showing rearrangement opposite to the table T2 shown in FIG. 6B, that is, the direction of the arrow in the figure is reversed, This means a table indicating a rearrangement method for converting from the rearrangement order to the upper order. In the drawing of the present application, a table obtained by reversing an arbitrary rearrangement table T is indicated by a reference symbol with a bar on the upper side of the reference symbol T, and a rearrangement method obtained by reversing the arbitrary rearrangement method X is indicated by a reference symbol X. This is indicated by a symbol with a bar attached to the top. Further, in the specification, they are expressed as a table T bar and a rearrangement method X bar, respectively.

上述したように、照合用暗号コード第2生成部140Bは、与えられた並替暗号コードQ′「BEDAC」を、照合用暗号コードQ「CEBAD」に変換する処理を行うが、当該処理は、逆転テーブルT2バーによって示された並び替え方法X2バーに基づく並び替え処理ということになる。   As described above, the verification encryption code second generation unit 140B performs the process of converting the given reordered encryption code Q ′ “BEDAC” into the verification encryption code Q “CEBAD”. This means a rearrangement process based on the rearrangement method X2 bar indicated by the reverse rotation table T2 bar.

なお、実際には、各並べ替えテーブルTは可換性を有するテーブルであり、テーブルTと逆転テーブルTバーとは本質的には同じ情報をもったテーブルということができ、テーブルに記述された並び替え操作を作用させる方向が異なっているだけである。したがって、図では、照合用暗号コード第2生成部140Bが、逆転テーブルT2バーに基づいて並べ替え処理を行うような記載がなされているが、実用上は、テーブル復号部180からは第2の並び替えテーブルT2をそのまま与え、照合用暗号コード第2生成部140Bでは、このテーブルT2を逆方向に作用させた並び替えを行うようにすればよい。以下の各実施例においても同様である。   Actually, each rearrangement table T is a table having commutability, and the table T and the reverse rotation table T bar can be said to be essentially tables having the same information and are described in the table. The only difference is the direction in which the sort operation is applied. Therefore, in the figure, it is described that the verification encryption code second generation unit 140B performs the rearrangement process based on the reverse rotation table T2 bar. The rearrangement table T2 is given as it is, and the verification encryption code second generation unit 140B may perform rearrangement by applying this table T2 in the reverse direction. The same applies to the following embodiments.

結局、この実施例Bにおける照合用暗号コード第2生成部140Bは、並替暗号コード生成部240とは逆の並び替え処理を行い、並替暗号コードQ′「BEDAC」を、照合用暗号コードQ「CEBAD」に変換していることになる。別言すれば、この実施例Bでは、照合判定を行う際に、並替暗号コード生成部240による並び替え処理によって得られた並替暗号コードQ′「BEDAC」を、元の並び順をもった暗号コードQ「CEBAD」の状態に戻し、その状態での一致確認を行うことにより照合を行うことになる。   Eventually, the verification encryption code second generation unit 140B in the embodiment B performs a reordering process reverse to that of the reordering encryption code generation unit 240, and converts the reordering encryption code Q ′ “BEDAC” into the recognizing encryption code. Q is converted to “CEBAD”. In other words, in this embodiment B, the reordered encryption code Q ′ “BEDAC” obtained by the reordering process by the reordered encryption code generation unit 240 when the collation determination is performed has the original order of arrangement. The verification is performed by returning to the state of the encrypted code Q “CEBAD” and confirming the match in that state.

すなわち、照合判定部150Bは、照合用暗号コード第1生成部130Bが生成した照合用暗号コードQ「CEBAD」と、照合用暗号コード第2生成部140Bが生成した照合用暗号コードQ「CEBAD」と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200Bを正当性が確認された装置と判定する照合判定段階を実行することになる。   That is, the collation determination unit 150B includes the collation cipher code Q “CEBAD” generated by the collation cipher code first generation unit 130B and the collation cipher code Q “CEBAD” generated by the collation cipher code second generation unit 140B. Are matched, and if they match, a collation determination stage is performed in which the second information processing apparatus 200B is determined to be an apparatus whose validity has been confirmed.

要するに、実施例Aの場合は、暗号コードQ「CEBAD」に対して並び替えを行うことによって得られる並替暗号コードQ′「BEDAC」の状態で一致判定を行っていたのに対して、実施例Bの場合は、並替暗号コードQ′「BEDAC」を並び替え前の状態である暗号コードQ「CEBAD」に戻し、暗号コードQ「CEBAD」の状態で一致判定を行うことになる。したがって、実施例A,Bに本質的な相違はなく、実施例Bについても実施例Aと同じ作用効果が得られる。   In short, in the case of the embodiment A, the matching determination is performed in the state of the rearrangement encryption code Q ′ “BEDAC” obtained by rearranging the encryption code Q “CEBAD”. In the case of Example B, the rearrangement encryption code Q ′ “BEDAC” is returned to the encryption code Q “CEBAD” which is the state before the rearrangement, and the match determination is performed in the state of the encryption code Q “CEBAD”. Therefore, there is no essential difference between Examples A and B, and the same effect as Example A can be obtained for Example B.

<3−3.実施例C:復号による照合その1>
ここでは、図10を参照しながら、本発明の第1の実施形態の実施例Cを説明する。この実施例Cでは、第1の情報処理装置100Cが第2の情報処理装置200Cの正当性を確認する処理が行われることになる。実施例Cは、前述した実施例Aにおける照合プロセスを若干変更したものであり、基本的な構成は、実施例Aとほぼ同じである。そこで、以下、実施例Aとの相違点についての説明のみを行う。
<3-3. Example C: Verification by Decoding Part 1>
Here, Example C of the first embodiment of the present invention will be described with reference to FIG. In Example C, the first information processing apparatus 100C performs processing for confirming the validity of the second information processing apparatus 200C. In the embodiment C, the collation process in the embodiment A described above is slightly changed, and the basic configuration is almost the same as that in the embodiment A. Therefore, only the differences from the embodiment A will be described below.

まず、第2の情報処理装置200Cについては、実施例Aに示す第2の情報処理装置200Aの構成と全く同じであるため、ここでは説明を省略する。また、第1の情報処理装置100Cについては、構成要素110,160,170,180は、実施例Aにおいて同一符号を付した構成要素と全く同じである。実施例Aとの相違点は、構成要素120,130,140,150の代わりに、照合用ランダムコード生成部120C,照合用並替コード生成部130C,照合用暗号コード生成部140C,照合判定部150Cが設けられている点である。そこで、以下、これら4つの構成要素の機能について説明する。なお、実施例Cの構成要素のうち、実施例Aの構成要素と異なるものについては、符号末尾に「C」を付して示してある。   First, the second information processing apparatus 200C is exactly the same as the configuration of the second information processing apparatus 200A shown in the embodiment A, and the description thereof is omitted here. In the first information processing apparatus 100C, the constituent elements 110, 160, 170, and 180 are exactly the same as the constituent elements assigned the same reference numerals in the embodiment A. The difference from the embodiment A is that, instead of the constituent elements 120, 130, 140, 150, a collating random code generating unit 120C, a collating rearranged code generating unit 130C, a collating cryptographic code generating unit 140C, a collation determining unit 150C is provided. Therefore, the functions of these four components will be described below. Of the constituent elements of the embodiment C, those different from the constituent elements of the embodiment A are indicated by “C” at the end of the reference numerals.

はじめに、照合用暗号コード生成部140Cは、第2の並び替えテーブルT2を逆転させたテーブルT2バーに基づいて、並替暗号コード受信部170が受信した並替暗号コードQ′「BEDAC」の構成要素を並び替えて照合用暗号コードQ「CEBAD」を生成する照合用暗号コード生成段階を行う構成要素である。この照合用暗号コード生成部140Cの機能は、実施例Bの照合用暗号コード第2生成部140Bの機能と全く同じであり、詳しい説明は省略する。   First, the verification encryption code generation unit 140C has the configuration of the rearrangement encryption code Q ′ “BEDAC” received by the rearrangement encryption code reception unit 170 based on the table T2 bar obtained by reversing the second rearrangement table T2. This is a constituent element for performing a verification encryption code generation stage for rearranging the elements to generate a verification encryption code Q “CEBAD”. The function of the verification encryption code generation unit 140C is exactly the same as the function of the verification encryption code second generation unit 140B of Example B, and detailed description thereof is omitted.

次に、照合用並替コード生成部130Cは、暗号コード生成部230が暗号化処理を行う際に利用した暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく復号演算によって、照合用暗号コードQ「CEBAD」を復号して照合用並替コードR′「35214」を生成する照合用並替コード生成段階を行う構成要素である。暗号コード生成部230は、暗号アルゴリズムAに基づく暗号化演算により、並替コードR′「35214」に対する暗号化を行い、暗号コードQ「CEBAD」を生成する処理を行ったが、照合用並替コード生成部130Cは、これと全く逆の処理により、暗号コードQ「CEBAD」を復号して元の並替コードR′「35214」に戻す処理を行うことになる。   Next, the collation rearrangement code generation unit 130C performs the collation encryption code Q “CEBAD” by a decryption operation based on the same encryption algorithm A as the encryption algorithm A used when the encryption code generation unit 230 performs the encryption process. Is a component that performs a collation rearrangement code generation stage for generating collation rearrangement code R ′ “35214”. The encryption code generation unit 230 performs the process of generating the encryption code Q “CEBAD” by encrypting the rearrangement code R ′ “35214” by the encryption operation based on the encryption algorithm A. The code generation unit 130C performs a process of decrypting the encrypted code Q “CEBAD” and returning it to the original rearranged code R ′ “35214” by a process completely opposite to this.

一方、照合用ランダムコード生成部120Cは、第1の並び替えテーブルT1を逆転させたテーブルT1バーに基づいて、照合用並替コードR′「35214」の構成要素を並び替えて照合用ランダムコードR「12345」を生成する照合用ランダムコード生成段階を行う構成要素である。ここで、第1の並び替えテーブルT1を逆転させたテーブルT1バーとは、図6(a) に示すテーブルT1とは逆の並び替えを示すテーブル、すなわち、図の矢印の向きを逆転させて、下段の並び順から上段の並び順に変換する並び替え方法を示すテーブルを意味する。   On the other hand, the matching random code generation unit 120C rearranges the constituent elements of the matching rearrangement code R ′ “35214” based on the table T1 bar obtained by reversing the first rearrangement table T1, thereby matching the random code for matching. This is a constituent element that performs a collating random code generation stage for generating R “12345”. Here, the table T1 bar obtained by reversing the first rearrangement table T1 is a table showing rearrangement opposite to the table T1 shown in FIG. 6A, that is, the direction of the arrow in the figure is reversed. This means a table indicating a rearrangement method for converting from the lower order to the upper order.

なお、前述したとおり、図では、照合用ランダムコード生成部120Cや照合用暗号コード生成部140Cが、逆転テーブルT1バーやT2バーに基づいて並べ替え処理を行うような記載がなされているが、実用上は、テーブル復号部180から与えられたテーブルT1,T2を逆方向に作用させた並び替えを行うようにすればよい。   As described above, in the figure, the collating random code generating unit 120C and the collating cryptographic code generating unit 140C are described so as to perform the rearrangement process based on the reverse rotation table T1 bar and T2 bar. In practice, the rearrangement may be performed by applying the tables T1 and T2 given from the table decoding unit 180 in the reverse direction.

そして、照合判定部150Cは、ランダムコード発生部110が発生させたランダムコードR「12345」と、照合用ランダムコード生成部120Cが生成した照合用ランダムコードR「12345」と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200Cを正当性が確認された装置と判定する照合判定段階を行う構成要素である。   Then, the collation determination unit 150C determines whether or not the random code R “12345” generated by the random code generation unit 110 matches the collation random code R “12345” generated by the collation random code generation unit 120C. This is a constituent element that performs a collation determination stage in which the second information processing device 200C is determined to be a device whose validity has been confirmed.

結局、この実施例Cでは、第2の情報処理装置200Cにおいて、ランダムコードR「12345」→並替コードR′「35214」→暗号コードQ「CEBAD」→並替暗号コードQ′「BEDAC」という暗号化処理を伴う変遷を辿って、並替暗号コードQ′「BEDAC」を得る点は、これまで述べてきた実施例Aと全く同じであるが、第1の情報処理装置100Cにおける認証プロセスでは、逆に、並替暗号コードQ′「BEDAC」→暗号コードQ「CEBAD」→並替コードR′「35214」→ランダムコードR「12345」という復号処理を伴う変遷を辿ってランダムコードR「12345」を得て、これが元のランダムコードR「12345」に一致するか否かを確認することにより、第2の情報処理装置200Cの正当性が確認されることになる。   Eventually, in this example C, in the second information processing apparatus 200C, the random code R “12345” → reorder code R ′ “35214” → encryption code Q “CEBAD” → rearrangement encryption code Q ′ “BEDAC” The point that the rearrangement encryption code Q ′ “BEDAC” is obtained by following the transition accompanied by the encryption processing is exactly the same as the embodiment A described so far, but in the authentication process in the first information processing apparatus 100C. On the contrary, the random code R “12345” is traced through the transition accompanied by the decryption process of the rearrangement encryption code Q ′ “BEDAC” → the encryption code Q “CEBAD” → reorder code R ′ “35214” → random code R “12345”. ”And confirming whether or not this matches the original random code R“ 12345 ”, the correctness of the second information processing apparatus 200C So that sex is confirmed.

要するに、実施例Aの場合は、第1の情報処理装置100において、暗号化を経た照合が行われていたのに対し、実施例Cの場合は、第1の情報処理装置100Cにおいて、復号を経た照合が行われることになる。したがって、実施例A,Cに本質的な相違はなく、実施例Cについても実施例Aと同じ作用効果が得られる。   In short, in the case of the embodiment A, the first information processing apparatus 100 performs the verification after the encryption, whereas in the case of the embodiment C, the first information processing apparatus 100C performs the decryption. After that, the verification is performed. Therefore, there is no essential difference between Examples A and C, and the same effect as Example A can be obtained for Example C.

<3−4.実施例D:復号による照合その2>
ここでは、図11を参照しながら、本発明の第1の実施形態の実施例Dを説明する。この実施例Dでは、第1の情報処理装置100Dが第2の情報処理装置200Dの正当性を確認する処理が行われることになる。実施例Dは、前述した実施例Aにおける照合プロセスを若干変更したものであり、基本的な構成は、実施例Aとほぼ同じである。そこで、以下、実施例Aとの相違点についての説明のみを行う。
<3-4. Example D: Verification by Decoding Part 2>
Here, Example D of the first embodiment of the present invention will be described with reference to FIG. In Example D, the first information processing apparatus 100D performs processing for confirming the validity of the second information processing apparatus 200D. The embodiment D is obtained by slightly changing the collation process in the above-described embodiment A, and the basic configuration is almost the same as the embodiment A. Therefore, only the differences from the embodiment A will be described below.

まず、第2の情報処理装置200Dについては、実施例Aに示す第2の情報処理装置200Aの構成と全く同じであるため、ここでは説明を省略する。また、第1の情報処理装置100Dについては、構成要素110,160,170,180は、実施例Aにおいて同一符号を付した構成要素と全く同じである。実施例Aとの相違点は、構成要素120,130,140,150の代わりに、照合用並替コード第2生成部120D,照合用並替コード第1生成部130D,照合用暗号コード生成部140D,照合判定部150Dが設けられている点である。そこで、以下、これら4つの構成要素の機能について説明する。なお、実施例Dの構成要素のうち、実施例Aの構成要素と異なるものについては、符号末尾に「D」を付して示してある。   First, the second information processing apparatus 200D is completely the same as the configuration of the second information processing apparatus 200A shown in the embodiment A, and thus the description thereof is omitted here. Further, regarding the first information processing apparatus 100D, the constituent elements 110, 160, 170, and 180 are exactly the same as the constituent elements denoted by the same reference numerals in the embodiment A. The difference from the embodiment A is that instead of the components 120, 130, 140, 150, the collation rearrangement code second generation unit 120D, the collation rearrangement code first generation unit 130D, the collation encryption code generation unit 140D and the collation determination part 150D are provided. Therefore, the functions of these four components will be described below. Of the constituent elements of the embodiment D, those different from the constituent elements of the embodiment A are indicated by “D” at the end of the reference numerals.

はじめに、照合用暗号コード生成部140Dは、第2の並び替えテーブルT2を逆転させたテーブルT2バーに基づいて、並替暗号コード受信部170が受信した並替暗号コードQ′「BEDAC」の構成要素を並び替えて照合用暗号コードQ「CEBAD」を生成する照合用暗号コード生成段階を行う構成要素である。この照合用暗号コード生成部140Dの機能は、実施例Bの照合用暗号コード第2生成部140Bの機能と全く同じであり、詳しい説明は省略する。   First, the verification encryption code generation unit 140D configures the rearrangement encryption code Q ′ “BEDAC” received by the rearrangement encryption code reception unit 170 based on the table T2 bar obtained by reversing the second rearrangement table T2. This is a constituent element for performing a verification encryption code generation stage for rearranging the elements to generate a verification encryption code Q “CEBAD”. The function of the verification encryption code generation unit 140D is exactly the same as the function of the verification encryption code second generation unit 140B of Example B, and a detailed description thereof is omitted.

次に、照合用並替コード第1生成部130Dは、暗号コード生成部230が暗号化処理を行う際に利用した暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく復号演算によって、照合用暗号コードQ「CEBAD」を復号して照合用並替コードR′「35214」を生成する照合用並替コード第1生成段階を行う構成要素である。暗号コード生成部230は、暗号アルゴリズムAに基づく暗号化演算により、並替コードR′「35214」に対する暗号化を行い、暗号コードQ「CEBAD」を生成する処理を行ったが、照合用並替コード第1生成部130Dは、これと全く逆の処理により、暗号コードQ「CEBAD」を復号して元の並替コードR′「35214」に戻す処理を行うことになる。   Next, the collation rearrangement code first generation unit 130D performs the collation encryption code Q "by performing a decryption operation based on the same encryption algorithm A as the encryption algorithm A used when the encryption code generation unit 230 performs the encryption process. This is a constituent element that performs a collation rearrangement code first generation step of decoding “CEBAD” to generate collation rearrangement code R ′ “35214”. The encryption code generation unit 230 performs the process of generating the encryption code Q “CEBAD” by encrypting the rearrangement code R ′ “35214” by the encryption operation based on the encryption algorithm A. The code first generation unit 130D performs a process of decrypting the encrypted code Q “CEBAD” and returning it to the original rearranged code R ′ “35214” by a process completely opposite to this.

この照合用並替コード第1生成部130Dは、実際には、実施例Cにおける照合用並替コード生成部130Cと全く同じ機能をもった構成要素であるが、照合用並替コード第2生成部120Dとの混同を避けるため、ここでは、構成要素130Dについては名称に「第1」を挿入し、構成要素120Dについては名称に「第2」を挿入して、それぞれ照合用並替コード第1生成部130Dおよび照合用並替コード第2生成部120Dと呼ぶことにする。   The collation rearrangement code first generation unit 130D is actually a component having the same function as the collation rearrangement code generation unit 130C in the embodiment C, but the collation rearrangement code second generation is performed. In order to avoid confusion with the part 120D, here, for the component 130D, “first” is inserted in the name, and for the component 120D, “second” is inserted in the name. 1 generation unit 130D and collation rearrangement code second generation unit 120D.

この照合用並替コード第2生成部120Dは、第1の並び替えテーブルT1に基づいて、ランダムコード発生部110で発生させたランダムコードR「12345」の構成要素を並び替えて、照合用並替コードR′「35214」を生成する照合用並替コード第2生成段階を実行する構成要素である。この照合用並替コード第2生成部120Dは、実際には、実施例Aにおける照合用並替コード生成部120と全く同じ機能をもった構成要素であるが、上述したように、照合用並替コード第1生成部130Dとの混同を避けるため、ここでは、照合用並替コード第2生成部120Dと呼んでいる。   The collation rearrangement code second generation unit 120D rearranges the constituent elements of the random code R “12345” generated by the random code generation unit 110 on the basis of the first rearrangement table T1, and performs collation rearrangement. This is a component for executing the collation rearrangement code second generation stage for generating the replacement code R ′ “35214”. The collation rearrangement code second generation unit 120D is actually a component having the same function as the collation rearrangement code generation unit 120 in the embodiment A. However, as described above, In order to avoid confusion with the replacement code first generation unit 130D, here, it is called the collation replacement code second generation unit 120D.

そして、照合判定部150Dは、照合用並替コード第1生成部130Dが生成した照合用並替コードR′「35214」と、照合用並替コード第2生成部120Dが生成した照合用並替コードR′「35214」と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200Dを正当性が確認された装置と判定する照合判定段階を行う構成要素である。   Then, the collation determination unit 150D includes the collation rearrangement code R ′ “35214” generated by the collation rearrangement code first generation unit 130D and the collation rearrangement code second generation unit 120D. It is a component that performs a collation determination step of collating whether or not the code R ′ “35214” matches, and determining that the second information processing device 200D is a device whose validity has been confirmed if they match. .

結局、この実施例Cでは、第2の情報処理装置200Dにおいて、ランダムコードR「12345」→並替コードR′「35214」→暗号コードQ「CEBAD」→並替暗号コードQ′「BEDAC」という暗号化処理を伴う変遷を辿って、並替暗号コードQ′「BEDAC」を得る点は、これまで述べてきた実施例Aと全く同じであるが、第1の情報処理装置100Dにおける認証プロセスでは、逆に、並替暗号コードQ′「BEDAC」→暗号コードQ「CEBAD」→並替コードR′「35214」という復号処理を伴う変遷を辿って並替コードR′「35214」を得るとともに、元のランダムコードR「12345」→並替コードR′「35214」という並べ替えを行い、得られた2通りの並替コードR′「35214」が一致するか否かを確認することにより、第2の情報処理装置200Dの正当性が確認されることになる。したがって、実施例A,Dに本質的な相違はなく、実施例Dについても実施例Aと同じ作用効果が得られる。   Eventually, in Example C, in the second information processing apparatus 200D, a random code R “12345” → reorder code R ′ “35214” → encryption code Q “CEBAD” → rearrangement encryption code Q ′ “BEDAC” The point that the rearrangement encryption code Q ′ “BEDAC” is obtained by following the transition accompanied by the encryption processing is exactly the same as the embodiment A described so far, but in the authentication process in the first information processing apparatus 100D, On the contrary, the rearrangement encryption code Q ′ “BEDAC” → the encryption code Q “CEBAD” → the rearrangement code R ′ “35214” is traced to obtain a rearrangement code R ′ “35214”. The original random code R “12345” → the rearrangement code R ′ “35214” is rearranged, and the obtained two rearrangement codes R ′ “35214” are one. By checking whether, so that the authenticity of the second information processing apparatus 200D is confirmed. Therefore, there is no essential difference between Examples A and D, and the same effect as Example A can be obtained for Example D.

<3−5.実施例E:暗号化による簡易照合>
次に、図12を参照しながら、本発明の第1の実施形態の実施例Eを説明する。この実施例Eでは、第1の情報処理装置100Eが第2の情報処理装置200Eの正当性を確認する処理が行われることになる。実施例Eは、前述した実施例Aにおける照合プロセスを一部簡略化したものであり、基本的な構成は、実施例Aとほぼ同じである。そこで、以下、実施例Aとの相違点についての説明のみを行う。
<3-5. Example E: Simple verification by encryption>
Next, Example E of the first embodiment of the present invention will be described with reference to FIG. In Example E, the first information processing apparatus 100E performs processing for confirming the validity of the second information processing apparatus 200E. Example E is a simplified version of the verification process in Example A described above, and the basic configuration is almost the same as Example A. Therefore, only the differences from the embodiment A will be described below.

まず、第2の情報処理装置200Eについては、構成要素210,220,230,240,270は、実施例Aにおいて同一符号を付した構成要素と全く同じである。実施例Aとの相違点は、構成要素250,260の代わりに、並替暗号コード送信部250E,テーブル暗号化部260Eが設けられている点である。   First, regarding the second information processing apparatus 200E, the constituent elements 210, 220, 230, 240, and 270 are exactly the same as the constituent elements denoted by the same reference numerals in the embodiment A. The difference from the embodiment A is that a replacement encryption code transmission unit 250E and a table encryption unit 260E are provided instead of the components 250 and 260.

一方、第1の情報処理装置100Eについては、構成要素110,120,130,160は、実施例Aにおいて同一符号を付した構成要素と全く同じである。実施例Aとの相違点は、構成要素140に相当する構成要素が省略されている点と、構成要素150,170,180の代わりに、照合判定部150E,並替暗号コード受信部170E,テーブル復号部180Eが設けられている点である。そこで、以下、これらの相違点について説明する。なお、実施例Eの構成要素のうち、実施例Aの構成要素と異なるものについては、符号末尾に「E」を付して示してある。   On the other hand, for the first information processing apparatus 100E, the constituent elements 110, 120, 130, and 160 are exactly the same as the constituent elements assigned the same reference numerals in the embodiment A. The difference from the embodiment A is that a component corresponding to the component 140 is omitted, and a collation determining unit 150E, a reordered encryption code receiving unit 170E, a table instead of the components 150, 170, 180. A decryption unit 180E is provided. Therefore, these differences will be described below. Of the constituent elements of the embodiment E, those different from the constituent elements of the embodiment A are indicated by “E” at the end of the reference numerals.

この実施例Eの根本的な特徴は、実施例Aにおける第2の情報処理装置200から第1の情報処理装置100への第2の暗号化テーブルT2の送信を省略し、第1の情報処理装置100側での第2の並び替え方法X2による並び替え作業を省略する点にある。 The fundamental feature of the embodiment E is that transmission of the second encryption table T2 * from the second information processing apparatus 200 to the first information processing apparatus 100 in the embodiment A is omitted, and the first information The rearrangement work by the second rearrangement method X2 on the processing apparatus 100 side is omitted.

したがって、第2の情報処理装置200E側では、並替テーブル生成部270において2組のテーブルT1,T2を生成し、並替コード生成部220における並び替え作業および並替暗号コード生成部240における並び替え作業が行われる点は、実施例Aと同じであるが、テーブル暗号化部260Eにおいて行われるテーブル暗号化段階では、第1の並び替えテーブルT1を暗号化し、第1の暗号化テーブルT1を生成する処理が行われるものの、第2の並び替えテーブルT2の暗号化は省略される。また、並替暗号コード送信部250Eにおいて行われる並替暗号コード送信段階では、並替暗号コードQ′「BEDAC」とともに第1の暗号化テーブルT1が、第1の情報処理装置100Eに送信されるが、第2の暗号化テーブルT2の送信は省略される。 Therefore, on the second information processing apparatus 200E side, the rearrangement table generation unit 270 generates two sets of tables T1 and T2, and the rearrangement work in the rearrangement code generation unit 220 and the rearrangement in the rearrangement encryption code generation unit 240. Although the replacement work is the same as in the embodiment A, in the table encryption stage performed in the table encryption unit 260E, the first rearrangement table T1 is encrypted, and the first encryption table T1 * However, encryption of the second rearrangement table T2 is omitted. In the rearrangement encryption code transmission stage performed by the rearrangement encryption code transmission unit 250E, the first encryption table T1 * is transmitted to the first information processing apparatus 100E together with the rearrangement encryption code Q ′ “BEDAC”. However, transmission of the second encryption table T2 * is omitted.

このように、第2の暗号化テーブルT2の送信を省略したため、第1の情報処理装置100E側の処理も若干変わってくる。すなわち、並替暗号コード受信部170Eでは、並替暗号コードQ′「BEDAC」とともに第1の暗号化テーブルT1の受信が行われるが、第2の暗号化テーブルT2は受信されない。また、テーブル復号部180Eでは、第1の暗号化テーブルT1を復号し、第1の並び替えテーブルT1を復元する処理が行われるが、第2の暗号化テーブルT2の復号は行われない。 As described above, since the transmission of the second encryption table T2 * is omitted, the processing on the first information processing apparatus 100E side also slightly changes. In other words, the reordered encryption code receiving unit 170E receives the first encryption table T1 * together with the reordered encryption code Q ′ “BEDAC”, but does not receive the second encryption table T2 * . Further, in the table decryption unit 180E, a process of decrypting the first encryption table T1 * and restoring the first rearrangement table T1 is performed, but the second encryption table T2 * is not decrypted. .

結局、第1の情報処理装置100E側には、第2の並び替えテーブルT2の情報が伝わらないので、第2の並び替えテーブルT2に基づく並び替え作業を行うことはできない。図8に示す実施例Aでは、この第2の並び替えテーブルT2に基づく並び替え作業を行うために、照合用並替暗号コード生成部140が設けられていたが、図12に示す実施例Eでは、この構成要素140に相当するものは省略されている。その結果、照合用暗号コード生成部130によって生成された照合用暗号コードQ「CEBAD」が、そのままの状態で照合判定部150Eに与えられることになる。   Eventually, since the information of the second rearrangement table T2 is not transmitted to the first information processing apparatus 100E side, the rearrangement work based on the second rearrangement table T2 cannot be performed. In the embodiment A shown in FIG. 8, the reordering encryption code generation unit 140 for verification is provided in order to perform the reordering work based on the second reordering table T2, but the embodiment E shown in FIG. However, those corresponding to the component 140 are omitted. As a result, the verification encryption code Q “CEBAD” generated by the verification encryption code generation unit 130 is given to the verification determination unit 150E as it is.

これは、照合判定部150Eが、実施例Aの照合判定部150と同じ方法では照合判定を実行できないことを意味する。図示の具体例の場合も、照合用暗号コード生成部130から与えられる照合用暗号コードQ「CEBAD」と、並替暗号コード受信部170Eから与えられる並替暗号コードQ′「BEDAC」とは一致していない。   This means that the collation determination unit 150E cannot execute collation determination by the same method as the collation determination unit 150 of the embodiment A. Also in the illustrated example, the verification encryption code Q “CEBAD” provided from the verification encryption code generation unit 130 and the rearrangement encryption code Q ′ “BEDAC” provided from the rearrangement encryption code reception unit 170E are identical. I have not done it.

しかしながら、照合用暗号コードQ「CEBAD」を、第2の並び替えテーブルT2に基づいて並び替えれば、並替暗号コードQ′「BEDAC」が得られるのであるから、並び順を無視して、構成要素となるメンバーが対応しているか否かを照合すれば、両者は対応していることになる。すなわち、上例の場合、いずれのコードも、構成要素となるメンバーは、「A」,「B」,「C」,「D」,「E」の5つのアルファベットであり、構成要素は並び順を無視すれば相互に対応していることになる。   However, if the verification encryption code Q “CEBAD” is rearranged based on the second rearrangement table T2, the rearrangement encryption code Q ′ “BEDAC” is obtained. If it is checked whether or not the member serving as an element is compatible, both correspond. That is, in the case of the above example, in any of the codes, the constituent members are five alphabets “A”, “B”, “C”, “D”, “E”, and the constituents are arranged in the order. If you ignore, they correspond to each other.

そこで、この実施例Eの場合、照合判定部150Eは、並替暗号コード受信部170Eが受信した並替暗号コードQ′「BEDAC」に含まれている構成要素(A〜Eの5文字)と、照合用暗号コード生成部130が生成した照合用暗号コードQ「CEBAD」に含まれている構成要素(A〜Eの5文字)と、が対応するか否かを照合し、対応する場合に、第2の情報処理装置200Eを正当性が確認された装置と判定する照合判定段階を行う。   Therefore, in the case of the embodiment E, the collation determining unit 150E includes the constituent elements (5 characters A to E) included in the reordered encryption code Q ′ “BEDAC” received by the reordered encryption code receiving unit 170E. When the corresponding components (5 characters A to E) included in the verification encryption code Q “CEBAD” generated by the verification encryption code generation unit 130 correspond to each other, Then, a collation determination stage is performed in which the second information processing apparatus 200E is determined to be an apparatus whose validity has been confirmed.

このように、実施例Eでは、第1の情報処理装置100E側で行う照合判定の基準が、これまで述べてきた実施例A〜Dに比べて緩和されている。すなわち、照合対象となる2組のコードの並び順まで含めた完全一致を判定する代わりに、並び順は不問として構成要素の1対1対応を判定することになる。このため、この実施例Eは、実施例A〜Dに比べて認証の厳格性は若干低下することになるが、第2の情報処理装置200E側では、第2の並び替えテーブルT2を送信するための処理を省略することができ、第1の情報処理装置100E側では、第2の並び替えテーブルT2に関する受信処理や並び替え処理を省略することができるので、処理を簡素化できるメリットが得られる。なお、実施例では、説明の便宜上、5桁のランダムコードRを用いた単純な例を示したが、実際には、格段に多い桁数のランダムコードRを用いるのが一般的であり、並び順を不問として構成要素の1対1対応を判定する方法を採っても、正しくないコードが偶然に一致してしまう確率は極めて低く、実用上は、この実施例Eを採用しても支障は生じない。   As described above, in Example E, the reference for collation determination performed on the first information processing apparatus 100E side is relaxed compared to Examples A to D described so far. That is, instead of determining the complete match including the arrangement order of the two sets of codes to be collated, the one-to-one correspondence between the components is determined with the arrangement order being unquestioned. For this reason, although the strictness of authentication is slightly lowered in the embodiment E compared to the embodiments A to D, the second information processing apparatus 200E transmits the second rearrangement table T2. For this reason, the first information processing apparatus 100E side can omit the reception process and the rearrangement process related to the second rearrangement table T2, so that the process can be simplified. It is done. In the embodiment, for convenience of explanation, a simple example using a five-digit random code R has been shown. However, in practice, a random code R having a remarkably large number of digits is generally used. Even if the method of determining the one-to-one correspondence of the constituent elements without regard to the order is taken, the probability that an incorrect code coincides by chance is extremely low. In practice, there is no problem even if this Example E is adopted. Does not occur.

<3−6.実施例F:復号による簡易照合>
続いて、図13を参照しながら、本発明の第1の実施形態の実施例Fを説明する。この実施例Fでは、第1の情報処理装置100Fが第2の情報処理装置200Fの正当性を確認する処理が行われることになる。実施例Fは、実施例Eと同様に、実施例Aにおける照合プロセスを一部簡略化したものであり、基本的な構成は、実施例Aとほぼ同じである。そこで、以下、実施例Aとの相違点についての説明のみを行う。
<3-6. Example F: Simple verification by decoding>
Next, Example F of the first embodiment of the present invention will be described with reference to FIG. In Example F, the first information processing apparatus 100F performs processing for confirming the validity of the second information processing apparatus 200F. As in the case of the embodiment E, the embodiment F is obtained by partially simplifying the matching process in the embodiment A, and the basic configuration is almost the same as that in the embodiment A. Therefore, only the differences from the embodiment A will be described below.

まず、第2の情報処理装置200Fについては、構成要素210,220,230,240,270は、実施例Aにおいて同一符号を付した構成要素と全く同じである。実施例Aとの相違点は、構成要素250,260の代わりに、並替暗号コード送信部250F,テーブル暗号化部260Fが設けられている点である。   First, regarding the second information processing apparatus 200F, the constituent elements 210, 220, 230, 240, and 270 are exactly the same as the constituent elements denoted by the same reference numerals in the embodiment A. The difference from the embodiment A is that a replacement encryption code transmission unit 250F and a table encryption unit 260F are provided instead of the components 250 and 260.

一方、第1の情報処理装置100Fについては、構成要素110,160は、実施例Aにおいて同一符号を付した構成要素と全く同じである。実施例Aとの相違点は、構成要素120に相当する構成要素が省略されている点と、構成要素130,140,150,170,180の代わりに、照合用並替コード生成部130F,照合用暗号コード生成部140F,照合判定部150F,並替暗号コード受信部170E,テーブル復号部180Eが設けられている点である。そこで、以下、これらの相違点について説明する。なお、実施例Fの構成要素のうち、実施例Aの構成要素と異なるものについては、符号末尾に「F」を付して示してある。   On the other hand, for the first information processing apparatus 100F, the constituent elements 110 and 160 are exactly the same as the constituent elements assigned the same reference numerals in the embodiment A. The difference from the embodiment A is that the constituent elements corresponding to the constituent element 120 are omitted, and the collation rearrangement code generation unit 130F, collation instead of the constituent elements 130, 140, 150, 170, 180. An encryption code generation unit 140F, a collation determination unit 150F, a rearrangement encryption code reception unit 170E, and a table decryption unit 180E are provided. Therefore, these differences will be described below. Of the constituent elements of the embodiment F, those different from the constituent elements of the embodiment A are indicated by “F” at the end of the reference numerals.

この実施例Fの根本的な特徴は、実施例Aにおける第2の情報処理装置200から第1の情報処理装置100への第1の暗号化テーブルT1の送信を省略し、第1の情報処理装置100側での第1の並び替え方法X1による並び替え作業を省略する点にある。すなわち、前述した実施例Eでは、第2の暗号化テーブルT2の送信を省略していたのに対して、ここで述べる実施例Fでは、第1の暗号化テーブルT1の送信を省略している点が異なっている。 The fundamental feature of the embodiment F is that the transmission of the first encryption table T1 * from the second information processing apparatus 200 to the first information processing apparatus 100 in the embodiment A is omitted, and the first information The rearrangement work by the first rearrangement method X1 on the processing apparatus 100 side is omitted. That is, while the transmission of the second encryption table T2 * is omitted in the embodiment E described above, the transmission of the first encryption table T1 * is omitted in the embodiment F described here. Is different.

このため、第2の情報処理装置200F側では、並替テーブル生成部270において2組のテーブルT1,T2を生成し、並替コード生成部220における並び替え作業および並替暗号コード生成部240における並び替え作業が行われる点は、実施例Aと同じであるが、テーブル暗号化部260Fにおいて行われるテーブル暗号化段階では、第2の並び替えテーブルT2を暗号化し、第2の暗号化テーブルT2を生成する処理が行われるものの、第1の並び替えテーブルT1の暗号化は省略される。また、並替暗号コード送信部250Fにおいて行われる並替暗号コード送信段階では、並替暗号コードQ′「BEDAC」とともに第2の暗号化テーブルT2が、第1の情報処理装置100Fに送信されるが、第1の暗号化テーブルT1の送信は省略される。 Therefore, on the second information processing device 200F side, the rearrangement table generation unit 270 generates two sets of tables T1 and T2, and the rearrangement work in the rearrangement code generation unit 220 and the rearrangement encryption code generation unit 240 The rearrangement operation is performed in the same manner as in the embodiment A. However, in the table encryption stage performed in the table encryption unit 260F, the second rearrangement table T2 is encrypted and the second encryption table T2 is encrypted. Although the process of generating * is performed, the encryption of the first rearrangement table T1 is omitted. In the rearrangement encryption code transmission stage performed in rearrangement encryption code transmitter 250F, second encryption table T2 * is transmitted to first information processing apparatus 100F together with rearrangement encryption code Q ′ “BEDAC”. However, transmission of the first encryption table T1 * is omitted.

このように、第1の暗号化テーブルT1の送信を省略したため、第1の情報処理装置100F側の処理も若干変わってくる。すなわち、並替暗号コード受信部170Fでは、並替暗号コードQ′「BEDAC」とともに第2の暗号化テーブルT2の受信が行われるが、第1の暗号化テーブルT1は受信されない。また、テーブル復号部180Fでは、第2の暗号化テーブルT2を復号し、第2の並び替えテーブルT2を復元する処理が行われるが、第1の暗号化テーブルT1の復号は行われない。 As described above, since the transmission of the first encryption table T1 * is omitted, the processing on the first information processing apparatus 100F side also slightly changes. That is, the reordered encryption code receiving unit 170F receives the second encryption table T2 * together with the reordered encryption code Q ′ “BEDAC”, but does not receive the first encryption table T1 * . The table decrypting unit 180F decrypts the second encryption table T2 * and restores the second rearrangement table T2, but does not decrypt the first encryption table T1 *. .

結局、第1の情報処理装置100F側には、第1の並び替えテーブルT1の情報が伝わらないので、第1の並び替えテーブルT1に基づく並び替え作業を行うことはできない。すなわち、第1の情報処理装置100F側では、ランダムコード発生部110が発生させたランダムコードR「12345」に対する並び替え作業を行うことができないので、第2の情報処理装置200F側で行われた暗号化処理に対応する処理を行うことができないことになる。そこで、第1の情報処理装置100F側で行う照合判定作業は、暗号化処理ではなく復号処理を前提としたものにならざるを得ない。   Eventually, since the information of the first rearrangement table T1 is not transmitted to the first information processing apparatus 100F, the rearrangement work based on the first rearrangement table T1 cannot be performed. That is, on the first information processing apparatus 100F side, the rearrangement work for the random code R “12345” generated by the random code generation unit 110 cannot be performed. Processing corresponding to the encryption processing cannot be performed. Therefore, the collation determination work performed on the first information processing apparatus 100F side must be based on the decryption process, not the encryption process.

このような観点から、この実施例Fでは、前述した実施例Cに類似した処理(復号による照合処理)を行うことになる。その基本概念は、図10に示す実施例Cにおいて、照合用ランダムコード生成部120Cを省略し、照合用並替コード生成部130Cによって生成された照合用並替コードR′「35214」を照合判定部150Cに直接与え、照合判定部150Cにおいて、2組のコードの並び順まで含めた完全一致を判定する代わりに、並び順は不問として構成要素の1対1対応を判定するように改変することにある。   From this point of view, in Example F, processing similar to Example C described above (collation processing by decoding) is performed. The basic concept is that in Example C shown in FIG. 10, the collating random code generation unit 120C is omitted, and the collation rearrangement code R ′ “35214” generated by the collation rearrangement code generation unit 130C is collated. Instead of determining the complete match including the order of arrangement of the two sets of codes in the collation determination unit 150C, directly changing the order to 150C, and modifying the order so that the one-to-one correspondence between the components is determined. It is in.

具体的には、照合用暗号コード生成部140Fにおいて、第2の並び替えテーブルT2を逆転させたテーブルT2バーに基づいて、並替暗号コード受信部170Fが受信した並替暗号コードQ′「BEDAC」の構成要素を並び替えて照合用暗号コードQ「CEBAD」を生成する照合用暗号コード生成段階が行われる。続いて、照合用並替コード生成部130Fにおいて、暗号コード生成部230の暗号化処理に利用された暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく復号演算を行い、照合用暗号コードQ「CEBAD」を復号して照合用並替コードR′「35214」を生成する照合用並替コード生成段階が行われる。   Specifically, in the verification encryption code generation unit 140F, based on the table T2 bar obtained by reversing the second rearrangement table T2, the rearrangement encryption code Q ′ “BEDAC” received by the rearrangement encryption code reception unit 170F. The verification encryption code generation step of rearranging the constituent elements of “and generating the verification encryption code Q“ CEBAD ”is performed. Subsequently, the collation rearrangement code generation unit 130F performs a decryption operation based on the same encryption algorithm A as the encryption algorithm A used for the encryption process of the encryption code generation unit 230, and the verification encryption code Q “CEBAD” is obtained. A collation rearrangement code generation step of decrypting and generating collation rearrangement code R ′ “35214” is performed.

上述したとおり、第1の情報処理装置100F側には、第1の並び替えテーブルT1に関する情報は伝えられていないので、照合用並替コード生成部130Fによって生成された照合用並替コードR′「35214」に対する並び替えを行うことはできない。そのため、この照合用並替コードR′「35214」は、そのままの状態で照合判定部150Fに与えられることになる。   As described above, since the information regarding the first rearrangement table T1 is not transmitted to the first information processing apparatus 100F side, the collation rearrangement code R ′ generated by the collation rearrangement code generation unit 130F. It is not possible to rearrange “35214”. Therefore, the collation rearrangement code R ′ “35214” is given to the collation determination unit 150F as it is.

これは、照合判定部150Fが、実施例Cの照合判定部150Cと同じ方法では照合判定を実行できないことを意味する。図示の具体例の場合も、照合用並替コード生成部130Fから与えられる照合用並替コードR′「35214」と、ランダムコード発生部110から与えられるランダムコードR「12345」とは一致していない。   This means that the collation determination unit 150F cannot execute collation determination by the same method as the collation determination unit 150C of the embodiment C. Also in the illustrated example, the collation rearrangement code R ′ “35214” given from the collation rearrangement code generator 130F matches the random code R “12345” given from the random code generator 110. Absent.

しかしながら、ランダムコードR「12345」を、第1の並び替えテーブルT1に基づいて並び替えれば、照合用並替コードR′「35214」が得られるのであるから、並び順を無視して、構成要素となるメンバーが対応しているか否かを照合すれば、両者は対応していることになる。すなわち、上例の場合、いずれのコードも、構成要素となるメンバーは、「1」,「2」,「3」,「4」,「5」の5つの数字であり、構成要素は相互に対応していることになる。   However, if the random code R “12345” is rearranged based on the first rearrangement table T1, the collation rearrangement code R ′ “35214” is obtained. If it is checked whether or not the corresponding member is compatible, both correspond. That is, in the case of the above example, in any code, the members that are constituent elements are five numbers “1”, “2”, “3”, “4”, “5”, and the constituent elements are mutually It will be supported.

そこで、この実施例Fの場合、照合判定部150Fは、ランダムコード発生部110が発生させたランダムコードR「12345」に含まれている構成要素と、照合用並替コード生成部130Fが生成した照合用並替コードR′「35214」に含まれている構成要素と、が対応するか否かを照合し、対応する場合に、第2の情報処理装置を正当性が確認された装置と判定する照合判定段階を行う。   Therefore, in the case of Example F, the collation determination unit 150F generates the components included in the random code R “12345” generated by the random code generation unit 110 and the collation rearrangement code generation unit 130F. It is checked whether or not the constituent elements included in the collation rearrangement code R ′ “35214” correspond to each other, and in the case of correspondence, the second information processing device is determined to be a device whose validity has been confirmed. A collation judgment stage is performed.

このように、実施例Fでは、実施例Eと同様に、第1の情報処理装置100F側で行う照合判定の基準が、これまで述べてきた実施例A〜Dに比べて緩和されているので認証の厳格性は若干低下することになるが、第2の情報処理装置200F側では、第1の並び替えテーブルT1を送信するための処理を省略することができ、第1の情報処理装置100F側では、第1の並び替えテーブルT1に関する受信処理や並び替え処理を省略することができるので、処理を簡素化できるメリットが得られる。 As described above, in Example F, as in Example E, the criteria for collation determination performed on the first information processing apparatus 100F side are relaxed compared to Examples A to D described above. Although the strictness of authentication is slightly reduced, the second information processing apparatus 200F side can omit the process for transmitting the first rearrangement table T1, and the first information processing apparatus 100F can be omitted. On the side, since the reception process and the rearrangement process related to the first rearrangement table T1 can be omitted, there is an advantage that the process can be simplified.

<3−7.実施例G:一方向性関数の利用>
ここでは、図14を参照しながら、本発明の第1の実施形態の実施例Gを説明する。この実施例Gでは、第1の情報処理装置100Gが第2の情報処理装置200Gの正当性を確認する処理が行われることになる。実施例Gは、前述した実施例Aにおけるプロセスを若干変更したものであり、基本的な構成は、実施例Aとほぼ同じである。そこで、以下、実施例Aとの相違点についての説明のみを行う。
<3-7. Example G: Use of Unidirectional Function>
Here, Example G of the first embodiment of the present invention will be described with reference to FIG. In Example G, the first information processing apparatus 100G performs processing for confirming the validity of the second information processing apparatus 200G. Example G is a slightly modified process in Example A described above, and the basic configuration is almost the same as Example A. Therefore, only the differences from the embodiment A will be described below.

まず、第2の情報処理装置200Gについては、構成要素210,230は、実施例Aにおいて同一符号を付した構成要素と全く同じである。実施例Aとの相違点は、構成要素220,240,250,260,270の代わりに、並替コード生成部220G,一方向性関数値生成部240G,関数値送信部250G、テーブル暗号化部260G,並替テーブル生成部270Gが設けられている点である。   First, regarding the second information processing apparatus 200G, the constituent elements 210 and 230 are exactly the same as the constituent elements assigned the same reference numerals in the embodiment A. The difference from the embodiment A is that, instead of the components 220, 240, 250, 260, 270, a rearrangement code generation unit 220G, a one-way function value generation unit 240G, a function value transmission unit 250G, a table encryption unit 260G, the rearrangement table production | generation part 270G is provided.

一方、第1の情報処理装置100Gについては、構成要素110,130,160は、実施例Aにおいて同一符号を付した構成要素と全く同じである。実施例Aとの相違点は、構成要素120,140,150,170,180の代わりに、照合用並替コード生成部120G,照合用一方向性関数値生成部140G,照合判定部150G,関数値受信部170G,テーブル復号部180Gが設けられている点である。そこで、以下、これらの相違点について説明する。なお、実施例Gの構成要素のうち、実施例Aの構成要素と異なるものについては、符号末尾に「G」を付して示してある。   On the other hand, for the first information processing apparatus 100G, the constituent elements 110, 130, and 160 are exactly the same as the constituent elements assigned the same reference numerals in the embodiment A. The difference from the embodiment A is that, instead of the components 120, 140, 150, 170, 180, the collation rearrangement code generation unit 120G, the collation one-way function value generation unit 140G, the collation determination unit 150G, the function A value receiving unit 170G and a table decoding unit 180G are provided. Therefore, these differences will be described below. Of the constituent elements of the embodiment G, those different from the constituent elements of the embodiment A are indicated by “G” at the end of the reference numerals.

この実施例Gの根本的な特徴は、実施例Aにおける第1の並び替えテーブルT1に相当する並び替えは行うものの、第2の並び替えテーブルT2に相当する並び替えは行わず、その代わりに一方向性関数を作用させる演算を行う点にある。そこで、この実施例Gでは、実施例Aにおける「第1の並び替えテーブルT1」および「第1の並び替え方法X1」に対応する用語として、単に、「並び替えテーブルT」および「並び替え方法X」という文言を用いることにする。   The fundamental feature of the embodiment G is that although the rearrangement corresponding to the first rearrangement table T1 in the embodiment A is performed, the rearrangement corresponding to the second rearrangement table T2 is not performed. The point is to perform an operation that operates a one-way function. Therefore, in the embodiment G, terms “sorting table T” and “sorting method” are simply used as terms corresponding to “first sorting table T1” and “first sorting method X1” in the embodiment A. The term “X” will be used.

なお、実施例Gにおける並替コード生成部220Gは、実際には、実施例Aにおける並替コード生成部220と全く同じ構成要素であり、実施例Gにおける照合用並替コード生成部120Gは、実際には、実施例Aにおける照合用並替コード生成部120と全く同じ構成要素である。それにもかかわらず、実施例Gにおいて、これらの構成要素について末尾に符号Gを付加して区別したのは、上述したように、実施例Aにおける「第1の並び替えテーブルT1」および「第1の並び替え方法X1」を、実施例Gでは単に「並び替えテーブルT」および「並び替え方法X」と呼ぶことにしたためである。   Note that the rearrangement code generation unit 220G in the embodiment G is actually the same component as the rearrangement code generation unit 220 in the embodiment A, and the collation rearrangement code generation unit 120G in the embodiment G is Actually, it is the same component as the collation rearrangement code generation unit 120 in the embodiment A. Nonetheless, in Example G, these components are distinguished by adding the suffix G to the “first rearrangement table T1” and “first” in Example A as described above. This is because the “sorting method X1” is simply referred to as “sorting table T” and “sorting method X” in the embodiment G.

すなわち、並替コード生成部220Gは、並び替えテーブルTに基づいて、ランダムコードR「12345」の構成要素を並び替えて並替コードR′「35214」を生成する並替コード生成段階を行う構成要素であり、照合用並替コード生成部120Gは、ランダムコード発生部110が発生させたランダムコードR「12345」の構成要素を、並び替えテーブルTに基づいて並び替えて照合用並替コードR′「35214」を生成する照合用並替コード生成段階を行う構成要素である。実質的には、これらの各構成要素は、実施例Aにおける並替コード生成部220および照合用並替コード生成部120と同じ構成要素であるが、上述したように「並び替えテーブル」および「並び替え方法」に関する用語を使い分けるようにしたため、便宜上、末尾に符号Gを付加して区別している。   That is, the rearrangement code generation unit 220G performs a rearrangement code generation step of rearranging the constituent elements of the random code R “12345” based on the rearrangement table T to generate the rearrangement code R ′ “35214”. The collation rearrangement code generation unit 120G rearranges the constituent elements of the random code R “12345” generated by the random code generation unit 110 based on the rearrangement table T and performs the collation rearrangement code R. 'This is a component that performs the collation rearrangement code generation stage for generating “35214”. Each of these components is substantially the same component as the rearrangement code generation unit 220 and the collation rearrangement code generation unit 120 in the embodiment A, but as described above, the “rearrangement table” and “ Since the term relating to “sorting method” is used properly, for the sake of convenience, a symbol G is added to the end for distinction.

このように、実施例Gでは、単一の並び替えテーブルTしか用いられないので、並替テーブル生成部270Gは、単一の並び替えテーブルTを生成すれば足り、テーブル暗号化部260Gは、この単一の並び替えテーブルTに対する暗号化を行って、単一の暗号化テーブルTを生成すれば足りる。 Thus, in Example G, since only a single rearrangement table T is used, the rearrangement table generation unit 270G only needs to generate a single rearrangement table T, and the table encryption unit 260G It suffices to encrypt the single rearrangement table T to generate a single encryption table T * .

実施例Gと実施例Aとの本質的な相違は、暗号コード生成部230が、並替コードR′「35214」に対する暗号化処理を行って暗号コードQ「CEBAD」を生成した後、この暗号コードQ「CEBAD」に対して並び替えを行う代わりに、一方向性関数を作用させる演算を行う点である。   The essential difference between the embodiment G and the embodiment A is that the encryption code generation unit 230 performs encryption processing on the rearrangement code R ′ “35214” to generate the encryption code Q “CEBAD”, and then encrypts the encryption code Q “CEBAD”. Instead of rearranging the code Q “CEBAD”, an operation that operates a one-way function is performed.

そのため、一方向性関数値生成部240Gにおいて、暗号コードQ「CEBAD」に対して一方向性関数を作用させて所定の関数値Hを生成する一方向性関数値生成段階が行われる。ここで一方向性関数とは、元のデータに対して何らかの処理を施すことにより新たなデータに一義的に変換することが可能な関数であって、しかも新たなデータから元のデータを復元する逆変換を行うことができないような関数を指す。これまで述べてきた暗号化処理は、可逆的な変換処理であり、その逆の変換処理が復号処理に相当する。これに対して、一方向性関数値生成部240Gが行う変換処理は、一方向性関数を作用させる処理であり、非可逆的な変換処理ということになる。   Therefore, the one-way function value generation unit 240G performs a one-way function value generation step of generating a predetermined function value H by applying a one-way function to the encryption code Q “CEBAD”. Here, the one-way function is a function that can be converted into new data uniquely by applying some processing to the original data, and also restores the original data from the new data. A function that cannot perform reverse transformation. The encryption processing described so far is a reversible conversion process, and the reverse conversion process corresponds to a decryption process. On the other hand, the conversion process performed by the one-way function value generation unit 240G is a process that applies a one-way function, and is an irreversible conversion process.

このような一方向性関数の代表は、HASH関数であり、以下、一方向性関数値生成部240GがHASH関数を作用させる変換処理を行い、HASH関数値Hが得られた場合を例にとった説明を行うことにする。HASH関数を作用させることにより得られる関数値は、元のデータに比べて情報量が低減される。そこで、図示の例の場合、便宜上、「CEBAD」なる5文字のデータからなる暗号コードQに対してHASH関数を作用させることにより得られた関数値Hの具体的な値を「h」で表すことにする。結局、一方向性関数値生成部240Gは、暗号コードQ「CEBAD」に対してHASH関数を作用させ、関数値H(h)を生成する演算処理を行うことになる。   A representative example of such a one-way function is a HASH function. Hereinafter, a case where the HASH function value H is obtained by performing a conversion process in which the one-way function value generation unit 240G operates the HASH function will be described as an example. I will explain. The function value obtained by applying the HASH function has a reduced amount of information compared to the original data. Therefore, in the case of the illustrated example, for convenience, a specific value of the function value H obtained by applying the HASH function to the encryption code Q composed of five-character data “CEBAD” is represented by “h”. I will decide. Eventually, the one-way function value generation unit 240G performs an arithmetic process to generate the function value H (h) by applying the HASH function to the encryption code Q “CEBAD”.

関数値送信部250Gは、一方向性関数値生成部240Gによって生成された関数値H(h)とともに、テーブル暗号化部260Gで暗号化された暗号化テーブルTを、第1の情報処理装置100Gに送信する関数値送信段階を行う構成要素である。 The function value transmission unit 250G uses the function value H (h) generated by the one-way function value generation unit 240G and the encryption table T * encrypted by the table encryption unit 260G as the first information processing apparatus. It is a component that performs a function value transmission stage to be transmitted to 100G.

こうして、第2の情報処理装置200Gから送信されてきた関数値H(h)および暗号化テーブルTは、関数値受信部170Gによって受信される。受信された暗号化テーブルTはテーブル復号部180Gに与えられ、受信された関数値H(h)は照合判定部150Gに与えられる。テーブル復号部180Gは、与えられた暗号化テーブルTを復号し、並び替えテーブルTを復元するテーブル復号段階を行う。 In this way, the function value H (h) and the encryption table T * transmitted from the second information processing apparatus 200G are received by the function value receiving unit 170G. The received encryption table T * is provided to the table decryption unit 180G, and the received function value H (h) is provided to the collation determination unit 150G. The table decryption unit 180G performs a table decryption step of decrypting the given encryption table T * and restoring the rearrangement table T.

一方、照合用並替コード生成部120Gは、ランダムコード発生部110が発生させたランダムコードR「12345」の構成要素を、復元された並び替えテーブルTに基づいて並び替えて照合用並替コードR′「35214」を生成する照合用並替コード生成段階を行う。また、照合用暗号コード生成部130は、暗号コード生成部230の暗号化処理に用いられた暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく暗号化演算によって、照合用並替コードR′「35214」を暗号化して照合用暗号コードQ「CEBAD」を生成する照合用暗号コード生成段階を行う。   On the other hand, the collation rearrangement code generation unit 120G rearranges the constituent elements of the random code R “12345” generated by the random code generation unit 110 based on the restored rearrangement table T, thereby collating the rearrangement code. A collation rearrangement code generation step for generating R ′ “35214” is performed. The verification encryption code generation unit 130 obtains the verification rearrangement code R ′ “35214” by an encryption operation based on the same encryption algorithm A as the encryption algorithm A used for the encryption process of the encryption code generation unit 230. A verification encryption code generation stage is performed in which encryption is performed to generate a verification encryption code Q “CEBAD”.

続いて、照合用一方向性関数値生成部140Gにおいて、照合用暗号コードQ「CEBAD」に対して、一方向性関数値生成部240Gで用いられた一方向性関数と同じ一方向性関数(ここに示す例の場合、HASH関数)を作用させて、照合用関数値H(h)を生成する照合用一方向性関数値生成段階が行われる。そして最後に、照合判定部150Gにおいて、関数値受信部170Gが受信した関数値H(h)と、照合用一方向性関数値生成部140Gで生成された照合用関数値H(h)と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200Gを正当性が確認された装置と判定する照合判定段階が行われる。   Subsequently, in the verification one-way function value generation unit 140G, the same one-way function (for the verification encryption code Q “CEBAD” as the one-way function used in the one-way function value generation unit 240G ( In the case of the example shown here, a collation one-way function value generation stage is performed in which the HASH function is applied to generate the collation function value H (h). Finally, in the matching determination unit 150G, the function value H (h) received by the function value receiving unit 170G, the matching function value H (h) generated by the matching one-way function value generating unit 140G, Are matched, and if they match, a collation determination stage is performed in which the second information processing apparatus 200G is determined to be an apparatus whose validity has been confirmed.

このように、実施例Gでは、第1の情報処理装置100G側で行う照合が、一方向性関数値の一致確認というプロセスで行われるため、認証の厳格性は若干低下することになるが、第1の情報処理装置100Gおよび第2の情報処理装置200Gの双方において、単一の並び替えテーブルTに関する処理を行えばよいため、処理を簡素化できるメリットが得られる。   As described above, in Example G, since the collation performed on the first information processing apparatus 100G side is performed in the process of confirming the match of the one-way function value, the strictness of authentication is slightly reduced. Since both the first information processing apparatus 100G and the second information processing apparatus 200G need only perform processing related to the single rearrangement table T, there is an advantage that the processing can be simplified.

<<< §4. 本発明の第2の実施形態に係る認証方法の基本概念 >>>
これまで、§2,§3において、本発明の第1の実施形態を説明した。ここでは、図15を参照しながら、本発明の第2の実施形態に係る認証方法の基本概念を説明する。具体的には、第1の情報処理装置100′(たとえば、サーバ装置)が第2の情報処理装置200′(たとえば、クライアント装置)の正当性を確認する処理を例にとって、データの流れに即した処理手順を述べることにする。
<<< §4. Basic concept of the authentication method according to the second embodiment of the present invention >>>
So far, in §2 and §3, the first embodiment of the present invention has been described. Here, the basic concept of the authentication method according to the second embodiment of the present invention will be described with reference to FIG. Specifically, taking a process in which the first information processing apparatus 100 ′ (for example, a server apparatus) confirms the validity of the second information processing apparatus 200 ′ (for example, a client apparatus) as an example, The processing procedure will be described.

本発明の第1の実施形態と第2の実施形態との大きな相違点は、前者では、暗号化処理の前もしくは後においてデータに対する並び替えが行われるのに対して、後者では、暗号化処理の前もしくは後においてデータに対する修正が行われる点であり、両者の実質的な相違点は、この点だけである。そこで以下、第1の実施形態と比較しながら、第2の実施形態についての説明を行うことにする。   The major difference between the first embodiment and the second embodiment of the present invention is that, in the former, data is rearranged before or after the encryption process, whereas in the latter, the encryption process is performed. This is the only substantial difference between the two. Therefore, the second embodiment will be described below in comparison with the first embodiment.

図15に示す第2の実施形態では、認証処理に関与する構成要素として、第1の情報処理装置100′には、ランダムコード発生部110、照合用修正コード生成部120′、照合用暗号コード生成部130′、照合用修正暗号コード生成部140′、照合判定部150′、ランダムコード送信部160、修正暗号コード受信部170′が設けられており、第2の情報処理装置200′には、ランダムコード受信部210、修正コード生成部220′、暗号コード生成部230′、修正暗号コード生成部240′、修正暗号コード送信部250′が設けられている。   In the second embodiment shown in FIG. 15, the first information processing apparatus 100 ′ includes a random code generation unit 110, a verification correction code generation unit 120 ′, a verification encryption code as constituent elements involved in the authentication process. A generation unit 130 ′, a verification correction encryption code generation unit 140 ′, a verification determination unit 150 ′, a random code transmission unit 160, and a correction encryption code reception unit 170 ′ are provided. The second information processing apparatus 200 ′ includes A random code receiving unit 210, a modified code generating unit 220 ′, an encrypted code generating unit 230 ′, a modified encrypted code generating unit 240 ′, and a modified encrypted code transmitting unit 250 ′ are provided.

この図15に示す第2の実施形態に係る個々の構成要素を、図5に示す第1の実施形態に係る個々の構成要素と比較すると、符号に「′」が付されていないランダムコード発生部110、ランダムコード送信部160、ランダムコード受信部210については、何ら違いはない。   When the individual constituent elements according to the second embodiment shown in FIG. 15 are compared with the individual constituent elements according to the first embodiment shown in FIG. There is no difference between unit 110, random code transmission unit 160, and random code reception unit 210.

また、暗号コード生成部230と230′とについては、本質的な相違はなく、照合用暗号コード生成部130と130′とについても、本質的な相違はない。いずれも、与えられたコードに対して、所定の暗号アルゴリズムAに基づく暗号化演算を行い、暗号コードを生成する機能をもった構成要素である。ただ、図5に示す暗号コード生成部230および照合用暗号コード生成部130が、並替コードR′「35214」を暗号化して暗号コードQ「CEBAD」を生成する処理を行うのに対して、図15に示す暗号コード生成部230′および照合用暗号コード生成部130′は、並替コードR′「35214」の代わりに、修正コードR''「45678」を暗号化して暗号コードQ「DEFGH」を生成する処理を行うことになるので、図15では、便宜上、符号に「′」を付して区別してある。別言すれば、両者は、与えられるコードが異なるだけであり、実質的な処理機能は全く同じものである。   Further, there is no essential difference between the encryption code generation units 230 and 230 ', and there is no essential difference between the verification encryption code generation units 130 and 130'. Both are components having a function of performing an encryption operation based on a predetermined encryption algorithm A on a given code and generating an encryption code. However, the encryption code generation unit 230 and the verification encryption code generation unit 130 illustrated in FIG. 5 perform processing of encrypting the rearrangement code R ′ “35214” and generating the encryption code Q “CEBAD”. The encryption code generation unit 230 ′ and the verification encryption code generation unit 130 ′ illustrated in FIG. 15 encrypt the correction code R ″ “45678” instead of the rearrangement code R ′ “35214” and encrypt the encryption code Q “DEFGH”. In FIG. 15, for the sake of convenience, “′” is added to the reference numerals for distinction. In other words, they are different only in the codes given, and the substantial processing functions are exactly the same.

これに対して、図5に示す各構成要素120,140,220,240と、図15に示す各構成要素120′,140′,220′,240′とは、その処理機能が異なっている。すなわち、前者は「並替コード」もしくは「並替暗号コード」という文言が用いられているとおり、並び替え処理を行う構成要素であるのに対して、後者は「修正コード」もしくは「修正暗号コード」という文言が用いられているとおり、修正処理を行う構成要素である。以下、図15に示す修正コード生成部220′と図5に示す並替コード生成部220とを例にとって、両者の相違を説明する。   On the other hand, each component 120,140,220,240 shown in FIG. 5 and each component 120 ', 140', 220 ', 240' shown in FIG. 15 differ in the processing function. In other words, the former is a component that performs rearrangement processing as the word “reorder code” or “reorder encryption code” is used, whereas the latter is a “correction code” or “correction encryption code”. "Is a component that performs a correction process. Hereinafter, the difference between both will be described using the modified code generation unit 220 ′ illustrated in FIG. 15 and the rearrangement code generation unit 220 illustrated in FIG. 5 as examples.

§2で述べたとおり、図5に示す並替コード生成部220は、与えられたランダムコードRの構成要素を並び替え、並替コードR′を生成する処理を行う。具体的には、図示の例の場合、図6(a) に示す第1の並び替え方法X1に基づいて、5つの数字を羅列してなるランダムコードR「12345」が、「35214」という順序に並び替えられ、並替コードR′が生成されている。   As described in §2, the rearrangement code generation unit 220 illustrated in FIG. 5 performs processing for rearranging the components of the given random code R and generating the rearrangement code R ′. Specifically, in the case of the illustrated example, the random code R “12345” formed by enumerating five numbers based on the first rearrangement method X1 shown in FIG. The rearrangement code R ′ is generated.

これに対して、図15に示す修正コード生成部220′は、与えられたランダムコードRの構成要素となる個々の数字に対して、ランダムに発生された第1の修正数U1を用いた第1の修正演算Y1を行って修正コードR''を生成する処理を行う。図15におけるブロック220′内の丸Y1は、修正演算Y1が行われることを示すものである(以下同様)。具体的には、図示の例の場合、図16(a) に示すように、第1の修正数U1=+3に設定し、この第1の修正数U1を用いた加算からなる第1の修正演算Y1を実行することにより、元になるランダムコードR「12345」に基づいて、「45678」という5つの数字からなる修正コードR''が生成されている。図15に示す照合用修正コード生成部120′の機能も全く同じであり、ランダムコードR「12345」に基づいて、照合用修正コードR''「45678」が生成される。   On the other hand, the correction code generation unit 220 ′ shown in FIG. 15 uses the first correction number U1 generated at random for each number that is a constituent element of the given random code R. Processing for generating a correction code R ″ by performing the correction operation Y1 of 1 is performed. A circle Y1 in the block 220 ′ in FIG. 15 indicates that the correction operation Y1 is performed (the same applies hereinafter). Specifically, in the case of the illustrated example, as shown in FIG. 16 (a), the first correction number U1 is set to +3, and the first correction consisting of addition using the first correction number U1. By executing the calculation Y1, a correction code R ″ composed of five numbers “45678” is generated based on the original random code R “12345”. The function of the matching correction code generation unit 120 ′ shown in FIG. 15 is also the same, and the matching correction code R ″ “45678” is generated based on the random code R “12345”.

図16(a) に示す第1の修正演算Y1は、第1の修正数U1=+3に設定し、元のコードを構成する個々の数字に対して、それぞれ第1の修正数U1を加算することにより修正コードを得る演算である。したがって、図示の例のように、元のコードが「12345」なる5つの数字によって構成される場合、これら5つの数字にそれぞれ「+3」を加算して、「45678」なる5つの数字によって構成される修正コードが生成されることになる。いわば、元のコードに3ずつ下駄を履かせる修正が行われたことになる。もちろん、修正数として負の数字を設定することも可能であるし、修正演算の内容として減算を設定することも可能である。   The first correction operation Y1 shown in FIG. 16 (a) is set to the first correction number U1 = + 3, and the first correction number U1 is added to each number constituting the original code. This is an operation for obtaining a correction code. Therefore, as in the example shown in the figure, when the original code is composed of five numbers “12345”, “+3” is added to each of these five numbers to form five numbers “45678”. A modified code is generated. In other words, the original code has been modified to put three clogs on. Of course, a negative number can be set as the correction number, and subtraction can be set as the content of the correction calculation.

このように、修正演算は、所定の修正数を用いた算術演算であるため、演算対象は基本的には数字ということになるが、文字の場合も、特定の数字に対応づけられていれば、修正演算の対象とすることができる。図16(b) は、文字列を対象とする修正演算の一例を示している。すなわち、図16(b) に示す第2の修正演算Y2は、本来、第2の修正数U2=+6に設定し、元のコードを構成する個々の数字に対して、それぞれ第2の修正数U2を加算することにより修正コードを得る演算であるが、図には、当該修正演算を文字列に適用した例が示されている。   As described above, since the correction operation is an arithmetic operation using a predetermined correction number, the calculation target is basically a number, but even in the case of a character, if it is associated with a specific number , And can be the target of correction calculation. FIG. 16B shows an example of a correction operation for a character string. That is, the second correction operation Y2 shown in FIG. 16 (b) is originally set to the second correction number U2 = + 6, and the second correction number is set for each number constituting the original code. This is an operation for obtaining a correction code by adding U2, but the figure shows an example in which the correction operation is applied to a character string.

具体的には、この例の場合、アルファベットA〜Zの26文字に対して、それぞれ1〜26の数字を対応づけ、個々の文字をそれぞれ対応する数字として取り扱うことにより、数字と同様の修正演算を施している。すなわち、元のコード「DEFGH」をそれぞれ対応する数字「4,5,6,7,8」として取扱い、これら対応する数字に対して第2の修正数U2=+6を加算して「10,11,12,13,14」なる結果を得た後、これを対応するアルファベットに置き換えることにより「JKLMN」なる修正コードを得ている。   Specifically, in the case of this example, each of the letters A to Z is associated with numbers 1 to 26, and each character is treated as a corresponding number, thereby correcting the same as the number. Has been given. That is, the original code “DEFGH” is handled as the corresponding numbers “4, 5, 6, 7, 8”, and the second correction number U2 = + 6 is added to these corresponding numbers to obtain “10, 11”. , 12, 13, 14 "and then replacing it with the corresponding alphabet, the modified code" JKLMN "is obtained.

図15に示す例の場合、暗号コード生成部230′は、図2に示す暗号アルゴリズムに基づいて、与えられた修正コードR''「45678」を暗号化して、アルファベットからなる暗号コードQ「DEFGH」を生成する処理を行う。そして、修正暗号コード生成部240′は、この暗号コードQ「DEFGH」に対して、図16(b) に示すように、第2の修正数U2=+6に設定して、第2の修正演算Y2を行うことになる。この場合、与えられた暗号コードQ「DEFGH」は、対応する数字として取り扱われ、上述した加算処理を行うことにより、修正暗号コードQ''「JKLMN」が得られる。図15に示す照合用修正暗号コード生成部140′の機能も全く同じであり、照合用暗号コードQ「DEFGH」に基づいて、照合用修正暗号コードQ''「JKLMN」が生成される。   In the case of the example shown in FIG. 15, the encryption code generation unit 230 ′ encrypts the given correction code R ″ “45678” based on the encryption algorithm shown in FIG. "Is generated. Then, the modified encryption code generation unit 240 ′ sets the second modification number U2 = + 6 for the encryption code Q “DEFGH” as shown in FIG. Y2 will be performed. In this case, the given encryption code Q “DEFGH” is handled as a corresponding number, and the modified encryption code Q ″ “JKLMN” is obtained by performing the addition process described above. The function of the verification correction encryption code generation unit 140 ′ shown in FIG. 15 is also the same, and the verification correction encryption code Q ″ “JKLMN” is generated based on the verification encryption code Q “DEFGH”.

要するに、第1の情報処理装置100′および第2の情報処理装置200′として、それぞれ特定の数字に対応づけられた文字を取り扱う装置を用いるようにすれば、ランダムコードRもしくは暗号コードQとして文字を含むコードを発生させた場合でも、個々の文字をそれぞれ対応する数字として取り扱う処理を行うようにすれば、文字列からなるコードに対しても上述した修正演算を行うことが可能になる。   In short, as the first information processing apparatus 100 ′ and the second information processing apparatus 200 ′, if devices that handle characters associated with specific numbers are used, characters as random codes R or encryption codes Q are used. Even when a code including a character string is generated, if the process of handling each character as a corresponding number is performed, the correction operation described above can be performed on a code consisting of a character string.

なお、実用上は、ランダムコードRの構成要素となる個々の数字および暗号コードQの構成要素となる個々の数字が、N〜M(但し、N<M)の範囲内の数値となるようにし、第1の修正演算Y1および第2の修正演算Y2を行う際に、演算後の数値VがV<Nとなる場合には(M−N+1)を加算する補正を行い、演算後の数値VがV>Mとなる場合には(M−N+1)を減算する補正を行い、修正演算後の数値がN〜Mの範囲内の数値となるようにするのが好ましい。   In practice, the individual numbers that are the constituent elements of the random code R and the individual numbers that are the constituent elements of the encryption code Q are numerical values within the range of N to M (where N <M). When the first correction calculation Y1 and the second correction calculation Y2 are performed, if the calculated numerical value V is V <N, correction is performed by adding (M−N + 1), and the calculated numerical value V When V> M, it is preferable to perform correction by subtracting (M−N + 1) so that the numerical value after the correction calculation is a numerical value within the range of N to M.

たとえば、ランダムコードRの構成要素となる個々の数字および暗号コードQの構成要素となる個々の数字をそれぞれ1バイトの数字とした場合、1つの数字は0〜255の範囲内の数値となる(上述した式において、N=0、M=255になる)。この場合、修正演算後の数値Vも、同じく0〜255の範囲内の1バイトの数値に収まるようにした方が、演算を簡素化することができる。そこで、第1の修正演算Y1および第2の修正演算Y2を行う際に、演算後の数値VがV<0となる場合には256を加算する補正を行い、演算後の数値VがV>255となる場合には256を減算する補正を行い、修正演算後の数値が0〜255の範囲内の数値となるようにすればよい(実際には、256による除算の余りを求めるようにすればよい)。   For example, when each number that is a constituent element of the random code R and each number that is a constituent element of the encryption code Q is a 1-byte number, one number is a number in the range of 0 to 255 ( In the above formula, N = 0 and M = 255). In this case, the calculation can be simplified if the numerical value V after the correction calculation is also set to a 1-byte numerical value within the range of 0 to 255. Therefore, when the first correction calculation Y1 and the second correction calculation Y2 are performed, if the calculated numerical value V is V <0, correction is performed by adding 256, and the calculated numerical value V is V> In the case of 255, correction by subtracting 256 is performed so that the numerical value after the correction calculation is within a range of 0 to 255 (in practice, the remainder of division by 256 is obtained. Just fine).

また、ランダムコードRの構成要素および暗号コードQの構成要素として、たとえば、1〜26の数字に対応づけられたアルファベットを用いる場合、個々のアルファベットに対応づけられた特定の数値は1〜26の範囲内の数値となる(上述した式において、N=1、M=26になる)。この場合、修正演算後の数値Vも、同じく1〜26の範囲内の1バイトの数値に収まるようにすれば、対応するアルファベットを用いた文字表現が可能になる。そこで、第1の修正演算Y1および第2の修正演算Y2を行う際に、演算後の数値VがV<1となる場合には26を加算する補正を行い、演算後の数値VがV>26となる場合に26を減算する補正を行い、修正演算後の数値が1〜26の範囲内の数値となるようにすればよい。   For example, when alphabets associated with numbers 1 to 26 are used as components of the random code R and components of the encryption code Q, specific numerical values associated with individual alphabets are 1 to 26. It becomes a numerical value within the range (in the above formula, N = 1, M = 26). In this case, if the numerical value V after the correction calculation is also set to a 1-byte numerical value within the range of 1 to 26, character representation using the corresponding alphabet becomes possible. Therefore, when the first correction calculation Y1 and the second correction calculation Y2 are performed, if the calculated value V is V <1, correction is performed by adding 26, and the calculated value V is V> In the case of 26, correction by subtracting 26 may be performed so that the numerical value after the correction calculation becomes a numerical value within the range of 1 to 26.

このように、第2の実施形態に係る認証方法では、暗号化処理の前後において、データに対する並び替えを行う代わりに、データに対する値の修正が行われることになるが、基本的な認証処理の手順は、これまで述べてきた第1の実施形態とほぼ同じである。   As described above, in the authentication method according to the second embodiment, the value for the data is corrected before and after the encryption process, instead of rearranging the data. The procedure is almost the same as that of the first embodiment described so far.

すなわち、まず、ランダムコード発生部110で発生させたランダムコードR「12345」をランダムコード送信部160から送信し、ランダムコード受信部210によってこれを受信する。そして、修正コード生成部220′において、ランダムコードR「12345」に対する第1の修正演算Y1を行って、修正コードR''「45678」を生成し、暗号コード生成部230′において、これを暗号化して、暗号コードQ「DEFGH」を得る。更に、修正暗号コード生成部240′において、暗号コードQ「DEFGH」に対する第2の修正演算Y2を行って、修正暗号コードQ''「JKLMN」を生成し、修正暗号コード送信部250′において、この修正暗号コードQ''「JKLMN」を、各修正演算Y1,Y2を示す修正情報とともに、第1の情報処理装置100′に送信する。   That is, first, the random code R “12345” generated by the random code generation unit 110 is transmitted from the random code transmission unit 160, and is received by the random code reception unit 210. Then, the correction code generation unit 220 ′ performs the first correction operation Y1 on the random code R “12345” to generate the correction code R ″ “45678”, and the encryption code generation unit 230 ′ encrypts this. To obtain the encryption code Q “DEFGH”. Further, the modified encryption code generation unit 240 ′ performs the second modification operation Y2 on the encryption code Q “DEFGH” to generate the modification encryption code Q ″ “JKLMN”, and the modification encryption code transmission unit 250 ′ The modified encryption code Q ″ “JKLMN” is transmitted to the first information processing apparatus 100 ′ together with the modification information indicating the modification operations Y1 and Y2.

一方、修正暗号コード受信部170′が、修正暗号コードQ''「JKLMN」と各修正演算Y1,Y2を示す修正情報とを受信すると、照合用修正コード生成部120′において、ランダムコードR「12345」に対する第1の修正演算Y1を行って、修正コードR''「45678」を生成し、照合用暗号コード生成部130′において、これをアルゴリズムAによって暗号化して、照合用暗号コードQ「DEFGH」を生成する処理が行われる。更に、照合用修正暗号コード生成部140′において、暗号コードQ「DEFGH」に対する第2の修正演算Y2を行って、修正暗号コードQ''「JKLMN」を生成する処理が行われる。そして最後に、照合判定部150′において、修正暗号コード受信部170′が受信した修正暗号コードQ''「JKLMN」と、照合用修正暗号コード生成部140′が生成した照合用修正暗号コードQ''「JKLMN」と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200′を正当性が確認された装置と判定する処理を行うことになる。   On the other hand, when the modified encrypted code receiving unit 170 ′ receives the modified encrypted code Q ″ “JKLMN” and the modified information indicating the modified operations Y1 and Y2, the verification modified code generating unit 120 ′ performs random code R “ The first correction operation Y1 for “12345” is performed to generate a correction code R ″ “45678”, and this is encrypted by the algorithm A in the verification encryption code generation unit 130 ′, and the verification encryption code Q “ A process of generating “DEFGH” is performed. Further, the verification modified encryption code generation unit 140 ′ performs a second modification operation Y2 on the encryption code Q “DEFGH” to generate a modified encryption code Q ″ “JKLMN”. Finally, in the collation determining unit 150 ′, the modified encryption code Q ″ “JKLMN” received by the modified encryption code receiving unit 170 ′ and the verification modified encryption code Q generated by the verification modified encryption code generation unit 140 ′. '' It is checked whether or not “JKLMN” matches, and if they match, the second information processing device 200 ′ is determined to be a device whose validity has been confirmed.

なお、修正コード生成部220′が実行する第1の修正演算Y1や、修正暗号コード生成部240′が実行する第2の修正演算Y2は、認証処理が行われるたびにランダムに定義するようにする。すなわち、ランダムコード受信部210が新たなランダムコードRを受信するたびに、修正コード生成部220′および修正暗号コード生成部240′は、新たに定義された修正演算Y1およびY2に基づいて、毎回、異なる修正演算を行う。なお、実用上は、図16に例示するように、修正演算の内容自体は、たとえば「加算」というように固定しておき、第1の修正数U1および第2の修正数U2を、乱数を用いてランダムに生成するようにすれば十分である。   Note that the first correction operation Y1 executed by the correction code generation unit 220 ′ and the second correction operation Y2 executed by the correction encryption code generation unit 240 ′ are defined randomly every time the authentication process is performed. To do. That is, every time the random code receiving unit 210 receives a new random code R, the modified code generating unit 220 ′ and the modified encrypted code generating unit 240 ′ each time based on the newly defined modified operations Y1 and Y2. , Perform different correction operations. In practice, as illustrated in FIG. 16, the content of the correction operation itself is fixed, for example, “addition”, and the first correction number U1 and the second correction number U2 are set as random numbers. It is sufficient to use and generate randomly.

結局、この図15に示す認証方法を採用した場合、第1の情報処理装置100′から第2の情報処理装置200′に対して、チャレンジとしてランダムコードR「12345」が与えられると、第2の情報処理装置200′内では、ランダムコードR「12345」→修正コードR''「45678」→暗号コードQ「DEFGH」→修正暗号コードQ''「JKLMN」に変換された後、この修正暗号コードQ''「JKLMN」がレスポンスとして返信されることになる。   After all, when the authentication method shown in FIG. 15 is adopted, if the random code R “12345” is given as a challenge from the first information processing apparatus 100 ′ to the second information processing apparatus 200 ′, the second information processing apparatus 100 ′ In the information processing apparatus 200 ′, after the random code R “12345” → the modified code R ″ “45678” → the encryption code Q “DEFGH” → the modified encryption code Q ″ “JKLMN”, The code Q ″ “JKLMN” is returned as a response.

このように、図15に示す第2の実施形態に係る認証方法を採用すれば、図5に示す第1の実施形態に係る認証方法を採用した場合と同様に、通信傍受によって得られる情報とサイドチャネル解析によって得られる情報との間には、直接的な関連がないため、両者を組み合わせたとしても、暗号アルゴリズムAを推定することは困難である。   As described above, if the authentication method according to the second embodiment shown in FIG. 15 is adopted, the information obtained by the interception of communication is the same as when the authentication method according to the first embodiment shown in FIG. 5 is adopted. Since there is no direct relationship with the information obtained by the side channel analysis, it is difficult to estimate the encryption algorithm A even if both are combined.

すなわち、図15に示す認証方法を採用した場合、通信傍受によって得られる情報は、図17に示すとおり、ランダムコードR「12345」によるチャレンジに対して、修正暗号コードQ''「JKLMN」というレスポンスが得られるという事実である。しかしながら、このとき、暗号コード生成部230′の内部で行われている暗号化処理の演算は、ランダムコードR「12345」を修正暗号コードQ''「JKLMN」に変換する演算ではなく、修正コードR''「45678」を暗号コードQ「DEFGH」に変換する演算であり、サイドチャネル解析によって得られる情報は、図17に示すとおり、修正コードR''「45678」を暗号コードQ「DEFGH」に変換する演算を実行する際の消費電力、演算処理時間、発生する電磁波などの情報ということになる。よって、この第2の実施形態を採用した場合も、通信傍受とサイドチャネル解析とを組み合わせた攻撃にも十分に耐え得る認証方法が実現できる。   That is, when the authentication method shown in FIG. 15 is adopted, the information obtained by the communication interception is a response of the modified encryption code Q ″ “JKLMN” to the challenge by the random code R “12345” as shown in FIG. Is the fact that However, at this time, the operation of the encryption process performed in the encryption code generation unit 230 ′ is not an operation for converting the random code R “12345” into the correction encryption code Q ″ “JKLMN”, but the correction code. This is an operation for converting R ″ “45678” into the encryption code Q “DEFGH”, and the information obtained by the side channel analysis is that the correction code R ″ “45678” is converted into the encryption code Q “DEFGH” as shown in FIG. That is, information on power consumption, calculation processing time, generated electromagnetic waves, and the like when executing the calculation to be converted into the above. Therefore, even when this second embodiment is adopted, an authentication method that can sufficiently withstand an attack combining communication interception and side channel analysis can be realized.

また、本発明を導入するにあたっては、暗号化処理の前後に、比較的単純なデータ処理
(図示の例の場合は、単なる加算処理)を行うプロセスを追加するだけでよいので、非常に効率的な処理により上記攻撃への対抗策を用意することができ、導入コストを抑制させることができる。
Also, when introducing the present invention, it is very efficient because it is only necessary to add a process for performing relatively simple data processing (in the case of the example, simple addition processing) before and after the encryption processing. By the simple processing, a countermeasure against the above attack can be prepared, and the introduction cost can be suppressed.

このように、本発明の第2の実施形態に係る情報処理装置の認証方法では、第1の情報処理装置100′が第2の情報処理装置200′を正当性が確認された装置として認証するために、まず、第1の情報処理装置100′側において、乱数を利用して、数字(上述したように、特定の数字に対応づけられた文字でもよい)を羅列したランダムコードRを発生させ、これを第2の情報処理装置200′に送信する段階(ランダムコード発生部110およびランダムコード送信部160による処理)が行われる。   As described above, in the authentication method for the information processing apparatus according to the second embodiment of the present invention, the first information processing apparatus 100 ′ authenticates the second information processing apparatus 200 ′ as an apparatus whose validity has been confirmed. For this purpose, first, on the first information processing apparatus 100 ′ side, a random code R in which numbers (which may be characters associated with specific numbers as described above) are enumerated is generated using random numbers. The step of transmitting this to the second information processing apparatus 200 ′ (processing by the random code generation unit 110 and the random code transmission unit 160) is performed.

続いて、第2の情報処理装置200′側において、送信されてきたランダムコードRを受信し、その構成要素となる個々の数字に対して、ランダムに発生した第1の修正数U1を用いた第1の修正演算Y1を行って修正コードR''を生成する段階(ランダムコード受信部210および修正コード生成部220′による処理)と、この修正コードR''を所定の暗号アルゴリズムにAに基づく暗号化演算によって暗号化し、暗号コードQを生成する段階(暗号コード生成部230′による処理)と、この暗号コードQの構成要素となる個々の数字に対して、ランダムに発生した第2の修正数U2を用いた第2の修正演算Y2を行って修正暗号コードQ''を生成する段階(修正暗号コード生成部240′による処理)と、修正暗号コードQ''とともに、第1の修正演算Y1および第2の修正演算Y2を示す修正情報を、第1の情報処理装置100′に送信する段階(修正暗号コード送信部250′による処理)と、が行われる。   Subsequently, the second information processing apparatus 200 ′ side receives the transmitted random code R, and uses the first correction number U1 generated at random for each number as a constituent element. Performing the first correction operation Y1 to generate a correction code R ″ (processing by the random code receiving unit 210 and the correction code generation unit 220 ′), and using this correction code R ″ as a predetermined encryption algorithm for A A step of generating an encryption code Q by encryption based on the encryption operation (processing by the encryption code generation unit 230 '), and a second generated randomly for each number that is a constituent element of the encryption code Q Performing the second modification operation Y2 using the modification number U2 to generate the modified cryptographic code Q ″ (processing by the modified cryptographic code generation unit 240 ′), together with the modified cryptographic code Q ″ The correction information indicating a first correction operation Y1 and second correction operation Y2, and 'step of transmitting the (modified encryption code transmission unit 250' first information processing apparatus 100 treatment with), is performed.

そして、第1の情報処理装置100′側において、修正暗号コードQ''とともに、修正情報を受信し(修正暗号コード受信部170′による処理)、受信した修正暗号コードQ''の正当性を、受信した修正情報に基づく修正演算処理(照合用修正コード生成部120′および照合用修正暗号コード生成部140′による処理)および暗号コード生成部230′による暗号化処理と同じ暗号アルゴリズムAに基づく暗号化演算(照合用暗号コード生成部130′による処理)によって確認する段階が行われる。   Then, on the first information processing apparatus 100 ′ side, the correction information is received together with the correction encryption code Q ″ (processing by the correction encryption code receiving unit 170 ′), and the validity of the received correction encryption code Q ″ is confirmed. Based on the same cryptographic algorithm A as the correction calculation process based on the received correction information (the process performed by the verification correction code generation unit 120 ′ and the verification correction encrypted code generation unit 140 ′) and the encryption process performed by the encryption code generation unit 230 ′ A step of confirmation is performed by an encryption operation (processing by the verification encryption code generation unit 130 ').

なお、第2の情報処理装置200′から第1の情報処理装置100′への修正情報(第1の修正演算Y1および第2の修正演算Y2を示す情報)の送信は、実際には暗号化した状態で行うのが好ましい。すなわち、第2の情報処理装置200′側で修正情報の暗号化処理を行い、暗号化された状態の修正情報が修正暗号コード送信部250′から修正暗号コード受信部170′へと送信されるようにし、これを第1の情報処理装置100′側で復号して元に戻すようにすれば、通信傍受が行われても修正情報が露見するのを防ぐことができる。   Note that transmission of correction information (information indicating the first correction calculation Y1 and the second correction calculation Y2) from the second information processing apparatus 200 ′ to the first information processing apparatus 100 ′ is actually encrypted. It is preferable to carry out in such a state. That is, the correction information is encrypted on the second information processing apparatus 200 'side, and the encrypted correction information is transmitted from the corrected encryption code transmitting unit 250' to the corrected encryption code receiving unit 170 '. Thus, if this is decoded on the first information processing apparatus 100 ′ side and returned to its original state, it is possible to prevent the correction information from being exposed even if communication interception is performed.

また、図15に示す例では、第1の情報処理装置100′側において、第2の情報処理装置200′側で行われた暗号化演算と同じ暗号化演算を行い、照合判定部150′が双方の処理結果として得られた修正暗号コードQ''の一致確認を行うことにより認証を行っているが、本発明は、必ずしもこのような手順で一致確認を行う例に限定されるものではない。たとえば、第1の情報処理装置100′側において、修正暗号コードQ''に基づく復号演算(暗号コード生成部230′による暗号化処理と同じ暗号アルゴリズムAに基づく復号演算)を実行することにより照合を行ってもかまわない。   In the example shown in FIG. 15, the same encryption operation as that performed on the second information processing device 200 ′ is performed on the first information processing device 100 ′ side, and the collation determining unit 150 ′ Although the authentication is performed by confirming the matching of the modified encryption code Q ″ obtained as a result of both processes, the present invention is not necessarily limited to the example in which the matching is confirmed by such a procedure. . For example, the first information processing apparatus 100 ′ side performs verification by executing a decryption operation based on the modified encryption code Q ″ (a decryption operation based on the same encryption algorithm A as the encryption processing by the encryption code generation unit 230 ′). You can go.

更に、図15に示す例では、第2の情報処理装置200′側において、第1の修正演算Y1に基づくランダムコードRに対する修正処理と、第2の修正演算Y2に基づく暗号コードQに対する修正処理と、を行っているため、これに応じて、第1の情報処理装置100′側においても、第1の修正演算Y1に基づくランダムコードRに対する修正処理と、第2の修正演算Y2に基づく暗号コードQに対する修正処理と、を行っている。しかしながら、本発明は、必ずしもこのような手順で一致確認を行う例に限定されるものではなく、たとえば、第1の情報処理装置100′側において、一方の修正処理を省略することも可能である。この場合、修正暗号コード送信部250′は、修正暗号コードQ''とともに、第1の修正演算Y1および第2の修正演算Y2の双方を示す修正情報を送信する必要はなく、いずれか一方を示す修正情報を送信すれば足りる。   Further, in the example shown in FIG. 15, on the second information processing apparatus 200 ′ side, a correction process for the random code R based on the first correction calculation Y1 and a correction process for the encryption code Q based on the second correction calculation Y2 Accordingly, on the first information processing apparatus 100 ′ side as well, the correction process for the random code R based on the first correction operation Y1 and the encryption based on the second correction operation Y2 are performed accordingly. The correction process for the code Q is performed. However, the present invention is not necessarily limited to an example in which matching is confirmed by such a procedure. For example, one correction process can be omitted on the first information processing apparatus 100 'side. . In this case, the modified encryption code transmission unit 250 ′ does not need to transmit the modification information indicating both the first modification operation Y1 and the second modification operation Y2 together with the modification encryption code Q ″, and either one of them is transmitted. It is sufficient to send the correction information shown.

このように、ここでは図15に示す基本的な実施例に基づいて本発明の第2の実施形態の基本概念を説明したが、実際には、細かな部分を変更した様々なバリエーションが考えられる。そこで、以下の§5では、このようなバリエーションに係る実施例をいくつか述べることにする。   As described above, the basic concept of the second embodiment of the present invention has been described based on the basic example shown in FIG. 15, but actually, various variations in which detailed portions are changed are conceivable. . Therefore, in the following §5, some examples relating to such variations will be described.

<<< §5. 第2の実施形態の具体的な実施例 >>>
本発明の第2の実施形態の特徴は、図15の例を用いてその基本概念を説明したように、認証を行う際に、図16に例示するような修正演算をランダムに定義し、暗号化処理を行う際に修正処理を行う点にある。以下、その具体的な実施例をいくつか説明する。なお、ここで述べる第2の実施形態に係る実施例a〜gは、§3で述べた第1の実施形態に係る実施例A〜Gにそれぞれ対応するものである。よって、以下の説明では、必要に応じて実施例A〜Gと対比させながら、各実施例a〜gの特徴を述べることにする。
<<< §5. Specific Example of the Second Embodiment >>>
The feature of the second embodiment of the present invention is that, as described in the basic concept using the example of FIG. 15, when performing authentication, a correction operation as illustrated in FIG. The correction processing is performed when the conversion processing is performed. Several specific examples will be described below. Examples a to g according to the second embodiment described here correspond to Examples A to G according to the first embodiment described in §3, respectively. Therefore, in the following description, the features of each of the examples a to g will be described while comparing with the examples A to G as necessary.

<5−1.実施例a:暗号化による照合その1>
図18は、第2の実施形態の実施例aを示すブロック図である。この実施例aは、§3−1で述べた第1の実施形態の実施例Aに対応するものであり、ここでは、第1の情報処理装置100aが第2の情報処理装置200aの正当性を確認する処理が行われることになる。
<5-1. Example a: Verification by encryption part 1>
FIG. 18 is a block diagram illustrating Example a of the second embodiment. This example a corresponds to the example A of the first embodiment described in §3-1. Here, the first information processing apparatus 100a is the legitimacy of the second information processing apparatus 200a. The process of confirming is performed.

図示のとおり、この実施例aの場合、認証処理に関与する構成要素として、第1の情報処理装置100aには、ランダムコード発生部110、照合用修正コード生成部120a、照合用暗号コード生成部130a、照合用修正暗号コード生成部140a、照合判定部150a、ランダムコード送信部160、修正暗号コード受信部170a、修正数復号部180aが設けられている。一方、第2の情報処理装置200aには、ランダムコード受信部210、修正コード生成部220a、暗号コード生成部230a、修正暗号コード生成部240a、修正暗号コード送信部250a、修正数暗号化部260a、修正数生成部270aが設けられている。   As shown in the figure, in the case of the embodiment a, the first information processing apparatus 100a includes a random code generation unit 110, a verification correction code generation unit 120a, a verification encryption code generation unit as constituent elements involved in the authentication process. 130a, a verification modified encryption code generation unit 140a, a verification determination unit 150a, a random code transmission unit 160, a modified encryption code reception unit 170a, and a modification number decryption unit 180a are provided. On the other hand, the second information processing apparatus 200a includes a random code receiving unit 210, a modified code generating unit 220a, an encrypted code generating unit 230a, a modified encrypted code generating unit 240a, a modified encrypted code transmitting unit 250a, and a modified number encrypting unit 260a. A correction number generation unit 270a is provided.

ここで、ランダムコード発生部110、ランダムコード送信部160、ランダムコード受信部210は、図8に示す実施例Aの同符号の構成要素と全く同じものである。一方、数字の末尾にaを付した符号で示されている他の構成要素は、図8に示す実施例Aにおける同数字の符号で示されている構成要素に対応するものであり、それぞれ対応する構成要素に準じた機能を有している。   Here, the random code generation unit 110, the random code transmission unit 160, and the random code reception unit 210 are exactly the same as the components of the same reference numerals in the embodiment A shown in FIG. On the other hand, the other constituent elements indicated by the reference numeral a added to the end of the number correspond to the constituent elements indicated by the same reference numeral in the embodiment A shown in FIG. It has a function according to the constituent elements.

図8に示す実施例Aと図18に示す実施例aとの大きな相違点は、前者における構成要素120,220,140,240が、与えられたコードに対する並び替えを行って並替コードR′もしくは並替暗号コードQ′を生成するのに対して、後者における構成要素120a,220a,140a,240aが、与えられたコードに対する修正演算を行って修正コードR''もしくは修正暗号コードQ''を生成する点である。   The major difference between the embodiment A shown in FIG. 8 and the embodiment a shown in FIG. 18 is that the former components 120, 220, 140, and 240 rearrange the given code to change the rearranged code R ′. Alternatively, while the rearranged encryption code Q ′ is generated, the latter component 120a, 220a, 140a, 240a performs a correction operation on the given code to change the correction code R ″ or the correction encryption code Q ″. Is a point that generates

そのため、構成要素130a,230aは、修正コードR''に対する暗号化処理を行うことになる。また、修正数生成部270aは、ランダムコード受信部210が新たなランダムコードRを受信するたびに、修正演算に利用するランダムな数値である第1の修正数U1および第2の修正数U2を乱数に基づいて生成する。第1の修正数U1は、修正コード生成部220aにおける第1の修正演算Y1に利用され、第2の修正数U2は、修正暗号コード生成部240aにおける第2の修正演算Y2に利用される。   Therefore, the constituent elements 130a and 230a perform encryption processing on the correction code R ″. In addition, each time the random code receiving unit 210 receives a new random code R, the correction number generation unit 270a obtains the first correction number U1 and the second correction number U2 that are random numerical values used for the correction calculation. Generate based on random numbers. The first modification number U1 is used for the first modification operation Y1 in the modification code generation unit 220a, and the second modification number U2 is used for the second modification operation Y2 in the modification encryption code generation unit 240a.

一方、修正数暗号化部260aは、これらを暗号化して、第1の暗号化修正数U1および第2の暗号化修正数U2を生成し、修正暗号コード送信部250aは、修正暗号コード生成部240aによって生成された修正暗号コードQ''とともに、第1の暗号化修正数U1および第2の暗号化修正数U2を第1の情報処理装置100aに送信する。 On the other hand, the modified number encryption unit 260a encrypts these to generate the first encrypted modified number U1 * and the second encrypted modified number U2 * , and the modified encrypted code transmission unit 250a performs the modified encrypted code. The first encryption modification number U1 * and the second encryption modification number U2 * are transmitted to the first information processing apparatus 100a together with the modified encryption code Q ″ generated by the generation unit 240a.

修正暗号コード受信部170aは、こうして送信されてきた修正暗号コードQ''および暗号化修正数U1,U2を受信する。受信した修正暗号コードQ''は、照合判定部150aに与えられ、受信した暗号化修正数U1,U2は、修正数復号部180aに与えられる。修正数復号部180aは、暗号化修正数U1,U2をそれぞれ復号し、元の修正数U1,U2を復元する処理を行う。 The modified encrypted code receiving unit 170a receives the modified encrypted code Q ″ and the encrypted modified numbers U1 * and U2 * transmitted in this way. The received modified encryption code Q ″ is provided to the collation determination unit 150a, and the received encrypted modification numbers U1 * and U2 * are provided to the modification number decryption unit 180a. The modification number decryption unit 180a performs a process of decrypting the encrypted modification numbers U1 * and U2 * , respectively, and restoring the original modification numbers U1 and U2.

照合用修正コード生成部120aは、こうして復元された第1の修正数U1を用いた第1の修正演算Y1に基づいてランダムコードRを修正し、修正コードR''を生成する処理を行う。同様に、照合用修正暗号コード生成部140aは、こうして復元された第2の修正数U2を用いた第2の修正演算Y2に基づいて照合用暗号コードQを修正し、修正暗号コードQ''を生成する処理を行う。各修正演算の内容として、たとえば「加算」を行うことに定めておけば、修正数が定まれば具体的な修正演算も一義的に定まることになる。   The verification correction code generation unit 120a performs a process of correcting the random code R based on the first correction operation Y1 using the first correction number U1 restored in this way and generating a correction code R ″. Similarly, the verification correction encryption code generation unit 140a corrects the verification encryption code Q based on the second correction operation Y2 using the second correction number U2 restored in this way, and the correction encryption code Q ″. Process to generate. For example, if it is determined that “addition” is performed as the content of each correction calculation, a specific correction calculation is uniquely determined when the number of corrections is determined.

なお、修正数U1,U2の暗号化および復号には、公開鍵暗号方式を利用するのが好ましい。具体的には、修正数暗号化部260aが、公開鍵暗号方式に用いる一対の鍵のうちの一方の鍵を用いて修正数U1,U2の暗号化を行って暗号化修正数U1,U2を生成するようにし、修正数復号部180aが、上記一対の鍵のうちの他方の鍵を用いて暗号化修正数U1,U2に対する復号を行って元の修正数U1,U2を生成するようにすればよい。 Note that it is preferable to use a public key cryptosystem for encryption and decryption of the modified numbers U1 and U2. Specifically, the modification number encryption unit 260a encrypts the modification numbers U1 and U2 using one of a pair of keys used in the public key cryptosystem, and the encrypted modification numbers U1 * and U2 * , And the modified number decryption unit 180a decrypts the encrypted modified numbers U1 * and U2 * using the other key of the pair of keys to generate the original modified numbers U1 and U2. You just have to do it.

たとえば、第1の情報処理装置100aがサーバ装置、第2の情報処理装置200aがクライアント装置の場合、修正数暗号化部260aは、サーバ装置100aを管理する者の公開鍵を用いて暗号化を行い、修正数復号部180aは、サーバ装置100aを管理する者の秘密鍵を用いて復号を行うことができる。   For example, when the first information processing apparatus 100a is a server apparatus and the second information processing apparatus 200a is a client apparatus, the modification number encryption unit 260a performs encryption using the public key of the person who manages the server apparatus 100a. Then, the modified number decryption unit 180a can perform decryption using the secret key of the person who manages the server device 100a.

上述したとおり、修正数U1,U2は、図示する認証処理を行うたびに、第2の情報処理装置200a側で乱数を利用して新たに生成されるランダムな数値であるため、これを第1の情報処理装置100a側に送信する必要がある。ここに示す実施例aでは、修正数U1,U2を暗号化して、暗号化修正数U1,U2の形で送信することができるので、通信傍受が行われても、修正数U1,U2が直接露見することはない。したがって、不正な攻撃に対する防備をより高めることができる。 As described above, each of the correction numbers U1 and U2 is a random number newly generated by using a random number on the second information processing apparatus 200a each time the illustrated authentication process is performed. It is necessary to transmit to the information processing apparatus 100a side. In the embodiment a shown here, the modification numbers U1 and U2 can be encrypted and transmitted in the form of the encrypted modification numbers U1 * and U2 *. Therefore, even if communication interception is performed, the modification numbers U1 and U2 Will not be exposed directly. Therefore, defense against unauthorized attacks can be further enhanced.

なお、図16には、第1の修正数U1および第2の修正数U2として、それぞれ異なる数値を生成した例を示したが、修正数U1,U2は、必ずしも異なる数値である必要はなく、同一の数値を用いるようにしてもかまわない。ただ、それぞれ異なる数値を用意した方が、不正な攻撃に対する防備を高める上では効果的であるので、実用上は、図16に示す例のように、第1の修正数U1および第2の修正数U2として、それぞれ異なる数値をランダムに生成するのが好ましい。   FIG. 16 shows an example in which different numerical values are generated as the first correction number U1 and the second correction number U2, but the correction numbers U1 and U2 are not necessarily different numerical values. The same numerical value may be used. However, since it is more effective to increase the defense against unauthorized attacks by preparing different numerical values, the first correction number U1 and the second correction are practically used as shown in FIG. It is preferable that different numerical values are randomly generated as the number U2.

続いて、図18を参照しながら、実施例aにおける認証方法の具体的な処理内容、すなわち、第1の情報処理装置100aが第2の情報処理装置200aを正当性が確認された装置として認証するための具体的手順を、データの流れを追って順に説明する。   Subsequently, with reference to FIG. 18, the specific processing content of the authentication method in the embodiment a, that is, the first information processing apparatus 100a authenticates the second information processing apparatus 200a as the apparatus whose validity has been confirmed. The specific procedure for doing this will be explained in order following the flow of data.

まず、ランダムコード発生部110において、乱数を利用して、構成要素となる数字(特定の数字に対応づけられた文字でもよい)を羅列したランダムコードRを発生させるランダムコード発生段階が行われる。図示の例は、5つの数字を羅列したランダムコードR「12345」が発生された例である。実用上は1バイトの数字をn個羅列したnバイトのランダムコードRを生成すればよい。そして、ランダムコード送信部160において、このランダムコードR「12345」を第2の情報処理装置200aに送信するランダムコード送信段階が行われる。   First, the random code generation unit 110 uses a random number to perform a random code generation stage for generating a random code R that enumerates numbers (which may be characters associated with specific numbers) as constituent elements. The illustrated example is an example in which a random code R “12345” in which five numbers are arranged is generated. In practice, an n-byte random code R in which n 1-byte numbers are arranged may be generated. Then, the random code transmission unit 160 performs a random code transmission step of transmitting the random code R “12345” to the second information processing apparatus 200a.

続いて、ランダムコード受信部210において、送信されてきたランダムコードR「12345」を受信するランダムコード受信段階が行われ、修正数生成部270aにおいて、乱数を利用して、第1の修正数U1および第2の修正数U2(図16に示す例の場合、U1=+3,U2=+6)を生成する修正数生成段階が行われる。   Subsequently, the random code receiving unit 210 performs a random code receiving step of receiving the transmitted random code R “12345”, and the correction number generation unit 270a uses the random number to generate the first correction number U1. Then, a correction number generation stage for generating the second correction number U2 (U1 = + 3, U2 = + 6 in the example shown in FIG. 16) is performed.

そして、修正コード生成部220aにおいて、ランダムコードR「12345」の構成要素となる個々の数字に対して、第1の修正数U1に基づく第1の修正演算Y1(図16に示す例の場合、修正数+3を加算する演算)を実行することにより、修正コードR''「45678」を生成する修正コード生成段階が行われ、暗号コード生成部230aにおいて、所定の暗号アルゴリズムAに基づく暗号化演算によって、修正コードR''「45678」を暗号化して暗号コードQ「DEFGH」を生成する暗号コード生成段階が行われ、更に、修正暗号コード生成部240aにおいて、暗号コードQ「DEFGH」の構成要素となる個々の数字に対して、第2の修正数U2に基づく第2の修正演算Y2(図16に示す例の場合、修正数+6を加算する演算)を実行することにより、修正暗号コードQ''「JKLMN」を生成する修正暗号コード生成段階が行われる。   Then, in the correction code generation unit 220a, the first correction calculation Y1 based on the first correction number U1 (in the case of the example shown in FIG. 16) for each number that is a constituent element of the random code R “12345”. The operation of generating the correction code R ″ “45678” is performed by executing the calculation of adding the correction number +3), and the encryption code generation unit 230a performs the encryption operation based on the predetermined encryption algorithm A. The encrypted code generation step of encrypting the modified code R ″ “45678” to generate the encrypted code Q “DEFGH” is performed, and the modified encrypted code generation unit 240a further includes the constituent elements of the encrypted code Q “DEFGH”. Is added to the second correction operation Y2 based on the second correction number U2 (in the case of the example shown in FIG. 16, the correction number +6 is added). The modified cryptographic code generation stage for generating the modified cryptographic code Q ″ “JKLMN” is performed.

また、修正数暗号化部260aでは、第1の修正数U1および第2の修正数U2をそれぞれ暗号化し、第1の暗号化修正数U1および第2の暗号化修正数U2を生成する修正数暗号化段階が行われる。そして、修正暗号コード送信部250aにおいて、修正暗号コードQ''「JKLMN」とともに、第1の暗号化修正数U1および第2の暗号化修正数U2を、第1の情報処理装置100aに送信する修正暗号コード送信段階が行われる。 In addition, the modification number encryption unit 260a encrypts the first modification number U1 and the second modification number U2, respectively, and generates the first encryption modification number U1 * and the second encryption modification number U2 * . A modified number encryption step is performed. Then, in the modified encryption code transmission unit 250a, the first encryption modification number U1 * and the second encryption modification number U2 * are transmitted to the first information processing apparatus 100a together with the modification encryption code Q ″ “JKLMN”. A modified encryption code transmission stage for transmission is performed.

一方、修正暗号コード受信部170aでは、送信を受けた修正暗号コードQ''「JKLMN」、ならびに、第1の暗号化修正数U1および第2の暗号化修正数U2を受信する修正暗号コード受信段階が行われ、修正数復号部180aでは、第1の暗号化修正数U1および第2の暗号化修正数U2をそれぞれ復号し、第1の修正数U1および第2の修正数U2を復元する修正数復号段階が行われる。 On the other hand, the modified encryption code receiving unit 170a receives the modified encryption code Q ″ “JKLMN” that has been transmitted, and the modified encryption code that receives the first encryption modification number U1 * and the second encryption modification number U2 *. The code reception stage is performed, and the modification number decryption unit 180a decrypts the first encryption modification number U1 * and the second encryption modification number U2 * , respectively, and the first modification number U1 and the second modification number. A modified number decoding step is performed to restore U2.

そして、照合用修正コード生成部120aにおいて、ランダムコード発生部110が発生させたランダムコードR「12345」の構成要素となる個々の数字に対して、復元された第1の修正数U1を用いた第1の修正演算Y1を行って照合用修正コードR''「45678」を生成する照合用修正コード生成段階が行われ、照合用暗号コード生成部130aにおいて、暗号コード生成部230aが採用している暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく暗号化演算によって、照合用修正コードR''「45678」を暗号化して照合用暗号コードQ「DEFGH」を生成する照合用暗号コード生成段階が行われ、更に、照合用修正暗号コード生成部140aにおいて、照合用暗号コードQ「DEFGH」の構成要素となる個々の数字に対して、復元された第2の修正数U2を用いた第2の修正演算Y2を行って、照合用修正暗号コードQ''「JKLMN」を生成する照合用修正暗号コード生成段階が行われる。   In the verification correction code generation unit 120a, the restored first correction number U1 is used for each number that is a constituent element of the random code R “12345” generated by the random code generation unit 110. A verification correction code generation stage for generating a verification correction code R ″ “45678” by performing the first correction operation Y1 is performed. In the verification encryption code generation unit 130a, the encryption code generation unit 230a employs A verification encryption code generation stage is performed in which the verification correction code R ″ “45678” is encrypted and the verification encryption code Q “DEFGH” is generated by an encryption operation based on the same encryption algorithm A as the encryption algorithm A being used. Further, in the verification modified encryption code generation unit 140a, individual numbers that are constituent elements of the verification encryption code Q “DEFGH” On the other hand, the second modification operation Y2 using the restored second modification number U2 is performed, and the collation correction cipher code generation stage for generating the collation correction cipher code Q ″ “JKLMN” is performed. .

そして、最後に、照合判定部150aにおいて、修正暗号コード受信部170aが受信した修正暗号コードQ''「JKLMN」と、照合用修正暗号コード生成部140aが生成した照合用修正暗号コードQ''「JKLMN」と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200aを正当性が確認された装置と判定する照合判定段階が行われる。   Finally, in the collation determining unit 150a, the modified cryptographic code Q ″ “JKLMN” received by the modified cryptographic code receiving unit 170a and the modified cryptographic code Q ″ for verification generated by the verification modified cryptographic code generation unit 140a. Whether or not “JKLMN” matches is checked, and if it matches, a matching determination step is performed in which the second information processing device 200a is determined as a device whose validity has been confirmed.

結局、この図18に示す実施例aに係る認証方法を採用した場合、第1の情報処理装置100aから第2の情報処理装置200aに対して、チャレンジとしてランダムコードR「12345」が与えられると、修正コード生成部220aにおいて、このランダムコードR「12345」は、第1の修正数U1を用いた第1の修正演算Y1によって修正コードR''「45678」に変換される。そして、暗号コード生成部230aは、この修正コードR''「45678」に対して暗号アルゴリズムAに基づく暗号化処理を行って、暗号コードQ「DEFGH」を生成する。更に、修正暗号コード生成部240aにおいて、この暗号コードQ「DEFGH」は、第2の修正数U2を用いた第2の修正演算Y2によって修正暗号コードQ''「JKLMN」に変換された後、この修正暗号コードQ''「JKLMN」がレスポンスとして返信されることになる。   After all, when the authentication method according to the embodiment a shown in FIG. 18 is adopted, when the random code R “12345” is given as a challenge from the first information processing apparatus 100a to the second information processing apparatus 200a. In the correction code generation unit 220a, the random code R “12345” is converted into the correction code R ″ “45678” by the first correction operation Y1 using the first correction number U1. Then, the encryption code generation unit 230a performs encryption processing based on the encryption algorithm A on the modified code R ″ “45678” to generate the encryption code Q “DEFGH”. Further, in the modified encryption code generation unit 240a, this encryption code Q “DEFGH” is converted into the modified encryption code Q ″ “JKLMN” by the second modification operation Y2 using the second modification number U2. This modified encryption code Q ″ “JKLMN” is returned as a response.

このとき、第1の情報処理装置100aには、このレスポンスとともに、修正数U1,U2が暗号化された状態で送信される。しかも、照合用暗号コード生成部130aは、暗号コード生成部230aと同じ暗号アルゴリズムAを用いた暗号化処理を実行する機能を有している。したがって、第1の情報処理装置100a側においても、第2の情報処理装置200a側において実行された手順と同様の手順を実行して、ランダムコードR「12345」→修正コードR''「45678」→暗号コードQ「DEFGH」→修正暗号コードQ''「JKLMN」という変遷を辿って、修正暗号コードQ''「JKLMN」を得ることができ、最終的に、照合判定部150aにおいて、修正暗号コードQ''「JKLMN」の一致確認を行うことにより、第2の情報処理装置200aの正当性が確認されることになる。   At this time, the correction numbers U1 and U2 are transmitted to the first information processing apparatus 100a together with this response in an encrypted state. Moreover, the verification encryption code generation unit 130a has a function of executing an encryption process using the same encryption algorithm A as the encryption code generation unit 230a. Therefore, on the first information processing apparatus 100a side as well, a procedure similar to the procedure executed on the second information processing apparatus 200a side is executed, and the random code R “12345” → the correction code R ″ “45678”. → Cryptographic code Q “DEFGH” → Modified cryptographic code Q ″ “JKLMN” can be traced to obtain the modified cryptographic code Q ″ “JKLMN”. By confirming the coincidence of the code Q ″ “JKLMN”, the validity of the second information processing apparatus 200a is confirmed.

この実施例aに示す認証方法が、通信傍受およびサイドチャネル解析を組み合わせた攻撃に対しても十分な防備機能を果たすことは、第1の実施形態と全く同じである。すなわち、図18に示す認証方法を採用した場合、通信傍受によって得られる情報は、ランダムコードR「12345」によるチャレンジに対して、修正暗号コードQ''「JKLMN」というレスポンスが得られるという事実である。   It is exactly the same as the first embodiment that the authentication method shown in Example a performs a sufficient defense function against an attack combining communication interception and side channel analysis. That is, when the authentication method shown in FIG. 18 is adopted, the information obtained by communication interception is the fact that a response of the modified encryption code Q ″ “JKLMN” is obtained in response to the challenge by the random code R “12345”. is there.

ところが、このとき、暗号コード生成部230aの内部で行われている暗号化処理の演算は、ランダムコードR「12345」を修正暗号コードQ''「JKLMN」に変換する演算ではなく、修正コードR''「45678」を暗号コードQ「DEFGH」に変換する演算であり、サイドチャネル解析によって得られる情報は、修正コードR''「45678」を暗号コードQ「DEFGH」に変換する演算を実行する際の消費電力、演算処理時間、発生する電磁波などの情報ということになる。   However, at this time, the operation of the encryption process performed inside the encryption code generation unit 230a is not the operation of converting the random code R “12345” into the corrected encryption code Q ″ “JKLMN”, but the correction code R '' "45678" is an operation for converting the encryption code Q "DEFGH", and information obtained by the side channel analysis is an operation for converting the correction code R "" 45678 "into the encryption code Q" DEFGH ". This means information such as power consumption, calculation processing time, and generated electromagnetic waves.

このように、通信傍受によりチャレンジ「12345」とレスポンス「JKLMN」とが特定されたとしても、実際に行われている暗号化処理の演算は、別なコード「45678」を「DEFGH」に変換する演算であるため、両者を組み合わせた解析を行ったとしても、暗号アルゴリズムAを推定することは困難になる。   As described above, even if the challenge “12345” and the response “JKLMN” are specified by the communication interception, the operation of the encryption process actually performed converts another code “45678” to “DEFGH”. Since it is an operation, it is difficult to estimate the encryption algorithm A even if analysis is performed by combining the two.

<5−2.実施例b:暗号化による照合その2>
続いて、図19を参照しながら、本発明の第2の実施形態の実施例bを説明する。この実施例bは、§3−2で述べた第1の実施形態の実施例Bに対応するものであり、ここでは、第1の情報処理装置100bが第2の情報処理装置200bの正当性を確認する処理が行われることになる。実施例bは、前述した実施例aにおける照合プロセスを若干変更したものであり、基本的な構成は、実施例aとほぼ同じである。そこで、以下、実施例aとの相違点についての説明のみを行う。
<5-2. Example b: Verification by encryption, part 2>
Next, Example b of the second embodiment of the present invention will be described with reference to FIG. This Example b corresponds to Example B of the first embodiment described in §3-2. Here, the first information processing apparatus 100b is the validity of the second information processing apparatus 200b. The process of confirming is performed. The embodiment b is obtained by slightly changing the collation process in the embodiment a described above, and the basic configuration is almost the same as the embodiment a. Therefore, only the differences from the embodiment a will be described below.

まず、第2の情報処理装置200bについては、図18の実施例aに示す第2の情報処理装置200aの構成と全く同じであるため、ここでは説明を省略する。なお、図19では、実施例Aの各構成要素と区別する便宜上、構成要素220b〜270bの符号末尾に「b」を付加して示してあるが、これらの各構成要素は、図18に示す実施例aの各構成要素220a〜270aと全く同じものである。   First, the second information processing apparatus 200b has the same configuration as that of the second information processing apparatus 200a shown in the embodiment a of FIG. In FIG. 19, “b” is added to the end of the reference numerals of the constituent elements 220b to 270b for convenience of distinguishing from the constituent elements of the embodiment A, but these constituent elements are shown in FIG. The components 220a to 270a of Example a are exactly the same.

一方、第1の情報処理装置100bについては、構成要素110,120b,160,170b,180bは、図18に示す実施例aにおける構成要素110,120a,160,170a,180aと全く同じである。実施例aとの相違点は、構成要素130a,140a,150aの代わりに、照合用暗号コード第1生成部130b,照合用暗号コード第2生成部140b,照合判定部150bが設けられている点である。そこで、以下、これら3つの構成要素の機能について説明する。   On the other hand, for the first information processing apparatus 100b, the constituent elements 110, 120b, 160, 170b, and 180b are exactly the same as the constituent elements 110, 120a, 160, 170a, and 180a in the embodiment a shown in FIG. The difference from the embodiment a is that a verification encryption code first generation unit 130b, a verification encryption code second generation unit 140b, and a verification determination unit 150b are provided instead of the constituent elements 130a, 140a, and 150a. It is. Therefore, the functions of these three components will be described below.

はじめに、照合用暗号コード第1生成部130bは、実際には、実施例aにおける照合用暗号コード生成部130aと全く同じ機能をもった構成要素であり、暗号コード生成部230bにおいて実行される暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく暗号化演算によって、照合用修正コードR''「45678」を暗号化して照合用暗号コードQ「DEFGH」を生成する照合用暗号コード第1生成段階を実行する。ここで、構成要素130bの名称に「第1」を挿入しているのは、構成要素140bとの混同を避けるためである。   First, the verification encryption code first generation unit 130b is actually a component having the same function as the verification encryption code generation unit 130a in the embodiment a, and the encryption code executed by the encryption code generation unit 230b. A verification encryption code first generation stage is executed in which the verification correction code R ″ “45678” is encrypted by the encryption operation based on the same encryption algorithm A as the algorithm A to generate the verification encryption code Q “DEFGH”. . Here, the reason why “first” is inserted in the name of the component 130b is to avoid confusion with the component 140b.

一方、照合用暗号コード第2生成部140bは、修正暗号コード受信部170bが受信した修正暗号コードQ''「JKLMN」の構成要素となる個々の数字に対して、第2の修正数U2を用いた第2の修正演算Y2とは逆の演算を行って照合用暗号コードQ「DEFGH」を生成する照合用暗号コード第2生成段階を行う構成要素である。照合用暗号コード第1生成部130bも照合用暗号コード第2生成部140bも、照合用暗号コードQ「DEFGH」を生成する機能をもった構成要素であるが、前者が、照合用修正コードR''「45678」に対する暗号化処理によって照合用暗号コードQ「DEFGH」を生成するのに対して、後者は、修正暗号コードQ''「JKLMN」に対する修正演算によって照合用暗号コードQ「DEFGH」を生成することになる。   On the other hand, the verification encryption code second generation unit 140b sets the second modification number U2 for each number that is a constituent element of the modified encryption code Q ″ “JKLMN” received by the modified encryption code receiving unit 170b. This is a component that performs the second verification encryption code generation step for generating the verification encryption code Q “DEFGH” by performing an operation opposite to the second correction operation Y2 used. Both the verification encryption code first generation unit 130b and the verification encryption code second generation unit 140b are components having a function of generating the verification encryption code Q “DEFGH”. The former is a verification correction code R '' The verification encryption code Q “DEFGH” is generated by the encryption process for “45678”, while the latter is the verification encryption code Q “DEFGH” by the correction operation for the correction encryption code Q ”“ JKLMN ”. Will be generated.

ここで、第2の修正数U2を用いた第2の修正演算Y2とは逆の演算とは、修正暗号コード生成部240bで行われた修正演算Y2とは逆の演算であり、修正暗号コード生成部240bにおいて、図16(b) に示す「+6を加算する演算」(修正数U2=+6とする加算演算)が行われた場合であれば、その逆の演算は、「修正数U2=+6とする減算演算」ということになる。具体的には、図16(b) に示されている矢印の向きを逆転させて、下段のコード「JKLMN」から上段のコード「DEFGH」を生成する演算(対応する数字について+6を減じる演算)が行われることになる。なお、本願の図では、任意の修正演算Yを逆転させた演算を、符号Yの上部にバーを付した符号で示し、明細書中では、修正演算Yバーと表記する。   Here, the operation opposite to the second modification operation Y2 using the second modification number U2 is the operation opposite to the modification operation Y2 performed by the modified encryption code generation unit 240b, and the modified encryption code If the “calculation for adding +6” shown in FIG. 16B (addition operation for which the correction number U2 = + 6) shown in FIG. 16B is performed in the generation unit 240b, the reverse calculation is performed as “correction number U2 = That is, "subtraction operation with +6". Specifically, the operation of generating the upper code “DEFGH” from the lower code “JKLMN” by reversing the direction of the arrow shown in FIG. 16B (the operation of subtracting +6 for the corresponding number) Will be done. In the drawing of the present application, an operation obtained by reversing an arbitrary correction operation Y is indicated by a symbol with a bar added above the symbol Y, and is denoted as a correction operation Y bar in the specification.

このように、照合用暗号コード第2生成部140bは、与えられた修正暗号コードQ''「JKLMN」の構成要素となる個々の数字(文字に対応する数字)に対して、「+6を減じる演算」を行い、照合用暗号コードQ「DEFGH」に変換する処理を行うことになるが、当該処理は、修正演算Y2バーに基づく修正処理ということになる。このような処理を行う理由は、修正暗号コードQ''「JKLMN」を、元の並び順をもった暗号コードQ「DEFGH」の状態に戻し、その状態での一致確認を行うためである。   In this way, the verification encryption code second generation unit 140b subtracts “+6” from the individual numbers (numbers corresponding to the characters) that are constituent elements of the given modified encryption code Q ″ “JKLMN”. The calculation is performed and the process is converted to the verification encryption code Q “DEFGH”. This process is a correction process based on the correction calculation Y2 bar. The reason for performing such processing is to return the modified encryption code Q ″ “JKLMN” to the state of the encryption code Q “DEFGH” having the original arrangement order, and to confirm the match in that state.

すなわち、照合判定部150bは、照合用暗号コード第1生成部130b生成した照合用暗号コードQ「DEFGH」と、照合用暗号コード第2生成部140bが生成した照合用暗号コードQ「DEFGH」と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200bを正当性が確認された装置と判定する照合判定段階を実行することになる。   That is, the collation determination unit 150b includes the collation encryption code Q “DEFGH” generated by the collation encryption code first generation unit 130b, and the collation encryption code Q “DEFGH” generated by the verification encryption code second generation unit 140b. Are matched, and if they match, a collation determination step is performed in which the second information processing device 200b is determined to be a device whose validity has been confirmed.

要するに、実施例aの場合は、暗号コードQ「DEFGH」に対して修正演算を行うことによって得られる修正暗号コードQ''「JKLMN」の状態で一致判定を行っていたのに対して、実施例bの場合は、修正暗号コードQ''「JKLMN」を修正演算前の状態である暗号コードQ「DEFGH」に戻し、暗号コードQ「DEFGH」の状態で一致判定を行うことになる。したがって、実施例a,bに本質的な相違はなく、実施例bについても実施例aと同じ作用効果が得られる。   In short, in the case of the embodiment a, the match determination is performed in the state of the modified encrypted code Q ″ “JKLMN” obtained by performing the modified operation on the encrypted code Q “DEFGH”. In the case of the example b, the modified encryption code Q ″ “JKLMN” is returned to the encryption code Q “DEFGH” which is the state before the modification operation, and the coincidence determination is performed in the state of the encryption code Q “DEFGH”. Therefore, there is no essential difference between Examples a and b, and the same effect as Example a can be obtained for Example b.

<5−3.実施例c:復号による照合その1>
続いて、図20を参照しながら、本発明の第2の実施形態の実施例cを説明する。この実施例cは、§3−3で述べた第1の実施形態の実施例Cに対応するものであり、ここでは、第1の情報処理装置100cが第2の情報処理装置200cの正当性を確認する処理が行われることになる。実施例cは、前述した実施例aにおける照合プロセスを若干変更したものであり、基本的な構成は、実施例aとほぼ同じである。そこで、以下、実施例aとの相違点についての説明のみを行う。
<5-3. Example c: Collation by Decoding Part 1>
Next, Example c of the second embodiment of the present invention will be described with reference to FIG. The example c corresponds to the example C of the first embodiment described in §3-3, and here, the first information processing apparatus 100c is the validity of the second information processing apparatus 200c. The process of confirming is performed. The embodiment c is a slight modification of the collation process in the embodiment a described above, and the basic configuration is almost the same as the embodiment a. Therefore, only the differences from the embodiment a will be described below.

まず、第2の情報処理装置200cについては、図18の実施例aに示す第2の情報処理装置200aの構成と全く同じであるため、ここでは説明を省略する。なお、図20では、実施例Aの各構成要素と区別する便宜上、構成要素220c〜270cの符号末尾に「c」を付加して示してあるが、これらの各構成要素は、図18に示す実施例aの各構成要素220a〜270aと全く同じものである。   First, the second information processing apparatus 200c is completely the same as the configuration of the second information processing apparatus 200a shown in the embodiment a of FIG. In FIG. 20, “c” is added to the end of the reference numerals of the constituent elements 220 c to 270 c for convenience of distinguishing from the constituent elements of Example A, but these constituent elements are shown in FIG. 18. The components 220a to 270a of Example a are exactly the same.

一方、第1の情報処理装置100cについては、構成要素110,160,170c,180cは、それぞれ実施例aにおける構成要素110,160,170a,180aと全く同じである。実施例aとの相違点は、構成要素120a,130a,140a,150aの代わりに、照合用ランダムコード生成部120c,照合用修正コード生成部130c,照合用暗号コード生成部140c,照合判定部150cが設けられている点である。そこで、以下、これら4つの構成要素の機能について説明する。   On the other hand, for the first information processing apparatus 100c, the constituent elements 110, 160, 170c, and 180c are exactly the same as the constituent elements 110, 160, 170a, and 180a in the embodiment a, respectively. The difference from the embodiment a is that, instead of the constituent elements 120a, 130a, 140a, 150a, a collation random code generation unit 120c, a collation correction code generation unit 130c, a collation encryption code generation unit 140c, and a collation determination unit 150c. Is a point provided. Therefore, the functions of these four components will be described below.

はじめに、照合用暗号コード生成部140cは、修正暗号コード受信部170cが受信した修正暗号コードQ''「JKLMN」の構成要素となる個々の数字に対して、第2の修正数U2を用いた第2の修正演算Y2とは逆の修正演算Y2バーを行って照合用暗号コードQ「DEFGH」を生成する照合用暗号コード生成段階を行う構成要素である。この照合用暗号コード生成部140cの機能は、実施例bの照合用暗号コード第2生成部140bの機能と全く同じであり、詳しい説明は省略する。   First, the verification encryption code generation unit 140c uses the second modification number U2 for each number that is a component of the modification encryption code Q ″ “JKLMN” received by the modification encryption code reception unit 170c. This is a component that performs a verification encryption code generation stage for generating a verification encryption code Q “DEFGH” by performing a correction operation Y2 bar opposite to the second correction operation Y2. The function of the verification encryption code generation unit 140c is exactly the same as the function of the verification encryption code second generation unit 140b of the embodiment b, and detailed description thereof is omitted.

次に、照合用修正コード生成部130cは、暗号コード生成部230cが暗号化処理を行う際に利用した暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく復号演算によって、照合用暗号コードQ「DEFGH」を復号して照合用修正コードR''「45678」を生成する照合用修正コード生成段階を行う構成要素である。暗号コード生成部230cは、暗号アルゴリズムAに基づく暗号化演算により、修正コードR''「45678」に対する暗号化を行い、暗号コードQ「DEFGH」を生成する処理を行ったが、照合用修正コード生成部130cは、これと全く逆の処理により、暗号コードQ「DEFGH」を復号して元の修正コードR''「45678」に戻す処理を行うことになる。   Next, the verification correction code generation unit 130c obtains the verification encryption code Q “DEFGH” by a decryption operation based on the same encryption algorithm A as the encryption algorithm A used when the encryption code generation unit 230c performs the encryption process. This is a constituent element for performing a verification correction code generation stage for decoding and generating a verification correction code R ″ “45678”. The encryption code generation unit 230c performs the process of generating the encryption code Q “DEFGH” by encrypting the correction code R ″ “45678” by the encryption operation based on the encryption algorithm A. The generation unit 130c performs a process of decrypting the encryption code Q “DEFGH” and returning it to the original correction code R ″ “45678” by a process completely opposite to this.

一方、照合用ランダムコード生成部120cは、照合用修正コードR''「45678」の構成要素となる個々の数字に対して、第1の修正数U1を用いた第1の修正演算Y1とは逆の修正演算Y1バーを行って照合用ランダムコードR「12345」を生成する照合用ランダムコード生成段階を行う構成要素である。ここで、第1の修正演算Y1とは逆の修正演算Y1バーとは、図16(a) に示す修正演算における矢印の向きを逆転させて、下段のコード「45678」から上段のコード「12345」を生成する演算(+3を減じる演算)ということになる。   On the other hand, the collation random code generation unit 120c uses the first correction operation Y1 using the first correction number U1 for each number that is a component of the collation correction code R ″ “45678”. This is a constituent element for performing a collating random code generation step of generating a collating random code R “12345” by performing the reverse correction operation Y1 bar. Here, the correction calculation Y1 bar opposite to the first correction calculation Y1 reverses the direction of the arrow in the correction calculation shown in FIG. 16 (a), so that the lower code “45678” is changed to the upper code “12345”. "Is generated (calculation by subtracting +3).

そして、照合判定部150cは、ランダムコード発生部110が発生させたランダムコードR「12345」と、照合用ランダムコード生成部120cが生成した照合用ランダムコードR「12345」と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200cを正当性が確認された装置と判定する照合判定段階を行う構成要素である。   Then, the collation determining unit 150c determines whether or not the random code R “12345” generated by the random code generating unit 110 matches the collating random code R “12345” generated by the collating random code generating unit 120c. This is a component that performs a collation determination step of determining that the second information processing apparatus 200c is an apparatus whose validity has been confirmed.

結局、この実施例cでは、第2の情報処理装置200cにおいて、ランダムコードR「12345」→修正コードR''「45678」→暗号コードQ「DEFGH」→修正暗号コードQ''「JKLMN」という暗号化処理を伴う変遷を辿って、修正暗号コードQ''「JKLMN」を得る点は、これまで述べてきた実施例aと全く同じであるが、第1の情報処理装置100cにおける認証プロセスでは、逆に、修正暗号コードQ''「JKLMN」→暗号コードQ「DEFGH」→修正コードR''「45678」→ランダムコードR「12345」という復号処理を伴う変遷を辿ってランダムコードR「12345」を得て、これが元のランダムコードR「12345」に一致するか否かを確認することにより、第2の情報処理装置200cの正当性が確認されることになる。   Eventually, in Example c, in the second information processing apparatus 200c, the random code R “12345” → the modified code R ″ “45678” → the encrypted code Q “DEFGH” → the modified encrypted code Q ″ “JKLMN” The point that the modified encryption code Q ″ “JKLMN” is obtained by following the transition accompanied by the encryption processing is exactly the same as the embodiment a described so far, but in the authentication process in the first information processing apparatus 100c. On the contrary, the random code R “12345” is traced through the transition accompanied by the decryption process of the modified encrypted code Q ″ “JKLMN” → the encrypted code Q “DEFGH” → the modified code R ″ “45678” → the random code R “12345”. And confirming whether or not this matches the original random code R “12345”, the legitimacy of the second information processing apparatus 200c Will be confirmed.

要するに、実施例aの場合は、第1の情報処理装置100aにおいて、暗号化を経た照合が行われていたのに対し、実施例cの場合は、第1の情報処理装置100cにおいて、復号を経た照合が行われることになる。したがって、実施例a,cに本質的な相違はなく、実施例cについても実施例aと同じ作用効果が得られる。   In short, in the case of the embodiment a, the first information processing apparatus 100a performs the verification after the encryption, whereas in the case of the embodiment c, the first information processing apparatus 100c performs the decryption. After that, the verification is performed. Therefore, there is no essential difference between Examples a and c, and the same effect as Example a can be obtained for Example c.

<5−4.実施例d:復号による照合その2>
続いて、図21を参照しながら、本発明の第2の実施形態の実施例dを説明する。この実施例dは、§3−4で述べた第1の実施形態の実施例Dに対応するものであり、ここでは、第1の情報処理装置100dが第2の情報処理装置200dの正当性を確認する処理が行われることになる。実施例dは、前述した実施例aにおける照合プロセスを若干変更したものであり、基本的な構成は、実施例aとほぼ同じである。そこで、以下、実施例aとの相違点についての説明のみを行う。
<5-4. Example d: Verification by decryption 2>
Subsequently, Example d of the second embodiment of the present invention will be described with reference to FIG. The example d corresponds to the example D of the first embodiment described in §3-4. Here, the first information processing apparatus 100d is the legitimacy of the second information processing apparatus 200d. The process of confirming is performed. The embodiment d is obtained by slightly changing the collation process in the embodiment a described above, and the basic configuration is almost the same as the embodiment a. Therefore, only the differences from the embodiment a will be described below.

まず、第2の情報処理装置200dについては、図18の実施例aに示す第2の情報処理装置200aの構成と全く同じであるため、ここでは説明を省略する。なお、図21では、実施例Aの各構成要素と区別する便宜上、構成要素220d〜270dの符号末尾に「d」を付加して示してあるが、これらの各構成要素は、図18に示す実施例aの各構成要素220a〜270aと全く同じものである。   First, the second information processing apparatus 200d is exactly the same as the configuration of the second information processing apparatus 200a shown in Example a of FIG. In FIG. 21, “d” is added to the end of the reference numerals of the constituent elements 220d to 270d for convenience of distinguishing from the constituent elements of the embodiment A, but these constituent elements are shown in FIG. The components 220a to 270a of Example a are exactly the same.

一方、第1の情報処理装置100dについては、構成要素110,160,170d,180dは、それぞれ図18の実施例aにおける構成要素110,160,170a,180aと全く同じである。実施例aとの相違点は、構成要素120a,130a,140a,150aの代わりに、照合用修正コード第2生成部120d,照合用修正コード第1生成部130d,照合用暗号コード生成部140d,照合判定部150dが設けられている点である。そこで、以下、これら4つの構成要素の機能について説明する。   On the other hand, for the first information processing apparatus 100d, the constituent elements 110, 160, 170d, and 180d are exactly the same as the constituent elements 110, 160, 170a, and 180a in the embodiment a of FIG. The difference from the embodiment a is that, instead of the components 120a, 130a, 140a, 150a, the verification correction code second generation unit 120d, the verification correction code first generation unit 130d, the verification encryption code generation unit 140d, This is the point that a collation determination unit 150d is provided. Therefore, the functions of these four components will be described below.

はじめに、照合用暗号コード生成部140dは、修正暗号コード受信部170dが受信した修正暗号コードQ''「JKLMN」の構成要素となる個々の数字に対して、第2の修正数U2を用いた第2の修正演算Y2とは逆の修正演算Y2バーを行って照合用暗号コードQ「DEFGH」を生成する照合用暗号コード生成段階を行う構成要素である。この照合用暗号コード生成部140dの機能は、実施例bの照合用暗号コード第2生成部140bの機能と全く同じであり、詳しい説明は省略する。   First, the verification encryption code generation unit 140d uses the second modification number U2 for each number that is a constituent element of the modification encryption code Q ″ “JKLMN” received by the modification encryption code reception unit 170d. This is a component that performs a verification encryption code generation stage for generating a verification encryption code Q “DEFGH” by performing a correction operation Y2 bar opposite to the second correction operation Y2. The function of the verification encryption code generation unit 140d is exactly the same as the function of the verification encryption code second generation unit 140b of Example b, and a detailed description thereof is omitted.

次に、照合用修正コード第1生成部130dは、暗号コード生成部230dが暗号化処理を行う際に利用した暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく復号演算によって、照合用暗号コードQ「DEFGH」を復号して照合用修正コードR''「45678」を生成する照合用修正コード第1生成段階を行う構成要素である。暗号コード生成部230dは、暗号アルゴリズムAに基づく暗号化演算により、修正コードR''「45678」に対する暗号化を行い、暗号コードQ「DEFGH」を生成する処理を行ったが、照合用修正コード第1生成部130dは、これと全く逆の処理により、暗号コードQ「DEFGH」を復号して元の修正コードR''「45678」に戻す処理を行うことになる。   Next, the verification correction code first generation unit 130d performs the verification encryption code Q “DEFGH” by a decryption operation based on the same encryption algorithm A as the encryption algorithm A used when the encryption code generation unit 230d performs the encryption process. ”To generate a verification correction code R ″“ 45678 ”. The encryption code generation unit 230d performs the process of generating the encryption code Q “DEFGH” by encrypting the correction code R ″ “45678” by the encryption operation based on the encryption algorithm A. The first generation unit 130d performs a process of decrypting the encryption code Q “DEFGH” and returning it to the original correction code R ″ “45678” by a process completely opposite to this.

この照合用修正コード第1生成部130dは、実際には、実施例cにおける照合用修正コード生成部130cと全く同じ機能をもった構成要素であるが、照合用修正コード第2生成部120dとの混同を避けるため、ここでは、構成要素130dについては名称に「第1」を挿入し、構成要素120dについては名称に「第2」を挿入して、それぞれ照合用修正コード第1生成部130dおよび照合用修正コード第2生成部120dと呼ぶことにする。   The verification correction code first generation unit 130d is actually a component having the same function as the verification correction code generation unit 130c in the embodiment c, but the verification correction code second generation unit 120d Here, in order to avoid confusion, “first” is inserted into the name of the component 130d, and “second” is inserted into the name of the component 120d. Also, it will be referred to as a verification correction code second generation unit 120d.

そして、照合用修正コード第2生成部120dは、ランダムコード発生部110で発生させたランダムコードR「12345」の構成要素となる個々の数字に対して、第1の修正数U1を用いた第1の修正演算Y1を行って照合用修正コードR''「45678」を生成する照合用修正コード第2生成段階を実行する構成要素である。この照合用修正コード第2生成部120dは、実際には、実施例aにおける照合用修正コード生成部120aと全く同じ機能をもった構成要素であるが、上述したように、照合用修正コード第1生成部130dとの混同を避けるため、ここでは、照合用修正コード第2生成部120dと呼んでいる。   Then, the verification correction code second generation unit 120d uses the first correction number U1 for each number that is a constituent element of the random code R “12345” generated by the random code generation unit 110. This is a constituent element for executing the second verification correction code generation stage for generating the verification correction code R ″ “45678” by performing one correction operation Y1. The verification correction code second generation unit 120d is actually a component having the same function as the verification correction code generation unit 120a in the embodiment a. However, as described above, the verification correction code first In order to avoid confusion with the 1 generation unit 130d, here, it is referred to as a verification correction code second generation unit 120d.

そして、照合判定部150dは、照合用修正コード第1生成部130dが生成した照合用修正コードR''「45678」と、照合用修正コード第2生成部120dが生成した照合用修正コードR''「45678」と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200dを正当性が確認された装置と判定する照合判定段階を行う構成要素である。   Then, the collation determination unit 150d generates the collation correction code R ″ “45678” generated by the collation correction code first generation unit 130d and the collation correction code R ′ generated by the collation correction code second generation unit 120d. 'Is a component that performs a collation determination step of collating whether or not “45678” matches, and determining that the second information processing device 200d is a device whose validity has been confirmed.

結局、この実施例dでは、第2の情報処理装置200dにおいて、ランダムコードR「12345」→修正コードR''「45678」→暗号コードQ「DEFGH」→修正暗号コードQ''「JKLMN」という暗号化処理を伴う変遷を辿って、修正暗号コードQ''「JKLMN」を得る点は、これまで述べてきた実施例aと全く同じであるが、第1の情報処理装置100dにおける認証プロセスでは、逆に、修正暗号コードQ''「JKLMN」→暗号コードQ「DEFGH」→修正コードR''「45678」という復号処理を伴う変遷を辿って修正コードR''「45678」を得るとともに、元のランダムコードR「12345」→修正コードR''「45678」という修正処理を行い、得られた2通りの修正コードR''「45678」が一致するか否かを確認することにより、第2の情報処理装置200dの正当性が確認されることになる。したがって、実施例a,dに本質的な相違はなく、実施例dについても実施例aと同じ作用効果が得られる。   Eventually, in this embodiment d, in the second information processing apparatus 200d, the random code R “12345” → the modified code R ″ “45678” → the encrypted code Q “DEFGH” → the modified encrypted code Q ″ “JKLMN”. The point that the modified encryption code Q ″ “JKLMN” is obtained by following the transition accompanied by the encryption processing is exactly the same as the embodiment a described so far, but in the authentication process in the first information processing apparatus 100d, On the contrary, the modified encryption code Q ″ “JKLMN” → the encryption code Q “DEFGH” → the modification code R ″ “45678” is traced to obtain a modification code R ″ “45678” by following the transition process accompanied by the decryption process. The original random code R “12345” → correction code R ″ “45678” is corrected, and the obtained two correction codes R ″ “45678” match. By confirming whether or not, the validity of the second information processing apparatus 200d is confirmed. Therefore, there is no essential difference between the embodiments a and d, and the same function and effect as the embodiment a can be obtained with respect to the embodiment d.

<5−5.実施例e:暗号化による簡易照合>
続いて、図22を参照しながら、本発明の第2の実施形態の実施例eを説明する。この実施例eは、§3−5で述べた第1の実施形態の実施例Eに対応するものであり、ここでは、第1の情報処理装置100eが第2の情報処理装置200eの正当性を確認する処理が行われることになる。実施例eは、前述した実施例aにおける照合プロセスを一部簡略化したものであり、基本的な構成は、実施例aとほぼ同じである。そこで、以下、実施例aとの相違点についての説明のみを行う。
<5-5. Example e: Simple verification by encryption>
Next, Example e of the second embodiment of the present invention will be described with reference to FIG. This example e corresponds to the example E of the first embodiment described in §3-5. Here, the first information processing apparatus 100e is the legitimacy of the second information processing apparatus 200e. The process of confirming is performed. The embodiment e is a part of the collation process in the embodiment a described above, and the basic configuration is almost the same as that of the embodiment a. Therefore, only the differences from the embodiment a will be described below.

まず、第2の情報処理装置200eについては、構成要素210,220e,230e,240e,270eは、それぞれ図18の実施例aにおける構成要素210,220a,230a,240a,270aと全く同じである。実施例aとの相違点は、構成要素250a,260aの代わりに、修正暗号コード送信部250e,修正数暗号化部260eが設けられている点である。   First, regarding the second information processing apparatus 200e, the constituent elements 210, 220e, 230e, 240e, and 270e are exactly the same as the constituent elements 210, 220a, 230a, 240a, and 270a in the embodiment a of FIG. The difference from the embodiment a is that a modified encrypted code transmission unit 250e and a modified number encryption unit 260e are provided instead of the components 250a and 260a.

一方、第1の情報処理装置100eについては、構成要素110,120e,130e,160は、それぞれ図18の実施例aにおける構成要素110,120a,130a,160と全く同じである。実施例aとの相違点は、構成要素140aに相当する構成要素が省略されている点と、構成要素150a,170a,180aの代わりに、照合判定部150e,修正暗号コード受信部170e,修正数復号部180eが設けられている点である。そこで、以下、これらの相違点について説明する。   On the other hand, regarding the first information processing apparatus 100e, the constituent elements 110, 120e, 130e, and 160 are exactly the same as the constituent elements 110, 120a, 130a, and 160 in the embodiment a of FIG. The difference from the embodiment a is that the constituent elements corresponding to the constituent element 140a are omitted, and in place of the constituent elements 150a, 170a, and 180a, the collation determining section 150e, the modified encrypted code receiving section 170e, the number of modifications A decryption unit 180e is provided. Therefore, these differences will be described below.

この実施例eの根本的な特徴は、実施例aにおける第2の情報処理装置200aから第1の情報処理装置100aへの第2の暗号化修正数U2の送信を省略し、第1の情報処理装置100e側での第2の修正演算Y2による修正処理を省略する点にある。 The fundamental feature of the embodiment e is that the transmission of the second encrypted modification number U2 * from the second information processing device 200a to the first information processing device 100a in the embodiment a is omitted, The correction process by the second correction calculation Y2 on the information processing apparatus 100e side is omitted.

したがって、第2の情報処理装置200e側では、修正数生成部270eにおいて2組の修正数U1,U2を生成し、修正コード生成部220eにおける修正処理および修正暗号コード生成部240eにおける修正処理が行われる点は、実施例eと同じであるが、修正数暗号化部260eにおいて行われる修正数暗号化段階では、第1の修正数U1を暗号化し、第1の暗号化修正数U1を生成する処理が行われるものの、第2の修正数U2の暗号化は省略される。また、修正暗号コード送信部250eにおいて行われる修正暗号コード送信段階では、修正暗号コードQ''「JKLMN」とともに第1の暗号化修正数U1が、第1の情報処理装置100eに送信されるが、第2の暗号化修正数U2の送信は省略される。 Therefore, on the second information processing apparatus 200e side, the two correction numbers U1 and U2 are generated in the correction number generation unit 270e, and the correction processing in the correction code generation unit 220e and the correction processing in the correction encryption code generation unit 240e are performed. However, in the modification number encryption stage performed in the modification number encryption unit 260e, the first modification number U1 is encrypted to generate the first encrypted modification number U1 * . However, the encryption of the second modification number U2 is omitted. In the modified encryption code transmission stage performed in the modified encryption code transmission unit 250e, the first encryption modification number U1 * is transmitted to the first information processing apparatus 100e together with the modified encryption code Q ″ “JKLMN”. However, transmission of the second encryption modification number U2 * is omitted.

このように、第2の暗号化修正数U2の送信を省略したため、第1の情報処理装置100e側の処理も若干変わってくる。すなわち、修正暗号コード受信部170eでは、修正暗号コードQ''「JKLMN」とともに第1の暗号化修正数U1の受信が行われるが、第2の暗号化修正数U2は受信されない。また、修正数復号部180eでは、第1の暗号化修正数U1を復号し、第1の修正数U1を復元する処理が行われるが、第2の暗号化修正数U2の復号は行われない。 As described above, since the transmission of the second encryption modification number U2 * is omitted, the processing on the first information processing apparatus 100e side also slightly changes. That is, the modified encryption code receiving unit 170e receives the first encrypted modification number U1 * together with the modified encryption code Q ″ “JKLMN”, but does not receive the second encrypted modification number U2 * . The modification number decryption unit 180e performs a process of decrypting the first encryption modification number U1 * and restoring the first modification number U1, but the second encryption modification number U2 * is decrypted. I will not.

結局、第1の情報処理装置100e側には、第2の修正数U2の情報が伝わらないので、第2の修正数U2を用いる第2の修正演算Y2を行うことはできない。図18に示す実施例aでは、この第2の修正数U2に基づく第2の修正演算Y2を行うために、照合用修正暗号コード生成部140aが設けられていたが、図22に示す実施例eでは、この構成要素140aに相当するものは省略されている。その結果、照合用暗号コード生成部130eによって生成された照合用暗号コードQ「DEFGH」が、そのままの状態で照合判定部150eに与えられることになる。   Eventually, since the information of the second modification number U2 is not transmitted to the first information processing apparatus 100e side, the second modification calculation Y2 using the second modification number U2 cannot be performed. In the embodiment a shown in FIG. 18, the verification modified encryption code generation unit 140 a is provided in order to perform the second modification operation Y <b> 2 based on the second modification number U <b> 2, but the embodiment shown in FIG. 22. In e, those corresponding to the component 140a are omitted. As a result, the verification encryption code Q “DEFGH” generated by the verification encryption code generation unit 130e is given to the verification determination unit 150e as it is.

これは、照合判定部150eが、実施例aの照合判定部150aと同じ方法では照合判定を実行できないことを意味する。図示の具体例の場合も、照合用暗号コード生成部130eから与えられる照合用暗号コードQ「DEFGH」と、修正暗号コード受信部170eから与えられる修正暗号コードQ''「JKLMN」とは一致していない。   This means that the collation determination unit 150e cannot execute collation determination by the same method as the collation determination unit 150a of the embodiment a. Also in the illustrated example, the verification encryption code Q “DEFGH” given from the verification encryption code generation unit 130e matches the correction encryption code Q ″ “JKLMN” supplied from the correction encryption code reception unit 170e. Not.

しかしながら、照合用暗号コードQ「DEFGH」を、第2の修正数U2を用いた第2の修正演算Y2によって修正すれば、修正暗号コードQ''「JKLMN」が得られるのであるから、修正演算の内容(たとえば、図16に示す具体例の場合は、修正数を加算する演算)を予め定めておけば、修正数自体が未知であっても、2つのコードQ「DEFGH」およびQ''「JKLMN」が、修正演算の前後の数値として矛盾のない対応関係を有するか否かを判定することは可能である。   However, if the verification encryption code Q "DEFGH" is modified by the second modification operation Y2 using the second modification number U2, the modified encryption code Q "" JKLMN "is obtained. 16 (for example, in the case of the specific example shown in FIG. 16, if the correction number itself is unknown), the two codes Q “DEFGH” and Q ″ It is possible to determine whether “JKLMN” has a consistent correspondence as numerical values before and after the correction calculation.

たとえば、上例の場合、コードQ「DEFGH」を構成する個々の文字「D,E,F,G,H」は、それぞれ対応する数字(アルファベットの並び順を示す数字)に置き換えると「4,5,6,7,8」なる数列になり、コードQ''「JKLMN」を構成する個々の文字「J,K,L,M,N」は、それぞれ対応する数字に置き換えると「10,11,12,13,14」なる数列になる。そこで、先頭から順に対応する位置にある構成要素を組み合わせてゆくと、5組の構成要素対「4と10」,「5と11」,「6と12」,「7と13」,「8と14」が得られる。これら個々の構成要素対について差Δを求めると、いずれも差Δ=6になる。   For example, in the case of the above example, each character “D, E, F, G, H” constituting the code Q “DEFGH” is replaced with a corresponding number (a number indicating the alphabetical order) to “4”. 5,6,7,8 ", and each character" J, K, L, M, N "constituting the code Q" "JKLMN" is replaced with a corresponding numeral "10, 11". , 12, 13, 14 ". Therefore, when the constituent elements at the corresponding positions are combined in order from the top, five pairs of constituent elements “4 and 10”, “5 and 11”, “6 and 12”, “7 and 13”, “8” And 14 ”are obtained. When the difference Δ is obtained for each of these individual component pairs, the difference Δ = 6.

これは、第2の情報処理装置200eの修正暗号コード生成部240eにおいて、第2の修正数U2=+6とする加算演算が行われたためである。この実施例eでは、第1の情報処理装置100e側に第2の修正数U2は伝達されないが、上例のように、照合判定部150eにおいて、2つのコードQ「DEFGH」およびQ''「JKLMN」の対応する位置にある構成要素対についてそれぞれ差Δを求めれば、当該差Δは、修正暗号コード生成部240eにおいて実行された第2の修正演算Y2(加算演算)に用いられた第2の修正数U2ということになる。   This is because an addition operation for setting the second modification number U2 = + 6 is performed in the modified encryption code generation unit 240e of the second information processing apparatus 200e. In the embodiment e, the second modification number U2 is not transmitted to the first information processing apparatus 100e side. However, as shown in the above example, the collation determination unit 150e uses two codes Q “DEFGH” and Q ″ “. If the difference Δ is obtained for each component pair at the position corresponding to “JKLMN”, the difference Δ is the second modified operation Y2 (addition operation) used in the modified encrypted code generation unit 240e. This is the correction number U2.

このように、第2の修正演算Y2を、何らかの修正数U2を個々の構成要素に加える加算もしくは減算演算とした場合、修正数U2がどのような値をとったとしても、上述の方法で求めた差Δはすべて等しくなるはずである。換言すれば、すべての構成要素対について求めた差Δがすべて等しくなれば、2つのコードQ,Q''は、修正演算の前後の数値として矛盾のない対応関係を有することになるが、1つでも異なった差Δが得られた場合には、対応関係に矛盾が生じていることになる。   As described above, when the second correction operation Y2 is an addition or subtraction operation in which some correction number U2 is added to each component, it is obtained by the above-described method no matter what value the correction number U2 takes. All differences Δ should be equal. In other words, if the differences Δ obtained for all the component pairs are all equal, the two codes Q and Q ″ have a consistent correspondence as numerical values before and after the correction operation. If at least one difference Δ is obtained, the correspondence relationship is inconsistent.

そこで、この実施例eの場合、照合判定部150eは、修正暗号コード受信部170eが受信した修正暗号コードQ''「JKLMN」に含まれている構成要素と、照合用暗号コード生成部130eが生成した照合用暗号コードQ「DEFGH」に含まれている構成要素と、が第2の修正演算Y2による演算前後の数値として矛盾のない対応関係を有するか否かを照合し、矛盾のない対応関係を有する場合に、第2の情報処理装置200eを正当性が確認された装置と判定する照合判定段階を行う。 Therefore, in the case of the embodiment e, the collation determining unit 150e includes the components included in the modified cryptographic code Q ″ “JKLMN” received by the modified cryptographic code receiving unit 170e and the verification cryptographic code generation unit 130e. Check whether the constituent elements included in the generated verification encryption code Q “DEFGH” have a consistent correspondence as a numerical value before and after the calculation by the second correction calculation Y2, and there is no conflict When there is a relationship, a collation determination step is performed in which the second information processing apparatus 200e is determined to be an apparatus whose validity has been confirmed.

具体的には、照合判定部150eは、上述したように、2つのコードQ,Q''の各構成要素対について、先頭から順にそれぞれ差Δを求める演算を行ってゆき、求めた差Δが直前の構成要素対について求めた差Δと一致するか否かを確認する処理を順次行ってゆけばよい。   Specifically, as described above, the collation determination unit 150e performs an operation for obtaining the difference Δ in order from the top for each component pair of the two codes Q and Q ″, and the obtained difference Δ is What is necessary is just to perform sequentially the process which confirms whether it corresponds with the difference (DELTA) calculated | required about the immediately previous component pair.

このように、実施例eでは、第1の情報処理装置100e側で行う照合判定の基準が、これまで述べてきた実施例a〜dに比べて緩和されている。すなわち、照合対象となる2組のコードが一致するか否かを判定する代わりに、所定の修正演算前後の数値として矛盾のない対応関係を有するか否かを判定することになる。このため、この実施例eは、実施例a〜dに比べて認証の厳格性は若干低下することになるが、第2の情報処理装置200e側では、第2の修正数U2を送信するための処理を省略することができ、第1の情報処理装置100e側では、第2の修正数U2に関する受信処理や修正処理を省略することができるので、処理を簡素化できるメリットが得られる。   As described above, in the example e, the reference for collation determination performed on the first information processing apparatus 100e side is relaxed compared to the examples a to d described so far. That is, instead of determining whether or not two sets of codes to be collated match, it is determined whether or not there is a consistent correspondence as a numerical value before and after a predetermined correction calculation. For this reason, in this embodiment e, although the strictness of authentication is slightly lower than in the embodiments a to d, the second information processing apparatus 200e transmits the second correction number U2. Since the first information processing apparatus 100e can omit the reception process and the correction process related to the second modification number U2, there is an advantage that the process can be simplified.

<5−6.実施例f:復号による簡易照合>
続いて、図23を参照しながら、本発明の第2の実施形態の実施例fを説明する。この実施例fは、§3−6で述べた第1の実施形態の実施例Fに対応するものであり、ここでは、第1の情報処理装置100fが第2の情報処理装置200fの正当性を確認する処理が行われることになる。実施例fは、実施例eと同様に、実施例aにおける照合プロセスを一部簡略化したものであり、基本的な構成は、実施例aとほぼ同じである。そこで、以下、実施例aとの相違点についての説明のみを行う。
<5-6. Embodiment f: Simple verification by decoding>
Next, Example f of the second embodiment of the present invention will be described with reference to FIG. This Example f corresponds to Example F of the first embodiment described in §3-6. Here, the first information processing apparatus 100f is the validity of the second information processing apparatus 200f. The process of confirming is performed. As in the case of the example e, the example f is a part of the verification process in the example a, and the basic configuration is almost the same as that of the example a. Therefore, only the differences from the embodiment a will be described below.

まず、第2の情報処理装置200fについては、構成要素210,220f,230f,240f,270fは、それぞれ図18の実施例aにおける構成要素210,220a,230a,240a,270aと全く同じである。実施例aとの相違点は、構成要素250a,260aの代わりに、修正暗号コード送信部250f,修正数暗号化部260fが設けられている点である。   First, regarding the second information processing apparatus 200f, the components 210, 220f, 230f, 240f, and 270f are exactly the same as the components 210, 220a, 230a, 240a, and 270a in the embodiment a of FIG. The difference from the embodiment a is that a modified encrypted code transmission unit 250f and a modified number encryption unit 260f are provided instead of the components 250a and 260a.

一方、第1の情報処理装置100fについては、構成要素110,160は、それぞれ図18の実施例aにおける構成要素110,160と全く同じである。実施例aとの相違点は、構成要素120aに相当する構成要素が省略されている点と、構成要素130a,140a,150a,170a,180aの代わりに、照合用修正コード生成部130f,照合用暗号コード生成部140f,照合判定部150f,修正暗号コード受信部170f,修正数復号部180fが設けられている点である。そこで、以下、これらの相違点について説明する。   On the other hand, for the first information processing apparatus 100f, the constituent elements 110 and 160 are exactly the same as the constituent elements 110 and 160 in the embodiment a of FIG. The difference from the embodiment a is that the component corresponding to the component 120a is omitted, and the verification correction code generation unit 130f and the verification are used instead of the components 130a, 140a, 150a, 170a, and 180a. An encryption code generation unit 140f, a collation determination unit 150f, a modified encryption code reception unit 170f, and a modification number decryption unit 180f are provided. Therefore, these differences will be described below.

この実施例fの根本的な特徴は、実施例aにおける第2の情報処理装置200aから第1の情報処理装置100aへの第1の暗号化修正数U1の送信を省略し、第1の情報処理装置100f側での第1の修正数U1に基づく第1の修正演算Y1を省略する点にある。すなわち、前述した実施例eでは、第2の暗号化修正数U2の送信を省略していたのに対して、ここで述べる実施例fでは、第1の暗号化修正数U1の送信を省略している点が異なっている。 The fundamental feature of the embodiment f is that the transmission of the first encryption modification number U1 * from the second information processing device 200a to the first information processing device 100a in the embodiment a is omitted, The first modification calculation Y1 based on the first modification number U1 on the information processing apparatus 100f side is omitted. That is, in the above-described embodiment e, the transmission of the second encryption modification number U2 * is omitted, whereas in the embodiment f described here, the transmission of the first encryption modification number U1 * is performed. Differences are omitted.

このため、第2の情報処理装置200f側では、修正数生成部270fにおいて2組の修正数U1,U2を生成し、修正コード生成部220fにおける第1の修正演算Y1および修正暗号コード生成部240fにおける第2の修正演算Y2が行われる点は、実施例aと同じであるが、修正数暗号化部260fにおいて行われる修正数暗号化段階では、第2の修正数U2を暗号化し、第2の暗号化修正数U2を生成する処理が行われるものの、第1の修正数U1の暗号化は省略される。また、修正暗号コード送信部250fにおいて行われる修正暗号コード送信段階では、修正暗号コードQ''「JKLMN」とともに第2の暗号化修正数U2が、第1の情報処理装置100fに送信されるが、第1の暗号化修正数U1の送信は省略される。 For this reason, on the second information processing device 200f side, two sets of correction numbers U1 and U2 are generated in the correction number generation unit 270f, and the first correction calculation Y1 and the correction encryption code generation unit 240f in the correction code generation unit 220f. The second correction operation Y2 is performed in the same way as in the embodiment a. However, in the correction number encryption stage performed in the correction number encryption unit 260f, the second correction number U2 is encrypted, The encryption modification number U2 * is generated, but the encryption of the first modification number U1 is omitted. In addition, in the modified encryption code transmission stage performed in the modified encryption code transmission unit 250f, the second encrypted modification number U2 * is transmitted to the first information processing apparatus 100f together with the modified encryption code Q ″ “JKLMN”. However, transmission of the first encryption modification number U1 * is omitted.

このように、第1の暗号化修正数U1の送信を省略したため、第1の情報処理装置100f側の処理も若干変わってくる。すなわち、修正暗号コード受信部170fでは、修正暗号コードQ''「JKLMN」とともに第2の暗号化修正数U2の受信が行われるが、第1の暗号化修正数U1は受信されない。また、修正数復号部180fでは、第2の暗号化修正数U2を復号し、第2の修正数U2を復元する処理が行われるが、第1の暗号化修正数U1の復号は行われない。 As described above, since the transmission of the first encryption modification number U1 * is omitted, the processing on the first information processing apparatus 100f side also slightly changes. That is, the modified encryption code receiving unit 170f receives the second encryption modification number U2 * together with the modification encryption code Q ″ “JKLMN”, but does not receive the first encryption modification number U1 * . The modification number decryption unit 180f performs a process of decrypting the second encryption modification number U2 * and restoring the second modification number U2. However, the first encryption modification number U1 * is decrypted. I will not.

結局、第1の情報処理装置100f側には、第1の修正数U1の情報が伝わらないので、第1の修正数U1に基づく第1の修正演算Y1を行うことはできない。すなわち、第1の情報処理装置100f側では、ランダムコード発生部110が発生させたランダムコードR「12345」に対する修正演算を行うことができないので、第2の情報処理装置200f側で行われた暗号化処理に対応する処理を行うことができないことになる。そこで、第1の情報処理装置100f側で行う照合判定作業は、暗号化処理ではなく復号処理を前提としたものにならざるを得ない。   Eventually, since the information of the first modification number U1 is not transmitted to the first information processing apparatus 100f side, the first modification calculation Y1 based on the first modification number U1 cannot be performed. That is, since the first information processing apparatus 100f side cannot perform a correction operation on the random code R “12345” generated by the random code generation unit 110, the encryption performed on the second information processing apparatus 200f side. It is impossible to perform processing corresponding to the conversion processing. Therefore, the collation determination work performed on the first information processing apparatus 100f side must be based on the decryption process, not the encryption process.

このような観点から、この実施例fでは、前述した実施例cに類似した処理(復号による照合処理)を行うことになる。その基本概念は、図20に示す実施例cにおいて、照合用ランダムコード生成部120cを省略し、照合用修正コード生成部130cによって生成された照合用修正コードR''「45678」を照合判定部150cに直接与え、照合判定部150cにおいて、2組のコードの一致を判定する代わりに、これら2組のコードが、修正演算による演算前後の数値として矛盾のない対応関係を有するか否かを判定するように改変することにある。   From this point of view, in the embodiment f, processing similar to the embodiment c described above (collation processing by decoding) is performed. The basic concept is that, in the embodiment c shown in FIG. 20, the collating random code generating unit 120c is omitted, and the collating correction code R ″ “45678” generated by the collating correcting code generating unit 130c is used as the collating determining unit. Instead of determining whether the two sets of codes coincide with each other directly in 150c, the collation determination unit 150c determines whether these two sets of codes have a consistent relationship as numerical values before and after the calculation by the correction calculation. There is a modification to do.

具体的には、照合用暗号コード生成部140fにおいて、修正暗号コード受信部170fが受信した修正暗号コードQ''「JKLMN」の構成要素となる個々の数字(この例の場合は、文字に対応する数字)に対して、第2の修正数U2を用いた第2の修正演算Y2とは逆の修正演算Y2バーを行って照合用暗号コードQ「DEFGH」を生成する照合用暗号コード生成段階が行われる。続いて、照合用修正コード生成部130fにおいて、暗号コード生成部230fの暗号化処理に利用された暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく復号演算を行い、照合用暗号コードQ「DEFGH」を復号して照合用修正コードR''「45678」を生成する照合用修正コード生成段階が行われる。   Specifically, in the verification encryption code generation unit 140f, individual numbers (corresponding to characters in this example) that are constituent elements of the modification encryption code Q ″ “JKLMN” received by the modification encryption code reception unit 170f. A verification encryption code generation stage for generating a verification encryption code Q “DEFGH” by performing a correction operation Y2 bar opposite to the second correction operation Y2 using the second correction number U2. Is done. Subsequently, the verification correction code generation unit 130f performs a decryption operation based on the same encryption algorithm A as the encryption algorithm A used for the encryption process of the encryption code generation unit 230f, and decrypts the verification encryption code Q “DEFGH”. Then, a verification correction code generation stage for generating a verification correction code R ″ “45678” is performed.

上述したとおり、第1の情報処理装置100f側には、第1の修正数U1に関する情報は伝えられていないので、照合用修正コード生成部130fによって生成された照合用修正コードR''「45678」に対する修正演算(第1の修正演算Y1とは逆の修正演算Y1バー)を行うことはできない。そのため、この照合用修正コードR''「45678」は、そのままの状態で照合判定部150fに与えられることになる。   As described above, since the information regarding the first modification number U1 is not transmitted to the first information processing apparatus 100f side, the collation correction code R ″ “45678” generated by the collation correction code generation unit 130f. Cannot be performed (correction calculation Y1 bar opposite to the first correction calculation Y1). Therefore, the verification correction code R ″ “45678” is given to the verification determination unit 150f as it is.

これは、照合判定部150fが、実施例cの照合判定部150cと同じ方法では照合判定を実行できないことを意味する。図示の具体例の場合も、照合用修正コード生成部130fから与えられる照合用修正コードR''「45678」と、ランダムコード発生部110から与えられるランダムコードR「12345」とは一致していない。   This means that the collation determination unit 150f cannot execute collation determination by the same method as the collation determination unit 150c of the embodiment c. Also in the illustrated example, the verification correction code R ″ “45678” given from the verification correction code generation unit 130f does not match the random code R “12345” given from the random code generation unit 110. .

しかしながら、上述した実施例eにおける照合判定の手法と同様に、ランダムコードR「12345」を、第1の修正数U1を用いた第1の修正演算Y1によって修正すれば、照合用修正コードR''「45678」が得られるのであるから、修正演算の内容を予め定めておけば、修正数自体が未知であっても、2つのコードR「12345」およびR''「45678」が、修正演算の前後の数値として矛盾のない対応関係を有するか否かを判定することは可能である。   However, if the random code R “12345” is corrected by the first correction operation Y1 using the first correction number U1, similarly to the verification determination method in the embodiment e described above, the verification correction code R ′. '"45678" is obtained, so if the content of the correction operation is determined in advance, the two codes R "12345" and R "" 45678 " It is possible to determine whether or not there is a consistent correspondence as numerical values before and after.

そこで、この実施例fの場合、照合判定部150fは、ランダムコード発生部110が発生させたランダムコードR「12345」に含まれている構成要素と、照合用修正コード生成部130fが生成した照合用修正コードR''「45678」に含まれている構成要素と、が第1の修正演算Y1による演算前後の数値として矛盾のない対応関係を有するか否かを照合し、矛盾のない対応関係を有する場合に、第2の情報処理装置200fを正当性が確認された装置と判定する照合判定段階を行う。   Therefore, in the case of the embodiment f, the collation determination unit 150f includes the components included in the random code R “12345” generated by the random code generation unit 110 and the collation generated by the verification correction code generation unit 130f. The constituent elements included in the correction code R ″ “45678” are collated with each other as to whether or not the numerical values before and after the calculation by the first correction calculation Y1 have a consistent correspondence, and the consistent correspondence In the case where the second information processing apparatus 200f is verified, the collation determination stage is performed to determine that the second information processing apparatus 200f is a verified apparatus.

このように、実施例fでは、実施例eと同様に、第1の情報処理装置100f側で行う照合判定の基準が、これまで述べてきた実施例a〜dに比べて緩和されているので認証の厳格性は若干低下することになるが、第2の情報処理装置200f側では、第1の修正数U1を送信するための処理を省略することができ、第1の情報処理装置100f側では、第1の修正数U1に関する受信処理や並び替え処理を省略することができるので、処理を簡素化できるメリットが得られる。   As described above, in the embodiment f, as in the embodiment e, the criteria for the collation determination performed on the first information processing apparatus 100f side are relaxed compared to the embodiments a to d described so far. Although the strictness of authentication is slightly reduced, the processing for transmitting the first modification number U1 can be omitted on the second information processing device 200f side, and the first information processing device 100f side Then, since the reception process and the rearrangement process regarding the first modification number U1 can be omitted, an advantage that the process can be simplified can be obtained.

<5−7.実施例g:一方向性関数の利用>
最後に、図24を参照しながら、本発明の第2の実施形態の実施例gを説明する。この実施例gは、§3−7で述べた第1の実施形態の実施例Gに対応するものであり、ここでは、第1の情報処理装置100gが第2の情報処理装置200gの正当性を確認する処理が行われることになる。実施例gは、前述した実施例aにおけるプロセスを若干変更したものであり、基本的な構成は、実施例aとほぼ同じである。そこで、以下、実施例aとの相違点についての説明のみを行う。
<5-7. Example g: Use of one-way function>
Finally, Example g of the second embodiment of the present invention will be described with reference to FIG. This example g corresponds to the example G of the first embodiment described in §3-7. Here, the first information processing apparatus 100g is the legitimacy of the second information processing apparatus 200g. The process of confirming is performed. Example g is a slightly modified process in Example a described above, and the basic configuration is substantially the same as Example a. Therefore, only the differences from the embodiment a will be described below.

まず、第2の情報処理装置200gについては、構成要素210,230gは、図18の実施例aにおける構成要素210,230aと全く同じである。実施例aとの相違点は、構成要素220a,240a,250a,260a,270aの代わりに、修正コード生成部220g,一方向性関数値生成部240g,関数値送信部250g、修正数暗号化部260g,修正数生成部270gが設けられている点である。   First, regarding the second information processing apparatus 200g, the constituent elements 210 and 230g are exactly the same as the constituent elements 210 and 230a in the embodiment a of FIG. The difference from the embodiment a is that, instead of the components 220a, 240a, 250a, 260a, 270a, a correction code generation unit 220g, a one-way function value generation unit 240g, a function value transmission unit 250g, a correction number encryption unit 260 g and a correction number generation unit 270 g are provided.

一方、第1の情報処理装置100gについては、構成要素110,130g,160は、実施例aにおける構成要素110,130a,160と全く同じである。実施例aとの相違点は、構成要素120a,140a,150a,170a,180aの代わりに、照合用修正コード生成部120g,照合用一方向性関数値生成部140g,照合判定部150g,関数値受信部170g,修正数復号部180gが設けられている点である。そこで、以下、これらの相違点について説明する。   On the other hand, for the first information processing apparatus 100g, the constituent elements 110, 130g, and 160 are exactly the same as the constituent elements 110, 130a, and 160 in the embodiment a. The difference from the embodiment a is that, instead of the components 120a, 140a, 150a, 170a, 180a, the verification correction code generation unit 120g, the verification one-way function value generation unit 140g, the verification determination unit 150g, the function value A receiving unit 170g and a modified number decoding unit 180g are provided. Therefore, these differences will be described below.

この実施例gの根本的な特徴は、実施例Gと同様に一方向性関数を利用する点である。すなわち、実施例aにおける第1の修正演算Y1は行うものの、第2の修正演算Y2は行わず、その代わりに一方向性関数を作用させる演算が行われる。そこで、この実施例gでは、実施例aにおける「第1の修正数U1」および「第1の修正演算Y1」に対応する用語として、単に、「修正数U」および「修正演算U」という文言を用いることにする。このように用語に若干の相違があるものの、実施例gにおける修正コード生成部220gは、実際には、実施例aにおける修正コード生成部220aと全く同じ構成要素であり、実施例gにおける照合用修正コード生成部120gは、実際には、実施例aにおける照合用修正コード生成部120aと全く同じ構成要素である。   The fundamental feature of the embodiment g is that a unidirectional function is used as in the embodiment G. That is, although the first correction calculation Y1 in the embodiment a is performed, the second correction calculation Y2 is not performed, and instead, a calculation that operates a one-way function is performed. Therefore, in this embodiment g, the terms “correction number U” and “correction operation U” are simply used as terms corresponding to “first correction number U1” and “first correction operation Y1” in embodiment a. Will be used. Although there is a slight difference in terms as described above, the modified code generation unit 220g in the embodiment g is actually the same component as the modified code generation unit 220a in the embodiment a, and is used for collation in the embodiment g. The correction code generation unit 120g is actually the same component as the verification correction code generation unit 120a in the embodiment a.

すなわち、修正コード生成部220gは、ランダムコードR「12345」の構成要素となる個々の数字に対して、修正数Uを用いた修正演算Yを行って修正コードR''「45678」を生成する修正コード生成段階を行う構成要素であり、照合用修正コード生成部120gは、ランダムコード発生部110が発生させたランダムコードR「12345」の構成要素となる個々の数字に対して、修正数Uを用いた修正演算Yを行って修正コードR''「45678」を生成する照会用修正コード生成段階を行う構成要素である。   In other words, the correction code generation unit 220g generates the correction code R ″ “45678” by performing the correction operation Y using the correction number U on each number that is a constituent element of the random code R “12345”. The correction code generation unit 120g is a component that performs the correction code generation stage. The verification correction code generation unit 120g performs the correction number U for each number that is a component of the random code R “12345” generated by the random code generation unit 110. Is a component that performs a correction code generation step for inquiry to generate a correction code R ″ “45678” by performing a correction operation Y using.

このように、実施例gでは、単一の修正数Uしか用いられないので、修正数生成部270gは、単一の修正数Uを生成すれば足り、修正数暗号化部260gは、この単一の修正数Uに対する暗号化を行って、単一の暗号化修正数Uを生成すれば足りる。 Thus, in Example g, since only a single modification number U is used, the modification number generation unit 270g only needs to generate a single modification number U, and the modification number encryption unit 260g It is sufficient to perform encryption for one modification number U to generate a single encryption modification number U * .

実施例gと実施例aとの本質的な相違は、暗号コード生成部230aが、修正コードR''「45678」に対する暗号化処理を行って暗号コードQ「DEFGH」を生成した後、この暗号コードQ「DEFGH」に対して修正演算を行う代わりに、一方向性関数を作用させる演算を行う点である。   The essential difference between the embodiment g and the embodiment a is that the encryption code generation unit 230a performs encryption processing on the correction code R ″ “45678” to generate the encryption code Q “DEFGH”, and then the encryption code Instead of performing a correction operation on the code Q “DEFGH”, an operation that operates a one-way function is performed.

そのため、一方向性関数値生成部240gにおいて、暗号コードQ「DEFGH」に対して一方向性関数を作用させて所定の関数値Hを生成する一方向性関数値生成段階が行われる。この一方向性関数の性質については、既に§3−7で説明したとおりであり、ここでも代表的な一方向性関数として、HASH関数を用いた例を述べることにする。図示の例の場合も、便宜上、「DEFGH」なる5文字のデータからなる暗号コードQに対してHASH関数を作用させることにより得られた関数値Hの具体的な値を「h」で表すことにする。この例の場合、一方向性関数値生成部240gは、暗号コードQ「DEFGH」に対してHASH関数を作用させ、関数値H(h)を生成する演算処理を行うことになる。   Therefore, the one-way function value generation unit 240g performs a one-way function value generation step of generating a predetermined function value H by applying a one-way function to the encryption code Q “DEFGH”. The nature of this one-way function has already been described in §3-7, and here, an example using the HASH function as a representative one-way function will be described. Also in the example shown in the figure, for convenience, a specific value of the function value H obtained by applying the HASH function to the encryption code Q consisting of five-character data “DEFGH” is represented by “h”. To. In the case of this example, the one-way function value generation unit 240g performs a calculation process for generating the function value H (h) by applying the HASH function to the encryption code Q “DEFGH”.

関数値送信部250gは、一方向性関数値生成部240gによって生成された関数値H(h)とともに、修正数暗号化部260gで暗号化された暗号化修正数Uを、第1の情報処理装置100gに送信する関数値送信段階を行う構成要素である。 The function value transmission unit 250g uses the function value H (h) generated by the one-way function value generation unit 240g and the encrypted modification number U * encrypted by the modification number encryption unit 260g as the first information. It is a component that performs a function value transmission stage to be transmitted to the processing device 100g.

こうして、第2の情報処理装置200gから送信されてきた関数値H(h)および暗号化修正数Uは、関数値受信部170gによって受信される。受信された暗号化修正数Uは修正数復号部180gに与えられ、受信された関数値H(h)は照合判定部150gに与えられる。修正数復号部180gは、与えられた暗号化修正数Uを復号し、修正数Uを復元する修正数復号段階を行う。 In this way, the function value H (h) and the encryption modification number U * transmitted from the second information processing apparatus 200g are received by the function value receiving unit 170g. The received encrypted modification number U * is provided to the modification number decryption unit 180g, and the received function value H (h) is provided to the collation determination unit 150g. The modification number decryption unit 180g performs a modification number decryption step of decrypting the given encrypted modification number U * and restoring the modification number U.

一方、照合用修正コード生成部120gは、ランダムコード発生部110が発生させたランダムコードR「12345」の構成要素となる個々の数字に対して、修正数Uを用いた修正演算Yを行って照合用修正コードR''「45678」を生成する照合用修正コード生成段階を行う。また、照合用暗号コード生成部130gは、暗号コード生成部230gの暗号化処理に用いられた暗号アルゴリズムAと同じ暗号アルゴリズムAに基づく暗号化演算によって、照合用修正コードR''「45678」を暗号化して照合用暗号コードQ「DEFGH」を生成する照合用暗号コード生成段階を行う。   On the other hand, the verification correction code generation unit 120g performs a correction operation Y using the correction number U on each number that is a component of the random code R “12345” generated by the random code generation unit 110. A verification correction code generation stage for generating a verification correction code R ″ “45678” is performed. Further, the verification encryption code generation unit 130g obtains the verification correction code R ″ “45678” by an encryption operation based on the same encryption algorithm A as the encryption algorithm A used for the encryption process of the encryption code generation unit 230g. A verification encryption code generation stage is performed in which encryption is performed to generate a verification encryption code Q “DEFGH”.

続いて、照合用一方向性関数値生成部140gにおいて、照合用暗号コードQ「DEFGH」に対して、一方向性関数値生成部240gで用いられた一方向性関数と同じ一方向性関数(ここに示す例の場合、HASH関数)を作用させて、照合用関数値H(h)を生成する照合用一方向性関数値生成段階が行われる。そして最後に、照合判定部150gにおいて、関数値受信部170gが受信した関数値H(h)と、照合用一方向性関数値生成部140gで生成された照合用関数値H(h)と、が一致するか否かを照合し、一致した場合に、第2の情報処理装置200gを正当性が確認された装置と判定する照合判定段階が行われる。   Subsequently, in the verification one-way function value generating unit 140g, the same one-way function as the one-way function used in the one-way function value generating unit 240g (for the verification encryption code Q “DEFGH”) ( In the case of the example shown here, a collation one-way function value generation stage is performed in which the HASH function is applied to generate the collation function value H (h). Finally, in the matching determination unit 150g, the function value H (h) received by the function value receiving unit 170g, the matching function value H (h) generated by the matching one-way function value generating unit 140g, Are matched, and if they match, a collation determination stage is performed in which the second information processing apparatus 200g is determined to be an apparatus whose validity has been confirmed.

このように、実施例gでは、第1の情報処理装置100g側で行う照合が、一方向性関数値の一致確認というプロセスで行われるため、認証の厳格性は若干低下することになるが、第1の情報処理装置100gおよび第2の情報処理装置200gの双方において、単一の修正数Uに関する処理を行えばよいため、処理を簡素化できるメリットが得られる。   As described above, in Example g, since the verification performed on the first information processing apparatus 100g side is performed in the process of confirming the match of the one-way function value, the strictness of authentication is slightly reduced. In both the first information processing apparatus 100g and the second information processing apparatus 200g, it is only necessary to perform a process related to a single correction number U, so that an advantage of simplifying the process can be obtained.

<<< §6. 本発明の変形例 >>>
これまで本発明に係る第1の実施形態および第2の実施形態を、それぞれいくつかの実施例に基づいて説明したが、もちろん、本発明はこれらの実施例に限定されるものではない。ここでは、これまで述べてきた種々に実施例に対する変形例をいくつか述べておく。
<<< §6. Modification of the present invention >>
So far, the first embodiment and the second embodiment according to the present invention have been described based on several examples, but the present invention is of course not limited to these examples. Here, some modifications to the various embodiments described so far will be described.

(1) 修正演算のバリエーション
§4,§5で述べた第2の実施形態において実行する修正演算として、図16には、任意の修正数Uを加算もしくは減算する例を示したが、修正演算としては、加減算以外にも様々な算術演算を設定することも可能である。たとえば、元のコードの各構成要素となる数字に修正数Uを乗ずる乗算、修正数Uを除する除算、構成ビットを修正数Uだけシフトするシフト演算、修正数Uとの間でのビットごとの論理演算(AND演算、OR演算、XOR演算)などを行うようにしてもよい。
(1) Variation of Correction Operation As an example of the correction operation executed in the second embodiment described in §4 and §5, FIG. 16 shows an example in which an arbitrary correction number U is added or subtracted. In addition to addition and subtraction, various arithmetic operations can be set. For example, multiplication by multiplying the number constituting each component of the original code by the correction number U, division by dividing the correction number U, shift operation for shifting the constituent bits by the correction number U, bit by bit with the correction number U These logical operations (AND operation, OR operation, XOR operation) may be performed.

ただ、このような修正演算の目的は、図17に示すように、通信傍受によって察知されてしまうチャレンジ・レスポンスのコードと、サイドチャネル解析の対象となる暗号化処理の前後のコードとが異なるようにするためであるので、敢えて複雑な演算を行う必要はない。したがって、実用上は、図16に例示したように、第1の修正数U1および第2の修正数U2として、乱数を利用して生成した正もしくは負の数を用い、第1の修正演算Y1として、個々の数字に対して第1の修正数U1を加算もしくは減算する演算を行い、第2の修正演算Y2として、個々の数字に対して第2の修正数U2を加算もしくは減算する演算を行うようにすれば十分である。   However, as shown in FIG. 17, the purpose of such a correction operation is such that the challenge / response code detected by communication interception is different from the code before and after the encryption processing to be subjected to side channel analysis. Therefore, there is no need to dare to perform complicated calculations. Therefore, practically, as illustrated in FIG. 16, as the first correction number U1 and the second correction number U2, positive or negative numbers generated using random numbers are used, and the first correction operation Y1 As a second correction operation Y2, an operation for adding or subtracting the second correction number U2 to each number is performed. It is enough to do so.

(2) 個別の修正数を用いる変形例
これまで述べた修正演算は、複数n個の数字(もしくは、数字に対応する文字)を構成要素として含むコードについて、これらn個の構成要素に対して共通の修正数Uを生成し、当該共通の修正数Uを加算もしくは減算する例であるが、修正数Uは、必ずしもn個の構成要素に対して共通にする必要はなく、それぞれ別個の修正数を用いるようにしてもかまわない。この場合、複数n個の数字(もしくは、数字に対応する文字)を構成要素として含むコードについて、これらn個の構成要素のそれぞれについて別個に修正数を生成し、第1の修正数U1もしくは第2の修正数U2を、n個の修正数の数列によって構成すればよい。結局、n個の構成要素からなるコードに対してn個の修正数の数列を用いて修正演算が行われることになる。
(2) Modification using individual number of corrections The correction operations described so far are for a code including a plurality of n numbers (or characters corresponding to the numbers) as components, for these n components. In this example, a common correction number U is generated, and the common correction number U is added or subtracted. However, the correction number U does not necessarily have to be common to n components, and is different from each other. You may use numbers. In this case, for a code including a plurality of n numbers (or characters corresponding to the numbers) as components, a correction number is generated separately for each of these n components, and the first correction number U1 or The correction number U2 of 2 may be configured by a sequence of n correction numbers. Eventually, a correction operation is performed on a code consisting of n components using a sequence of n correction numbers.

たとえば、図16(a) に示す例の場合、5個の構成要素(n=5)からなる元のコード「12345」について、共通の修正数U1=+3を生成し、各構成要素に+3を加算することにより、修正コード「45678」を得る修正演算が示されているが、修正数U1として、たとえば、「33221」のような5つの数字からなる数列を生成し、5個の構成要素に対してそれぞれ数列の対応位置にある数字を加算すれば、「78899」という5個の構成要素からなる修正コードを得ることができる。もちろん、この場合、第2の情報処理装置から第1の情報処理装置に対して、「33221」という数列からなる修正数U1が暗号化された状態で送信されることになる。   For example, in the example shown in FIG. 16A, a common modification number U1 = + 3 is generated for the original code “12345” composed of five components (n = 5), and +3 is set for each component. A correction operation for obtaining a correction code “45678” by addition is shown. As the correction number U1, for example, a sequence of five numbers such as “33221” is generated, and five components are generated. On the other hand, if the numbers at the corresponding positions in the sequence are added, a correction code consisting of five components “78899” can be obtained. Of course, in this case, the modified number U1 consisting of the sequence “33221” is transmitted in an encrypted state from the second information processing apparatus to the first information processing apparatus.

(3) 2組の情報処理装置における相互認証
これまで述べてきた実施例では、第1の情報処理装置(サーバ装置)が第2の情報処理装置(クライアント装置)を正当性が確認された装置として認証する認証方法を説明した。すなわち、第1の情報処理装置で乱数を用いてランダムコードRを生成し、これをチャレンジとして第2の情報処理装置に送信し、第2の情報処理装置において、このチャレンジに基づいて所定の処理を行ってレスポンスを生成し、これを第1の情報処理装置に返信し、第1の情報処理装置が当該レスポンスに基づき、第2の情報処理装置が正当な装置であるか否かを判断している。
(3) Mutual authentication in two sets of information processing apparatuses In the embodiments described so far, the first information processing apparatus (server apparatus) has confirmed the validity of the second information processing apparatus (client apparatus). Explained the authentication method to authenticate as. That is, the first information processing device generates a random code R using a random number, transmits this as a challenge to the second information processing device, and the second information processing device performs predetermined processing based on the challenge. To generate a response and return it to the first information processing apparatus. The first information processing apparatus determines whether or not the second information processing apparatus is a legitimate apparatus based on the response. ing.

そこで、第1の情報処理装置が行う各処理段階と、第2の情報処理装置が行う各処理段階と、を入れ替えた処理を更に行うようにすれば、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証するとともに、第2の情報処理装置が第1の情報処理装置を正当性が確認された装置として認証する相互認証の処理を行うことも可能である。   Therefore, if the process in which each processing stage performed by the first information processing apparatus is replaced with each processing stage performed by the second information processing apparatus is further performed, the first information processing apparatus becomes the second processing stage. It is also possible to authenticate the information processing device as a device whose validity has been confirmed, and to perform mutual authentication processing in which the second information processing device authenticates the first information processing device as a device whose validity has been confirmed. is there.

具体的には、これまで述べてきた実施例において、第1の情報処理装置の各構成要素を第2の情報処理装置にも設けるようにし、第2の情報処理装置の各構成要素を第1の情報処理装置にも設けるようにし、それぞれが相手方に対する認証処理を行うようにすればよい。   Specifically, in the embodiments described so far, each component of the first information processing apparatus is also provided in the second information processing apparatus, and each component of the second information processing apparatus is set to the first information processing apparatus. The information processing apparatus may be provided so that each performs authentication processing for the other party.

(4) 半導体集積回路もしくはプログラムの提供
これまで、本発明に係る認証方法を実行する機能をもった第1の情報処理装置および第2の情報処理装置の基本構成を、ブロック図を利用しながら説明してきたが、実際には、これらの情報処理装置は、当該ブロック図に対応する専用の処理機能をもった半導体集積回路もしくは専用のプログラムを組み込んだコンピュータによって実現することができる。したがって、実用上、本発明の成果物は、半導体集積回路からなる情報処理装置というハードウエア製品として、あるいは、コンピュータ用のプログラムというソフトウエア製品として、市場に提供されることになる。
(4) Provision of semiconductor integrated circuit or program Up to now, the basic configuration of the first information processing apparatus and the second information processing apparatus having the function of executing the authentication method according to the present invention is described using block diagrams. As described above, actually, these information processing apparatuses can be realized by a semiconductor integrated circuit having a dedicated processing function corresponding to the block diagram or a computer incorporating a dedicated program. Therefore, in practice, the product of the present invention is provided to the market as a hardware product called an information processing apparatus composed of a semiconductor integrated circuit or as a software product called a computer program.

10:第1の情報処理装置(サーバ装置)
11:ランダムコード発生部
13:照合用暗号コード生成部
15:照合判定部
16:ランダムコード送信部
17:暗号コード受信部
20:第2の情報処理装置(クライアント装置)
21:ランダムコード受信部
23:暗号コード生成部
25:暗号コード送信部
100,100′:第1の情報処理装置(サーバ装置)
100A〜100G:第1の情報処理装置(サーバ装置)
100a〜100g:第1の情報処理装置(サーバ装置)
110:ランダムコード発生部
120:照合用並替コード生成部
120′:照合用修正コード生成部
120C:照合用ランダムコード生成部
120D:照合用並替コード第2生成部
120G:照合用並替コード生成部
120a:照合用修正コード生成部
120b:照合用修正コード生成部
120c:照合用ランダムコード生成部
120d:照合用修正コード第2生成部
120e:照合用修正コード生成部
120g:照合用修正コード生成部
130:照合用暗号コード生成部
130′:照合用暗号コード生成部
130B:照合用暗号コード第1生成部
130C:照合用並替コード生成部
130D:照合用並替コード第1生成部
130F:照合用並替コード生成部
130a:照合用暗号コード生成部
130b:照合用暗号コード第1生成部
130c:照合用修正コード生成部
130d:照合用修正コード第1生成部
130e:照合用暗号コード生成部
130f:照合用修正コード生成部
130g:照合用暗号コード生成部
140:照合用並替暗号コード生成部
140′:照合用修正暗号コード生成部
140B:照合用暗号コード第2生成部
140C:照合用暗号コード生成部
140D:照合用暗号コード生成部
140F:照合用暗号コード生成部
140G:照合用一方向性関数値生成部
140a:照合用修正暗号コード生成部
140b:照合用暗号コード第2生成部
140c:照合用暗号コード生成部
140d:照合用暗号コード生成部
140f:照合用暗号コード生成部
140g:照合用一方向性関数値生成部
150:照合判定部
150′:照合判定部
150B:照合判定部
150C:照合判定部
150D:照合判定部
150E:照合判定部
150F:照合判定部
150G:照合判定部
150a:照合判定部
150b:照合判定部
150c:照合判定部
150d:照合判定部
150e:照合判定部
150f:照合判定部
150g:照合判定部
160:ランダムコード送信部
170:並替暗号コード受信部
170′:修正暗号コード受信部
170E:並替暗号コード受信部
170F:並替暗号コード受信部
170G:関数値受信部
170a:修正暗号コード受信部
170b:修正暗号コード受信部
170c:修正暗号コード受信部
170d:修正暗号コード受信部
170e:修正暗号コード受信部
170f:修正暗号コード受信部
170g:関数値受信部
180:テーブル復号部
180E:テーブル復号部
180F:テーブル復号部
180G:テーブル復号部
180a:修正数復号部
180b:修正数復号部
180c:修正数復号部
180d:修正数復号部
180e:修正数復号部
180f:修正数復号部
180g:修正数復号部
200,200′:第2の情報処理装置(クライアント装置)
200A〜200G:第2の情報処理装置(クライアント装置)
200a〜200g:第2の情報処理装置(クライアント装置)
210:ランダムコード受信部
220:並替コード生成部
220′:修正コード生成部
220G:並替コード生成部
220a:修正コード生成部
220b:修正コード生成部
220c:修正コード生成部
220d:修正コード生成部
220e:修正コード生成部
220f:修正コード生成部
220g:修正コード生成部
230:暗号コード生成部
230′:暗号コード生成部
230a:暗号コード生成部
230b:暗号コード生成部
230c:暗号コード生成部
230d:暗号コード生成部
230e:暗号コード生成部
230f:暗号コード生成部
230g:暗号コード生成部
240:並替暗号コード生成部
240′:修正暗号コード生成部
240G:一方向性関数値生成部
240a:修正暗号コード生成部
240b:修正暗号コード生成部
240c:修正暗号コード生成部
240d:修正暗号コード生成部
240e:修正暗号コード生成部
240f:修正暗号コード生成部
240g:一方向性関数値生成部
250:並替暗号コード送信部
250′:修正暗号コード送信部
250E:並替暗号コード送信部
250F:並替暗号コード送信部
250G:関数値送信部
250a:修正暗号コード送信部
250b:修正暗号コード送信部
250c:修正暗号コード送信部
250d:修正暗号コード送信部
250e:修正暗号コード送信部
250f:修正暗号コード送信部
250g:関数値送信部
260:テーブル暗号化部
260E:テーブル暗号化部
260F:テーブル暗号化部
260G:テーブル暗号化部
260a:修正数暗号化部
260b:修正数暗号化部
260c:修正数暗号化部
260d:修正数暗号化部
260e:修正数暗号化部
260f:修正数暗号化部
260g:修正数暗号化部
270:並替テーブル生成部
270G:並替テーブル生成部
270a:修正数生成部
270b:修正数生成部
270c:修正数生成部
270d:修正数生成部
270e:修正数生成部
270f:修正数生成部
270g:修正数生成部
A:暗号アルゴリズム
H:一方向性関数値
m1〜m5:コードの各構成要素
Q:暗号コード/照合用暗号コード
Q′:並替暗号コード
Q'':修正暗号コード
R:ランダムコード
R′:並替コード
R'':修正コード
T:並び替えテーブル
:暗号化テーブル
T1:第1の並び替えテーブル
T1:第1の暗号化テーブル
T2:第2の並び替えテーブル
T2:第2の暗号化テーブル
U:修正数
:暗号化修正数
U1:第1の修正数
U1:第1の暗号化修正数
U2:第2の修正数
U2:第2の暗号化修正数
X:並び替え方法
X1:第1の並び替え方法
X2:第2の並び替え方法
Y:修正演算
Y1:第1の修正演算
Y2:第2の修正演算
10: First information processing apparatus (server apparatus)
11: Random code generation unit 13: Verification encryption code generation unit 15: Verification determination unit 16: Random code transmission unit 17: Encryption code reception unit 20: Second information processing apparatus (client apparatus)
21: Random code receiving unit 23: Cryptographic code generating unit 25: Cryptographic code transmitting unit 100, 100 ': First information processing apparatus (server apparatus)
100A to 100G: First information processing apparatus (server apparatus)
100a to 100g: First information processing apparatus (server apparatus)
110: Random code generation unit 120: Collation rearrangement code generation unit 120 ′: Collation correction code generation unit 120C: Collation random code generation unit 120D: Collation rearrangement code second generation unit 120G: Collation rearrangement code Generation unit 120a: collation correction code generation unit 120b: collation correction code generation unit 120c: collation random code generation unit 120d: collation correction code second generation unit 120e: collation correction code generation unit 120g: collation correction code Generation unit 130: verification encryption code generation unit 130 ': verification encryption code generation unit 130B: verification encryption code first generation unit 130C: verification rearrangement code generation unit 130D: verification rearrangement code first generation unit 130F : Collation rearrangement code generation unit 130a: collation encryption code generation unit 130b: collation encryption code first generation unit 130 : Collation correction code generation unit 130d: collation correction code first generation unit 130e: collation encryption code generation unit 130f: collation correction code generation unit 130g: collation encryption code generation unit 140: collation rearrangement encryption code generation Unit 140 ′: Verification modified encryption code generation unit 140B: Verification encryption code second generation unit 140C: Verification encryption code generation unit 140D: Verification encryption code generation unit 140F: Verification encryption code generation unit 140G: Verification one Directional function value generation unit 140a: collation modified encryption code generation unit 140b: verification encryption code second generation unit 140c: verification encryption code generation unit 140d: verification encryption code generation unit 140f: verification encryption code generation unit 140g : One-way function value generator for verification 150: verification determination unit 150 ′: verification determination unit 150B: verification determination unit 150C Collation determination unit 150D: Collation determination unit 150E: Collation determination unit 150F: Collation determination unit 150G: Collation determination unit 150a: Collation determination unit 150b: Collation determination unit 150c: Collation determination unit 150d: Collation determination unit 150e: Collation determination unit 150f: Collation determination unit 150g: Collation determination unit 160: Random code transmission unit 170: Rearranged encryption code reception unit 170 ′: Modified encryption code reception unit 170E: Rearrangement encryption code reception unit 170F: Rearrangement encryption code reception unit 170G: Function value Receiving unit 170a: Modified encrypted code receiving unit 170b: Modified encrypted code receiving unit 170c: Modified encrypted code receiving unit 170d: Modified encrypted code receiving unit 170e: Modified encrypted code receiving unit 170f: Modified encrypted code receiving unit 170g: Function value receiving unit 180: Table decoding unit 180E: Table decoding unit 180F: Table recovery No. 180G: table decoding unit 180a: correction number decoding unit 180b: correction number decoding unit 180c: correction number decoding unit 180d: correction number decoding unit 180e: correction number decoding unit 180f: correction number decoding unit 180g: correction number decoding unit 200 , 200 ': second information processing apparatus (client apparatus)
200A to 200G: second information processing apparatus (client apparatus)
200a to 200g: second information processing apparatus (client apparatus)
210: Random code receiver 220: Rearranged code generator 220 ′: Corrected code generator 220G: Rearranged code generator 220a: Corrected code generator 220b: Corrected code generator 220c: Corrected code generator 220d: Corrected code generator Unit 220e: correction code generation unit 220f: correction code generation unit 220g: correction code generation unit 230: encryption code generation unit 230 ′: encryption code generation unit 230a: encryption code generation unit 230b: encryption code generation unit 230c: encryption code generation unit 230d: Cryptographic code generator 230e: Cryptographic code generator 230f: Cryptographic code generator 230g: Cryptographic code generator 240: Rearranged cryptographic code generator 240 ′: Modified cryptographic code generator 240G: Unidirectional function value generator 240a : Modified encryption code generator 240b: Modified encryption code generator 40c: Modified encryption code generator 240d: Modified encryption code generator 240e: Modified encryption code generator 240f: Modified encryption code generator 240g: One-way function value generator 250: Rearranged encryption code transmitter 250 ': Modified encryption Code transmission unit 250E: Rearrangement encryption code transmission unit 250F: Rearrangement encryption code transmission unit 250G: Function value transmission unit 250a: Modification encryption code transmission unit 250b: Modification encryption code transmission unit 250c: Modification encryption code transmission unit 250d: Modification encryption code Code transmission unit 250e: Modified encryption code transmission unit 250f: Modified encryption code transmission unit 250g: Function value transmission unit 260: Table encryption unit 260E: Table encryption unit 260F: Table encryption unit 260G: Table encryption unit 260a: Correction Number encryption unit 260b: Modified number encryption unit 260c: Modified number encryption unit 60d: Correction number encryption unit 260e: Correction number encryption unit 260f: Correction number encryption unit 260g: Correction number encryption unit 270: Rearrangement table generation unit 270G: Rearrangement table generation unit 270a: Correction number generation unit 270b: Correction number generation unit 270c: Correction number generation unit 270d: Correction number generation unit 270e: Correction number generation unit 270f: Correction number generation unit 270g: Correction number generation unit A: Cryptographic algorithm H: One-way function values m1 to m5: Code Of each element Q: encryption code / verification encryption code Q ′: rearrangement encryption code Q ″: modified encryption code R: random code R ′: rearrangement code R ″: modification code T: rearrangement table T * : Encryption table T1: First rearrangement table T1 * : First encryption table T2: Second rearrangement table T2 * : Second encryption table U: Modification number U * : Dark Decoding modification number U1: First modification number U1 * : First encryption modification number U2: Second modification number U2 * : Second encryption modification number X: Rearrangement method X1: First rearrangement Method X2: Second sorting method Y: Correction operation Y1: First correction operation Y2: Second correction operation

Claims (33)

第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、文字もしくは数字を羅列したランダムコードを発生させ、これを前記第2の情報処理装置に送信する段階と、
前記第2の情報処理装置が、前記ランダムコードを受信し、その構成要素をランダムな第1の並び替え方法で並び替えて並替コードを生成する段階と、
前記第2の情報処理装置が、前記並替コードを所定の暗号アルゴリズムに基づく暗号化演算によって暗号化し、暗号コードを生成する段階と、
前記第2の情報処理装置が、前記暗号コードの構成要素をランダムな第2の並び替え方法で並び替えて並替暗号コードを生成する段階と、
前記第2の情報処理装置が、前記並替暗号コードとともに、前記第1の並び替え方法および前記第2の並び替え方法を示す並替情報を、前記第1の情報処理装置に送信する段階と、
前記第1の情報処理装置が、前記並替暗号コードとともに、前記並替情報を受信し、受信した前記並替暗号コードの正当性を、受信した前記並替情報に基づく並び替え処理および前記暗号アルゴリズムに基づく暗号化演算もしくは復号演算により確認する段階と、
を有する情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus generates a random code in which characters or numbers are enumerated using a random number and transmits the random code to the second information processing apparatus;
The second information processing apparatus receives the random code, rearranges its constituent elements by a random first rearrangement method, and generates a rearrangement code;
The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm, and generates an encryption code;
The second information processing apparatus generates a rearranged encryption code by rearranging the constituent elements of the encryption code by a random second rearrangement method;
The second information processing apparatus transmits rearrangement information indicating the first rearrangement method and the second rearrangement method together with the rearrangement encryption code to the first information processing apparatus; ,
The first information processing apparatus receives the rearrangement information together with the rearrangement encryption code, and determines the validity of the received rearrangement encryption code based on the received rearrangement information and the encryption. A step of confirming by an encryption operation or a decryption operation based on an algorithm;
An information processing apparatus authentication method comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、  An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
前記第1の情報処理装置が、乱数を利用して、文字もしくは数字を羅列したランダムコードを発生させ、これを前記第2の情報処理装置に送信する段階と、  The first information processing apparatus generates a random code in which characters or numbers are enumerated using a random number and transmits the random code to the second information processing apparatus;
前記第2の情報処理装置が、前記ランダムコードを受信し、その構成要素をランダムな第1の並び替え方法で並び替えて並替コードを生成する段階と、  The second information processing apparatus receives the random code, rearranges its constituent elements by a random first rearrangement method, and generates a rearrangement code;
前記第2の情報処理装置が、前記並替コードを所定の暗号アルゴリズムに基づく暗号化演算によって暗号化し、暗号コードを生成する段階と、  The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm, and generates an encryption code;
前記第2の情報処理装置が、前記暗号コードの構成要素をランダムな第2の並び替え方法で並び替えて並替暗号コードを生成する段階と、  The second information processing apparatus generates a rearranged encryption code by rearranging the constituent elements of the encryption code by a random second rearrangement method;
前記第2の情報処理装置が、前記並替暗号コードとともに、前記第1の並び替え方法を示す並替情報を、前記第1の情報処理装置に送信する段階と、  The second information processing apparatus transmits rearrangement information indicating the first rearrangement method together with the rearrangement encryption code to the first information processing apparatus;
前記第1の情報処理装置が、前記並替暗号コードとともに、前記並替情報を受信し、前記ランダムコードに対して、受信した前記並替情報に基づく並び替え処理および前記暗号アルゴリズムに基づく暗号化演算を行い、この暗号化演算の結果と受信した前記並替暗号コードとについて、並び順を無視して、構成要素が対応しているか否かを照合することにより、受信した前記並替暗号コードの正当性を確認する段階と、  The first information processing apparatus receives the rearrangement information together with the rearrangement encryption code, and performs a rearrangement process based on the received rearrangement information and an encryption based on the encryption algorithm for the random code. The received reordered encryption code is obtained by performing an operation and collating whether or not the constituent elements are compatible with respect to the result of the encryption operation and the received reordered encryption code, ignoring the order of arrangement. Confirming the legitimacy of
を有する情報処理装置の認証方法。  An information processing apparatus authentication method comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、  An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
前記第1の情報処理装置が、乱数を利用して、文字もしくは数字を羅列したランダムコードを発生させ、これを前記第2の情報処理装置に送信する段階と、  The first information processing apparatus generates a random code in which characters or numbers are enumerated using a random number and transmits the random code to the second information processing apparatus;
前記第2の情報処理装置が、前記ランダムコードを受信し、その構成要素をランダムな第1の並び替え方法で並び替えて並替コードを生成する段階と、  The second information processing apparatus receives the random code, rearranges its constituent elements by a random first rearrangement method, and generates a rearrangement code;
前記第2の情報処理装置が、前記並替コードを所定の暗号アルゴリズムに基づく暗号化演算によって暗号化し、暗号コードを生成する段階と、  The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm, and generates an encryption code;
前記第2の情報処理装置が、前記暗号コードの構成要素をランダムな第2の並び替え方法で並び替えて並替暗号コードを生成する段階と、  The second information processing apparatus generates a rearranged encryption code by rearranging the constituent elements of the encryption code by a random second rearrangement method;
前記第2の情報処理装置が、前記並替暗号コードとともに、前記第2の並び替え方法を示す並替情報を、前記第1の情報処理装置に送信する段階と、  The second information processing apparatus transmits rearrangement information indicating the second rearrangement method together with the rearrangement encryption code to the first information processing apparatus;
前記第1の情報処理装置が、前記並替暗号コードとともに、前記並替情報を受信し、受信した前記並替暗号コードに対して、受信した前記並替情報に基づく並び替え処理および前記暗号アルゴリズムに基づく復号演算を行い、この復号演算の結果と前記ランダムコードとについて、並び順を無視して、構成要素が対応しているか否かを照合することにより、受信した前記並替暗号コードの正当性を確認する段階と、  The first information processing apparatus receives the rearrangement information together with the rearrangement encryption code, and performs the rearrangement process and the encryption algorithm based on the received rearrangement information for the received rearrangement encryption code. The result of the decryption operation and the random code are ignored, the order of arrangement is ignored, and whether or not the constituent elements are supported is verified. Confirming sex,
を有する情報処理装置の認証方法。  An information processing apparatus authentication method comprising:
請求項1〜3のいずれかに記載の情報処理装置の認証方法において、
第2の情報処理装置から第1の情報処理装置への並替情報の送信を暗号化した状態で行うことを特徴とする情報処理装置の認証方法。
In the authentication method of the information processing apparatus in any one of Claims 1-3 ,
An authentication method for an information processing apparatus, wherein transmission of rearrangement information from the second information processing apparatus to the first information processing apparatus is performed in an encrypted state.
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルに基づいて、前記ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記第2の並び替えテーブルに基づいて、前記暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルおよび前記第2の並び替えテーブルをそれぞれ暗号化し、第1の暗号化テーブルおよび第2の暗号化テーブルを生成するテーブル暗号化段階と、
前記第2の情報処理装置が、前記並替暗号コードとともに、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルを、前記第1の情報処理装置に送信する並替暗号コード送信段階と、
前記第1の情報処理装置が、前記並替暗号コードとともに、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルを受信する並替暗号コード受信段階と、
前記第1の情報処理装置が、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルをそれぞれ復号し、前記第1の並び替えテーブルおよび前記第2の並び替えテーブルを復元するテーブル復号段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させた前記ランダムコードの構成要素を、前記第1の並び替えテーブルに基づいて並び替えて照合用並替コードを生成する照合用並替コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく暗号化演算によって、前記照合用並替コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記第2の並び替えテーブルに基づいて、前記照合用暗号コードの構成要素を並び替えて照合用並替暗号コードを生成する照合用並替暗号コード生成段階と、
前記第1の情報処理装置が、前記並替暗号コード受信段階で受信した並替暗号コードと、前記照合用並替暗号コード生成段階で生成された照合用並替暗号コードと、が一致するか否かを照合し、一致した場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
The second information processing apparatus generates a first rearrangement table and a second rearrangement table using random numbers;
The second information processing apparatus generates a rearrangement code by rearranging the constituent elements of the random code based on the first rearrangement table;
The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The second information processing apparatus rearranges the constituent elements of the encryption code based on the second rearrangement table to generate a rearrangement encryption code generation step; and
A table encryption stage in which the second information processing apparatus encrypts the first rearrangement table and the second rearrangement table, respectively, and generates a first encryption table and a second encryption table; ,
The second information processing apparatus transmits the first encryption table and the second encryption table together with the rearranged encryption code to the first information processing apparatus. ,
The first information processing device receives the first encryption table and the second encryption table together with the rearranged encryption code, and receives a rearranged encryption code reception step.
A table decryption step in which the first information processing apparatus decrypts the first encryption table and the second encryption table, respectively, and restores the first rearrangement table and the second rearrangement table. When,
The first information processing apparatus rearranges the components of the random code generated in the random code generation stage based on the first rearrangement table to generate a collation parallel code. Replacement code generation stage,
The first information processing apparatus encrypts the collation rearrangement code by an encryption operation based on the encryption algorithm to generate a collation encryption code generation step;
A collation rearrangement encryption code generation step in which the first information processing apparatus rearranges the constituent elements of the collation encryption code based on the second rearrangement table to generate a collation rearrangement encryption code; ,
Does the first information processing apparatus match the reordered encryption code received in the reordered encryption code receiving step and the reordered encryption code for verification generated in the verification reordered encryption code generation step? A collation determination step of determining whether the second information processing device is a device whose validity has been confirmed,
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルに基づいて、前記ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記第2の並び替えテーブルに基づいて、前記暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルおよび前記第2の並び替えテーブルをそれぞれ暗号化し、第1の暗号化テーブルおよび第2の暗号化テーブルを生成するテーブル暗号化段階と、
前記第2の情報処理装置が、前記並替暗号コードとともに、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルを、前記第1の情報処理装置に送信する並替暗号コード送信段階と、
前記第1の情報処理装置が、前記並替暗号コードとともに、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルを受信する並替暗号コード受信段階と、
前記第1の情報処理装置が、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルをそれぞれ復号し、前記第1の並び替えテーブルおよび前記第2の並び替えテーブルを復元するテーブル復号段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させた前記ランダムコードの構成要素を、前記第1の並び替えテーブルに基づいて並び替えて照合用並替コードを生成する照合用並替コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく暗号化演算によって、前記照合用並替コードを暗号化して照合用暗号コードを生成する照合用暗号コード第1生成段階と、
前記第1の情報処理装置が、前記第2の並び替えテーブルを逆転させたテーブルに基づいて、前記並替暗号コード受信段階で受信した並替暗号コードの構成要素を並び替えて照合用暗号コードを生成する照合用暗号コード第2生成段階と、
前記第1の情報処理装置が、前記照合用暗号コード第1生成段階で生成した照合用暗号コードと、前記照合用暗号コード第2生成段階で生成した照合用暗号コードと、が一致するか否かを照合し、一致した場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
The second information processing apparatus generates a first rearrangement table and a second rearrangement table using random numbers;
The second information processing apparatus generates a rearrangement code by rearranging the constituent elements of the random code based on the first rearrangement table;
The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The second information processing apparatus rearranges the constituent elements of the encryption code based on the second rearrangement table to generate a rearrangement encryption code generation step; and
A table encryption stage in which the second information processing apparatus encrypts the first rearrangement table and the second rearrangement table, respectively, and generates a first encryption table and a second encryption table; ,
The second information processing apparatus transmits the first encryption table and the second encryption table together with the rearranged encryption code to the first information processing apparatus. ,
The first information processing device receives the first encryption table and the second encryption table together with the rearranged encryption code, and receives a rearranged encryption code reception step.
A table decryption step in which the first information processing apparatus decrypts the first encryption table and the second encryption table, respectively, and restores the first rearrangement table and the second rearrangement table. When,
The first information processing apparatus rearranges the components of the random code generated in the random code generation stage based on the first rearrangement table to generate a collation parallel code. Replacement code generation stage,
The first information processing apparatus encrypts the collation rearrangement code by an encryption operation based on the encryption algorithm to generate a collation encryption code first generation step;
The first information processing apparatus rearranges the components of the reordered encryption code received in the reordered encryption code reception stage based on a table obtained by reversing the second reordering table, thereby verifying the encryption code A verification encryption code second generation stage for generating
Whether the first information processing apparatus matches the verification encryption code generated in the verification encryption code first generation stage with the verification encryption code generated in the verification encryption code second generation stage. A collation determination step of determining that the second information processing device is a device whose validity has been confirmed when they match.
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルに基づいて、前記ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記第2の並び替えテーブルに基づいて、前記暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルおよび前記第2の並び替えテーブルをそれぞれ暗号化し、第1の暗号化テーブルおよび第2の暗号化テーブルを生成するテーブル暗号化段階と、
前記第2の情報処理装置が、前記並替暗号コードとともに、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルを、前記第1の情報処理装置に送信する並替暗号コード送信段階と、
前記第1の情報処理装置が、前記並替暗号コードとともに、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルを受信する並替暗号コード受信段階と、
前記第1の情報処理装置が、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルをそれぞれ復号し、前記第1の並び替えテーブルおよび前記第2の並び替えテーブルを復元するテーブル復号段階と、
前記第1の情報処理装置が、前記第2の並び替えテーブルを逆転させたテーブルに基づいて、前記並替暗号コード受信段階で受信した並替暗号コードの構成要素を並び替えて照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく復号演算によって、前記照合用暗号コードを復号して照合用並替コードを生成する照合用並替コード生成段階と、
前記第1の情報処理装置が、前記第1の並び替えテーブルを逆転させたテーブルに基づいて、前記照合用並替コードの構成要素を並び替えて照合用ランダムコードを生成する照合用ランダムコード生成段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させたランダムコードと、前記照合用ランダムコード生成段階で生成された照合用ランダムコードと、が一致するか否かを照合し、一致した場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
The second information processing apparatus generates a first rearrangement table and a second rearrangement table using random numbers;
The second information processing apparatus generates a rearrangement code by rearranging the constituent elements of the random code based on the first rearrangement table;
The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The second information processing apparatus rearranges the constituent elements of the encryption code based on the second rearrangement table to generate a rearrangement encryption code generation step; and
A table encryption stage in which the second information processing apparatus encrypts the first rearrangement table and the second rearrangement table, respectively, and generates a first encryption table and a second encryption table; ,
The second information processing apparatus transmits the first encryption table and the second encryption table together with the rearranged encryption code to the first information processing apparatus. ,
The first information processing device receives the first encryption table and the second encryption table together with the rearranged encryption code, and receives a rearranged encryption code reception step.
A table decryption step in which the first information processing apparatus decrypts the first encryption table and the second encryption table, respectively, and restores the first rearrangement table and the second rearrangement table. When,
The first information processing apparatus rearranges the components of the reordered encryption code received in the reordered encryption code reception stage based on a table obtained by reversing the second reordering table, thereby verifying the encryption code A verification encryption code generation stage for generating
The first information processing apparatus generates a collation rearrangement code by decrypting the collation cipher code by a decryption operation based on the cipher algorithm; and
Random code generation for collation in which the first information processing apparatus rearranges the constituent elements of the collation rearrangement code based on a table obtained by reversing the first rearrangement table to generate a random code for collation Stages,
The first information processing apparatus collates whether or not the random code generated in the random code generation stage matches the verification random code generated in the verification random code generation stage. A collation determination step for determining that the second information processing device is a device whose validity has been confirmed.
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルに基づいて、前記ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記第2の並び替えテーブルに基づいて、前記暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルおよび前記第2の並び替えテーブルをそれぞれ暗号化し、第1の暗号化テーブルおよび第2の暗号化テーブルを生成するテーブル暗号化段階と、
前記第2の情報処理装置が、前記並替暗号コードとともに、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルを、前記第1の情報処理装置に送信する並替暗号コード送信段階と、
前記第1の情報処理装置が、前記並替暗号コードとともに、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルを受信する並替暗号コード受信段階と、
前記第1の情報処理装置が、前記第1の暗号化テーブルおよび前記第2の暗号化テーブルをそれぞれ復号し、前記第1の並び替えテーブルおよび前記第2の並び替えテーブルを復元するテーブル復号段階と、
前記第1の情報処理装置が、前記第2の並び替えテーブルを逆転させたテーブルに基づいて、前記並替暗号コード受信段階で受信した並替暗号コードの構成要素を並び替えて照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく復号演算によって、前記照合用暗号コードを復号して照合用並替コードを生成する照合用並替コード第1生成段階と、
前記第1の情報処理装置が、前記第1の並び替えテーブルに基づいて、前記ランダムコード発生段階で発生させたランダムコードの構成要素を並び替えて照合用並替コードを生成する照合用並替コード第2生成段階と、
前記第1の情報処理装置が、前記照合用並替コード第1生成段階で生成した照合用並替コードと、前記照合用並替コード第2生成段階で生成した照合用並替コードと、が一致するか否かを照合し、一致した場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
The second information processing apparatus generates a first rearrangement table and a second rearrangement table using random numbers;
The second information processing apparatus generates a rearrangement code by rearranging the constituent elements of the random code based on the first rearrangement table;
The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The second information processing apparatus rearranges the constituent elements of the encryption code based on the second rearrangement table to generate a rearrangement encryption code generation step; and
A table encryption stage in which the second information processing apparatus encrypts the first rearrangement table and the second rearrangement table, respectively, and generates a first encryption table and a second encryption table; ,
The second information processing apparatus transmits the first encryption table and the second encryption table together with the rearranged encryption code to the first information processing apparatus. ,
The first information processing device receives the first encryption table and the second encryption table together with the rearranged encryption code, and receives a rearranged encryption code reception step.
A table decryption step in which the first information processing apparatus decrypts the first encryption table and the second encryption table, respectively, and restores the first rearrangement table and the second rearrangement table. When,
The first information processing apparatus rearranges the components of the reordered encryption code received in the reordered encryption code reception stage based on a table obtained by reversing the second reordering table, thereby verifying the encryption code A verification encryption code generation stage for generating
A collation rearrangement code first generation step in which the first information processing apparatus decrypts the collation cipher code and generates a collation rearrangement code by a decryption operation based on the encryption algorithm;
The collation rearrangement in which the first information processing apparatus rearranges the constituent elements of the random code generated in the random code generation stage based on the first rearrangement table to generate the collation rearrangement code. A second code generation stage;
The collation rearrangement code generated by the first information processing device in the collation rearrangement code first generation stage and the collation rearrangement code generated in the collation rearrangement code second generation stage. A collation determination step of collating whether or not they match, and determining that the second information processing device is a device whose validity has been confirmed if they match,
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルに基づいて、前記ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記第2の並び替えテーブルに基づいて、前記暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルを暗号化し、第1の暗号化テーブルを生成するテーブル暗号化段階と、
前記第2の情報処理装置が、前記並替暗号コードとともに前記第1の暗号化テーブルを、前記第1の情報処理装置に送信する並替暗号コード送信段階と、
前記第1の情報処理装置が、前記並替暗号コードとともに、前記第1の暗号化テーブルを受信する並替暗号コード受信段階と、
前記第1の情報処理装置が、前記第1の暗号化テーブルを復号し、前記第1の並び替えテーブルを復元するテーブル復号段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させた前記ランダムコードの構成要素を、前記第1の並び替えテーブルに基づいて並び替えて照合用並替コードを生成する照合用並替コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく暗号化演算によって、前記照合用並替コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記並替暗号コード受信段階で受信した並替暗号コードに含まれている構成要素と、前記照合用暗号コード生成段階で生成された照合用暗号コードに含まれている構成要素と、が対応するか否かを照合し、対応する場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
The second information processing apparatus generates a first rearrangement table and a second rearrangement table using random numbers;
The second information processing apparatus generates a rearrangement code by rearranging the constituent elements of the random code based on the first rearrangement table;
The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The second information processing apparatus rearranges the constituent elements of the encryption code based on the second rearrangement table to generate a rearrangement encryption code generation step; and
A table encryption stage in which the second information processing apparatus encrypts the first rearrangement table and generates a first encryption table;
The second information processing device transmits the first encryption table together with the rearranged encryption code to the first information processing device;
The first information processing apparatus receives the first encryption table together with the rearranged encryption code;
A table decrypting step in which the first information processing apparatus decrypts the first encryption table and restores the first rearrangement table;
The first information processing apparatus rearranges the components of the random code generated in the random code generation stage based on the first rearrangement table to generate a collation parallel code. Replacement code generation stage,
The first information processing apparatus encrypts the collation rearrangement code by an encryption operation based on the encryption algorithm to generate a collation encryption code generation step;
The first information processing apparatus is included in the constituent elements included in the rearrangement encryption code received in the rearrangement encryption code reception stage and the verification encryption code generated in the verification encryption code generation stage. A matching determination step of determining whether or not the second information processing apparatus is an apparatus for which the validity has been confirmed.
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の並び替えテーブルおよび第2の並び替えテーブルを生成する並替テーブル生成段階と、
前記第2の情報処理装置が、前記第1の並び替えテーブルに基づいて、前記ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記第2の並び替えテーブルに基づいて、前記暗号コードの構成要素を並び替えて並替暗号コードを生成する並替暗号コード生成段階と、
前記第2の情報処理装置が、前記第2の並び替えテーブルを暗号化し、第2の暗号化テーブルを生成するテーブル暗号化段階と、
前記第2の情報処理装置が、前記並替暗号コードとともに前記第2の暗号化テーブルを、前記第1の情報処理装置に送信する並替暗号コード送信段階と、
前記第1の情報処理装置が、前記並替暗号コードとともに、前記第2の暗号化テーブルを受信する並替暗号コード受信段階と、
前記第1の情報処理装置が、前記第2の暗号化テーブルを復号し、前記第2の並び替えテーブルを復元するテーブル復号段階と、
前記第1の情報処理装置が、前記第2の並び替えテーブルを逆転させたテーブルに基づいて、前記並替暗号コード受信段階で受信した並替暗号コードの構成要素を並び替えて照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく復号演算によって、前記照合用暗号コードを復号して照合用並替コードを生成する照合用並替コード生成段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させたランダムコードに含まれている構成要素と、前記照合用並替コード生成段階で生成された照合用並替コードに含まれている構成要素と、が対応するか否かを照合し、対応する場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
The second information processing apparatus generates a first rearrangement table and a second rearrangement table using random numbers;
The second information processing apparatus generates a rearrangement code by rearranging the constituent elements of the random code based on the first rearrangement table;
The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The second information processing apparatus rearranges the constituent elements of the encryption code based on the second rearrangement table to generate a rearrangement encryption code generation step; and
A table encryption stage in which the second information processing apparatus encrypts the second rearrangement table and generates a second encryption table;
The second information processing device transmits the second encryption table together with the rearranged encryption code to the first information processing device;
The first information processing apparatus receives the second encryption table together with the rearranged encryption code, and receives the rearranged encryption code reception step.
A table decrypting step in which the first information processing apparatus decrypts the second encryption table and restores the second rearrangement table;
The first information processing apparatus rearranges the components of the reordered encryption code received in the reordered encryption code reception stage based on a table obtained by reversing the second reordering table, thereby verifying the encryption code A verification encryption code generation stage for generating
The first information processing apparatus generates a collation rearrangement code by decrypting the collation cipher code by a decryption operation based on the cipher algorithm; and
The first information processing apparatus is included in a component included in a random code generated in the random code generation stage and a collation rearrangement code generated in the collation rearrangement code generation stage. A matching determination step of determining whether or not the second information processing device is a device whose validity has been confirmed.
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる文字もしくは数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して並び替えテーブルを生成する並替テーブル生成段階と、
前記第2の情報処理装置が、前記並び替えテーブルに基づいて、前記ランダムコードの構成要素を並び替えて並替コードを生成する並替コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記並替コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記暗号コードに対して一方向性関数を作用させて所定の関数値を生成する一方向性関数値生成段階と、
前記第2の情報処理装置が、前記並び替えテーブルを暗号化し、暗号化テーブルを生成するテーブル暗号化段階と、
前記第2の情報処理装置が、前記関数値とともに前記暗号化テーブルを、前記第1の情報処理装置に送信する関数値送信段階と、
前記第1の情報処理装置が、前記関数値とともに、前記暗号化テーブルを受信する関数値受信段階と、
前記第1の情報処理装置が、前記暗号化テーブルを復号し、前記並び替えテーブルを復元するテーブル復号段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させた前記ランダムコードの構成要素を、前記並び替えテーブルに基づいて並び替えて照合用並替コードを生成する照合用並替コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく暗号化演算によって、前記照合用並替コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記照合用暗号コードに対して前記一方向性関数を作用させて照合用関数値を生成する照合用一方向性関数値生成段階と、
前記第1の情報処理装置が、前記関数値受信段階で受信した関数値と、前記照合用一方向性関数値生成段階で生成された照合用関数値と、が一致するか否かを照合し、一致した場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus uses a random number to generate a random code that enumerates characters or numbers as constituent elements;
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
The second information processing apparatus generates a rearrangement table using a random number;
The second information processing apparatus rearranges the components of the random code based on the rearrangement table to generate a rearrangement code, and generates a rearrangement code.
The second information processing apparatus encrypts the rearrangement code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The second information processing apparatus generates a predetermined function value by applying a one-way function to the encryption code; and
A table encryption stage in which the second information processing apparatus encrypts the rearrangement table and generates an encryption table;
A function value transmission stage in which the second information processing apparatus transmits the encryption table together with the function value to the first information processing apparatus;
A function value receiving stage in which the first information processing apparatus receives the encryption table together with the function value;
A table decrypting step in which the first information processing apparatus decrypts the encryption table and restores the rearrangement table;
The collation rearrangement code generation in which the first information processing apparatus rearranges the components of the random code generated in the random code generation stage based on the rearrangement table to generate a collation rearrangement code. Stages,
The first information processing apparatus encrypts the collation rearrangement code by an encryption operation based on the encryption algorithm to generate a collation encryption code generation step;
The first information processing apparatus generates a collation function value by causing the one-way function to act on the collation encryption code; and
The first information processing apparatus collates whether or not the function value received in the function value reception stage matches the collation function value generated in the collation one-way function value generation stage. A matching determination step of determining, when they match, that the second information processing apparatus is an apparatus whose validity has been confirmed;
An authentication method for an information processing apparatus, comprising:
請求項5〜10のいずれかに記載の情報処理装置の認証方法において、
第1の並び替えテーブルおよび第2の並び替えテーブルとして、同一のテーブルを用いることを特徴とする情報処理装置の認証方法。
In the authentication method of the information processing apparatus in any one of Claims 5-10 ,
An authentication method for an information processing apparatus, wherein the same table is used as the first rearrangement table and the second rearrangement table.
請求項5〜12のいずれかに記載の情報処理装置の認証方法において、
第2の情報処理装置が、テーブル暗号化段階において、公開鍵暗号方式に用いる一対の鍵のうちの一方の鍵を用いて並び替えテーブルの暗号化を行い、
第1の情報処理装置が、テーブル復号段階において、前記一対の鍵のうちの他方の鍵を用いて並び替えテーブルの復号を行うことを特徴とする情報処理装置の認証方法。
In the authentication method of the information processing apparatus in any one of Claims 5-12 ,
The second information processing apparatus encrypts the rearrangement table using one of a pair of keys used for the public key cryptosystem in the table encryption stage,
An authentication method for an information processing apparatus, wherein the first information processing apparatus decrypts the rearrangement table using the other key of the pair of keys in the table decryption stage.
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、数字を羅列したランダムコードを発生させ、これを前記第2の情報処理装置に送信する段階と、
前記第2の情報処理装置が、前記ランダムコードを受信し、その構成要素となる個々の数字に対して、ランダムに発生した第1の修正数を用いた第1の修正演算を行って修正コードを生成する段階と、
前記第2の情報処理装置が、前記修正コードを所定の暗号アルゴリズムに基づく暗号化演算によって暗号化し、暗号コードを生成する段階と、
前記第2の情報処理装置が、前記暗号コードの構成要素となる個々の数字に対して、ランダムに発生した第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する段階と、
前記第2の情報処理装置が、前記修正暗号コードとともに、前記第1の修正演算および前記第2の修正演算を示す修正情報を、前記第1の情報処理装置に送信する段階と、
前記第1の情報処理装置が、前記修正暗号コードとともに、前記修正情報を受信し、受信した前記修正暗号コードの正当性を、受信した前記修正情報に基づく修正演算および前記暗号アルゴリズムに基づく暗号化演算もしくは復号演算により確認する段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing device generates a random code enumerating numbers using random numbers and transmits the random code to the second information processing device;
The second information processing apparatus receives the random code, and performs a first correction operation using a first correction number generated at random on each of the constituent numbers, thereby correcting the code. Generating
The second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm, and generates an encryption code;
The second information processing apparatus performs a second modification operation using a second modification number generated at random on each number that is a constituent element of the encryption code to generate a modified encryption code. Stages,
The second information processing apparatus transmits correction information indicating the first correction calculation and the second correction calculation together with the correction encryption code to the first information processing apparatus;
The first information processing apparatus receives the modification information together with the modified encryption code, and corrects the received modified encryption code based on the modification operation based on the received modification information and encryption based on the encryption algorithm. A step of checking by calculation or decoding operation;
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、  An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
前記第1の情報処理装置が、乱数を利用して、数字を羅列したランダムコードを発生させ、これを前記第2の情報処理装置に送信する段階と、  The first information processing device generates a random code enumerating numbers using random numbers and transmits the random code to the second information processing device;
前記第2の情報処理装置が、前記ランダムコードを受信し、その構成要素となる個々の数字に対して、ランダムに発生した第1の修正数を用いた第1の修正演算を行って修正コードを生成する段階と、  The second information processing apparatus receives the random code, and performs a first correction operation using a first correction number generated at random on each of the constituent numbers, thereby correcting the code. Generating
前記第2の情報処理装置が、前記修正コードを所定の暗号アルゴリズムに基づく暗号化演算によって暗号化し、暗号コードを生成する段階と、  The second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm, and generates an encryption code;
前記第2の情報処理装置が、前記暗号コードの構成要素となる個々の数字に対して、ランダムに発生した第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する段階と、  The second information processing apparatus performs a second modification operation using a second modification number generated at random on each number that is a constituent element of the encryption code to generate a modified encryption code. Stages,
前記第2の情報処理装置が、前記修正暗号コードとともに、前記第1の修正演算を示す修正情報を、前記第1の情報処理装置に送信する段階と、  The second information processing apparatus transmits correction information indicating the first correction calculation together with the corrected encryption code to the first information processing apparatus;
前記第1の情報処理装置が、前記修正暗号コードとともに、前記修正情報を受信し、前記ランダムコードに対して、受信した前記修正情報に基づく修正演算および前記暗号アルゴリズムに基づく暗号化演算を行い、この暗号化演算の結果と受信した前記修正暗号コードとについて、前記第2の修正演算の前後の数値として矛盾のない対応関係を有するか否かを判定することにより、受信した前記修正暗号コードの正当性を確認する段階と、  The first information processing apparatus receives the modification information together with the modified encryption code, performs a modification operation based on the received modification information and an encryption operation based on the encryption algorithm for the random code, By determining whether or not the result of this encryption operation and the received modified encrypted code have a consistent relationship as numerical values before and after the second modified operation, the received modified encrypted code Verifying the legitimacy,
を有することを特徴とする情報処理装置の認証方法。  An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
前記第1の情報処理装置が、乱数を利用して、数字を羅列したランダムコードを発生させ、これを前記第2の情報処理装置に送信する段階と、  The first information processing device generates a random code enumerating numbers using random numbers and transmits the random code to the second information processing device;
前記第2の情報処理装置が、前記ランダムコードを受信し、その構成要素となる個々の数字に対して、ランダムに発生した第1の修正数を用いた第1の修正演算を行って修正コードを生成する段階と、  The second information processing apparatus receives the random code, and performs a first correction operation using a first correction number generated at random on each of the constituent numbers, thereby correcting the code. Generating
前記第2の情報処理装置が、前記修正コードを所定の暗号アルゴリズムに基づく暗号化演算によって暗号化し、暗号コードを生成する段階と、  The second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm, and generates an encryption code;
前記第2の情報処理装置が、前記暗号コードの構成要素となる個々の数字に対して、ランダムに発生した第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する段階と、  The second information processing apparatus performs a second modification operation using a second modification number generated at random on each number that is a constituent element of the encryption code to generate a modified encryption code. Stages,
前記第2の情報処理装置が、前記修正暗号コードとともに、前記第2の修正演算を示す修正情報を、前記第1の情報処理装置に送信する段階と、  The second information processing apparatus transmits correction information indicating the second correction calculation together with the corrected encryption code to the first information processing apparatus;
前記第1の情報処理装置が、前記修正暗号コードとともに、前記修正情報を受信し、受信した前記修正暗号コードに対して、受信した前記修正情報に基づく修正処理および前記暗号アルゴリズムに基づく復号演算を行い、この復号演算の結果と前記ランダムコードとについて、前記第1の修正演算の前後の数値として矛盾のない対応関係を有するか否かを判定することにより、受信した前記修正暗号コードの正当性を確認する段階と、  The first information processing apparatus receives the modification information together with the modified encryption code, and performs a modification process based on the received modification information and a decryption operation based on the encryption algorithm for the received modified encryption code. The validity of the received modified encrypted code is determined by determining whether the result of the decryption operation and the random code have a consistent correspondence as numerical values before and after the first modified operation. The stage of checking
を有することを特徴とする情報処理装置の認証方法。  An authentication method for an information processing apparatus, comprising:
請求項14〜16のいずれかに記載の情報処理装置の認証方法において、
第2の情報処理装置から第1の情報処理装置への修正情報の送信を暗号化した状態で行うことを特徴とする情報処理装置の認証方法。
In the authentication method of the information processing apparatus in any one of Claims 14-16 ,
An authentication method for an information processing apparatus, wherein transmission of correction information from the second information processing apparatus to the first information processing apparatus is performed in an encrypted state.
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
前記第2の情報処理装置が、受信した前記ランダムコードの構成要素となる個々の数字に対して、前記第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
前記第2の情報処理装置が、前記第1の修正数および前記第2の修正数をそれぞれ暗号化し、第1の暗号化修正数および第2の暗号化修正数を生成する修正数暗号化段階と、
前記第2の情報処理装置が、前記修正暗号コードとともに、前記第1の暗号化修正数および前記第2の暗号化修正数を、前記第1の情報処理装置に送信する修正暗号コード送信段階と、
前記第1の情報処理装置が、前記修正暗号コードとともに、前記第1の暗号化修正数および前記第2の暗号化修正数を受信する修正暗号コード受信段階と、
前記第1の情報処理装置が、前記第1の暗号化修正数および前記第2の暗号化修正数をそれぞれ復号し、前記第1の修正数および前記第2の修正数を復元する修正数復号段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させた前記ランダムコードの構成要素となる個々の数字に対して、前記第1の修正数を用いた前記第1の修正演算を行って照合用修正コードを生成する照合用修正コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく暗号化演算によって、前記照合用修正コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記照合用暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた前記第2の修正演算を行って照合用修正暗号コードを生成する照合用修正暗号コード生成段階と、
前記第1の情報処理装置が、前記修正暗号コード受信段階で受信した修正暗号コードと、前記照合用修正暗号コード生成段階で生成された照合用修正暗号コードと、が一致するか否かを照合し、一致した場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus generates a random code using a random number to generate a random code that enumerates numbers as constituent elements; and
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a component of the received random code. Generation stage,
The second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The modified encryption code in which the second information processing apparatus generates a modified encryption code by performing a second modification operation using the second modification number on each number that is a component of the encryption code. Generation stage,
A modified number encryption stage in which the second information processing apparatus encrypts the first modified number and the second modified number, respectively, and generates a first encrypted modified number and a second encrypted modified number. When,
A modified encryption code transmission step in which the second information processing apparatus transmits the first encryption modification number and the second encryption modification number together with the modified encryption code to the first information processing apparatus; ,
A modified encrypted code receiving step in which the first information processing apparatus receives the first encrypted modification number and the second encrypted modification number together with the modified encrypted code;
Modification number decryption in which the first information processing apparatus decrypts the first encryption modification number and the second encryption modification number, respectively, and restores the first modification number and the second modification number. Stages,
The first information processing apparatus performs the first correction operation using the first correction number on individual numbers that are constituent elements of the random code generated in the random code generation stage. A verification correction code generation stage for generating a verification correction code,
The first information processing apparatus encrypts the verification correction code by an encryption operation based on the encryption algorithm to generate a verification encryption code; and
The first information processing apparatus performs the second correction operation using the second correction number on each number that is a constituent element of the verification encryption code to obtain a verification correction encryption code. A verification modified encryption code generation stage to be generated;
The first information processing apparatus collates whether or not the modified encryption code received in the modified encryption code reception stage matches the verification modified encryption code generated in the verification modified encryption code generation stage. And a collation determination step of determining, when they match, that the second information processing device is a device whose validity has been confirmed;
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
前記第2の情報処理装置が、受信した前記ランダムコードの構成要素となる個々の数字に対して、前記第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
前記第2の情報処理装置が、前記第1の修正数および前記第2の修正数をそれぞれ暗号化し、第1の暗号化修正数および第2の暗号化修正数を生成する修正数暗号化段階と、
前記第2の情報処理装置が、前記修正暗号コードとともに、前記第1の暗号化修正数および前記第2の暗号化修正数を、前記第1の情報処理装置に送信する修正暗号コード送信段階と、
前記第1の情報処理装置が、前記修正暗号コードとともに、前記第1の暗号化修正数および前記第2の暗号化修正数を受信する修正暗号コード受信段階と、
前記第1の情報処理装置が、前記第1の暗号化修正数および前記第2の暗号化修正数をそれぞれ復号し、前記第1の修正数および前記第2の修正数を復元する修正数復号段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させた前記ランダムコードの構成要素となる個々の数字に対して、前記第1の修正数を用いた前記第1の修正演算を行って照合用修正コードを生成する照合用修正コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく暗号化演算によって、前記照合用修正コードを暗号化して照合用暗号コードを生成する照合用暗号コード第1生成段階と、
前記第1の情報処理装置が、前記修正暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた前記第2の修正演算とは逆の演算を行って照合用暗号コードを生成する照合用暗号コード第2生成段階と、
前記第1の情報処理装置が、前記照合用暗号コード第1生成段階で生成した照合用暗号コードと、前記照合用暗号コード第2生成段階で生成した照合用暗号コードと、が一致するか否かを照合し、一致した場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus generates a random code using a random number to generate a random code that enumerates numbers as constituent elements; and
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a component of the received random code. Generation stage,
The second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The modified encryption code in which the second information processing apparatus generates a modified encryption code by performing a second modification operation using the second modification number on each number that is a component of the encryption code. Generation stage,
A modified number encryption stage in which the second information processing apparatus encrypts the first modified number and the second modified number, respectively, and generates a first encrypted modified number and a second encrypted modified number. When,
A modified encryption code transmission step in which the second information processing apparatus transmits the first encryption modification number and the second encryption modification number together with the modified encryption code to the first information processing apparatus; ,
A modified encrypted code receiving step in which the first information processing apparatus receives the first encrypted modification number and the second encrypted modification number together with the modified encrypted code;
Modification number decryption in which the first information processing apparatus decrypts the first encryption modification number and the second encryption modification number, respectively, and restores the first modification number and the second modification number. Stages,
The first information processing apparatus performs the first correction operation using the first correction number on individual numbers that are constituent elements of the random code generated in the random code generation stage. A verification correction code generation stage for generating a verification correction code,
A first verification encryption code generation step in which the first information processing apparatus encrypts the verification correction code and generates a verification encryption code by an encryption operation based on the encryption algorithm;
The first information processing apparatus performs an operation opposite to the second correction operation using the second correction number on each number that is a component of the corrected encryption code for verification. A verification encryption code second generation stage for generating an encryption code;
Whether the first information processing apparatus matches the verification encryption code generated in the verification encryption code first generation stage with the verification encryption code generated in the verification encryption code second generation stage. A collation determination step of determining that the second information processing device is a device whose validity has been confirmed when they match.
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
前記第2の情報処理装置が、受信した前記ランダムコードの構成要素となる個々の数字に対して、前記第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
前記第2の情報処理装置が、前記第1の修正数および前記第2の修正数をそれぞれ暗号化し、第1の暗号化修正数および第2の暗号化修正数を生成する修正数暗号化段階と、
前記第2の情報処理装置が、前記修正暗号コードとともに、前記第1の暗号化修正数および前記第2の暗号化修正数を、前記第1の情報処理装置に送信する修正暗号コード送信段階と、
前記第1の情報処理装置が、前記修正暗号コードとともに、前記第1の暗号化修正数および前記第2の暗号化修正数を受信する修正暗号コード受信段階と、
前記第1の情報処理装置が、前記第1の暗号化修正数および前記第2の暗号化修正数をそれぞれ復号し、前記第1の修正数および前記第2の修正数を復元する修正数復号段階と、
前記第1の情報処理装置が、前記修正暗号コード受信段階で受信した修正暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた前記第2の修正演算とは逆の演算を行って照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく復号演算によって、前記照合用暗号コードを復号して照合用修正コードを生成する照合用修正コード生成段階と、
前記第1の情報処理装置が、前記照合用修正コードの構成要素となる個々の数字に対して、前記第1の修正数を用いた前記第1の修正演算とは逆の演算を行って照合用ランダムコードを生成する照合用ランダムコード生成段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させたランダムコードと、前記照合用ランダムコード生成段階で生成された照合用ランダムコードと、が一致するか否かを照合し、一致した場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus generates a random code using a random number to generate a random code that enumerates numbers as constituent elements; and
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a component of the received random code. Generation stage,
The second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The modified encryption code in which the second information processing apparatus generates a modified encryption code by performing a second modification operation using the second modification number on each number that is a component of the encryption code. Generation stage,
A modified number encryption stage in which the second information processing apparatus encrypts the first modified number and the second modified number, respectively, and generates a first encrypted modified number and a second encrypted modified number. When,
A modified encryption code transmission step in which the second information processing apparatus transmits the first encryption modification number and the second encryption modification number together with the modified encryption code to the first information processing apparatus; ,
A modified encrypted code receiving step in which the first information processing apparatus receives the first encrypted modification number and the second encrypted modification number together with the modified encrypted code;
Modification number decryption in which the first information processing apparatus decrypts the first encryption modification number and the second encryption modification number, respectively, and restores the first modification number and the second modification number. Stages,
What is the second correction operation using the second correction number for each number that is a component of the corrected encryption code received by the first information processing apparatus in the reception of the corrected encryption code? A verification encryption code generation stage for performing a reverse operation to generate a verification encryption code;
A verification correction code generation stage in which the first information processing apparatus generates a verification correction code by decrypting the verification encryption code by a decryption operation based on the encryption algorithm;
The first information processing apparatus collates each number that is a component of the collation correction code by performing a calculation opposite to the first correction calculation using the first correction number. A random code generation stage for generating a random code for verification,
The first information processing apparatus collates whether or not the random code generated in the random code generation stage matches the verification random code generated in the verification random code generation stage. A collation determination step for determining that the second information processing device is a device whose validity has been confirmed.
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
前記第2の情報処理装置が、受信した前記ランダムコードの構成要素となる個々の数字に対して、前記第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
前記第2の情報処理装置が、前記第1の修正数および前記第2の修正数をそれぞれ暗号化し、第1の暗号化修正数および第2の暗号化修正数を生成する修正数暗号化段階と、
前記第2の情報処理装置が、前記修正暗号コードとともに、前記第1の暗号化修正数および前記第2の暗号化修正数を、前記第1の情報処理装置に送信する修正暗号コード送信段階と、
前記第1の情報処理装置が、前記修正暗号コードとともに、前記第1の暗号化修正数および前記第2の暗号化修正数を受信する修正暗号コード受信段階と、
前記第1の情報処理装置が、前記第1の暗号化修正数および前記第2の暗号化修正数をそれぞれ復号し、前記第1の修正数および前記第2の修正数を復元する修正数復号段階と、
前記第1の情報処理装置が、前記修正暗号コード受信段階で受信した修正暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた前記第2の修正演算とは逆の演算を行って照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく復号演算によって、前記照合用暗号コードを復号して照合用修正コードを生成する照合用修正コード第1生成段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させたランダムコードの構成要素となる個々の数字に対して、前記第1の修正数を用いた前記第1の修正演算を行って照合用修正コードを生成する照合用修正コード第2生成段階と、
前記第1の情報処理装置が、前記照合用修正コード第1生成段階で生成した照合用修正コードと、前記照合用修正コード第2生成段階で生成した照合用修正コードと、が一致するか否かを照合し、一致した場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus generates a random code using a random number to generate a random code that enumerates numbers as constituent elements; and
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a component of the received random code. Generation stage,
The second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The modified encryption code in which the second information processing apparatus generates a modified encryption code by performing a second modification operation using the second modification number on each number that is a component of the encryption code. Generation stage,
A modified number encryption stage in which the second information processing apparatus encrypts the first modified number and the second modified number, respectively, and generates a first encrypted modified number and a second encrypted modified number. When,
A modified encryption code transmission step in which the second information processing apparatus transmits the first encryption modification number and the second encryption modification number together with the modified encryption code to the first information processing apparatus; ,
A modified encrypted code receiving step in which the first information processing apparatus receives the first encrypted modification number and the second encrypted modification number together with the modified encrypted code;
Modification number decryption in which the first information processing apparatus decrypts the first encryption modification number and the second encryption modification number, respectively, and restores the first modification number and the second modification number. Stages,
What is the second correction operation using the second correction number for each number that is a component of the corrected encryption code received by the first information processing apparatus in the reception of the corrected encryption code? A verification encryption code generation stage for performing a reverse operation to generate a verification encryption code;
A verification correction code first generation stage in which the first information processing apparatus generates a verification correction code by decrypting the verification encryption code by a decryption operation based on the encryption algorithm;
The first information processing apparatus performs the first correction operation using the first correction number on each number that is a constituent element of the random code generated in the random code generation stage. A verification correction code second generation stage for generating a verification correction code;
Whether the first information processing apparatus matches the verification correction code generated in the verification correction code first generation stage with the verification correction code generated in the verification correction code second generation stage. A collation determination step of determining that the second information processing device is a device whose validity has been confirmed when they match.
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
前記第2の情報処理装置が、受信した前記ランダムコードの構成要素となる個々の数字に対して、前記第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
前記第2の情報処理装置が、前記第1の修正数を暗号化し、第1の暗号化修正数を生成する修正数暗号化段階と、
前記第2の情報処理装置が、前記修正暗号コードとともに、前記第1の暗号化修正数を、前記第1の情報処理装置に送信する修正暗号コード送信段階と、
前記第1の情報処理装置が、前記修正暗号コードとともに、前記第1の暗号化修正数を受信する修正暗号コード受信段階と、
前記第1の情報処理装置が、前記第1の暗号化修正数を復号し、前記第1の修正数を復元する修正数復号段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させた前記ランダムコードの構成要素となる個々の数字に対して、前記第1の修正数を用いた前記第1の修正演算を行って照合用修正コードを生成する照合用修正コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく暗号化演算によって、前記照合用修正コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記修正暗号コード受信段階で受信した修正暗号コードに含まれている構成要素と、前記照合用暗号コード生成段階で生成された照合用暗号コードに含まれている構成要素と、が前記第2の修正演算による演算前後の数値として矛盾のない対応関係を有するか否かを照合し、矛盾のない対応関係を有する場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus generates a random code using a random number to generate a random code that enumerates numbers as constituent elements; and
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a component of the received random code. Generation stage,
The second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The modified encryption code in which the second information processing apparatus generates a modified encryption code by performing a second modification operation using the second modification number on each number that is a component of the encryption code. Generation stage,
A modified number encryption stage in which the second information processing apparatus encrypts the first modified number and generates a first encrypted modified number;
The second information processing apparatus transmits the first encryption modification number together with the modified encryption code to the first information processing apparatus,
The first information processing apparatus receives a modified encryption code reception stage for receiving the first encryption modification number together with the modified encryption code;
A modified number decryption step in which the first information processing apparatus decrypts the first encrypted modified number and restores the first modified number;
The first information processing apparatus performs the first correction operation using the first correction number on individual numbers that are constituent elements of the random code generated in the random code generation stage. A verification correction code generation stage for generating a verification correction code,
The first information processing apparatus encrypts the verification correction code by an encryption operation based on the encryption algorithm to generate a verification encryption code; and
The first information processing apparatus is included in the constituent elements included in the modified encryption code received in the modified encryption code reception stage and the verification encryption code generated in the verification encryption code generation stage. The component is compared with whether or not the numerical value before and after the calculation by the second correction calculation has a consistent correspondence, and if it has a consistent correspondence, the second information processing apparatus is validated. A collation determination stage for determining that the device has been confirmed,
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して第1の修正数および第2の修正数を生成する修正数生成段階と、
前記第2の情報処理装置が、受信した前記ランダムコードの構成要素となる個々の数字に対して、前記第1の修正数を用いた第1の修正演算を行って修正コードを生成する修正コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた第2の修正演算を行って修正暗号コードを生成する修正暗号コード生成段階と、
前記第2の情報処理装置が、前記第2の修正数を暗号化し、第2の暗号化修正数を生成する修正数暗号化段階と、
前記第2の情報処理装置が、前記修正暗号コードとともに前記第2の暗号化修正数を、前記第1の情報処理装置に送信する修正暗号コード送信段階と、
前記第1の情報処理装置が、前記修正暗号コードとともに、前記第2の暗号化修正数を受信する修正暗号コード受信段階と、
前記第1の情報処理装置が、前記第2の暗号化修正数を復号し、前記第2の修正数を復元する修正数復号段階と、
前記第1の情報処理装置が、前記修正暗号コード受信段階で受信した修正暗号コードの構成要素となる個々の数字に対して、前記第2の修正数を用いた前記第2の修正演算とは逆の演算を行って照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく復号演算によって、前記照合用暗号コードを復号して照合用修正コードを生成する照合用修正コード生成段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させたランダムコードに含まれている構成要素と、前記照合用修正コード生成段階で生成された照合用修正コードに含まれている構成要素と、が前記第1の修正演算による演算前後の数値として矛盾のない対応関係を有するか否かを照合し、矛盾のない対応関係を有する場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus generates a random code using a random number to generate a random code that enumerates numbers as constituent elements; and
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
A correction number generation stage in which the second information processing apparatus generates a first correction number and a second correction number using a random number;
A correction code in which the second information processing apparatus generates a correction code by performing a first correction operation using the first correction number on each number that is a component of the received random code. Generation stage,
The second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The modified encryption code in which the second information processing apparatus generates a modified encryption code by performing a second modification operation using the second modification number on each number that is a component of the encryption code. Generation stage,
A modified number encryption step in which the second information processing apparatus encrypts the second modified number and generates a second encrypted modified number;
A modified encryption code transmission stage in which the second information processing apparatus transmits the second encrypted modification number together with the modified encryption code to the first information processing apparatus;
A modified encrypted code receiving stage in which the first information processing apparatus receives the second encrypted modification number together with the modified encrypted code;
A modified number decryption step in which the first information processing apparatus decrypts the second encrypted modified number and restores the second modified number;
What is the second correction operation using the second correction number for each number that is a component of the corrected encryption code received by the first information processing apparatus in the reception of the corrected encryption code? A verification encryption code generation stage for performing a reverse operation to generate a verification encryption code;
A verification correction code generation stage in which the first information processing apparatus generates a verification correction code by decrypting the verification encryption code by a decryption operation based on the encryption algorithm;
A configuration in which the first information processing apparatus is included in a component included in a random code generated in the random code generation stage and a verification correction code generated in the verification correction code generation stage. If the element has a consistent correspondence as a numerical value before and after the calculation by the first correction computation, and the correspondence is consistent, the second information processing apparatus is validated. A verification determination stage for determining that the device has been confirmed;
An authentication method for an information processing apparatus, comprising:
第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証する認証方法であって、
前記第1の情報処理装置が、乱数を利用して、構成要素となる数字を羅列したランダムコードを発生させるランダムコード発生段階と、
前記第1の情報処理装置が、前記ランダムコードを前記第2の情報処理装置に送信するランダムコード送信段階と、
前記第2の情報処理装置が、前記ランダムコードを受信するランダムコード受信段階と、
前記第2の情報処理装置が、乱数を利用して修正数を生成する修正数生成段階と、
前記第2の情報処理装置が、受信した前記ランダムコードの構成要素となる個々の数字に対して、前記修正数を用いた修正演算を行って修正コードを生成する修正コード生成段階と、
前記第2の情報処理装置が、所定の暗号アルゴリズムに基づく暗号化演算によって、前記修正コードを暗号化して暗号コードを生成する暗号コード生成段階と、
前記第2の情報処理装置が、前記暗号コードに対して一方向性関数を作用させて所定の関数値を生成する一方向性関数値生成段階と、
前記第2の情報処理装置が、前記修正数を暗号化し、暗号化修正数を生成する修正数暗号化段階と、
前記第2の情報処理装置が、前記関数値とともに前記暗号化修正数を、前記第1の情報処理装置に送信する関数値送信段階と、
前記第1の情報処理装置が、前記関数値とともに、前記暗号化修正数を受信する関数値受信段階と、
前記第1の情報処理装置が、前記暗号化修正数を復号し、前記修正数を復元する修正数復号段階と、
前記第1の情報処理装置が、前記ランダムコード発生段階で発生させた前記ランダムコードの構成要素となる個々の数字に対して、前記修正数を用いた前記修正演算を行って照合用修正コードを生成する照合用修正コード生成段階と、
前記第1の情報処理装置が、前記暗号アルゴリズムに基づく暗号化演算によって、前記照合用修正コードを暗号化して照合用暗号コードを生成する照合用暗号コード生成段階と、
前記第1の情報処理装置が、前記照合用暗号コードに対して前記一方向性関数を作用させて照合用関数値を生成する照合用一方向性関数値生成段階と、
前記第1の情報処理装置が、前記関数値受信段階で受信した関数値と、前記照合用一方向性関数値生成段階で生成された照合用関数値と、が一致するか否かを照合し、一致した場合に、前記第2の情報処理装置を正当性が確認された装置と判定する照合判定段階と、
を有することを特徴とする情報処理装置の認証方法。
An authentication method in which a first information processing device authenticates a second information processing device as a device whose validity has been confirmed,
The first information processing apparatus generates a random code using a random number to generate a random code that enumerates numbers as constituent elements; and
A random code transmission stage in which the first information processing apparatus transmits the random code to the second information processing apparatus;
A random code receiving stage in which the second information processing apparatus receives the random code;
The second information processing apparatus generates a correction number using a random number;
A correction code generation step in which the second information processing apparatus generates a correction code by performing a correction operation using the correction number on each number that is a component of the received random code;
The second information processing apparatus encrypts the correction code by an encryption operation based on a predetermined encryption algorithm to generate an encryption code; and
The second information processing apparatus generates a predetermined function value by applying a one-way function to the encryption code; and
A correction number encryption step in which the second information processing apparatus encrypts the correction number and generates an encrypted correction number;
A function value transmission stage in which the second information processing apparatus transmits the encryption correction number together with the function value to the first information processing apparatus;
A function value receiving step in which the first information processing apparatus receives the encryption correction number together with the function value;
A correction number decryption step in which the first information processing apparatus decrypts the encrypted correction number and restores the correction number;
The first information processing apparatus performs a correction operation using the correction number on each number that is a constituent element of the random code generated in the random code generation stage to obtain a correction code for verification. A verification correction code generation stage to be generated;
The first information processing apparatus encrypts the verification correction code by an encryption operation based on the encryption algorithm to generate a verification encryption code; and
The first information processing apparatus generates a collation function value by causing the one-way function to act on the collation encryption code; and
The first information processing apparatus collates whether or not the function value received in the function value reception stage matches the collation function value generated in the collation one-way function value generation stage. A matching determination step of determining, when they match, that the second information processing apparatus is an apparatus whose validity has been confirmed;
An authentication method for an information processing apparatus, comprising:
請求項18〜23のいずれかに記載の情報処理装置の認証方法において、
第1の修正数および第2の修正数として、同一の修正数を用いることを特徴とする情報処理装置の認証方法。
In the authentication method of the information processing apparatus in any one of Claims 18-23 ,
An authentication method for an information processing apparatus, wherein the same correction number is used as the first correction number and the second correction number.
請求項18〜25のいずれかに記載の情報処理装置の認証方法において、
第2の情報処理装置が、修正数暗号化段階において、公開鍵暗号方式に用いる一対の鍵のうちの一方の鍵を用いて修正数の暗号化を行い、
第1の情報処理装置が、修正数復号段階において、前記一対の鍵のうちの他方の鍵を用いて修正数の復号を行うことを特徴とする情報処理装置の認証方法。
In the authentication method of the information processing apparatus in any one of Claims 18-25 ,
The second information processing apparatus performs encryption of the correction number using one of the pair of keys used for the public key cryptosystem in the correction number encryption stage,
An authentication method for an information processing apparatus, wherein the first information processing apparatus performs decryption of the modification number using the other key of the pair of keys in the modification number decryption stage.
請求項18〜26のいずれかに記載の情報処理装置の認証方法において、
修正数として、乱数を利用して生成した正もしくは負の数を用い、修正演算として、個々の数字に対して前記修正数を加算もしくは減算する演算を行うことを特徴とする情報処理装置の認証方法。
In the authentication method of the information processing apparatus in any one of Claims 18-26 ,
Authentication of an information processing apparatus using a positive or negative number generated using a random number as a correction number, and performing an operation of adding or subtracting the correction number for each number as a correction operation Method.
請求項27に記載の情報処理装置の認証方法において、
ランダムコードの構成要素となる個々の数字および暗号コードの構成要素となる個々の数字が、N〜M(但し、N<M)の範囲内の数値となるようにし、修正演算を行う際に、演算後の数値VがV<Nとなる場合には(M−N+1)を加算する補正を行い、演算後の数値VがV>Mとなる場合には(M−N+1)を減算する補正を行い、修正演算後の数値がN〜Mの範囲内の数値となるようにすることを特徴とする情報処理装置の認証方法。
The authentication method of the information processing apparatus according to claim 27 ,
When performing the correction operation so that the individual numbers that are the constituent elements of the random code and the individual numbers that are the constituent elements of the encryption code are numerical values within the range of N to M (where N <M), When the calculated numerical value V is V <N, correction is performed by adding (M−N + 1), and when the calculated numerical value V is V> M, correction is performed by subtracting (M−N + 1). An authentication method for an information processing apparatus, wherein the numerical value after the correction calculation is a numerical value within a range of N to M.
請求項18〜28のいずれかに記載の情報処理装置の認証方法において、
複数n個の数字を構成要素として含むコードについて、これらn個の構成要素のそれぞれについて別個に修正数を生成し、n個の修正数の数列を用いて修正演算を行うことを特徴とする情報処理装置の認証方法。
In the authentication method of the information processing apparatus according to any one of claims 18 to 28 ,
For a code including a plurality of n numbers as constituent elements, a correction number is separately generated for each of the n constituent elements, and a correction operation is performed using a sequence of n correction numbers. Processing device authentication method.
請求項14〜29のいずれかに記載の情報処理装置の認証方法において、
第1の情報処理装置および第2の情報処理装置として、それぞれ特定の数字に対応づけられた文字を取り扱う装置を用い、ランダムコードもしくは暗号コードとして文字を含むコードを発生させ、個々の文字をそれぞれ対応する数字として取り扱う処理を行うことを特徴とする情報処理装置の認証方法。
30. The authentication method for an information processing device according to claim 14 ,
As the first information processing device and the second information processing device, devices that handle characters associated with specific numbers are used to generate a code including characters as a random code or an encryption code. An authentication method for an information processing apparatus, characterized in that processing is performed as a corresponding number.
請求項1〜30のいずれかに記載の情報処理装置の認証方法において、
第1の情報処理装置が行う各処理段階と、第2の情報処理装置が行う各処理段階と、を入れ替えた処理を更に行うことにより、第1の情報処理装置が第2の情報処理装置を正当性が確認された装置として認証するとともに、第2の情報処理装置が第1の情報処理装置を正当性が確認された装置として認証する処理を行うことを特徴とする情報処理装置の認証方法。
In the authentication method of the information processing apparatus in any one of Claims 1-30 ,
By further performing a process in which each processing stage performed by the first information processing apparatus and each processing stage performed by the second information processing apparatus are interchanged, the first information processing apparatus changes the second information processing apparatus. An authentication method for an information processing apparatus, wherein authentication is performed as a device whose validity has been confirmed, and the second information processing apparatus performs processing for authenticating the first information processing apparatus as a device whose validity has been confirmed. .
請求項1〜30のいずれかに記載の情報処理装置の認証方法における第1の情報処理装置または第2の情報処理装置が行う各段階を実行する機能をもった情報処理装置。 31. An information processing apparatus having a function of executing each stage performed by the first information processing apparatus or the second information processing apparatus in the information processing apparatus authentication method according to claim 1. 請求項1〜30のいずれかに記載の情報処理装置の認証方法における第1の情報処理装置または第2の情報処理装置が行う各段階をコンピュータに実行させるプログラム。 A program for causing a computer to execute each step performed by the first information processing apparatus or the second information processing apparatus in the authentication method for the information processing apparatus according to any one of claims 1 to 30 .
JP2014032583A 2014-02-24 2014-02-24 Authentication method for information processing apparatus Active JP6264935B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014032583A JP6264935B2 (en) 2014-02-24 2014-02-24 Authentication method for information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014032583A JP6264935B2 (en) 2014-02-24 2014-02-24 Authentication method for information processing apparatus

Publications (2)

Publication Number Publication Date
JP2015159394A JP2015159394A (en) 2015-09-03
JP6264935B2 true JP6264935B2 (en) 2018-01-24

Family

ID=54183104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014032583A Active JP6264935B2 (en) 2014-02-24 2014-02-24 Authentication method for information processing apparatus

Country Status (1)

Country Link
JP (1) JP6264935B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295606B1 (en) * 1999-07-26 2001-09-25 Motorola, Inc. Method and apparatus for preventing information leakage attacks on a microelectronic assembly
EA003874B1 (en) * 1999-10-25 2003-10-30 Киферманкс Консультантс Лимитид Method for making data processing resistant to extraction of data by analysis of unintended side-channel signals
JP3967252B2 (en) * 2002-11-06 2007-08-29 三菱電機株式会社 Cryptographic communication system and cryptographic communication apparatus
JP4611642B2 (en) * 2004-01-16 2011-01-12 三菱電機株式会社 Authentication system
US9252960B2 (en) * 2009-03-06 2016-02-02 Intrinsic Id B.V. System for establishing a cryptographic key depending on a physical system
JP5206992B2 (en) * 2009-12-25 2013-06-12 日本電気株式会社 Authentication system, authentication device, terminal device, authentication method, and program
US20120284506A1 (en) * 2010-04-30 2012-11-08 T-Central, Inc. Methods and apparatus for preventing crimeware attacks

Also Published As

Publication number Publication date
JP2015159394A (en) 2015-09-03

Similar Documents

Publication Publication Date Title
US9819657B2 (en) Protection of memory interface
US9497021B2 (en) Device for generating a message authentication code for authenticating a message
CN110663215B (en) Elliptic curve point multiplication device and method in white-box scene
US20120008767A1 (en) System for encrypting and decrypting a plaintext message with authentication
RU2696334C1 (en) Device and method for calculating block cipher
TWI688250B (en) Method and device for data encryption and decryption
CN103684772B (en) Dynamic deficiency encryption system
JP2014017556A5 (en)
US9847879B2 (en) Protection against passive sniffing
CN109951276B (en) Embedded equipment remote identity authentication method based on TPM
CN105450419A (en) Method, device and system
WO2000008907A2 (en) Self-corrector randomizer-encryptor system and method
Reyad et al. Key-based enhancement of data encryption standard for text security
CN110889695A (en) Method and device for saving and recovering private data based on secure multi-party computing
JP6264935B2 (en) Authentication method for information processing apparatus
US10200348B2 (en) Method to detect an OTA (over the air) standard message affected by an error
CN100544248C (en) The key data receiving/transmission method
JP6631989B2 (en) Encryption device, control method, and program
CN103634113A (en) Encryption and decryption method and device with user/equipment identity authentication
JP5466032B2 (en) Authentication system, authentication method and program
Shenets et al. X-PACE: modified password authenticated connection establishment protocol
CN114844630A (en) Random encryption-based Internet of things terminal authentication method and system
Samoilenko et al. HTTP data ciphering algorithm
CN115361120A (en) Method for realizing SM2 encryption and decryption information tampering prevention based on multiple random scrambling
Singh et al. Encryption algorithms with emphasis on probabilistic Encryption & time stamp in network security

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170919

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171113

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171211

R150 Certificate of patent or registration of utility model

Ref document number: 6264935

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150