JP2004120031A - Identification method - Google Patents
Identification method Download PDFInfo
- 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
Links
Images
Abstract
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
[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
[0006]
On the other hand, the method disclosed in
[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
[0009]
Further, the invention according to
[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
[0014]
On the other hand, for data decryption, the encryption random
[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
[0017]
The authentication
[0018]
The
[0019]
Since the authentication system has the above-described configuration, when executing the authentication process by the data communication between the authentication
[0020]
That is, first, in the authentication
[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
[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
[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
[0025]
First, in order to verify the ID code, the ID code IDCD is read from the
[0026]
In addition, in order to verify the duplication prohibited data, the duplication prohibited data OVLP is read from the
[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
[0028]
When the
[0029]
As described above, since the ID code IDCD is also incorporated when the block data BS is encrypted by the authentication
[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
[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
[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
[0036]
Hereinafter, as a fourth embodiment, a case will be described in which a plurality of authentication
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
[0038]
Each authentication
[0039]
The
[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
[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
[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
[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
[0046]
First, in order to verify the ID code, the ID code IDCD is read from the
[0047]
In addition, in order to verify the duplication prohibition data, the duplication prohibition data OVLP_1 is read from the
[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
[0049]
When the
[0050]
As described above, since the ID code IDCD is also incorporated when the block data BS is encrypted by the authentication
[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
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
[0054]
The key 40 includes a nonvolatile fixed
[0055]
The
[0056]
Since the authentication system has the above-described configuration, when performing the authentication process by data communication between the key 40 and the
[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
[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
[0060]
After that, the
[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
[0062]
First, in order to verify the ID code, the ID code IDCD is read from the receiving
[0063]
Further, in order to verify the duplication-prohibited data, the duplication-prohibition data OVLP is read from the receiving
[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
[0065]
When the
[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
[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
[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
[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
[0073]
Hereinafter, as the eighth embodiment, a case will be described in which a plurality of
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
[0075]
Each key 40 includes a non-volatile fixed
[0076]
The
[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
[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
[0081]
Thereafter, the transmitting
[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
[0083]
First, in order to verify the ID code, the ID code IDCD is read from the receiving
[0084]
Further, in order to verify the duplication-prohibited data, the duplication-prohibition data OVLP is read from the receiving
[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
[0086]
When the
[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
[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)
前記被認証装置に固定値メモリー(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.
前記各被認証装置にそれぞれ固定値メモリー(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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130076519A (en) * | 2011-12-28 | 2013-07-08 | 한국단자공업 주식회사 | Security system and method for car |
-
2002
- 2002-09-24 JP JP2002276566A patent/JP2004120031A/en active Pending
Cited By (2)
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 |