JP2004120031A - Identification method - Google Patents

Identification method Download PDF

Info

Publication number
JP2004120031A
JP2004120031A JP2002276566A JP2002276566A JP2004120031A JP 2004120031 A JP2004120031 A JP 2004120031A JP 2002276566 A JP2002276566 A JP 2002276566A JP 2002276566 A JP2002276566 A JP 2002276566A JP 2004120031 A JP2004120031 A JP 2004120031A
Authority
JP
Japan
Prior art keywords
data
authentication
random number
code
ovlp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002276566A
Other languages
Japanese (ja)
Inventor
Hiroyasu Yamamoto
山本 博康
Takakuni Shimizu
清水 隆邦
Misako Koibuchi
鯉渕 美佐子
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.)
FDK Corp
Original Assignee
FDK 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 FDK Corp filed Critical FDK Corp
Priority to JP2002276566A priority Critical patent/JP2004120031A/en
Publication of JP2004120031A publication Critical patent/JP2004120031A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enhance a security level in an identification method applied to unlocking/locking of automobile doors. <P>SOLUTION: A key 40 reads an ID code IDCD and random numbers CD0 to CD3 from a fixed value memory 11 and summating an overlap prohibit data OVLP_0 and a random number RND 1 newly creates overlap prohibit data OVLP. Then a random number generator 15 generates authentication purpose random number data RND2 and encrypting the identification purpose random number data RND2 on the basis of the ID code IDCD and the random numbers CD0 to CD3 creates encrypted data CRND2. Then the ID code IDCD, the overlap prohibit data OVLP, the identification purpose random number data RND2, and the encrypted data CRND2 are transmitted to a lock 50. The lock 50 investigates the ID code, the overlap prohibit data, and the random number data on the basis of them and performs authentication only when every investigation indicates normality. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、自動車用ドアや金庫の扉など各種の扉を開錠・施錠したり、ネットワークを介して売買契約を結んだりする際に適用するに好適な認証方法に関するものである。
【0002】
【従来の技術】
この種の認証方法としては、第三者の「なりすまし」による不正行為を阻止できるワンタイムパスワード方式が注目されつつある(例えば、特許文献1、2参照)。
【0003】
【特許文献1】特開2001−352324号公報
【特許文献2】特開平11−316740号公報
【0004】
【発明が解決しようとする課題】
しかし、これでは次のような不都合があった。
【0005】
まず、特許文献1に開示された方式では、パスワード生成時のパラメータとなるカウンタ値を許容範囲内の乱数値に基づいて進ませ、認証側は許容範囲の数だけパスワードを生成して比較するため、多数のパスワード生成・比較作業を要するという問題がある。
【0006】
一方、特許文献2に開示された方式では、パスワードに時刻データを付加しなければならないので、時計機能を備えた装置内でしか使えないという欠点がある。
【0007】
本発明は、このような事情に鑑み、上述した不都合を伴うことなくセキュリティーレベルを高めることが可能な認証方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
まず、本発明のうち請求項1に係る発明は、被認証装置(10、40)と認証装置(20、50)との間でデータ通信による認証処理を実行する際に、前記被認証装置に固定値メモリー(11)および乱数発生器(15)を組み込み、前記固定値メモリーに前記被認証装置のIDコード(IDCD)および乱数(CD0〜CD3)を読み取り自在に格納しておき、前記被認証装置が、その固定値メモリーからIDコードおよび乱数を読み出し、重複禁止データ(OVLP_0)と乱数(RND1)とを加減算して重複禁止データ(OVLP)を新たに生成し、前記乱数発生器で認証用乱数データ(RND2)を生成し、この認証用乱数データを前記IDコードおよび前記乱数に基づいて暗号化して暗号化データ(CRND2)を生成し、これらIDコード、重複禁止データ、認証用乱数データおよび暗号化データを前記認証装置に送信し、これを受けて前記認証装置が、これらIDコード、重複禁止データ、認証用乱数データおよび暗号化データに基づいてIDコード、重複禁止データおよび乱数データに関する検証を行い、すべての検証において正常である場合にのみ認証を行うようにして構成される。ここで、被認証装置と認証装置の組み合わせ例としては、認証コード生成装置(10)と認証サーバ(20)、鍵(40)と錠(50)を挙げることができる。
【0009】
また、本発明のうち請求項2に係る発明は、複数の被認証装置(10、40)と認証装置(20、50)との間でデータ通信による認証処理を実行する際に、前記各被認証装置にそれぞれ固定値メモリー(11)および乱数発生器(15)を組み込み、前記各固定値メモリーにそれぞれ当該被認証装置のIDコード(IDCD)および乱数(CD0〜CD3)を読み取り自在に格納し、前記各被認証装置に対応したIDコードが読み取り自在に格納されたIDコードテーブル(31)を前記認証装置に組み込むとともに、前記各被認証装置に対応した重複禁止データ(OVLP)が読み取り自在に格納された重複禁止データテーブル(32)を前記認証装置に組み込んでおき、前記被認証装置のいずれかが、その固定値メモリーからIDコードおよび乱数を読み出し、重複禁止データ(OVLP_0)と乱数(RND1)とを加減算して重複禁止データ(OVLP)を新たに生成し、前記乱数発生器で認証用乱数データ(RND2)を生成し、この認証用乱数データを前記IDコードおよび前記乱数に基づいて暗号化して暗号化データ(CRND2)を生成し、これらIDコード、重複禁止データ、認証用乱数データおよび暗号化データを前記認証装置に送信し、これを受けて前記認証装置が、これらIDコード、重複禁止データ、認証用乱数データおよび暗号化データに基づいてIDコード、重複禁止データおよび乱数データに関する検証を行い、すべての検証において正常である場合にのみ認証を行うようにして構成される。
【0010】
これらの構成を採用することにより、被認証装置で認証用乱数データを暗号化するときにIDコードが組み込まれ、その他の組込データが同じでも暗号化データが異なることに加えて、認証装置で検証するときに3重のセキュリティーチェックが実施され、3種類の検証のうち1種類でもパスしないものがあれば認証に失敗するように作用する。
【0011】
なお、括弧内の符号は図面において対応する要素を表す便宜的なものであり、したがって、本発明は図面上の記載に限定拘束されるものではない。このことは「特許請求の範囲」の欄についても同様である。
【0012】
【発明の実施の形態】
以下、本発明に係る認証方法のいくつかの実施形態について説明するが、データの暗号・復号化の方法は、図1に示すとおりである。
【0013】
すなわち、データの暗号化については、暗号用乱数生成部31が、固定または必要に応じて変更可能な所定ビット(例えば、64ビット)の乱数CD0〜CD3と所定ビットで構成される第1共通鍵KEYおよび第2共通鍵CNTとに基づいて予測および計算不可能な暗号用乱数RNDを生成し、暗号化/復号化処理部32が、この暗号用乱数RNDと第1共通鍵KEY、第2共通鍵CNTとに基づいて源ブロックデータBSを暗号化し、予測および計算不可能な暗号化ブロックデータBCSを生成し、制御データ生成部33が、乱数CD0〜CD3と第1共通鍵KEY、第2共通鍵CNTとに基づいて暗号用乱数生成部31と暗号化処理部32で使用する各種の制御データを生成する。
【0014】
一方、データの復号化については、暗号用乱数生成部31が、固定または必要に応じて変更可能な所定ビット(例えば、64ビット)の乱数CD0〜CD3と所定ビットで構成される第1共通鍵KEYおよび第2共通鍵CNTとに基づいて予測および計算不可能な暗号用乱数RNDを生成し、暗号化/復号化処理部32が、この暗号用乱数RNDと第1共通鍵KEY、第2共通鍵CNTとに基づいて暗号生成装置からの暗号化ブロックデータRBCSを復号化してブロックデータRBSを生成し、制御データ生成部33が、乱数CD0〜CD3と第1共通鍵KEY、第2共通鍵CNTとに基づいて暗号用乱数生成部31と暗号化処理部32で使用する各種の制御データを生成する。
【0015】
<第1の実施形態>
図2は本発明に係る認証方法の第1の実施形態を示すブロック図、
図3は図2に示す認証システムにおける認証処理プログラムを示すフローチャートであって、(a)は被認証側となる認証コード生成装置で実行される部分、(b)は認証側となる認証サーバで実行される部分、
図4は重複禁止処理におけるオーバーフロー対処法の二例を示す図である。
【0016】
この認証システムは、図2に示すように、インターネット等の通信ネットワーク1に接続されたパーソナルコンピュータ等の端末装置2と、この端末装置2にデータを送信しうる認証コード生成装置10と、通信ネットワーク1に接続された認証サーバ20とから構成されている。
【0017】
そして、認証コード生成装置10は不揮発性の固定値メモリー11、不揮発性のデータメモリー12、加算器13、乱数発生器15、暗号器16およびOTP出力部17を具備しており、固定値メモリー11には所定ビット(例えば、64ビット)のIDコードIDCDと4個の乱数CD0〜CD3が読み取り自在に格納されているとともに、データメモリー12には所定ビット(例えば、64ビット)の重複禁止データOVLPが読み取り書き込み自在に格納されている。ここで、乱数CD0〜CD3は固定でもよく、必要に応じて変更しうる単数または複数のものでもよい。
【0018】
また、認証サーバ20は不揮発性の固定値メモリー21、不揮発性のデータメモリー22、第1比較器23、第2比較器24、第3比較器25、暗号器26、OTP入力部27、検証部28および結果出力部29を具備しており、固定値メモリー21には所定ビット(例えば、64ビット)のIDコードIDCDと4個の乱数CD0〜CD3が読み取り自在に格納されているとともに、データメモリー22には所定ビット(例えば、64ビット)の重複禁止データOVLPが読み取り書き込み自在に格納されている。なお、これらのIDコードIDCD、乱数CD0〜CD3は、認証コード生成装置10の固定値メモリー11に格納されたIDコードIDCD、乱数CD0〜CD3と同じものである。
【0019】
認証システムは以上のような構成を有するので、認証コード生成装置10と認証サーバ20との間でデータ通信による認証処理を実行する際には、図3に示す認証コード生成プログラムPRG1および認証プログラムPRG2に基づいて次の手順で行われる。
【0020】
すなわち、まず認証コード生成装置10において、データメモリー12から重複禁止データOVLP_0を読み出すとともに(認証コード生成プログラムPRG1のステップS1)、所定ビット(例えば、8ビット)の乱数RND1を乱数発生器15で生成し(認証コード生成プログラムPRG1のステップS2)、これら重複禁止データOVLP_0、乱数RND1を加算器13で足し合わせて重複禁止データOVLPを新たに生成する(認証コード生成プログラムPRG1のステップS3)。そして、この重複禁止データOVLPをOTP出力部に入力するとともに、第2暗号用鍵CNTとして暗号器に入力し、さらに次回の重複禁止データOVLPとして利用できるようにメモリー2に入力して重ね書きする。
【0021】
なお、乱数RND1の加算によって重複禁止データOVLPを得るときに重複禁止データOVLPがプラス側へオーバフローすることがあるが、この場合は、図4(a)に示すように、重複禁止データOVLPのマイナス側への移動(例えば、重複禁止データOVLPが64ビットのときはOVLP−FFF〜FFFh)を行うことにより、重複禁止データOVLPのオーバフローに対処することができる。
【0022】
一方、固定値メモリー11からIDコードIDCDを読み出し、このIDコードIDCDをOTP出力部17に入力するとともに、第1暗号用鍵KEYとして暗号器16に入力する。さらに、固定値メモリー11から4個の乱数CD0〜CD3を読み出して暗号器16に入力する(認証コード生成プログラムPRG1のステップS4)。また、所定ビット(例えば、8ビット)の認証用乱数データRND2を乱数発生器15で生成し、この認証用乱数データRND2をOTP出力部17に入力するとともに、暗号用ブロックデータBSとして暗号器16に入力する(認証コード生成プログラムPRG1のステップS5)。そして、このブロックデータBSを第1暗号用鍵KEY、第2暗号用鍵CNTおよび乱数CD0〜CD3を用いて暗号化し、その暗号化データCRND2をOTP出力部17に入力する(認証コード生成プログラムPRG1のステップS6)。
【0023】
その後、これらIDコードIDCD、重複禁止データOVLP、認証用乱数データRND2および暗号化データCRND2をOTP出力部17でパラレルデータからシリアルデータに変換した後、端末装置2を介してネットワーク1経由で認証サーバ20に転送する(認証コード生成プログラムPRG1のステップS7)。
【0024】
このようにして、IDコードIDCD、重複禁止データOVLP、認証用乱数データRND2および暗号化データCRND2が認証コード生成装置10から認証サーバ20にシリアルデータの形で転送されると、認証サーバ20では、このシリアルデータをOTP入力部27で受けて元のパラレルデータに変換した後(認証プログラムPRG2のステップS1)、以下に述べるとおり、3種類の検証を行う。
【0025】
まず、IDコードに関する検証を行うべく、OTP入力部27からIDコードIDCDを読み出して第2比較器24に入力するとともに、固定値メモリー21からIDコードIDCDを読み出して第2比較器24に入力し(認証プログラムPRG2のステップS2)、両者を比較して一致するか否かを判定する(認証プログラムPRG2のステップS3)。その結果、両者が一致するときは、正常であると判断してその比較データMATCHを検証部28に入力し、両者が一致しないときは、正常でないと判断して認証処理を中止する。
【0026】
また、重複禁止データに関する検証を行うべく、OTP入力部27から重複禁止データOVLPを読み出して第1比較器23に入力するとともに、データメモリー22から前回の重複禁止データOVLP_1を読み出して第1比較器23に入力し(認証プログラムPRG2のステップS4)、両者を比較して前者が後者より大きいか否かを判定する(認証プログラムPRG2のステップS5)。その結果、前者が後者より大きいときは、正常であると判断してその比較データOVLAPを検証部28に入力し、前者が後者より大きくないときは、正常でないと判断して認証処理を中止する。
【0027】
さらに、乱数データに関する検証を行うべく、OTP入力部27から認証用乱数データRND2、IDコードIDCDおよび重複禁止データOVLPを読み出し、それぞれ暗号用ブロックデータBS、第1暗号用鍵KEYおよび第2暗号用鍵CNTとして暗号器26に入力するとともに、固定値メモリー21から4個の乱数CD0〜CD3を読み出して暗号器26に入力した後、この暗号用ブロックデータBSを第1暗号用鍵KEY、第2暗号用鍵CNTおよび乱数CD0〜CD3を用いて暗号化し、その暗号化データCRND2Lを第3比較器25に入力する(認証プログラムPRG2のステップS6)。他方、OTP入力部27から暗号化データCRND2を読み出して第3比較器25に入力する。そして、両者を比較して一致するか否かを判定し(認証プログラムPRG2のステップS7)、両者が一致するときは、正常であると判断してその比較データATTESを検証部28に入力し、両者が一致しないときは、正常でないと判断して認証処理を中止する。
【0028】
そして、検証部28では、これら3種類の比較データMATCH、OVLAP、ATTESを受信すると、すべての検証において正常であると判断し、今回の重複禁止データOVLPをデータメモリー22に重ね書きするとともに、結果出力部29に検証データを出力し(認証プログラムPRG2のステップS8)、この検証データを受けて結果出力部29は所定の処理を実行する(認証プログラムPRG2のステップS9)。ここで、認証処理が終了する。
【0029】
このように、認証コード生成装置10でブロックデータBSを暗号化するときにはIDコードIDCDをも組み込むので、その他の組込データ、つまり第2暗号用鍵CNTおよび乱数CD0〜CD3が同じでも暗号化データCRND2は異なることになる。また、認証サーバ20で検証するときには3重のセキュリティーチェックが実施され、3種類の検証のうち1種類でもパスしないものがあれば認証に失敗する。これらの結果、第三者による不正な解読が困難となり、セキュリティーレベルが向上する。
【0030】
しかも、パスワード生成時のパラメータとなるカウンタ値を許容範囲内の乱数値に基づいて進ませる従来のワンタイムパスワード方式と違って、多数のパスワード生成・比較作業を要するという問題が発生せず、また、パスワードに時刻データを付加する従来のワンタイムパスワード方式と異なり、時計機能を具備していない装置内でも使用することができる。
【0031】
<第2の実施形態>
上述した第1の実施形態においては、認証サーバ20で乱数データに関する検証を行うときに、OTP入力部27からの認証用乱数データRND2を暗号器26で暗号化した暗号化データCRND2Lと、OTP入力部27からの暗号化データCRND2とを第3比較器25で比較する場合について説明したが、図5に示すように、暗号器26の代わりに復号器30を認証サーバ20に設けておき、OTP入力部27からの暗号化データCRND2をこの復号器30で復号し、これをOTP入力部27からの認証用乱数データRND2と比較するようにしてもよい。
【0032】
<第3の実施形態>
上述した第1の実施形態においては、認証コード生成装置10で重複禁止データOVLPを新たに算出するのに加算器13で重複禁止データOVLP_0に乱数RND1を足す演算方法を採用した場合について説明したが、図6に示すように、加算器13の代わりに減算器14を認証コード生成装置10に設けておき、重複禁止データOVLPを新たに算出するとき減算器14で重複禁止データOVLP_0から乱数RND1を引くようにしても構わない。この場合、認証サーバ20で重複禁止データに関する検証を行う際に、OTP入力部27から読み出した重複禁止データOVLPとデータメモリー22から読み出した前回の重複禁止データOVLP_1とを比較するとき、前者が後者より小さいか否かを判定し、前者が後者より小さいときは、正常であると判断してその比較データOVLAPを検証部28に入力し、前者が後者より小さくないときは、正常でないと判断して認証処理を中止することになる。
【0033】
同様に、上述した第2の実施形態において、加算の代わりに減算によって重複禁止データOVLPを新たに算出することも可能である。
【0034】
なお、乱数RND1の減算によって重複禁止データOVLPを得るときに重複禁止データOVLPがマイナス側へオーバフローすることがあるが、この場合は、図4(b)に示すように、重複禁止データOVLPのプラス側への移動(例えば、重複禁止データOVLPが64ビットのときはOVLP+FFF〜FFFh)を行うことにより、重複禁止データOVLPのオーバフローに対処することができる。
【0035】
<第4の実施形態>
上述した第1〜3の実施形態においては、1個の認証コード生成装置10と1個の認証サーバ20とが1対1で対応する場合について説明したが、複数個の認証コード生成装置10と1個の認証サーバ20とを多対1で対応させたり、1個の認証コード生成装置10と複数個の認証サーバ20とを1対多で対応させたり、複数個の認証コード生成装置10と複数個の認証サーバ20とを多対多で対応させたりすることも可能である。
【0036】
以下、第4の実施形態として、複数個の認証コード生成装置10と1個の認証サーバ20とが多対1で対応する場合について説明するが、それ以外の場合(1対多、多対多)についても同様である。
図7は本発明に係る認証方法の第4の実施形態を示すブロック図、
図8は図7に示す認証システムにおける認証処理プログラムを示すフローチャートであって、(a)は被認証側となる認証コード生成装置で実行される部分、(b)は認証側となる認証サーバで実行される部分である。
【0037】
この認証システムは、図7に示すように、インターネット等の通信ネットワーク1に接続された複数個(図7では3個)のパーソナルコンピュータ等の端末装置2と、これらの端末装置2にデータを送信しうる同数個(図7では3個)の認証コード生成装置10と、通信ネットワーク1に接続された認証サーバ20とから構成されている。
【0038】
そして、各認証コード生成装置10は不揮発性の固定値メモリー11、不揮発性のデータメモリー12、加算器13、乱数発生器15、暗号器16およびOTP出力部17を具備しており、固定値メモリー11には所定ビット(例えば、64ビット)のIDコードIDCDと4個の乱数CD0〜CD3が読み取り自在に格納されているとともに、データメモリー12には所定ビット(例えば、64ビット)の重複禁止データOVLPが読み取り書き込み自在に格納されている。ここで、乱数CD0〜CD3は固定でもよく、必要に応じて変更しうる単数または複数のものでもよい。
【0039】
また、認証サーバ20は不揮発性の固定値メモリー21、IDコードテーブル31、重複禁止データテーブル32、第1比較器23、第2比較器24、第3比較器25、暗号器26、OTP入力部27、検証部28、結果出力部29およびサーチ制御部34を具備しており、固定値メモリー21には4個の乱数CD0〜CD3が読み取り自在に格納されている。また、IDコードテーブル31には所定ビット(例えば、64ビット)のIDコードIDCDがすべての認証コード生成装置10に対応した形で読み取り自在に格納されており、重複禁止データテーブル32には所定ビット(例えば、64ビット)の重複禁止データOVLPがすべての認証コード生成装置10に対応した形で読み取り書き込み自在に格納されている。なお、これらのIDコードIDCD、乱数CD0〜CD3は、それぞれの認証コード生成装置10の固定値メモリー11に格納されたIDコードIDCD、乱数CD0〜CD3と同じものである。
【0040】
認証システムは以上のような構成を有するので、任意の認証コード生成装置10と認証サーバ20との間でデータ通信による認証処理を実行する際には、図8に示す認証コード生成プログラムPRG3および認証プログラムPRG4に基づいて次の手順で行われる。
【0041】
まず、その認証コード生成装置10において、データメモリー12から重複禁止データOVLP_0を読み出すとともに(認証コード生成プログラムPRG3のステップS1)、所定ビット(例えば、8ビット)の乱数RND1を乱数発生器15で生成し(認証コード生成プログラムPRG3のステップS2)、これら重複禁止データOVLP_0、乱数RND1を加算器13で足し合わせて重複禁止データOVLPを新たに生成する(認証コード生成プログラムPRG3のステップS3)。そして、この重複禁止データOVLPをOTP出力部に入力するとともに、第2暗号用鍵CNTとして暗号器に入力し、さらに次回の重複禁止データOVLPとして利用できるようにメモリー2に入力して重ね書きする。
【0042】
なお、乱数RND1の加算によって重複禁止データOVLPを得るときに重複禁止データOVLPがプラス側へオーバフローすることがあるが、この場合は、図4(a)に示すように、重複禁止データOVLPのマイナス側への移動(例えば、重複禁止データOVLPが64ビットのときはOVLP−FFF〜FFFh)を行うことにより、重複禁止データOVLPのオーバフローに対処することができる。
【0043】
一方、固定値メモリー11からIDコードIDCDを読み出し、このIDコードIDCDをOTP出力部17に入力するとともに、第1暗号用鍵KEYとして暗号器16に入力する。さらに、固定値メモリー11から4個の乱数CD0〜CD3を読み出して暗号器16に入力する(認証コード生成プログラムPRG3のステップS4)。また、所定ビット(例えば、8ビット)の認証用乱数データRND2を乱数発生器15で生成し、この認証用乱数データRND2をOTP出力部17に入力するとともに、暗号用ブロックデータBSとして暗号器16に入力する(認証コード生成プログラムPRG3のステップS5)。そして、このブロックデータBSを第1暗号用鍵KEY、第2暗号用鍵CNTおよび乱数CD0〜CD3を用いて暗号化し、その暗号化データCRND2をOTP出力部17に入力する(認証コード生成プログラムPRG3のステップS6)。
【0044】
その後、これらIDコードIDCD、重複禁止データOVLP、認証用乱数データRND2および暗号化データCRND2をOTP出力部17でパラレルデータからシリアルデータに変換した後、端末装置2を介してネットワーク1経由で認証サーバ20に転送する(認証コード生成プログラムPRG3のステップS7)。
【0045】
このようにして、IDコードIDCD、重複禁止データOVLP、認証用乱数データRND2および暗号化データCRND2が認証コード生成装置10から認証サーバ20にシリアルデータの形で転送されると、認証サーバ20では、このシリアルデータをOTP入力部27で受けて元のパラレルデータに変換した後(認証プログラムPRG4のステップS1)、以下に述べるとおり、3種類の検証を行う。
【0046】
まず、IDコードに関する検証を行うべく、OTP入力部27からIDコードIDCDを読み出して第2比較器24に入力する。一方、サーチ制御部34はサーチ回数が所定の最大値に達するまでIDコードIDCDの照会を実行する。すなわち、サーチアドレスを初期化した後(認証プログラムPRG4のステップS3)、サーチアドレスに「1」を加えたアドレスにあるIDコードIDCDをIDコードテーブル31から読み出して第2比較器24に入力する(認証プログラムPRG4のステップS4)。そして、両者を比較して一致するか否かを判定し(認証プログラムPRG4のステップS5)、両者が一致するときは、正常であると判断してその比較データMATCHを検証部28に入力する。また、両者が一致しないときは、サーチ回数が最大値に達したか否かを判定し(認証プログラムPRG4のステップS6)、サーチ回数が最大値に達していなければ、サーチアドレスに「1」を加えた上でIDコードIDCDの比較を同様に行い、サーチ回数が最大値に達していれば、正常でないと判断して認証処理を中止する。
【0047】
また、重複禁止データに関する検証を行うべく、OTP入力部27から重複禁止データOVLPを読み出して第1比較器23に入力するとともに、IDコードIDCDが一致したサーチアドレスに対応した前回の重複禁止データOVLP_1を重複禁止データテーブル32から読み出して第1比較器23に入力し(認証プログラムPRG4のステップS7)、両者を比較して前者が後者より大きいか否かを判定する(認証プログラムPRG4のステップS8)。その結果、前者が後者より大きいときは、正常であると判断してその比較データOVLAPを検証部28に入力し、前者が後者より大きくないときは、正常でないと判断して認証処理を中止する。
【0048】
さらに、乱数データに関する検証を行うべく、OTP入力部27から認証用乱数データRND2、IDコードIDCDおよび重複禁止データOVLPを読み出し、それぞれ暗号用ブロックデータBS、第1暗号用鍵KEYおよび第2暗号用鍵CNTとして暗号器26に入力するとともに、固定値メモリー21から4個の乱数CD0〜CD3を読み出して暗号器26に入力した後(認証プログラムPRG4のステップS2)、この暗号用ブロックデータBSを第1暗号用鍵KEY、第2暗号用鍵CNTおよび乱数CD0〜CD3を用いて暗号化し、その暗号化データCRND2Lを第3比較器25に入力する(認証プログラムPRG4のステップS9)。他方、OTP入力部27から暗号化データCRND2を読み出して第3比較器25に入力する。そして、両者を比較して一致するか否かを判定し(認証プログラムPRG4のステップS10)、両者が一致するときは、正常であると判断してその比較データATTESを検証部28に入力し、両者が一致しないときは、正常でないと判断して認証処理を中止する。
【0049】
そして、検証部28では、これら3種類の比較データMATCH、OVLAP、ATTESを受信すると、すべての検証において正常であると判断し、今回の重複禁止データOVLPを重複禁止データテーブル32に重ね書きするとともに、結果出力部29に検証データを出力し(認証プログラムPRG4のステップS11)、この検証データを受けて結果出力部29は所定の処理を実行する(認証プログラムPRG4のステップS12)。ここで、認証処理が終了する。
【0050】
このように、認証コード生成装置10でブロックデータBSを暗号化するときにはIDコードIDCDをも組み込むので、その他の組込データ、つまり第2暗号用鍵CNTおよび乱数CD0〜CD3が同じでも暗号化データCRND2は異なることになる。また、認証サーバ20で検証するときには3重のセキュリティーチェックが実施され、3種類の検証のうち1種類でもパスしないものがあれば認証に失敗する。これらの結果、第三者による不正な解読が困難となり、セキュリティーレベルが向上する。
【0051】
しかも、パスワード生成時のパラメータとなるカウンタ値を許容範囲内の乱数値に基づいて進ませる従来のワンタイムパスワード方式と違って、多数のパスワード生成・比較作業を要するという問題が発生せず、また、パスワードに時刻データを付加する従来のワンタイムパスワード方式と異なり、時計機能を具備していない装置内でも使用することができる。
【0052】
<第5の実施形態>
上述した各実施形態においては、被認証装置として認証コード生成装置10を採用するとともに、認証装置として認証サーバ20を採用した場合について説明したが、鍵および錠をそれぞれ被認証装置および認証装置とすることも可能である。以下、第5の実施形態として、被認証装置として鍵を採用すると同時に、認証装置として錠を採用した場合について説明する。
図9は本発明に係る認証方法の第5の実施形態を示すブロック図、
図10は図9に示す認証システムにおける認証処理プログラムを示すフローチャートであって、(a)は被認証側となる鍵で実行される部分、(b)は認証側となる錠で実行される部分である。
【0053】
この認証システムは、図9に示すように、錠50と、この錠50に赤外線通信などでデータを送信しうる鍵40とから構成されている。
【0054】
そして、鍵40は不揮発性の固定値メモリー11、不揮発性のデータメモリー12、加算器13、乱数発生器15、暗号器16および送信部19を具備しており、固定値メモリー11には所定ビット(例えば、64ビット)のIDコードIDCDと4個の乱数CD0〜CD3が読み取り自在に格納されているとともに、データメモリー12には所定ビット(例えば、64ビット)の重複禁止データOVLPが読み取り書き込み自在に格納されている。ここで、乱数CD0〜CD3は固定でもよく、必要に応じて変更しうる単数または複数のものでもよい。
【0055】
また、錠50は不揮発性の固定値メモリー21、不揮発性のデータメモリー22、第1比較器23、第2比較器24、第3比較器25、暗号器26、受信部33、検証部28および開閉制御部35を具備しており、固定値メモリー21には所定ビット(例えば、64ビット)のIDコードIDCDと4個の乱数CD0〜CD3が読み取り自在に格納されているとともに、データメモリー22には所定ビット(例えば、64ビット)の重複禁止データOVLPが読み取り書き込み自在に格納されている。なお、これらのIDコードIDCD、乱数CD0〜CD3は、鍵40の固定値メモリー11に格納されたIDコードIDCD、乱数CD0〜CD3と同じものである。
【0056】
認証システムは以上のような構成を有するので、鍵40と錠50との間でデータ通信による認証処理を実行する際には、図10に示す認証コード生成プログラムPRG5および認証プログラムPRG6に基づいて次の手順で行われる。
【0057】
すなわち、まず鍵40において、データメモリー12から重複禁止データOVLP_0を読み出すとともに(認証コード生成プログラムPRG5のステップS1)、所定ビット(例えば、8ビット)の乱数RND1を乱数発生器15で生成し(認証コード生成プログラムPRG5のステップS2)、これら重複禁止データOVLP_0、乱数RND1を加算器13で足し合わせて重複禁止データOVLPを新たに生成する(認証コード生成プログラムPRG5のステップS3)。そして、この重複禁止データOVLPを送信部19に入力するとともに、第2暗号用鍵CNTとして暗号器16に入力し、さらに次回の重複禁止データOVLPとして利用できるようにデータメモリー12に入力して重ね書きする。
【0058】
なお、乱数RND1の加算によって重複禁止データOVLPを得るときに重複禁止データOVLPがプラス側へオーバフローすることがあるが、この場合は、図4(a)に示すように、重複禁止データOVLPのマイナス側への移動(例えば、重複禁止データOVLPが64ビットのときはOVLP−FFF〜FFFh)を行うことにより、重複禁止データOVLPのオーバフローに対処することができる。
【0059】
一方、固定値メモリー11からIDコードIDCDを読み出し、このIDコードIDCDを送信部19に入力するとともに、第1暗号用鍵KEYとして暗号器16に入力する。さらに、固定値メモリー11から4個の乱数CD0〜CD3を読み出して暗号器16に入力する(認証コード生成プログラムPRG5のステップS4)。また、所定ビット(例えば、8ビット)の認証用乱数データRND2を乱数発生器15で生成し、この認証用乱数データRND2を送信部19に入力するとともに、暗号用ブロックデータBSとして暗号器16に入力する(認証コード生成プログラムPRG5のステップS5)。そして、このブロックデータBSを第1暗号用鍵KEY、第2暗号用鍵CNTおよび乱数CD0〜CD3を用いて暗号化し、その暗号化データCRND2を送信部19に入力する(認証コード生成プログラムPRG5のステップS6)。
【0060】
その後、これらIDコードIDCD、重複禁止データOVLP、認証用乱数データRND2および暗号化データCRND2を送信部19でパラレルデータからシリアルデータに変換した後、錠50に転送する(認証コード生成プログラムPRG5のステップS7)。
【0061】
このようにして、IDコードIDCD、重複禁止データOVLP、認証用乱数データRND2および暗号化データCRND2が鍵40から錠50にシリアルデータの形で転送されると、錠50では、このシリアルデータを受信部33で受けて元のパラレルデータに変換した後(認証プログラムPRG6のステップS1)、以下に述べるとおり、3種類の検証を行う。
【0062】
まず、IDコードに関する検証を行うべく、受信部33からIDコードIDCDを読み出して第2比較器24に入力するとともに、固定値メモリー21からIDコードIDCDを読み出して第2比較器24に入力し(認証プログラムPRG6のステップS2)、両者を比較して一致するか否かを判定する(認証プログラムPRG6のステップS3)。その結果、両者が一致するときは、正常であると判断してその比較データMATCHを検証部28に入力し、両者が一致しないときは、正常でないと判断して認証処理を中止する。
【0063】
また、重複禁止データに関する検証を行うべく、受信部33から重複禁止データOVLPを読み出して第1比較器23に入力するとともに、データメモリー22から前回の重複禁止データOVLP_1を読み出して第1比較器23に入力し(認証プログラムPRG6のステップS4)、両者を比較して前者が後者より大きいか否かを判定する(認証プログラムPRG6のステップS5)。その結果、前者が後者より大きいときは、正常であると判断してその比較データOVLAPを検証部28に入力し、前者が後者より大きくないときは、正常でないと判断して認証処理を中止する。
【0064】
さらに、乱数データに関する検証を行うべく、受信部33から認証用乱数データRND2、IDコードIDCDおよび重複禁止データOVLPを読み出し、それぞれ暗号用ブロックデータBS、第1暗号用鍵KEYおよび第2暗号用鍵CNTとして暗号器26に入力するとともに、固定値メモリー21から4個の乱数CD0〜CD3を読み出して暗号器26に入力した後、この暗号用ブロックデータBSを第1暗号用鍵KEY、第2暗号用鍵CNTおよび乱数CD0〜CD3を用いて暗号化し、その暗号化データCRND2Lを第3比較器25に入力する(認証プログラムPRG6のステップS6)。他方、受信部33から暗号化データCRND2を読み出して第3比較器25に入力する。そして、両者を比較して一致するか否かを判定し(認証プログラムPRG6のステップS7)、両者が一致するときは、正常であると判断してその比較データATTESを検証部28に入力し、両者が一致しないときは、正常でないと判断して認証処理を中止する。
【0065】
そして、検証部28では、これら3種類の比較データMATCH、OVLAP、ATTESを受信すると、すべての検証において正常であると判断し、今回の重複禁止データOVLPをデータメモリー22に重ね書きするとともに、開閉制御部35に検証データを出力し(認証プログラムPRG6のステップS8)、この検証データを受けて開閉制御部35は所定の処理(例えば、自動車用ドアの開錠)を実行する(認証プログラムPRG6のステップS9)。ここで、認証処理が終了する。
【0066】
このように、鍵40でブロックデータBSを暗号化するときにはIDコードIDCDをも組み込むので、その他の組込データ、つまり第2暗号用鍵CNTおよび乱数CD0〜CD3が同じでも暗号化データCRND2は異なることになる。また、錠50で検証するときには3重のセキュリティーチェックが実施され、3種類の検証のうち1種類でもパスしないものがあれば認証に失敗する。これらの結果、第三者による不正な解読が困難となり、セキュリティーレベルが向上する。
【0067】
しかも、パスワード生成時のパラメータとなるカウンタ値を許容範囲内の乱数値に基づいて進ませる従来のワンタイムパスワード方式と違って、多数のパスワード生成・比較作業を要するという問題が発生せず、また、パスワードに時刻データを付加する従来のワンタイムパスワード方式と異なり、時計機能を具備していない装置内でも使用することができる。
【0068】
<第6の実施形態>
上述した第5の実施形態においては、錠50で乱数データに関する検証を行うときに、受信部33からの認証用乱数データRND2を暗号器26で暗号化した暗号化データCRND2Lと、受信部33からの暗号化データCRND2とを第3比較器25で比較する場合について説明したが、図11に示すように、暗号器26の代わりに復号器30を錠50に設けておき、受信部33からの暗号化データCRND2をこの復号器30で復号し、これを受信部33からの認証用乱数データRND2と比較するようにしてもよい。
【0069】
<第7の実施形態>
上述した第5の実施形態においては、鍵40で重複禁止データOVLPを新たに算出するのに加算器13で重複禁止データOVLP_0に乱数RND1を足す演算方法を採用した場合について説明したが、図12に示すように、加算器13の代わりに減算器14を鍵40に設けておき、重複禁止データOVLPを新たに算出するとき減算器14で重複禁止データOVLP_0から乱数RND1を引くようにしても構わない。この場合、錠50で重複禁止データに関する検証を行う際に、受信部33から読み出した重複禁止データOVLPとデータメモリー22から読み出した前回の重複禁止データOVLP_1とを比較するとき、前者が後者より小さいか否かを判定し、前者が後者より小さいときは、正常であると判断してその比較データOVLAPを検証部28に入力し、前者が後者より小さくないときは、正常でないと判断して認証処理を中止することになる。
【0070】
同様に、上述した第6の実施形態において、加算の代わりに減算によって重複禁止データOVLPを新たに算出することも可能である。
【0071】
なお、乱数RND1の減算によって重複禁止データOVLPを得るときに重複禁止データOVLPがマイナス側へオーバフローすることがあるが、この場合は、図4(b)に示すように、重複禁止データOVLPのプラス側への移動(例えば、重複禁止データOVLPが64ビットのときはOVLP+FFF〜FFFh)を行うことにより、重複禁止データOVLPのオーバフローに対処することができる。
【0072】
<第8の実施形態>
上述した第5〜7の実施形態においては、1個の鍵40と1個の錠50とが1対1で対応する場合について説明したが、複数個の鍵40と1個の錠50とを多対1で対応させたり、1個の鍵40と複数個の錠50とを1対多で対応させたり、複数個の鍵40と複数個の錠50とを多対多で対応させたりすることも可能である。
【0073】
以下、第8の実施形態として、複数個の鍵40と1個の錠50とが多対1で対応する場合について説明するが、それ以外の場合(1対多、多対多)についても同様である。
図13は本発明に係る認証方法の第8の実施形態を示すブロック図、
図14は図13に示す認証システムにおける認証処理プログラムを示すフローチャートであって、(a)は被認証側となる鍵で実行される部分、(b)は認証側となる錠で実行される部分である。
【0074】
この認証システムは、図13に示すように、錠50と、この錠50に赤外線通信などでデータを送信しうる複数個(図13では3個)の鍵40とから構成されている。
【0075】
そして、各鍵40は不揮発性の固定値メモリー11、不揮発性のデータメモリー12、加算器13、乱数発生器15、暗号器16および送信部19を具備しており、固定値メモリー11には所定ビット(例えば、64ビット)のIDコードIDCDと4個の乱数CD0〜CD3が読み取り自在に格納されているとともに、データメモリー12には所定ビット(例えば、64ビット)の重複禁止データOVLPが読み取り書き込み自在に格納されている。ここで、乱数CD0〜CD3は固定でもよく、必要に応じて変更しうる単数または複数のものでもよい。
【0076】
また、錠50は不揮発性の固定値メモリー21、IDコードテーブル31、重複禁止データテーブル32、第1比較器23、第2比較器24、第3比較器25、暗号器26、受信部33、検証部28、開閉制御部35およびサーチ制御部34を具備しており、固定値メモリー21には4個の乱数CD0〜CD3が読み取り自在に格納されている。また、IDコードテーブル31には所定ビット(例えば、64ビット)のIDコードIDCDがすべての鍵40に対応した形で読み取り自在に格納されており、重複禁止データテーブル32には所定ビット(例えば、64ビット)の重複禁止データOVLPがすべての鍵40に対応した形で読み取り書き込み自在に格納されている。なお、これらのIDコードIDCD、乱数CD0〜CD3は、それぞれの鍵40の固定値メモリー11に格納されたIDコードIDCD、乱数CD0〜CD3と同じものである。
【0077】
認証システムは以上のような構成を有するので、任意の鍵40と錠50との間でデータ通信による認証処理を実行する際には、図14に示す認証コード生成プログラムPRG7および認証プログラムPRG8に基づいて次の手順で行われる。
【0078】
まず、その鍵40において、データメモリー12から重複禁止データOVLP_0を読み出すとともに(認証コード生成プログラムPRG7のステップS1)、所定ビット(例えば、8ビット)の乱数RND1を乱数発生器15で生成し(認証コード生成プログラムPRG7のステップS2)、これら重複禁止データOVLP_0、乱数RND1を加算器13で足し合わせて重複禁止データOVLPを新たに生成する(認証コード生成プログラムPRG7のステップS3)。そして、この重複禁止データOVLPを送信部19に入力するとともに、第2暗号用鍵CNTとして暗号器16に入力し、さらに次回の重複禁止データOVLPとして利用できるようにデータメモリー12に入力して重ね書きする。
【0079】
なお、乱数RND1の加算によって重複禁止データOVLPを得るときに重複禁止データOVLPがプラス側へオーバフローすることがあるが、この場合は、図4(a)に示すように、重複禁止データOVLPのマイナス側への移動(例えば、重複禁止データOVLPが64ビットのときはOVLP−FFF〜FFFh)を行うことにより、重複禁止データOVLPのオーバフローに対処することができる。
【0080】
一方、固定値メモリー11からIDコードIDCDを読み出し、このIDコードIDCDを送信部19に入力するとともに、第1暗号用鍵KEYとして暗号器16に入力する。さらに、固定値メモリー11から4個の乱数CD0〜CD3を読み出して暗号器16に入力する(認証コード生成プログラムPRG7のステップS4)。また、所定ビット(例えば、8ビット)の認証用乱数データRND2を乱数発生器15で生成し、この認証用乱数データRND2を送信部19に入力するとともに、暗号用ブロックデータBSとして暗号器16に入力する(認証コード生成プログラムPRG7のステップS5)。そして、このブロックデータBSを第1暗号用鍵KEY、第2暗号用鍵CNTおよび乱数CD0〜CD3を用いて暗号化し、その暗号化データCRND2を送信部19に入力する(認証コード生成プログラムPRG7のステップS6)。
【0081】
その後、これらIDコードIDCD、重複禁止データOVLP、認証用乱数データRND2および暗号化データCRND2を送信部19でパラレルデータからシリアルデータに変換した後、錠50に転送する(認証コード生成プログラムPRG7のステップS7)。
【0082】
このようにして、IDコードIDCD、重複禁止データOVLP、認証用乱数データRND2および暗号化データCRND2が鍵40から錠50にシリアルデータの形で転送されると、錠50では、このシリアルデータを受信部33で受けて元のパラレルデータに変換した後(認証プログラムPRG8のステップS1)、以下に述べるとおり、3種類の検証を行う。
【0083】
まず、IDコードに関する検証を行うべく、受信部33からIDコードIDCDを読み出して第2比較器24に入力する。一方、サーチ制御部34はサーチ回数が所定の最大値に達するまでIDコードIDCDの照会を実行する。すなわち、サーチアドレスを初期化した後(認証プログラムPRG8のステップS3)、サーチアドレスに「1」を加えたアドレスにあるIDコードIDCDをIDコードテーブル31から読み出して第2比較器24に入力する(認証プログラムPRG8のステップS4)。そして、両者を比較して一致するか否かを判定し(認証プログラムPRG8のステップS5)、両者が一致するときは、正常であると判断してその比較データMATCHを検証部28に入力する。また、両者が一致しないときは、サーチ回数が最大値に達したか否かを判定し(認証プログラムPRG8のステップS6)、サーチ回数が最大値に達していなければ、サーチアドレスに「1」を加えた上でIDコードIDCDの比較を同様に行い、サーチ回数が最大値に達していれば、正常でないと判断して認証処理を中止する。
【0084】
また、重複禁止データに関する検証を行うべく、受信部33から重複禁止データOVLPを読み出して第1比較器23に入力するとともに、IDコードIDCDが一致したサーチアドレスに対応した前回の重複禁止データOVLP_1を重複禁止データテーブル32から読み出して第1比較器23に入力し(認証プログラムPRG8のステップS7)、両者を比較して前者が後者より大きいか否かを判定する(認証プログラムPRG8のステップS8)。その結果、前者が後者より大きいときは、正常であると判断してその比較データOVLAPを検証部28に入力し、前者が後者より大きくないときは、正常でないと判断して認証処理を中止する。
【0085】
さらに、乱数データに関する検証を行うべく、受信部33から認証用乱数データRND2、IDコードIDCDおよび重複禁止データOVLPを読み出し、それぞれ暗号用ブロックデータBS、第1暗号用鍵KEYおよび第2暗号用鍵CNTとして暗号器26に入力するとともに、固定値メモリー21から4個の乱数CD0〜CD3を読み出して暗号器26に入力した後(認証プログラムPRG8のステップS2)、この暗号用ブロックデータBSを第1暗号用鍵KEY、第2暗号用鍵CNTおよび乱数CD0〜CD3を用いて暗号化し、その暗号化データCRND2Lを第3比較器25に入力する(認証プログラムPRG8のステップS9)。他方、受信部33から暗号化データCRND2を読み出して第3比較器25に入力する。そして、両者を比較して一致するか否かを判定し(認証プログラムPRG8のステップS10)、両者が一致するときは、正常であると判断してその比較データATTESを検証部28に入力し、両者が一致しないときは、正常でないと判断して認証処理を中止する。
【0086】
そして、検証部28では、これら3種類の比較データMATCH、OVLAP、ATTESを受信すると、すべての検証において正常であると判断し、今回の重複禁止データOVLPを重複禁止データテーブル32に重ね書きするとともに、開閉制御部35に検証データを出力し(認証プログラムPRG8のステップS11)、この検証データを受けて開閉制御部35は所定の処理を実行する(認証プログラムPRG8のステップS12)。ここで、認証処理が終了する。
【0087】
このように、鍵40でブロックデータBSを暗号化するときにはIDコードIDCDをも組み込むので、その他の組込データ、つまり第2暗号用鍵CNTおよび乱数CD0〜CD3が同じでも暗号化データCRND2は異なることになる。また、錠50で検証するときには3重のセキュリティーチェックが実施され、3種類の検証のうち1種類でもパスしないものがあれば認証に失敗する。これらの結果、第三者による不正な解読が困難となり、セキュリティーレベルが向上する。
【0088】
しかも、パスワード生成時のパラメータとなるカウンタ値を許容範囲内の乱数値に基づいて進ませる従来のワンタイムパスワード方式と違って、多数のパスワード生成・比較作業を要するという問題が発生せず、また、パスワードに時刻データを付加する従来のワンタイムパスワード方式と異なり、時計機能を具備していない装置内でも使用することができる。
【0089】
【発明の効果】
以上説明したように、本発明のうち請求項1、2に係る発明によれば、被認証装置で認証用乱数データを暗号化するときにIDコードが組み込まれ、その他の組込データが同じでも暗号化データが異なることに加えて、認証装置で検証するときに3重のセキュリティーチェックが実施され、3種類の検証のうち1種類でもパスしないものがあれば認証に失敗することから、従来のワンタイムパスワード方式に付随する不都合を伴うことなくセキュリティーレベルを高めることが可能な認証方法を提供することができる。
【図面の簡単な説明】
【図1】暗号・復号化の手順を示すブロック図である。
【図2】本発明に係る認証方法の第1の実施形態を示すブロック図である。
【図3】図2に示す認証システムにおける認証処理プログラムを示すフローチャートであって、(a)は被認証側となる認証コード生成装置で実行される部分、(b)は認証側となる認証サーバで実行される部分である。
【図4】重複禁止処理におけるオーバーフロー対処法の二例を示す図である。
【図5】本発明に係る認証方法の第2の実施形態を示すブロック図である。
【図6】本発明に係る認証方法の第3の実施形態を示すブロック図である。
【図7】本発明に係る認証方法の第4の実施形態を示すブロック図である。
【図8】図7に示す認証システムにおける認証処理プログラムを示すフローチャートであって、(a)は被認証側となる認証コード生成装置で実行される部分、(b)は認証側となる認証サーバで実行される部分である。
【図9】本発明に係る認証方法の第5の実施形態を示すブロック図である。
【図10】図9に示す認証システムにおける認証処理プログラムを示すフローチャートであって、(a)は被認証側となる鍵で実行される部分、(b)は認証側となる錠で実行される部分である。
【図11】本発明に係る認証方法の第6の実施形態を示すブロック図である。
【図12】本発明に係る認証方法の第7の実施形態を示すブロック図である。
【図13】本発明に係る認証方法の第8の実施形態を示すブロック図である。
【図14】図13に示す認証システムにおける認証処理プログラムを示すフローチャートであって、(a)は被認証側となる鍵で実行される部分、(b)は認証側となる錠で実行される部分である。
【符号の説明】
10……認証コード生成装置(被認証装置)
11……固定値メモリー
15……乱数発生器
20……認証サーバ(認証装置)
31……IDコードテーブル
32……重複禁止データテーブル
40……鍵(被認証装置)
50……錠(認証装置)
IDCD……IDコード
CD0〜CD3……乱数
OVLP_0、OVLP……重複禁止データ
RND2……認証用乱数データ
CRND2……暗号化データ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an authentication method suitable for application when unlocking / locking various doors such as an automobile door and a safe door, and when concluding a sales contract through a network.
[0002]
[Prior art]
As this type of authentication method, a one-time password method that can prevent unauthorized acts by “spoofing” of a third party is attracting attention (for example, see Patent Documents 1 and 2).
[0003]
[Patent Document 1] JP-A-2001-352324
[Patent Document 2] JP-A-11-316740
[0004]
[Problems to be solved by the invention]
However, this has the following disadvantages.
[0005]
First, in the method disclosed in Patent Document 1, a counter value which is a parameter at the time of generating a password is advanced based on a random number value within an allowable range, and the authentication side generates and compares the number of passwords within the allowable range. However, there is a problem that many password generation / comparison operations are required.
[0006]
On the other hand, the method disclosed in Patent Document 2 has a disadvantage that time data must be added to the password, so that it can be used only in a device having a clock function.
[0007]
In view of such circumstances, an object of the present invention is to provide an authentication method capable of increasing a security level without the above-described inconvenience.
[0008]
[Means for Solving the Problems]
First, the invention according to claim 1 of the present invention is characterized in that, when performing authentication processing by data communication between a device to be authenticated (10, 40) and an authentication device (20, 50), A fixed value memory (11) and a random number generator (15) are incorporated, and the ID code (IDCD) and the random number (CD0 to CD3) of the device to be authenticated are stored in the fixed value memory in a readable manner. The apparatus reads out the ID code and the random number from the fixed value memory, adds and subtracts the duplication prohibition data (OVLP_0) and the random number (RND1), newly generates duplication prohibition data (OVLP), and uses the random number generator for authentication. Generating random number data (RND2); encrypting the authentication random number data based on the ID code and the random number to generate encrypted data (CRND2); An ID code, duplication prohibition data, authentication random number data, and encrypted data are transmitted to the authentication device, and the authentication device receives the ID code, duplication prohibition data, authentication random number data, and encryption data. The verification is performed on the ID code, the duplication prohibition data and the random number data, and the authentication is performed only when all the verifications are normal. Here, examples of combinations of the device to be authenticated and the authentication device include an authentication code generation device (10) and an authentication server (20), and a key (40) and a lock (50).
[0009]
Further, the invention according to claim 2 of the present invention is characterized in that, when performing authentication processing by data communication between a plurality of devices to be authenticated (10, 40) and the authentication device (20, 50), A fixed value memory (11) and a random number generator (15) are incorporated in the authentication device, and the ID code (IDCD) and the random number (CD0 to CD3) of the device to be authenticated are readably stored in the fixed value memories, respectively. An ID code table (31) in which an ID code corresponding to each of the devices to be authenticated is readably stored is incorporated in the authentication device, and the duplication-inhibited data (OVLP) corresponding to each of the devices to be authenticated is readable. The stored duplication prohibition data table (32) is incorporated in the authentication device, and one of the devices to be authenticated stores an ID code from its fixed value memory. And the random number are read out, the duplication prohibition data (OVLP_0) and the random number (RND1) are added and subtracted to generate new duplication prohibition data (OVLP), and the random number generator generates random number data for authentication (RND2). The random number data for authentication is encrypted based on the ID code and the random number to generate encrypted data (CRND2), and the ID code, the duplication prohibition data, the random number data for authentication, and the encrypted data are transmitted to the authentication device. In response to this, the authentication device verifies the ID code, the duplication prohibition data, and the random number data based on the ID code, the duplication prohibition data, the authentication random number data, and the encrypted data, and all verifications are normal. It is configured to perform authentication only in the case.
[0010]
By adopting these configurations, the ID code is incorporated when encrypting the random number data for authentication in the device to be authenticated. At the time of verification, a triple security check is performed. If at least one of the three types of verification does not pass, the authentication fails.
[0011]
It should be noted that reference numerals in parentheses are for convenience showing corresponding elements in the drawings, and therefore, the present invention is not limited to the description in the drawings. This is the same for the column of “Claims”.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, some embodiments of the authentication method according to the present invention will be described. The method of data encryption / decryption is as shown in FIG.
[0013]
That is, regarding data encryption, the encryption random number generation unit 31 uses a first common key composed of random numbers CD0 to CD3 of predetermined bits (for example, 64 bits) that can be fixed or changed as necessary and predetermined bits. A cryptographic random number RND that cannot be predicted and calculated is generated based on the KEY and the second common key CNT, and the encryption / decryption processing unit 32 generates the cryptographic random number RND and the first common key KEY and the second common key KEY. Based on the key CNT, the source block data BS is encrypted to generate encrypted block data BCS that cannot be predicted and calculated, and the control data generation unit 33 uses the random numbers CD0 to CD3, the first common key KEY, and the second common key KEY. Based on the key CNT, various types of control data used by the encryption random number generation unit 31 and the encryption processing unit 32 are generated.
[0014]
On the other hand, for data decryption, the encryption random number generation unit 31 uses a first common key composed of random numbers CD0 to CD3 of predetermined bits (for example, 64 bits) that can be fixed or changed as necessary and predetermined bits. A cryptographic random number RND that cannot be predicted and calculated is generated based on the KEY and the second common key CNT, and the encryption / decryption processing unit 32 generates the cryptographic random number RND and the first common key KEY and the second common key KEY. Based on the key CNT, the encrypted block data RBCS from the encryption generation device is decrypted to generate block data RBS, and the control data generation unit 33 generates the random numbers CD0 to CD3, the first common key KEY, and the second common key CNT. Based on this, various control data used by the encryption random number generation unit 31 and the encryption processing unit 32 are generated.
[0015]
<First embodiment>
FIG. 2 is a block diagram showing a first embodiment of the authentication method according to the present invention,
FIG. 3 is a flowchart showing an authentication processing program in the authentication system shown in FIG. 2, wherein (a) is a part executed by an authentication code generation device on the authentication side, and (b) is an authentication server on the authentication side. Part to be executed,
FIG. 4 is a diagram showing two examples of an overflow countermeasure in the duplication prohibition processing.
[0016]
As shown in FIG. 2, the authentication system includes a terminal device 2 such as a personal computer connected to a communication network 1 such as the Internet, an authentication code generation device 10 capable of transmitting data to the terminal device 2, and a communication network. 1 and an authentication server 20 connected to the authentication server 1.
[0017]
The authentication code generation device 10 includes a nonvolatile fixed value memory 11, a nonvolatile data memory 12, an adder 13, a random number generator 15, an encryptor 16, and an OTP output unit 17. Stores a predetermined bit (for example, 64 bits) ID code IDCD and four random numbers CD0 to CD3 in a readable manner, and stores in the data memory 12 a predetermined bit (for example, 64 bits) of duplication inhibition data OVLP. Are stored in a readable and writable manner. Here, the random numbers CD0 to CD3 may be fixed, or may be one or more random numbers that can be changed as needed.
[0018]
The authentication server 20 includes a nonvolatile fixed value memory 21, a nonvolatile data memory 22, a first comparator 23, a second comparator 24, a third comparator 25, an encryptor 26, an OTP input unit 27, a verification unit. 28, and a result output unit 29. The fixed value memory 21 stores an ID code IDCD of predetermined bits (for example, 64 bits) and four random numbers CD0 to CD3 in a readable manner, and a data memory. In the area 22, duplication prohibition data OVLP of a predetermined bit (for example, 64 bits) is stored in a readable and writable manner. The ID code IDCD and the random numbers CD0 to CD3 are the same as the ID code IDCD and the random numbers CD0 to CD3 stored in the fixed value memory 11 of the authentication code generation device 10.
[0019]
Since the authentication system has the above-described configuration, when executing the authentication process by the data communication between the authentication code generation device 10 and the authentication server 20, the authentication code generation program PRG1 and the authentication program PRG2 shown in FIG. The following procedure is performed based on the
[0020]
That is, first, in the authentication code generation device 10, the duplication prohibition data OVLP_0 is read from the data memory 12 (step S1 of the authentication code generation program PRG1), and the random number generator 15 generates a random number RND1 of a predetermined bit (for example, 8 bits). Then, the duplication prohibition data OVLP_0 and the random number RND1 are added by the adder 13 to newly generate the duplication prohibition data OVLP (step S3 of the authentication code generation program PRG1). Then, the duplication-inhibited data OVLP is input to the OTP output unit, input to the encryptor as the second encryption key CNT, and further input to the memory 2 for overwriting so that it can be used as the next duplication-inhibited data OVLP. .
[0021]
When the duplication prohibition data OVLP is obtained by adding the random number RND1, the duplication prohibition data OVLP may overflow to the plus side. In this case, as shown in FIG. By moving to the side (for example, when the duplication prohibition data OVLP is 64 bits, OVLP-FFF to FFFh), an overflow of the duplication prohibition data OVLP can be dealt with.
[0022]
On the other hand, the ID code IDCD is read from the fixed value memory 11, and the ID code IDCD is input to the OTP output unit 17 and also to the encryptor 16 as the first encryption key KEY. Further, four random numbers CD0 to CD3 are read from the fixed value memory 11 and input to the encryptor 16 (step S4 of the authentication code generation program PRG1). In addition, random number data RND2 for authentication of predetermined bits (for example, 8 bits) is generated by the random number generator 15, and the random number data RND2 for authentication is input to the OTP output unit 17, and the encryption unit 16 generates the encryption block data BS. (Step S5 of the authentication code generation program PRG1). Then, the block data BS is encrypted using the first encryption key KEY, the second encryption key CNT, and the random numbers CD0 to CD3, and the encrypted data CRND2 is input to the OTP output unit 17 (authentication code generation program PRG1). Step S6).
[0023]
After that, the ID code IDCD, the duplication prohibition data OVLP, the random number data for authentication RND2 and the encrypted data CRND2 are converted from parallel data to serial data by the OTP output unit 17, and then the authentication server via the network 1 via the terminal device 2. 20 (step S7 of the authentication code generation program PRG1).
[0024]
In this way, when the ID code IDCD, the duplication prohibition data OVLP, the random number data for authentication RND2 and the encrypted data CRND2 are transferred from the authentication code generation device 10 to the authentication server 20 in the form of serial data, the authentication server 20 After the serial data is received by the OTP input unit 27 and converted into the original parallel data (step S1 of the authentication program PRG2), three types of verification are performed as described below.
[0025]
First, in order to verify the ID code, the ID code IDCD is read from the OTP input unit 27 and input to the second comparator 24, and the ID code IDCD is read from the fixed value memory 21 and input to the second comparator 24. (Step S2 of the authentication program PRG2), and the two are compared to determine whether they match (Step S3 of the authentication program PRG2). As a result, when they match, it is determined that the data is normal, and the comparison data MATCH is input to the verification unit 28. When they do not match, it is determined that the data is not normal, and the authentication process is stopped.
[0026]
In addition, in order to verify the duplication prohibited data, the duplication prohibited data OVLP is read from the OTP input unit 27 and input to the first comparator 23, and the previous duplication prohibited data OVLP_1 is read from the data memory 22 and the first comparator 23 (step S4 of the authentication program PRG2), and a comparison is made to determine whether the former is greater than the latter (step S5 of the authentication program PRG2). As a result, when the former is larger than the latter, it is determined that the data is normal and the comparison data OVLAP is input to the verification unit 28. When the former is not larger than the latter, it is determined that the data is not normal and the authentication process is stopped. .
[0027]
Further, in order to verify the random number data, the authentication random number data RND2, the ID code IDCD, and the duplication prohibition data OVLP are read from the OTP input unit 27, and the encryption block data BS, the first encryption key KEY, and the second encryption key are respectively read. After inputting the four random numbers CD0 to CD3 from the fixed value memory 21 as the key CNT and inputting them to the encryptor 26, the encryption block data BS is transmitted to the first encryption key KEY and the second encryption key CNT. The encryption is performed using the encryption key CNT and the random numbers CD0 to CD3, and the encrypted data CRND2L is input to the third comparator 25 (step S6 of the authentication program PRG2). On the other hand, the encrypted data CRND2 is read from the OTP input unit 27 and input to the third comparator 25. Then, the two are compared to determine whether or not they match (step S7 of the authentication program PRG2). If they match, it is determined that they are normal, and the comparison data ATTES is input to the verification unit 28, If the two do not match, it is determined that it is not normal and the authentication process is stopped.
[0028]
When the verification unit 28 receives these three types of comparison data MATCH, OVLAP, and ATTES, it determines that the verification is normal in all verifications, overwrites the current duplication prohibition data OVLP in the data memory 22, and writes the result. The verification data is output to the output unit 29 (step S8 of the authentication program PRG2), and upon receiving the verification data, the result output unit 29 executes a predetermined process (step S9 of the authentication program PRG2). Here, the authentication processing ends.
[0029]
As described above, since the ID code IDCD is also incorporated when the block data BS is encrypted by the authentication code generation device 10, even if the other embedded data, that is, the second encryption key CNT and the random numbers CD0 to CD3 are the same, the encrypted data is encrypted. CRND2 will be different. In addition, when the verification is performed by the authentication server 20, a triple security check is performed. If at least one of the three types of verification does not pass, the authentication fails. As a result, unauthorized decryption by a third party becomes difficult, and the security level is improved.
[0030]
Moreover, unlike the conventional one-time password method in which the counter value which is a parameter at the time of password generation is advanced based on a random value within an allowable range, there is no problem that a large number of password generation / comparison operations are required, and Unlike a conventional one-time password method in which time data is added to a password, it can be used even in a device without a clock function.
[0031]
<Second embodiment>
In the first embodiment described above, when the authentication server 20 verifies the random number data, the encryption data CRND2L obtained by encrypting the authentication random number data RND2 from the OTP input unit 27 by the encryptor 26 and the OTP input The case where the encrypted data CRND2 from the unit 27 is compared with the third comparator 25 has been described, but as shown in FIG. 5, a decryptor 30 is provided in the authentication server 20 instead of the encryptor 26, and the OTP The encrypted data CRND2 from the input unit 27 may be decrypted by the decoder 30, and the decrypted data may be compared with the random number data for authentication RND2 from the OTP input unit 27.
[0032]
<Third embodiment>
In the above-described first embodiment, a case has been described where the calculation method of adding the random number RND1 to the duplication prohibition data OVLP_0 by the adder 13 is used to newly calculate the duplication prohibition data OVLP in the authentication code generation device 10. As shown in FIG. 6, a subtractor 14 is provided in the authentication code generation device 10 instead of the adder 13, and when the duplication inhibition data OVLP is newly calculated, the subtractor 14 generates a random number RND1 from the duplication inhibition data OVLP_0. You can also pull it. In this case, when the authentication server 20 verifies the duplication prohibition data, when the duplication prohibition data OVLP read from the OTP input unit 27 is compared with the previous duplication prohibition data OVLP_1 read from the data memory 22, the former is the latter. It is determined whether the former is smaller than the latter. If the former is smaller than the latter, it is determined that it is normal and the comparison data OVLAP is input to the verification unit 28. If the former is not smaller than the latter, it is determined that it is not normal. Authentication process is stopped.
[0033]
Similarly, in the above-described second embodiment, the duplication inhibition data OVLP can be newly calculated by subtraction instead of addition.
[0034]
In addition, when the duplication prohibition data OVLP is obtained by subtraction of the random number RND1, the duplication prohibition data OVLP may overflow to the minus side. In this case, as shown in FIG. By moving to the side (for example, when the duplication inhibition data OVLP is 64 bits, OVLP + FFF to FFFh), it is possible to cope with the overflow of the duplication inhibition data OVLP.
[0035]
<Fourth embodiment>
In the above-described first to third embodiments, the case where one authentication code generation device 10 and one authentication server 20 correspond one-to-one has been described. One authentication server 20 is associated with many-to-one, one authentication code generation device 10 is associated with a plurality of authentication servers 20 on a one-to-many basis, and a plurality of authentication code generation devices 10 are associated with one authentication server 20. It is also possible to associate a plurality of authentication servers 20 in many-to-many correspondence.
[0036]
Hereinafter, as a fourth embodiment, a case will be described in which a plurality of authentication code generation devices 10 correspond to one authentication server 20 in a many-to-one correspondence, but in other cases (one-to-many, many-to-many). The same applies to ()).
FIG. 7 is a block diagram showing a fourth embodiment of the authentication method according to the present invention,
FIG. 8 is a flowchart showing an authentication processing program in the authentication system shown in FIG. 7, wherein (a) is a part executed by the authentication code generation device on the authentication side, and (b) is an authentication server on the authentication side. This is the part that is executed.
[0037]
As shown in FIG. 7, this authentication system transmits a plurality of (three in FIG. 7) personal computers and other terminal devices 2 connected to a communication network 1 such as the Internet, and transmits data to these terminal devices 2. It comprises the same number (three in FIG. 7) of authentication code generation devices 10 as possible and an authentication server 20 connected to the communication network 1.
[0038]
Each authentication code generation device 10 includes a nonvolatile fixed value memory 11, a nonvolatile data memory 12, an adder 13, a random number generator 15, an encryptor 16, and an OTP output unit 17. 11 stores an ID code IDCD of a predetermined bit (for example, 64 bits) and four random numbers CD0 to CD3 in a readable manner, and a data memory 12 of a predetermined bit (for example, 64 bits) The OVLP is stored readable and writable. Here, the random numbers CD0 to CD3 may be fixed, or may be one or more random numbers that can be changed as needed.
[0039]
The authentication server 20 includes a nonvolatile fixed value memory 21, an ID code table 31, a duplication prohibition data table 32, a first comparator 23, a second comparator 24, a third comparator 25, an encryptor 26, and an OTP input unit. 27, a verification unit 28, a result output unit 29, and a search control unit 34. The fixed value memory 21 stores four random numbers CD0 to CD3 in a readable manner. Further, an ID code IDCD of a predetermined bit (for example, 64 bits) is stored in the ID code table 31 so as to be readable in a form corresponding to all the authentication code generation devices 10. (For example, 64 bits) duplication prohibition data OVLP is stored in such a manner as to be readable and writable in a form compatible with all the authentication code generation devices 10. The ID code IDCD and the random numbers CD0 to CD3 are the same as the ID code IDCD and the random numbers CD0 to CD3 stored in the fixed value memory 11 of each authentication code generation device 10.
[0040]
Since the authentication system has the above-described configuration, the authentication code generation program PRG3 and the authentication code generation program PRG3 shown in FIG. The following procedure is performed based on the program PRG4.
[0041]
First, in the authentication code generation device 10, the duplication prohibition data OVLP_0 is read from the data memory 12 (step S1 of the authentication code generation program PRG3), and a random number RND1 of a predetermined bit (for example, 8 bits) is generated by the random number generator 15. Then, the duplication prohibition data OVLP_0 and the random number RND1 are added by the adder 13 to newly generate the duplication prohibition data OVLP (step S3 of the authentication code generation program PRG3). Then, the duplication-inhibited data OVLP is input to the OTP output unit, input to the encryptor as the second encryption key CNT, and further input to the memory 2 for overwriting so that it can be used as the next duplication-inhibited data OVLP. .
[0042]
When the duplication prohibition data OVLP is obtained by adding the random number RND1, the duplication prohibition data OVLP may overflow to the plus side. In this case, as shown in FIG. By moving to the side (for example, when the duplication prohibition data OVLP is 64 bits, OVLP-FFF to FFFh), an overflow of the duplication prohibition data OVLP can be dealt with.
[0043]
On the other hand, the ID code IDCD is read from the fixed value memory 11, and the ID code IDCD is input to the OTP output unit 17 and also to the encryptor 16 as the first encryption key KEY. Further, four random numbers CD0 to CD3 are read from the fixed value memory 11 and input to the encryptor 16 (step S4 of the authentication code generation program PRG3). In addition, random number data RND2 for authentication of predetermined bits (for example, 8 bits) is generated by the random number generator 15, and the random number data RND2 for authentication is input to the OTP output unit 17, and the encryption unit 16 generates the encryption block data BS. (Step S5 of the authentication code generation program PRG3). Then, the block data BS is encrypted using the first encryption key KEY, the second encryption key CNT, and the random numbers CD0 to CD3, and the encrypted data CRND2 is input to the OTP output unit 17 (authentication code generation program PRG3). Step S6).
[0044]
After that, the ID code IDCD, the duplication prohibition data OVLP, the random number data for authentication RND2 and the encrypted data CRND2 are converted from parallel data to serial data by the OTP output unit 17, and then the authentication server via the network 1 via the terminal device 2. 20 (step S7 of the authentication code generation program PRG3).
[0045]
In this way, when the ID code IDCD, the duplication prohibition data OVLP, the random number data for authentication RND2 and the encrypted data CRND2 are transferred from the authentication code generation device 10 to the authentication server 20 in the form of serial data, the authentication server 20 After the serial data is received by the OTP input unit 27 and converted into the original parallel data (step S1 of the authentication program PRG4), three types of verification are performed as described below.
[0046]
First, in order to verify the ID code, the ID code IDCD is read from the OTP input unit 27 and input to the second comparator 24. On the other hand, the search control unit 34 performs an inquiry of the ID code IDCD until the number of searches reaches a predetermined maximum value. That is, after initializing the search address (step S3 of the authentication program PRG4), the ID code IDCD at the address obtained by adding "1" to the search address is read from the ID code table 31 and input to the second comparator 24 ( Step S4 of the authentication program PRG4). Then, the two are compared to determine whether they match (step S5 of the authentication program PRG4). If they match, it is determined to be normal and the comparison data MATCH is input to the verification unit 28. If they do not match, it is determined whether or not the number of searches has reached the maximum value (step S6 of the authentication program PRG4). If the number of searches has not reached the maximum value, "1" is set to the search address. After the addition, the comparison of the ID code IDCD is performed in the same manner. If the number of searches reaches the maximum value, it is determined that the search is not normal and the authentication process is stopped.
[0047]
In addition, in order to verify the duplication prohibition data, the duplication prohibition data OVLP_1 is read from the OTP input unit 27 and input to the first comparator 23, and the previous duplication prohibition data OVLP_1 corresponding to the search address whose ID code IDCD matches. Is read from the duplication prohibition data table 32 and input to the first comparator 23 (step S7 of the authentication program PRG4), and the two are compared to determine whether the former is greater than the latter (step S8 of the authentication program PRG4). . As a result, when the former is larger than the latter, it is determined that the data is normal and the comparison data OVLAP is input to the verification unit 28. When the former is not larger than the latter, it is determined that the data is not normal and the authentication process is stopped. .
[0048]
Further, in order to verify the random number data, the authentication random number data RND2, the ID code IDCD, and the duplication prohibition data OVLP are read from the OTP input unit 27, and the encryption block data BS, the first encryption key KEY, and the second encryption key are respectively read. After inputting the random number CD0 to CD3 from the fixed value memory 21 as the key CNT and reading the four random numbers CD0 to CD3 into the encryptor 26 (step S2 of the authentication program PRG4), the encryption block data BS is transmitted to the The first encryption key KEY, the second encryption key CNT, and the random numbers CD0 to CD3 are used for encryption, and the encrypted data CRND2L is input to the third comparator 25 (step S9 of the authentication program PRG4). On the other hand, the encrypted data CRND2 is read from the OTP input unit 27 and input to the third comparator 25. Then, the two are compared to determine whether or not they match (Step S10 of the authentication program PRG4). If they match, it is determined that they are normal, and the comparison data ATTES is input to the verification unit 28, If the two do not match, it is determined that it is not normal and the authentication process is stopped.
[0049]
When the verification unit 28 receives these three types of comparison data MATCH, OVLAP, and ATTES, it determines that the verification is normal in all verifications, and overwrites the current duplication prohibition data OVLP on the duplication prohibition data table 32. The verification data is output to the result output unit 29 (step S11 of the authentication program PRG4). Upon receiving the verification data, the result output unit 29 executes a predetermined process (step S12 of the authentication program PRG4). Here, the authentication processing ends.
[0050]
As described above, since the ID code IDCD is also incorporated when the block data BS is encrypted by the authentication code generation device 10, even if the other embedded data, that is, the second encryption key CNT and the random numbers CD0 to CD3 are the same, the encrypted data is encrypted. CRND2 will be different. In addition, when the verification is performed by the authentication server 20, a triple security check is performed. If at least one of the three types of verification does not pass, the authentication fails. As a result, unauthorized decryption by a third party becomes difficult, and the security level is improved.
[0051]
Moreover, unlike the conventional one-time password method in which the counter value which is a parameter at the time of password generation is advanced based on a random value within an allowable range, there is no problem that a large number of password generation / comparison operations are required, and Unlike a conventional one-time password method in which time data is added to a password, it can be used even in a device without a clock function.
[0052]
<Fifth embodiment>
In each of the above-described embodiments, the case has been described where the authentication code generation device 10 is employed as the device to be authenticated and the authentication server 20 is employed as the authentication device. It is also possible. Hereinafter, as a fifth embodiment, a case will be described in which a key is adopted as a device to be authenticated and a lock is adopted as an authentication device.
FIG. 9 is a block diagram showing a fifth embodiment of the authentication method according to the present invention,
10 is a flowchart showing an authentication processing program in the authentication system shown in FIG. 9, wherein (a) is a part executed by a key to be authenticated, and (b) is a part executed by a lock to be authenticated. It is.
[0053]
As shown in FIG. 9, the authentication system includes a lock 50 and a key 40 capable of transmitting data to the lock 50 by infrared communication or the like.
[0054]
The key 40 includes a nonvolatile fixed value memory 11, a nonvolatile data memory 12, an adder 13, a random number generator 15, an encryptor 16, and a transmitting unit 19. An ID code IDCD (for example, 64 bits) and four random numbers CD0 to CD3 are stored in a readable manner, and a predetermined bit (for example, 64 bits) duplication-inhibited data OVLP is readable and writable in the data memory 12. Is stored in Here, the random numbers CD0 to CD3 may be fixed, or may be one or more random numbers that can be changed as needed.
[0055]
The lock 50 is composed of a nonvolatile fixed value memory 21, a nonvolatile data memory 22, a first comparator 23, a second comparator 24, a third comparator 25, an encryptor 26, a receiving unit 33, a verification unit 28, The fixed value memory 21 stores an ID code IDCD of predetermined bits (for example, 64 bits) and four random numbers CD0 to CD3 in a readable manner. Indicates a predetermined bit (for example, 64 bits) of duplication prohibition data OVLP that is readable and writable. The ID code IDCD and the random numbers CD0 to CD3 are the same as the ID code IDCD and the random numbers CD0 to CD3 stored in the fixed value memory 11 of the key 40.
[0056]
Since the authentication system has the above-described configuration, when performing the authentication process by data communication between the key 40 and the lock 50, the following process is performed based on the authentication code generation program PRG5 and the authentication program PRG6 shown in FIG. Is performed in the following procedure.
[0057]
That is, first, in the key 40, the duplication prohibition data OVLP_0 is read from the data memory 12 (step S1 of the authentication code generation program PRG5), and a random number RND1 of a predetermined bit (for example, 8 bits) is generated by the random number generator 15 (authentication). The duplication prohibition data OVLP_0 and the random number RND1 are added by the adder 13 to newly generate the duplication prohibition data OVLP (step S3 of the authentication code generation program PRG5). Then, this duplication-inhibited data OVLP is input to the transmission unit 19, and is also input to the encryptor 16 as the second encryption key CNT, and is further input to the data memory 12 so as to be used as the next duplication-inhibited data OVLP. Write.
[0058]
When the duplication prohibition data OVLP is obtained by adding the random number RND1, the duplication prohibition data OVLP may overflow to the plus side. In this case, as shown in FIG. By moving to the side (for example, when the duplication prohibition data OVLP is 64 bits, OVLP-FFF to FFFh), an overflow of the duplication prohibition data OVLP can be dealt with.
[0059]
On the other hand, the ID code IDCD is read from the fixed value memory 11, and the ID code IDCD is input to the transmission unit 19 and also to the encryptor 16 as the first encryption key KEY. Further, four random numbers CD0 to CD3 are read from the fixed value memory 11 and input to the encryptor 16 (step S4 of the authentication code generation program PRG5). In addition, random number data RND2 for authentication of predetermined bits (for example, 8 bits) is generated by the random number generator 15, and the random number data RND2 for authentication is input to the transmission unit 19, and is also transmitted to the encryptor 16 as block data BS for encryption. Input (Step S5 of the authentication code generation program PRG5). Then, the block data BS is encrypted using the first encryption key KEY, the second encryption key CNT, and the random numbers CD0 to CD3, and the encrypted data CRND2 is input to the transmission unit 19 (the authentication code generation program PRG5). Step S6).
[0060]
After that, the transmission unit 19 converts the ID code IDCD, the duplication prohibition data OVLP, the authentication random number data RND2 and the encrypted data CRND2 from parallel data to serial data, and then transfers them to the lock 50 (step of the authentication code generation program PRG5). S7).
[0061]
In this way, when the ID code IDCD, the duplication prohibition data OVLP, the random number data for authentication RND2 and the encrypted data CRND2 are transferred from the key 40 to the lock 50 in the form of serial data, the lock 50 receives the serial data. After being received by the unit 33 and converted into the original parallel data (step S1 of the authentication program PRG6), three types of verification are performed as described below.
[0062]
First, in order to verify the ID code, the ID code IDCD is read from the receiving unit 33 and input to the second comparator 24, and the ID code IDCD is read from the fixed value memory 21 and input to the second comparator 24 ( Step S2 of the authentication program PRG6, the two are compared to determine whether they match (step S3 of the authentication program PRG6). As a result, when they match, it is determined that the data is normal, and the comparison data MATCH is input to the verification unit 28. When they do not match, it is determined that the data is not normal, and the authentication process is stopped.
[0063]
Further, in order to verify the duplication-prohibited data, the duplication-prohibition data OVLP is read from the receiving unit 33 and input to the first comparator 23, and the previous duplication-prohibition data OVLP_1 is read from the data memory 22 to read the first comparator 23 (Step S4 of the authentication program PRG6), and a comparison is made to determine whether the former is greater than the latter (Step S5 of the authentication program PRG6). As a result, when the former is larger than the latter, it is determined that the data is normal and the comparison data OVLAP is input to the verification unit 28. When the former is not larger than the latter, it is determined that the data is not normal and the authentication process is stopped. .
[0064]
Further, in order to verify the random number data, the authentication random number data RND2, the ID code IDCD, and the duplication prohibition data OVLP are read from the receiving unit 33, and the encryption block data BS, the first encryption key KEY, and the second encryption key are respectively read. After inputting the random numbers CD0 to CD3 from the fixed-value memory 21 as the CNT and inputting the random numbers CD0 to CD3 from the fixed value memory 21 to the encryptor 26, the encryption block data BS is transmitted to the first encryption key KEY and the second encryption key. It encrypts using the use key CNT and the random numbers CD0 to CD3, and inputs the encrypted data CRND2L to the third comparator 25 (step S6 of the authentication program PRG6). On the other hand, the encrypted data CRND2 is read from the receiving unit 33 and input to the third comparator 25. Then, the two are compared to determine whether or not they match (step S7 of the authentication program PRG6). If they match, it is determined that they are normal, and the comparison data ATTES is input to the verification unit 28, If the two do not match, it is determined that it is not normal and the authentication process is stopped.
[0065]
When the verification unit 28 receives these three types of comparison data MATCH, OVLAP, and ATTES, it determines that the verification is normal in all verifications, overwrites the current duplication prohibition data OVLP in the data memory 22, and opens and closes the data. The verification data is output to the control unit 35 (step S8 of the authentication program PRG6), and in response to the verification data, the opening / closing control unit 35 executes a predetermined process (for example, unlocking of an automobile door) (the authentication program PRG6 is executed). Step S9). Here, the authentication processing ends.
[0066]
As described above, when the block data BS is encrypted with the key 40, the ID code IDCD is also incorporated. Therefore, even if the other embedded data, that is, the second encryption key CNT and the random numbers CD0 to CD3 are the same, the encrypted data CRND2 is different. Will be. When performing verification with the lock 50, a triple security check is performed. If at least one of the three types of verification does not pass, the authentication fails. As a result, unauthorized decryption by a third party becomes difficult, and the security level is improved.
[0067]
Moreover, unlike the conventional one-time password method in which the counter value which is a parameter at the time of password generation is advanced based on a random value within an allowable range, there is no problem that a large number of password generation / comparison operations are required, and Unlike a conventional one-time password method in which time data is added to a password, it can be used even in a device without a clock function.
[0068]
<Sixth embodiment>
In the fifth embodiment described above, when verifying the random number data with the lock 50, the encryption data CRND2L obtained by encrypting the authentication random number data RND2 from the receiving unit 33 with the encryptor 26, In the above description, the third comparator 25 compares the encrypted data CRND2 with the encrypted data CRND2. However, the decryptor 30 is provided in the lock 50 instead of the encryptor 26 as shown in FIG. The encrypted data CRND2 may be decrypted by the decryptor 30 and compared with the random number data for authentication RND2 from the receiving unit 33.
[0069]
<Seventh embodiment>
In the fifth embodiment described above, a case has been described in which a calculation method of adding a random number RND1 to the duplication prohibition data OVLP_0 by the adder 13 to newly calculate the duplication prohibition data OVLP with the key 40 is described. As shown in (1), a subtractor 14 may be provided in the key 40 instead of the adder 13, and the subtractor 14 may subtract the random number RND1 from the duplication prohibition data OVLP_0 when newly calculating the duplication prohibition data OVLP. Absent. In this case, when verifying the duplication-inhibited data with the lock 50, when comparing the duplication-inhibited data OVLP read from the receiving unit 33 with the previous duplication-inhibited data OVLP_1 read from the data memory 22, the former is smaller than the latter. If the former is smaller than the latter, it is determined that it is normal and the comparison data OVLAP is input to the verification unit 28. If the former is not smaller than the latter, it is determined that it is not normal and the authentication is performed. Processing will be stopped.
[0070]
Similarly, in the above-described sixth embodiment, the duplication inhibition data OVLP can be newly calculated by subtraction instead of addition.
[0071]
In addition, when the duplication prohibition data OVLP is obtained by subtraction of the random number RND1, the duplication prohibition data OVLP may overflow to the minus side. In this case, as shown in FIG. By moving to the side (for example, when the duplication inhibition data OVLP is 64 bits, OVLP + FFF to FFFh), it is possible to cope with the overflow of the duplication inhibition data OVLP.
[0072]
<Eighth embodiment>
In the above-described fifth to seventh embodiments, a case has been described where one key 40 and one lock 50 correspond one-to-one, but a plurality of keys 40 and one lock 50 are Many-to-one correspondence, one key 40 and a plurality of locks 50 are made one-to-many correspondence, and a plurality of keys 40 and a plurality of locks 50 are made many-to-many correspondence. It is also possible.
[0073]
Hereinafter, as the eighth embodiment, a case will be described in which a plurality of keys 40 and one lock 50 correspond in many-to-one correspondence. However, the same applies to other cases (one-to-many, many-to-many). It is.
FIG. 13 is a block diagram showing an eighth embodiment of the authentication method according to the present invention,
14 is a flowchart showing an authentication processing program in the authentication system shown in FIG. 13, wherein (a) is a part executed by a key to be authenticated, and (b) is a part executed by a lock to be authenticated. It is.
[0074]
As shown in FIG. 13, this authentication system includes a lock 50 and a plurality (three in FIG. 13) of keys 40 capable of transmitting data to the lock 50 by infrared communication or the like.
[0075]
Each key 40 includes a non-volatile fixed value memory 11, a non-volatile data memory 12, an adder 13, a random number generator 15, an encryptor 16, and a transmission unit 19. A bit (for example, 64 bits) ID code IDCD and four random numbers CD0 to CD3 are stored in a readable manner, and a predetermined bit (for example, 64 bits) duplication-inhibited data OVLP is read and written in the data memory 12. It is stored freely. Here, the random numbers CD0 to CD3 may be fixed, or may be one or more random numbers that can be changed as needed.
[0076]
The lock 50 includes a nonvolatile fixed value memory 21, an ID code table 31, a duplication prohibition data table 32, a first comparator 23, a second comparator 24, a third comparator 25, an encryptor 26, a receiving unit 33, The fixed value memory 21 includes a verification unit 28, an opening / closing control unit 35, and a search control unit 34. The fixed value memory 21 stores four random numbers CD0 to CD3. Further, an ID code IDCD of a predetermined bit (for example, 64 bits) is stored in the ID code table 31 so as to be readable in a form corresponding to all the keys 40, and a predetermined bit (for example, 64 bits) is stored in the duplication prohibition data table 32. (64 bits) duplication prohibition data OVLP is stored readable and writable in a form corresponding to all keys 40. The ID code IDCD and the random numbers CD0 to CD3 are the same as the ID code IDCD and the random numbers CD0 to CD3 stored in the fixed value memory 11 of each key 40.
[0077]
Since the authentication system has the above-described configuration, the authentication process based on the authentication code generation program PRG7 and the authentication program PRG8 shown in FIG. The following procedure is performed.
[0078]
First, with the key 40, the duplication prohibition data OVLP_0 is read from the data memory 12 (step S1 of the authentication code generation program PRG7), and a random number RND1 of a predetermined bit (for example, 8 bits) is generated by the random number generator 15 (authentication). Step S2 of the code generation program PRG7), the duplication prohibition data OVLP_0 and the random number RND1 are added by the adder 13 to newly generate duplication prohibition data OVLP (step S3 of the authentication code generation program PRG7). Then, this duplication-inhibited data OVLP is input to the transmission unit 19, and is also input to the encryptor 16 as the second encryption key CNT, and is further input to the data memory 12 so as to be used as the next duplication-inhibited data OVLP. Write.
[0079]
When the duplication prohibition data OVLP is obtained by adding the random number RND1, the duplication prohibition data OVLP may overflow to the plus side. In this case, as shown in FIG. By moving to the side (for example, when the duplication prohibition data OVLP is 64 bits, OVLP-FFF to FFFh), an overflow of the duplication prohibition data OVLP can be dealt with.
[0080]
On the other hand, the ID code IDCD is read from the fixed value memory 11, and the ID code IDCD is input to the transmission unit 19 and also to the encryptor 16 as the first encryption key KEY. Further, four random numbers CD0 to CD3 are read from the fixed value memory 11 and input to the encryptor 16 (step S4 of the authentication code generation program PRG7). In addition, random number data RND2 for authentication of predetermined bits (for example, 8 bits) is generated by the random number generator 15, and the random number data RND2 for authentication is input to the transmission unit 19, and is also transmitted to the encryptor 16 as block data BS for encryption. Input (Step S5 of the authentication code generation program PRG7). Then, the block data BS is encrypted using the first encryption key KEY, the second encryption key CNT, and the random numbers CD0 to CD3, and the encrypted data CRND2 is input to the transmission unit 19 (the authentication code generation program PRG7). Step S6).
[0081]
Thereafter, the transmitting unit 19 converts the ID code IDCD, the duplication prohibition data OVLP, the authentication random number data RND2, and the encrypted data CRND2 from parallel data to serial data, and then transfers them to the lock 50 (step of the authentication code generation program PRG7). S7).
[0082]
In this way, when the ID code IDCD, the duplication prohibition data OVLP, the random number data for authentication RND2 and the encrypted data CRND2 are transferred from the key 40 to the lock 50 in the form of serial data, the lock 50 receives the serial data. After being received by the unit 33 and converted into the original parallel data (step S1 of the authentication program PRG8), three types of verification are performed as described below.
[0083]
First, in order to verify the ID code, the ID code IDCD is read from the receiving unit 33 and input to the second comparator 24. On the other hand, the search control unit 34 performs an inquiry of the ID code IDCD until the number of searches reaches a predetermined maximum value. That is, after initializing the search address (step S3 of the authentication program PRG8), the ID code IDCD at the address obtained by adding “1” to the search address is read from the ID code table 31 and input to the second comparator 24 ( Step S4 of the authentication program PRG8). Then, the two are compared to determine whether or not they match (step S5 of the authentication program PRG8). If they match, it is determined to be normal and the comparison data MATCH is input to the verification unit 28. If they do not match, it is determined whether or not the number of searches has reached the maximum value (step S6 of the authentication program PRG8). If the number of searches has not reached the maximum value, "1" is set to the search address. After the addition, the ID code IDCD is compared in the same manner. If the number of searches reaches the maximum value, it is determined that the search is not normal and the authentication process is stopped.
[0084]
Further, in order to verify the duplication-prohibited data, the duplication-prohibition data OVLP is read from the receiving unit 33 and input to the first comparator 23, and the previous duplication-prohibition data OVLP_1 corresponding to the search address whose ID code IDCD matches is read. The data is read from the duplication prohibition data table 32 and input to the first comparator 23 (step S7 of the authentication program PRG8), and the two are compared to determine whether the former is greater than the latter (step S8 of the authentication program PRG8). As a result, when the former is larger than the latter, it is determined that the data is normal and the comparison data OVLAP is input to the verification unit 28. When the former is not larger than the latter, it is determined that the data is not normal and the authentication process is stopped. .
[0085]
Further, in order to verify the random number data, the authentication random number data RND2, the ID code IDCD, and the duplication prohibition data OVLP are read from the receiving unit 33, and the encryption block data BS, the first encryption key KEY, and the second encryption key are respectively read. After inputting the random numbers CD0 to CD3 from the fixed value memory 21 as the CNT and inputting them to the encryptor 26 (step S2 of the authentication program PRG8), the encryption block data BS is stored in the first value. The encryption is performed using the encryption key KEY, the second encryption key CNT, and the random numbers CD0 to CD3, and the encrypted data CRND2L is input to the third comparator 25 (step S9 of the authentication program PRG8). On the other hand, the encrypted data CRND2 is read from the receiving unit 33 and input to the third comparator 25. Then, the two are compared to determine whether or not they match (step S10 of the authentication program PRG8). If they match, it is determined that they are normal and the comparison data ATTES is input to the verification unit 28, If the two do not match, it is determined that it is not normal and the authentication process is stopped.
[0086]
When the verification unit 28 receives these three types of comparison data MATCH, OVLAP, and ATTES, it determines that the verification is normal in all verifications, and overwrites the current duplication prohibition data OVLP on the duplication prohibition data table 32. The verification data is output to the opening / closing control unit 35 (step S11 of the authentication program PRG8), and upon receiving the verification data, the opening / closing control unit 35 executes a predetermined process (step S12 of the authentication program PRG8). Here, the authentication processing ends.
[0087]
As described above, when the block data BS is encrypted with the key 40, the ID code IDCD is also incorporated. Therefore, even if the other embedded data, that is, the second encryption key CNT and the random numbers CD0 to CD3 are the same, the encrypted data CRND2 is different. Will be. When performing verification with the lock 50, a triple security check is performed. If at least one of the three types of verification does not pass, the authentication fails. As a result, unauthorized decryption by a third party becomes difficult, and the security level is improved.
[0088]
Moreover, unlike the conventional one-time password method in which the counter value which is a parameter at the time of password generation is advanced based on a random value within an allowable range, there is no problem that a large number of password generation / comparison operations are required, and Unlike a conventional one-time password method in which time data is added to a password, it can be used even in a device without a clock function.
[0089]
【The invention's effect】
As described above, according to the first and second aspects of the present invention, the ID code is incorporated when the authentication random number data is encrypted by the device to be authenticated. In addition to the difference in the encrypted data, a triple security check is performed at the time of verification by the authentication device. If at least one of the three types of verification does not pass, the authentication fails. It is possible to provide an authentication method capable of increasing the security level without inconvenience associated with the one-time password method.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a procedure of encryption / decryption.
FIG. 2 is a block diagram showing a first embodiment of an authentication method according to the present invention.
3 is a flowchart showing an authentication processing program in the authentication system shown in FIG. 2, wherein (a) is a part executed by an authentication code generation device on the authentication side, and (b) is an authentication server on the authentication side; This is the part that is executed.
FIG. 4 is a diagram illustrating two examples of an overflow countermeasure method in the duplication prohibition processing.
FIG. 5 is a block diagram showing a second embodiment of the authentication method according to the present invention.
FIG. 6 is a block diagram showing a third embodiment of the authentication method according to the present invention.
FIG. 7 is a block diagram showing a fourth embodiment of the authentication method according to the present invention.
8 is a flowchart showing an authentication processing program in the authentication system shown in FIG. 7, in which (a) is a part executed by an authentication code generation device on the authenticated side, and (b) is an authentication server on the authenticated side; This is the part that is executed.
FIG. 9 is a block diagram showing a fifth embodiment of the authentication method according to the present invention.
10 is a flowchart showing an authentication processing program in the authentication system shown in FIG. 9, wherein (a) is a part executed by a key to be authenticated, and (b) is executed by a lock to be authenticated. Part.
FIG. 11 is a block diagram showing a sixth embodiment of the authentication method according to the present invention.
FIG. 12 is a block diagram showing a seventh embodiment of the authentication method according to the present invention.
FIG. 13 is a block diagram showing an eighth embodiment of the authentication method according to the present invention.
14 is a flowchart showing an authentication processing program in the authentication system shown in FIG. 13, wherein (a) is a part executed by a key to be authenticated, and (b) is a part executed by a lock to be authenticated. Part.
[Explanation of symbols]
10 Authentication code generation device (device to be authenticated)
11: Fixed value memory
15 Random number generator
20 Authentication server (authentication device)
31 ID code table
32: Duplicate prohibition data table
40 key (device to be authenticated)
50: Lock (authentication device)
IDCD ... ID code
CD0-CD3: random numbers
OVLP_0, OVLP... Duplicate prohibited data
RND2: Random number data for authentication
CRND2: Encrypted data

