JP4611642B2 - Authentication system - Google Patents

Authentication system Download PDF

Info

Publication number
JP4611642B2
JP4611642B2 JP2004008987A JP2004008987A JP4611642B2 JP 4611642 B2 JP4611642 B2 JP 4611642B2 JP 2004008987 A JP2004008987 A JP 2004008987A JP 2004008987 A JP2004008987 A JP 2004008987A JP 4611642 B2 JP4611642 B2 JP 4611642B2
Authority
JP
Japan
Prior art keywords
ciphertext
random number
hash
processing unit
value
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.)
Expired - Lifetime
Application number
JP2004008987A
Other languages
Japanese (ja)
Other versions
JP2005204125A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004008987A priority Critical patent/JP4611642B2/en
Publication of JP2005204125A publication Critical patent/JP2005204125A/en
Application granted granted Critical
Publication of JP4611642B2 publication Critical patent/JP4611642B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、認証するシステムに係り、入出力データに着目した不当な解析を阻止する技術に関する。   The present invention relates to a system for authentication, and relates to a technique for preventing unauthorized analysis focusing on input / output data.

図9は、従来の処理フローを示す図である。この図は、従来のチャレンジアンドレスポンスによる認証の処理手順を示すものである。認証側で保持する鍵K1と被認証側で保持する鍵K2が一致しなければ、認証は成功しないようになっている。   FIG. 9 is a diagram showing a conventional processing flow. This figure shows the processing procedure of authentication by the conventional challenge and response. If the key K1 held on the authenticating side does not match the key K2 held on the authenticated side, the authentication is not successful.

しかし、近年電力差分解析や電磁波解析などのサイドチャネルアタックによって、装置内の秘密データが解析される危険が高まっている。このような不正な解析では、被認証側へ乱数R1を与え、被認証側の装置内での乱数R1の処理に係るデータ値を予測して、最終的に鍵K2を求める手順を追う。   However, in recent years, there is an increased risk that secret data in the apparatus is analyzed by side channel attacks such as power difference analysis and electromagnetic wave analysis. In such an illegal analysis, a random number R1 is given to the authenticated side, a data value related to processing of the random number R1 in the device on the authenticated side is predicted, and a procedure for finally obtaining the key K2 is followed.

本発明は、上記した従来技術の欠点を除くためになされたものであって、その目的とするところは、乱数に対する被認証側の処理において、不当な解析による予測を困難にすることを課題とする。   The present invention has been made in order to eliminate the above-described drawbacks of the prior art, and the object of the present invention is to make it difficult to predict by unauthorized analysis in the process on the authenticated side for random numbers. To do.

本発明に係る認証システムは、
認証される被認証装置と、認証する認証装置からなる認証システムであって、
被認証装置は、
(1)認証装置と共有する乱数を、秘匿の方法で秘密の値に変換する乱数加工部と、
(2)変換された乱数を、暗号化して暗号文を生成する暗号化部と、
(3)生成した暗号文を、秘匿の方法で変換する暗号文加工部と、
(4)変換された暗号文を、認証装置に送信する暗号文送信部とを有し、
認証装置は、
(5)被認証装置から、前記変換された暗号文と想定されるデータを受信する暗号文受信部と、
(6)受信した前記データを、暗号文加工部の変換と可逆の変換方法で逆変換する暗号文逆加工部と、
(7)逆変換された暗号文を、復号して復号文を生成する復号部と、
(8)生成した復号文を、前記変換された暗号文と想定されるデータとして、乱数加工部の変換と可逆の変換方法で逆変換する乱数逆加工部とを有することを特徴とする。
An authentication system according to the present invention includes:
An authentication system including an authenticated device to be authenticated and an authentication device to be authenticated,
The device to be authenticated
(1) a random number processing unit that converts a random number shared with the authentication device into a secret value by a secret method;
(2) an encryption unit that encrypts the converted random number to generate a ciphertext;
(3) a ciphertext processing unit that converts the generated ciphertext by a secret method;
(4) a ciphertext transmission unit that transmits the converted ciphertext to the authentication device;
The authentication device
(5) a ciphertext receiving unit that receives data that is assumed to be the converted ciphertext from an authenticated device;
(6) a ciphertext reverse processing unit that reverse-converts the received data by a conversion method of the ciphertext processing unit and a reversible conversion method;
(7) a decryption unit that decrypts the inversely converted ciphertext to generate a decrypted text;
(8) A random number reverse processing unit that reversely converts the generated decrypted text as data that is assumed to be the converted cipher text by conversion using a random number processing unit and a reversible conversion method.

本発明においては、被認証側で与えられた乱数をそのまま用いるのではなく、変換した後に暗号等の被認証に係る処理を行うので、乱数の処理に着目した外部からの不正解析を困難にして、秘匿性を担保できる。   In the present invention, the random number given on the authenticated side is not used as it is, but the processing related to the authenticated such as encryption is performed after the conversion, so that it is difficult to perform fraud analysis from the outside focusing on the random number processing. , Confidentiality can be ensured.

実施の形態1.
以下本発明を図面に示す実施例に基づいて説明する。本例では、双方で同時に認証する手順を採用している。
Embodiment 1 FIG.
Hereinafter, the present invention will be described based on embodiments shown in the drawings. In this example, a procedure for performing both authentications at the same time is adopted.

まず、被認証側の処理を中心に説明する。図1は、相互認証の処理のフローを示す図である。両装置は、同時に被認証に係る処理を行う。   First, the process on the authenticated side will be mainly described. FIG. 1 is a diagram showing a flow of mutual authentication processing. Both devices simultaneously perform processing related to authentication.

図2は、相互認証に係る構成を示す図である。この構成により、被認証の処理を行う。この図は、図1の左側の装置を想定しているが、右側の装置でも同様の構成となっている。乱数生成部201、乱数送信部202、乱数受信部203、入力加工データ生成部204、乱数加工部205、データ記憶部206、暗号化部207、出力加工データ生成部208、暗号文加工部209、暗号文送信部210、暗号文受信部211、及び暗号文検証部212を有している。特に、データ記憶部206は、秘匿に係るデータを予め記憶している。   FIG. 2 is a diagram illustrating a configuration related to mutual authentication. With this configuration, authentication processing is performed. This figure assumes the apparatus on the left side of FIG. 1, but the right apparatus has the same configuration. Random number generation unit 201, random number transmission unit 202, random number reception unit 203, input processed data generation unit 204, random number processing unit 205, data storage unit 206, encryption unit 207, output processed data generation unit 208, ciphertext processing unit 209, The ciphertext transmission unit 210, the ciphertext reception unit 211, and the ciphertext verification unit 212 are included. In particular, the data storage unit 206 stores data related to secrecy in advance.

図1と図2に基づいて、被認証側の処理を詳述する。S101〜S103とS151〜S153で、双方が独自に生成した乱数を交換する。その為に、乱数を生成する乱数生成部201、乱数を送信する乱数送信部202、乱数を受信する乱数受信部203を有している。   Based on FIG. 1 and FIG. 2, the process on the authentication target side is described in detail. In S101 to S103 and S151 to S153, the random numbers generated independently by both parties are exchanged. For this purpose, a random number generation unit 201 that generates random numbers, a random number transmission unit 202 that transmits random numbers, and a random number reception unit 203 that receives random numbers are included.

S104〜S108とS154〜S158で、認証される為の暗号文を生成する。両装置は対称的に動作するので、具体例として左側の装置を想定して説明する。   In S104 to S108 and S154 to S158, a ciphertext for authentication is generated. Since both devices operate symmetrically, the left device will be described as a specific example.

本発明では、取得した乱数R2を加工(変換)して用いるが、その加工(変換)に用いる入力加工データIVを生成する(S104)。この処理は、入力加工データ生成部204で行う。図では、IV=F(R1,R2,Seed1,K1)と示しているが、両装置間で、共通のデータを算出できる関数であれば、他の形態の関数で算出しても構わない。   In the present invention, the acquired random number R2 is processed (converted) and used, but input processed data IV used for the processing (conversion) is generated (S104). This processing is performed by the input processing data generation unit 204. In the figure, IV = F (R1, R2, Seed1, K1) is shown. However, as long as it is a function that can calculate common data between both apparatuses, the function may be calculated by another form of function.

IV=F(R1,R2,Seed1,K1)の例を、以下に示す。
num=m〜hash(R1||R2)
IV=Seed1
for j from 1 to num
IV=Enc(K1,IV)
R1とR2を連結した値のハッシュ値を求め、ハッシュ値から先頭のmビットを切りだしてnumとする。IVの初期値に、Seed1を設定し、num回だけ、暗号化を繰り返す。このとき、内部で保持する暗号鍵K1を用いる。暗号化結果はIVに出力される。
An example of IV = F (R1, R2, Seed1, K1) is shown below.
num = m to hash (R1 || R2)
IV = Seed1
for j from 1 to num
IV = Enc (K1, IV)
A hash value of a value obtained by concatenating R1 and R2 is obtained, and the first m bits are cut out from the hash value to obtain num. Seed 1 is set as the initial value of IV, and encryption is repeated num times. At this time, the encryption key K1 held inside is used. The encryption result is output to IV.

この例の暗号化の部分を、ハッシュ関数に置き換えて、
IV=hash(IV)
とする別の関数も考えられる。
Replace the encryption part in this example with a hash function,
IV = hash (IV)
Another function is also conceivable.

そして、このデータIVを用いて、乱数R2を加工(変換)する(S105)。この処理は、乱数加工部205で行う。論理演算として、この例では、排他的論理和を算出している。   Then, the random number R2 is processed (converted) using the data IV (S105). This process is performed by the random number processing unit 205. In this example, an exclusive OR is calculated as the logical operation.