Claims (2)

被認証装置(10、40)と認証装置(20、50)との間でデータ通信による認証処理を実行する際に、
前記被認証装置に固定値メモリー(11)および乱数発生器(15)を組み込み、
前記固定値メモリーに前記被認証装置のIDコード(IDCD)および乱数(CD0〜CD3)を読み取り自在に格納しておき、
前記被認証装置が、その固定値メモリーからIDコードおよび乱数を読み出し、重複禁止データ(OVLP_0)と乱数(RND1)とを加減算して重複禁止データ(OVLP)を新たに生成し、前記乱数発生器で認証用乱数データ(RND2)を生成し、この認証用乱数データを前記IDコードおよび前記乱数に基づいて暗号化して暗号化データ(CRND2)を生成し、これらIDコード、重複禁止データ、認証用乱数データおよび暗号化データを前記認証装置に送信し、
これを受けて前記認証装置が、これらIDコード、重複禁止データ、認証用乱数データおよび暗号化データに基づいてIDコード、重複禁止データおよび乱数データに関する検証を行い、すべての検証において正常である場合にのみ認証を行うことを特徴とする認証方法。
When performing the authentication process by data communication between the device to be authenticated (10, 40) and the authentication device (20, 50),
A fixed value memory (11) and a random number generator (15) are incorporated in the device to be authenticated,
An ID code (IDCD) and a random number (CD0 to CD3) of the device to be authenticated are readably stored in the fixed value memory,
The device to be authenticated reads out an ID code and a random number from the fixed value memory, adds and subtracts the duplication prohibition data (OVLP_0) and the random number (RND1) to newly generate duplication prohibition data (OVLP), Generates random number data for authentication (RND2), and encrypts the random number data for authentication based on the ID code and the random number to generate encrypted data (CRND2). Transmitting random number data and encrypted data to the authentication device,
In response to this, the authentication device verifies the ID code, the duplication prohibition data, and the random number data based on the ID code, the duplication prohibition data, the authentication random number data, and the encrypted data, and when all verifications are normal. An authentication method characterized in that authentication is performed only for a user.
複数の被認証装置(10、40)と認証装置(20、50)との間でデータ通信による認証処理を実行する際に、
前記各被認証装置にそれぞれ固定値メモリー(11)および乱数発生器(15)を組み込み、
前記各固定値メモリーにそれぞれ当該被認証装置のIDコード(IDCD)および乱数(CD0〜CD3)を読み取り自在に格納し、
前記各被認証装置に対応したIDコードが読み取り自在に格納されたIDコードテーブル(31)を前記認証装置に組み込むとともに、前記各被認証装置に対応した重複禁止データ(OVLP)が読み取り自在に格納された重複禁止データテーブル(32)を前記認証装置に組み込んでおき、
前記被認証装置のいずれかが、その固定値メモリーからIDコードおよび乱数を読み出し、重複禁止データ(OVLP_0)と乱数(RND1)とを加減算して重複禁止データ(OVLP)を新たに生成し、前記乱数発生器で認証用乱数データ(RND2)を生成し、この認証用乱数データを前記IDコードおよび乱数に基づいて暗号化して暗号化データ(CRND2)を生成し、これらIDコード、重複禁止データ、認証用乱数データおよび暗号化データを前記認証装置に送信し、
これを受けて前記認証装置が、これらIDコード、重複禁止データ、認証用乱数データおよび暗号化データに基づいてIDコード、重複禁止データおよび乱数データに関する検証を行い、すべての検証において正常である場合にのみ認証を行うことを特徴とする認証方法。
When performing authentication processing by data communication between the plurality of devices to be authenticated (10, 40) and the authentication devices (20, 50),
A fixed value memory (11) and a random number generator (15) are incorporated in each of the devices to be authenticated,
An ID code (IDCD) and a random number (CD0 to CD3) of the device to be authenticated are readably stored in the fixed value memories, respectively.
An ID code table (31) in which an ID code corresponding to each of the devices to be authenticated is readably stored is incorporated in the authentication device, and duplication prohibition data (OVLP) corresponding to each of the devices to be authenticated is readably stored. The duplication prohibition data table (32) obtained is incorporated in the authentication device,
One of the devices to be authenticated reads an ID code and a random number from the fixed value memory, adds and subtracts the duplication prohibition data (OVLP_0) and the random number (RND1) to newly generate duplication prohibition data (OVLP), A random number generator generates random number data for authentication (RND2), and encrypts the random number data for authentication based on the ID code and the random number to generate encrypted data (CRND2). Transmitting authentication random number data and encrypted data to the authentication device,
In response to this, the authentication device verifies the ID code, the duplication prohibition data, and the random number data based on the ID code, the duplication prohibition data, the authentication random number data, and the encrypted data, and when all verifications are normal. An authentication method characterized in that authentication is performed only for a user.
JP2002276566A 2002-09-24 2002-09-24 Identification method Pending JP2004120031A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002276566A JP2004120031A (en) 2002-09-24 2002-09-24 Identification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002276566A JP2004120031A (en) 2002-09-24 2002-09-24 Identification method