R2´=R2 XOR IV
そして、加工(変換)された乱数R2´を暗号鍵K3で暗号化する(S106)。この処理は、暗号化部207で行う。
R2 '= R2 XOR IV
Then, the processed (converted) random number R2 ′ is encrypted with the encryption key K3 (S106). This processing is performed by the encryption unit 207.

C1´=Enc(K3,R2´)
本発明では、得られた暗号文C1´が、更に加工(変換)されるが、その為に用いる出力加工データFVを生成する(S107)。この処理は、出力加工データ生成部208で行う。図では、FV=G(R1,R2,Seed2,K2)と示しているが、両装置間で、共通のデータを算出できる関数であれば、他の形態の関数で算出しても構わない。
C1 ′ = Enc (K3, R2 ′)
In the present invention, the obtained ciphertext C1 ′ is further processed (converted), and output processed data FV used for this purpose is generated (S107). This process is performed by the output processing data generation unit 208. In the figure, FV = G (R1, R2, Seed2, K2) is shown, but as long as it is a function that can calculate common data between both apparatuses, it may be calculated by another form of function.

FV=G(R1,R2,Seed2,K2)の例を、以下に示す。
num=n〜hash(R1||R2)
FV=Seed2
for j from 1 to num
FV=Enc(K2,FV)
R1とR2を連結した値のハッシュ値を求め、ハッシュ値から先頭のnビットを切りだしてnumとする。FVの初期値に、Seed2を設定し、num回だけ、暗号化を繰り返す。このとき、内部で保持する暗号鍵K2を用いる。暗号化結果はFVに出力される。
An example of FV = G (R1, R2, Seed2, K2) is shown below.
num = n to hash (R1 || R2)
FV = Seed2
for j from 1 to num
FV = Enc (K2, FV)
A hash value of a value obtained by concatenating R1 and R2 is obtained, and the first n bits are cut out from the hash value to obtain num. Seed2 is set as the initial value of FV, and encryption is repeated num times. At this time, the encryption key K2 held inside is used. The encryption result is output to FV.

この例の暗号化の部分を、ハッシュ関数に置き換えて、
FV=hash(FV)
とする別の関数も考えられる。
Replace the encryption part in this example with a hash function,
FV = hash (FV)
Another function is also conceivable.

そして、このデータFVを用いて、暗号文C1´を加工(変換)する(S108)。この処理は、暗号文加工部209で行う。論理演算として、この例では、排他的論理和を算出している。   Then, the ciphertext C1 ′ is processed (converted) using the data FV (S108). This process is performed by the ciphertext processing unit 209. In this example, an exclusive OR is calculated as the logical operation.

C1=C1´ XOR FV
このようにして得られた暗号文C1を、暗号文送信部210から相手装置に送信し(S110)、相手からも同様に暗号文受信部211で暗号文C2を受信する(S109)。
C1 = C1 'XOR FV
The ciphertext C1 obtained in this way is transmitted from the ciphertext transmitting unit 210 to the partner apparatus (S110), and the ciphertext receiving unit 211 similarly receives the ciphertext C2 from the partner (S109).

そして、次に、相手装置を認証するために、暗号文検証部212で暗号文C2を検証する。   Then, the ciphertext verification unit 212 verifies the ciphertext C2 in order to authenticate the counterpart device.

次に、この暗号文の検証の処理、つまり認証の処理について説明する。図3は、暗号文の検証の処理フローを示す図である。この処理も同時に対称的に行われる。   Next, the ciphertext verification process, that is, the authentication process will be described. FIG. 3 is a diagram showing a processing flow of ciphertext verification. This process is also performed symmetrically.

図4は、暗号文の検証に係る構成を示す図である。更に、暗号文逆加工部401、復号部402、乱数逆加工部403、及び認証結果判定部404を有している。この図は、図3の左側の装置を想定しているが、右側の装置でも同様の構成となっている。   FIG. 4 is a diagram illustrating a configuration related to ciphertext verification. Further, the ciphertext reverse processing unit 401, the decryption unit 402, the random number reverse processing unit 403, and the authentication result determination unit 404 are provided. This figure assumes the apparatus on the left side of FIG. 3, but the right apparatus has the same configuration.

図1と図2に基づいて、被認証側の処理を詳述する。ここでは、左側の装置を想定して説明する。   Based on FIG. 1 and FIG. 2, the process on the authentication target side will be described in detail. Here, the description will be made assuming the left device.

まず、暗号文逆加工部401で、受信した暗号文C2を逆加工(逆変換)する(S301)。この処理は、S158の変換に対する逆変換である。この例では、論理演算として、この例では、排他的論理和を算出している。FVは、先に求めたものを用いている。   First, the ciphertext reverse processing unit 401 performs reverse processing (reverse conversion) on the received ciphertext C2 (S301). This process is an inverse conversion to the conversion of S158. In this example, an exclusive OR is calculated as a logical operation in this example. The FV used previously is used.

C2´=C2 XOR FV
そして、逆加工(逆変換)で得られた暗号文C2´を、暗号鍵K3を用いて、復号する(S302)。この処理は、復号部402で行う。
C2 '= C2 XOR FV
Then, the ciphertext C2 ′ obtained by reverse processing (inverse conversion) is decrypted using the encryption key K3 (S302). This process is performed by the decoding unit 402.

R1´=Dec(K3,C2´)
復号結果の平文として得られる乱数R1´を逆加工(逆変換)する(S303)。この処理は、S155の変換に対する逆変換であり、乱数逆加工部403で行う。この例では、論理演算として、この例では、排他的論理和を算出している。IVは、先に求めたものを用いている。
R1 ′ = Dec (K3, C2 ′)
The random number R1 ′ obtained as a plaintext of the decryption result is inversely processed (inversely converted) (S303). This process is an inverse conversion to the conversion of S155, and is performed by the random number inverse processing unit 403. In this example, an exclusive OR is calculated as a logical operation in this example. IV uses what was calculated | required previously.

R1=R1´ XOR IV
そして、S101で生成した乱数R1と、上述の処理で算出した乱数R1と想定されるデータと比較する(S304)。一致する場合に認証結果を成功とし(S305)、不一致の場合に認証結果を失敗する(S306)。認証結果判定部404で処理する。
R1 = R1 'XOR IV
Then, the random number R1 generated in S101 is compared with the data assumed to be the random number R1 calculated in the above process (S304). If they match, the authentication result is considered successful (S305), and if they do not match, the authentication result fails (S306). The authentication result determination unit 404 performs processing.

検証の仕方は、復号するだけでなく、R1,R2を使用して相手側が生成する値を予想して、受け取った値がその予想値と一致するかどうかということでも検証可能である。また、IV,FVを生成する方法として,ハッシュ関数や暗号アルゴリズム以外にも,単純な加算等でも可能である。   The method of verification can be verified not only by decoding, but also by predicting the value generated by the other party using R1 and R2, and whether the received value matches the expected value. Further, as a method for generating IV and FV, simple addition or the like is possible in addition to the hash function and the cryptographic algorithm.

実施の形態2.
本実施の形態では、暗号ブロック連鎖(CBC:Cipher Block Chaining)モードの暗号化と復号に適用する形態を説明する。
Embodiment 2. FIG.
In the present embodiment, a mode applied to encryption and decryption in a cipher block chaining (CBC) mode will be described.

まず、暗号化について説明する。実施の形態1の乱数加工部205、及び暗号化部207、及び暗号文加工部209の処理に対応する。図5は、CBCモードに適用した場合の暗号化に係るブロックを示す図である。図6は、CBCモードに適用した場合の暗号化に係る処理フローを示す図である。これらの図を用いて、処理を説明する。   First, encryption will be described. This corresponds to the processing of the random number processing unit 205, the encryption unit 207, and the ciphertext processing unit 209 of the first embodiment. FIG. 5 is a diagram showing blocks related to encryption when applied to the CBC mode. FIG. 6 is a diagram showing a processing flow relating to encryption when applied to the CBC mode. The process will be described with reference to these drawings.

暗号化される平文P´は、乱数Rと、M1,M2,…の実データのブロックから構成されている。そして、この先頭ブロックから順に以下の処理を繰り返す(S601)。   The plaintext P ′ to be encrypted is composed of a random number R and blocks of actual data M1, M2,. Then, the following processing is repeated in order from this top block (S601).

先頭から順に、平分データのブロックを取得する(S602)。最初は、Rを得る。二回目以降は、M1,M2,…の順に取得する。これは、論理演算(501,502,503,…)の一方の入力となる。   In order from the top, a block of equally divided data is acquired (S602). First, get R. After the second time, they are acquired in the order of M1, M2,. This is one input of logical operations (501, 502, 503,...).

他の入力データとなる入力側パラメータも特定する(S603)。最初は、乱数IV(ダミーデータに相当)を用いる。二回目以降は、前回の暗号結果(順に、C0´,C1´,…)を用いる。   The input side parameter that becomes other input data is also specified (S603). Initially, a random number IV (corresponding to dummy data) is used. From the second time onward, the previous encryption result (in order C0 ′, C1 ′,...) Is used.

そして、これらの入力側論理演算(S604)を行う。この例は、排他的論理和(XOR)を求めている。図5の501,502,503に示す処理である。   Then, these input side logical operations (S604) are performed. In this example, an exclusive OR (XOR) is obtained. This is the processing indicated by 501, 502, and 503 in FIG.