Publications (1)

Publication Number Publication Date
JP2004120031A true JP2004120031A (en) 2004-04-15

Family

ID=32272400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002276566A Pending JP2004120031A (en) 2002-09-24 2002-09-24 Identification method

Country Status (1)

Country Link
JP (1) JP2004120031A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130076519A (en) * 2011-12-28 2013-07-08 한국단자공업 주식회사 Security system and method for car

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130076519A (en) * 2011-12-28 2013-07-08 한국단자공업 주식회사 Security system and method for car
KR101879820B1 (en) * 2011-12-28 2018-07-18 한국단자공업 주식회사 Security system and method for car

Similar Documents

Publication Publication Date Title
JP4615601B2 (en) Computer security system and computer security method
US7043636B2 (en) Data integrity mechanisms for static and dynamic data
EP2965254B1 (en) Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
US6044155A (en) Method and system for securely archiving core data secrets
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
US7877604B2 (en) Proof of execution using random function
JP2017139811A5 (en)
US20110311055A1 (en) Methods, devices, and media for secure key management in a non-secured, distributed, virtualized environment with applications to cloud-computing security and management
US20050229004A1 (en) Digital rights management system and method
US20010056533A1 (en) Secure and open computer platform
US10289826B2 (en) Using hidden secrets and token devices to control access to secure systems
US7770219B2 (en) Method and system for using shared secrets to protect access to testing keys for set-top box
KR20110051181A (en) Systems and method for data security
JPH11306088A (en) Ic card and ic card system
EP2339777A2 (en) Method of authenticating a user to use a system
WO2021111824A1 (en) Electronic signature system and tamper-proof device
US9003197B2 (en) Methods, apparatus and system for authenticating a programmable hardware device and for authenticating commands received in the programmable hardware device from a secure processor
KR20230122003A (en) Storing secret data on the blockchain
Whittaker Why secure applications are difficult to write
JP2022013809A (en) Pqa lock release
CN110046489B (en) Trusted access verification system based on domestic Loongson processor, computer and readable storage medium
CN114239000A (en) Password processing method, device, computer equipment and storage medium
US20130014286A1 (en) Method and system for making edrm-protected data objects available
JP2004120031A (en) Identification method
CN111444118B (en) Process protection method, device, terminal equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080122