演算結果(最初は、R´、順にM1,M2,…)を内部で記憶している暗号鍵ukeyで暗号化する(S605)。その結果として、順にC0´,C1´,C2´,…を得る。   The operation results (initially R ′, in order M1, M2,...) Are encrypted with the encryption key ukey stored therein (S605). As a result, C0 ′, C1 ′, C2 ′,.

暗号結果と、復号側と共通して用いる乱数FVを入力として、出力側論理演算する(S606)。この例は、排他的論理和(XOR)を求めている。図5の521,522,523に示す処理である。   The output side logical operation is performed with the encryption result and the random number FV used in common with the decryption side as inputs (S606). In this example, an exclusive OR (XOR) is obtained. This is the process indicated by 521, 522, 523 in FIG.

そして、演算結果を暗号データのブロックとして順に記憶する(S607)。順に、C0,C1,C2,…となる。   Then, the calculation results are sequentially stored as a block of encrypted data (S607). In order, C0, C1, C2,.

すべてのブロックを処理した時点で終了する(S608)。   The process ends when all the blocks have been processed (S608).

続いて、復号について説明する。実施の形態1の暗号文逆加工部401、復号部402、及び乱数逆加工部403の処理に対応する。図7は、CBCモードに適用した場合の復号に係るブロックを示す図である。図8は、CBCモードに適用した場合の復号に係る処理フローを示す図である。   Subsequently, decoding will be described. This corresponds to the processing of the ciphertext reverse processing unit 401, the decryption unit 402, and the random number reverse processing unit 403 of the first embodiment. FIG. 7 is a diagram illustrating blocks related to decoding when applied to the CBC mode. FIG. 8 is a diagram showing a processing flow relating to decoding when applied to the CBC mode.

暗号データは、C0,C1,C2,…のブロックから構成されている。そして、この先頭ブロックから順に以下の処理を繰り返す(S801)。   The encrypted data is composed of blocks C0, C1, C2,. Then, the following processing is repeated in order from this top block (S801).

先頭から順に、暗号データのブロックを取得する(S802)。これは、論理演算(701,702,703,…)の一方の入力となる。   In order from the top, blocks of encrypted data are acquired (S802). This is one input of logical operations (701, 702, 703,...).

他方の入力データとして、暗号側と共通して用いる乱数FVを用いて、入力側論理演算(S803)を行う。この例は、排他的論理和(XOR)を求めている。図7の701,702,703に示す処理である。   As the other input data, a random number FV used in common with the encryption side is used to perform an input side logical operation (S803). In this example, an exclusive OR (XOR) is obtained. This is the processing indicated by 701, 702, and 703 in FIG.

演算結果(最初は、C0´,C1´,C2´,…)を内部で記憶している暗号鍵ukeyで復号する(S804)。その結果として、順にR´,M1´,M2´,…を得る。復号結果は、出力側論理演算の一方の入力となる。   The calculation result (initially C0 ′, C1 ′, C2 ′,...) Is decrypted with the encryption key ukey stored therein (S804). As a result, R ′, M1 ′, M2 ′,. The decoding result becomes one input of the output side logical operation.

他の入力となる出力側パラメータを特定する(S805)。最初は、乱数IV(ダミーデータに相当)を用いる。二回目以降は、前回の復号入力データ(順に、C0´,C1´,…)を用いる。   The output side parameter to be another input is specified (S805). Initially, a random number IV (corresponding to dummy data) is used. From the second time onward, the previous decoded input data (in order, C0 ′, C1 ′,...) Is used.

そして、これらの出力側論理演算(S806)を行う。この例は、排他的論理和(XOR)を求めている。図7の711,712,713に示す処理である。   Then, these output side logical operations (S806) are performed. In this example, an exclusive OR (XOR) is obtained. This is the processing indicated by 711, 712, and 713 in FIG.

演算結果を平分データのブロックとして順に記憶する(S807)。順に、R,M1,M2,…となる。但し、ダミーデータである乱数Rは、無視して、M1以降のブロックを用いる。   The calculation results are sequentially stored as a block of equal data (S807). In order, R, M1, M2,. However, the random number R, which is dummy data, is ignored and the blocks after M1 are used.

すべてのブロックを処理した時点で終了する(S808)。   The process ends when all blocks have been processed (S808).

上述の例では、相互認証の例を示したが、認証される被認証装置と、認証する認証装置からなり、一方のみを認証する認証システムでも有効である。   In the above-described example, an example of mutual authentication has been described. However, an authentication system that includes an authenticated device to be authenticated and an authentication device that performs authentication and authenticates only one of them is also effective.

認証装置は、コンピュータであり、各要素はプログラムにより処理を実行することができる。また、プログラムを記憶媒体に記憶させ、記憶媒体からコンピュータに読み取られるようにすることができる。   The authentication device is a computer, and each element can execute processing by a program. Further, the program can be stored in a storage medium so that the computer can read the program from the storage medium.

図10は、認証装置のハードウエア構成例を示す図である。バスに、演算装置1001、データ記憶装置1002、メモリ1003、通信インターフェース1004が接続されている。データ記憶装置1002は、例えばROM(Read Only Memory)やハードディスクである。メモリ1003は、通常RAM(Random Access Memory)である。   FIG. 10 is a diagram illustrating a hardware configuration example of the authentication apparatus. An arithmetic device 1001, a data storage device 1002, a memory 1003, and a communication interface 1004 are connected to the bus. The data storage device 1002 is, for example, a ROM (Read Only Memory) or a hard disk. The memory 1003 is a normal RAM (Random Access Memory).

プログラムは、通常データ記憶装置1002に記憶されており、メモリ1003にロードされた状態で、順次演算装置1001に読み込まれ処理を行う。データの受信や送信は、通信インターフェース1004により行う。   The program is normally stored in the data storage device 1002, and is loaded into the memory 1003 and sequentially read into the arithmetic device 1001 for processing. Data is received and transmitted by the communication interface 1004.

このようにすることで、攻撃者に、暗号化されている値を導出することを困難にさせ、サイドチャネルアタックを防ぐことができる。   This makes it difficult for an attacker to derive an encrypted value and prevents side channel attacks.

相互認証の処理のフローを示す図である。It is a figure which shows the flow of a process of mutual authentication. 相互認証に係る構成を示す図である。It is a figure which shows the structure which concerns on mutual authentication. 暗号文の検証の処理フローを示す図である。It is a figure which shows the processing flow of the verification of a ciphertext. 暗号文の検証に係る構成を示す図である。It is a figure which shows the structure which concerns on verification of a ciphertext. CBCモードに適用した場合の暗号化に係るブロックを示す図である。It is a figure which shows the block which concerns on encryption at the time of applying to CBC mode. CBCモードに適用した場合の暗号化に係る処理フローを示す図である。It is a figure which shows the processing flow which concerns on encryption at the time of applying to CBC mode. CBCモードに適用した場合の復号に係るブロックを示す図である。It is a figure which shows the block which concerns on the decoding at the time of applying to CBC mode. CBCモードに適用した場合の復号に係る処理フローを示す図である。It is a figure which shows the processing flow which concerns on the decoding at the time of applying to CBC mode. 従来の処理フローを示す図である。It is a figure which shows the conventional process flow. 認証装置のハードウエア構成例を示す図である。It is a figure which shows the hardware structural example of an authentication apparatus.

符号の説明Explanation of symbols

201 乱数生成部、202 乱数送信部、203 乱数受信部、204 入力加工データ生成部、205 乱数加工部、206 データ記憶部、207 暗号化部、208 出力加工データ生成部、209 暗号文加工部、210 暗号文送信部、211 暗号文受信部、212 暗号文検証部、401 暗号文逆加工部、402 復号部、403 乱数逆加工部、404 認証結果判定部。   201 random number generation unit, 202 random number transmission unit, 203 random number reception unit, 204 input processed data generation unit, 205 random number processing unit, 206 data storage unit, 207 encryption unit, 208 output processed data generation unit, 209 ciphertext processing unit, 210 Ciphertext transmission unit, 211 Ciphertext reception unit, 212 Ciphertext verification unit, 401 Ciphertext reverse processing unit, 402 Decryption unit, 403 Random number reverse processing unit, 404 Authentication result determination unit

Claims (1)

所定の暗号化処理により暗号文C1を生成する被認証装置と、上記被認証装置により生成された暗号文C1を復号する認証装置からなる認証システムであって、
被認証装置は、
(1)認証装置と共有する乱数R1と乱数R2とを、上記所定の暗号化処理とは異なる変換処理であって第1の関数演算と第1の論理演算とを用いる変換処理により秘密の値である乱数R2´に変換する乱数加工部であって、
上記第1の関数演算として、上記乱数R1と乱数R2とを連結した値を求め、求めた連結した値のハッシュ値を求め、求めたハッシュ値の先頭から所定のm(m>0の整数)ビットを切りだして、ハッシュ関数IV=hash(IV)のIVの初期値として所定の値Seed1を設定し、切りだしたmビットの値の回数分上記ハッシュ関数IV=hash(IV)を繰り返し計算してハッシュ値を求め、
上記第1の論理演算として、上記乱数R2と上記ハッシュ関数IV=hash(IV)の繰り返し計算により求めたハッシュ値との排他的論理和の演算を行い乱数R2´を求める乱数加工部と、
(2)上記乱数加工部が変換した乱数R2´を、上記所定の暗号化処理により暗号化して暗号文C1´を生成する暗号化部であって、
上記所定の暗号化処理として、暗号鍵K3を用いて上記乱数R2´を暗号化する暗号化関数Enc(K3,R2´)により暗号文C1´を生成する暗号化部と、
(3)上記暗号化部が生成した暗号文C1´を、上記所定の暗号化処理と上記乱数加工部の変換処理とのいずれとも異なる変換処理であって第2の関数演算と第2の論理演算とを用いる変換処理により変換して暗号文C1を求める暗号文加工部であって、
上記第2の関数演算として、上記乱数R1と乱数R2とを連結した値を求め、求めた連結した値のハッシュ値を求め、求めたハッシュ値の先頭から所定のn(n>0の整数、n≠m)ビットを切りだして、ハッシュ関数FV=hash(FV)のFVの初期値として所定の値Seed2を設定し、切りだしたnビットの値の回数分上記ハッシュ関数FV=hash(FV)を繰り返し計算してハッシュ値を求め、
上記第2の論理演算として、上記暗号文C1´と上記ハッシュ関数FV=hash(FV)の繰り返し計算により求めたハッシュ値との排他的論理和の演算を行い暗号文C1を求める暗号文加工部と、
(4)上記暗号文加工部が変換した暗号文C1を、認証装置に送信する暗号文送信部とを有し、
認証装置は、
(5)被認証装置から、前記変換された暗号文と想定されるデータを受信する暗号文受信部と、
(6)上記暗号文受信部が受信した前記データを、暗号文加工部の関数演算と論理演算とを用いる変換処理と逆の変換処理により逆変換する暗号文逆加工部と、
(7)上記暗号文逆加工部が逆変換した暗号文を、復号して復号文を生成する復号部と、
(8)上記復号部が生成した復号文を、前記変換された暗号文と想定されるデータとして、乱数加工部の関数演算と論理演算とを用いる変換処理と逆の変換処理により逆変換して認証に用いる乱数を生成する乱数逆加工部と、
(9)上記乱数逆加工部が生成した認証に用いる乱数と、上記被認証装置と共有する乱数とを比較して、比較した結果が一致する場合に被認証装置の認証を成功と判定し、比較した結果が一致しない場合に被認証装置の認証を失敗と判定する認証結果判定部と
を有することを特徴とする認証システム。
An authentication system comprising an authenticated device that generates a ciphertext C1 by a predetermined encryption process and an authentication device that decrypts the ciphertext C1 generated by the authenticated device,
The device to be authenticated
(1) the authentication device and a random number R1 and random number R2 to share with, the predetermined secret value by the conversion process using the first function operation with a different conversion processing in the first logical operation is an encryption process A random number processing unit for converting to a random number R2 ′ ,
As the first function operation, a value obtained by concatenating the random number R1 and the random number R2 is obtained, a hash value of the obtained concatenated value is obtained, and a predetermined m (m> 0 integer) from the head of the obtained hash value. The bits are cut out, a predetermined value Seed1 is set as the initial value of IV of the hash function IV = hash (IV), and the hash function IV = hash (IV) is repeatedly calculated for the number of times of the cut out m-bit value. To find the hash value,
As the first logical operation, a random number processing unit that performs an exclusive OR operation between the random number R2 and a hash value obtained by iterative calculation of the hash function IV = hash (IV) to obtain a random number R2 ′;
(2) An encryption unit that encrypts the random number R2 ′ converted by the random number processing unit by the predetermined encryption process to generate a ciphertext C1 ′ ,
As the predetermined encryption process, an encryption unit that generates a ciphertext C1 ′ using an encryption function Enc (K3, R2 ′) that encrypts the random number R2 ′ using an encryption key K3 ;
(3) The ciphertext C1 ′ generated by the encryption unit is a conversion process different from both the predetermined encryption process and the conversion process of the random number processing unit, and includes a second function operation and a second logic. A ciphertext processing unit that obtains a ciphertext C1 by conversion by a conversion process using an operation ,
As the second function operation, a value obtained by concatenating the random number R1 and the random number R2 is obtained, a hash value of the obtained concatenated value is obtained, and a predetermined n (n> 0 integer) from the head of the obtained hash value, n ≠ m) bits are cut out, a predetermined value Seed2 is set as the initial value of the FV of the hash function FV = hash (FV), and the hash function FV = hash (FV) for the number of n-bit values cut out. ) Repeatedly to find the hash value,
As the second logical operation, a ciphertext processing unit that obtains a ciphertext C1 by performing an exclusive OR operation between the ciphertext C1 ′ and a hash value obtained by iterative calculation of the hash function FV = hash (FV). When,
(4) a ciphertext transmission unit that transmits the ciphertext C1 converted by the ciphertext processing unit to the authentication device;
The authentication device
(5) a ciphertext receiving unit that receives data that is assumed to be the converted ciphertext from an authenticated device;
(6) a ciphertext reverse processing unit that reversely converts the data received by the ciphertext receiving unit by a conversion process reverse to a conversion process using a function operation and a logical operation of the ciphertext processing unit;
(7) a decryption unit that decrypts the ciphertext reversely transformed by the ciphertext reverse processing unit and generates a decrypted text;
(8) The decrypted text generated by the decryption unit is inversely converted as data that is assumed to be the converted ciphertext by a conversion process that is reverse to the conversion process using the function operation and the logical operation of the random number processing unit A random number reverse processing unit for generating a random number used for authentication;
(9) The random number used for authentication generated by the random number reverse processing unit is compared with the random number shared with the device to be authenticated, and when the comparison result matches, the authentication of the device to be authenticated is determined to be successful, An authentication system comprising: an authentication result determination unit that determines that authentication of a device to be authenticated is unsuccessful when the compared results do not match.
JP2004008987A 2004-01-16 2004-01-16 Authentication system Expired - Lifetime JP4611642B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004008987A JP4611642B2 (en) 2004-01-16 2004-01-16 Authentication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004008987A JP4611642B2 (en) 2004-01-16 2004-01-16 Authentication system

Publications (2)

Publication Number Publication Date
JP2005204125A JP2005204125A (en) 2005-07-28
JP4611642B2 true JP4611642B2 (en) 2011-01-12

Family

ID=34822153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004008987A Expired - Lifetime JP4611642B2 (en) 2004-01-16 2004-01-16 Authentication system

Country Status (1)

Country Link
JP (1) JP4611642B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810289B2 (en) * 2006-04-17 2011-11-09 ルネサスエレクトロニクス株式会社 Message authenticator generation device, message authenticator verification device, and message authentication system
JP6264935B2 (en) * 2014-02-24 2018-01-24 大日本印刷株式会社 Authentication method for information processing apparatus
EP2955871B1 (en) * 2014-06-12 2017-01-11 Nagravision S.A. Cryptographic method for securely exchanging messages and device and system for implementing this method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01122227A (en) * 1987-11-06 1989-05-15 Konica Corp Transmission equipment
JPH118618A (en) * 1997-06-17 1999-01-12 Toshiba Corp Device authentication method, system and authentication system
JP2003018151A (en) * 2001-06-25 2003-01-17 Internatl Business Mach Corp <Ibm> External storage device and certification method conducted between the external storage device and the system device, certification system, computer device and system device
JP2005204128A (en) * 2004-01-16 2005-07-28 Mitsubishi Electric Corp Individual key generating apparatus and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01122227A (en) * 1987-11-06 1989-05-15 Konica Corp Transmission equipment
JPH118618A (en) * 1997-06-17 1999-01-12 Toshiba Corp Device authentication method, system and authentication system
JP2003018151A (en) * 2001-06-25 2003-01-17 Internatl Business Mach Corp <Ibm> External storage device and certification method conducted between the external storage device and the system device, certification system, computer device and system device
JP2005204128A (en) * 2004-01-16 2005-07-28 Mitsubishi Electric Corp Individual key generating apparatus and program

Also Published As

Publication number Publication date
JP2005204125A (en) 2005-07-28

Similar Documents

Publication Publication Date Title
US9509508B2 (en) Generating a session key for authentication and secure data transfer
JP5815294B2 (en) Secure field programmable gate array (FPGA) architecture
US8670563B2 (en) System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
US11699361B2 (en) Data security apparatus and method using constant optical signal input to analog component
TWI528773B (en) Block encryption apparatus, block encryption method, block decryption apparatus, and block decryption method having integrity verification
CN112906070B (en) Integrated circuit and IoT devices with block cipher side channel attack mitigation and related methods
KR102397579B1 (en) Method and apparatus for white-box cryptography for protecting against side channel analysis
JP2004030611A (en) Method for changing communication password by remote control
US7254233B2 (en) Fast encryption and authentication for data processing systems
JP2011512562A (en) Random encryption and decryption method for access and communication data
Reyad et al. Key-based enhancement of data encryption standard for text security
JPH09312643A (en) Key sharing method and ciphering communication method
US9438429B2 (en) Method for authentication and electronic device for performing the authentication
JP4611642B2 (en) Authentication system
Landge et al. VHDL based Blowfish implementation for secured embedded system design
WO2011059306A2 (en) A secure key distribution protocol based on hash functions utilizing quantum authentication channel (kdp-6dp)
KR100933312B1 (en) Aria encryption method capable of data encryption and authentication, and a system for performing the same
KR100494560B1 (en) Real time block data encryption/decryption processor using Rijndael block cipher and method therefor
JP2002108205A (en) Block ciphering method and decoding method
JPH09200196A (en) Ciphering communication system
JP2000004223A (en) Encryption/authentication system
US20220417012A1 (en) Method for performing cryptographic operations in a processing device, corresponding processing device and computer program product
JP2002118548A (en) Mutual authentication method
Haunts et al. Symmetric Encryption
Radhakrishna et al. Digital Image Encryption and Decryption based on RSA Algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100419

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101014

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4611642

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250